From 6b3844bf995f23552cd3b47817c340828f8951c4 Mon Sep 17 00:00:00 2001 From: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Date: Sat, 11 May 2024 23:57:26 +0200 Subject: [PATCH] decomp3: more misc files (#3513) 4 missions to go! - `ctygenb-part` - `power-game` - `vinroom-part` - `vinroom-scenes` - `gungame-part` - `gungame-scenes` - `hiphog-obs` - `hiphog-part` - `hiphog-scenes` - `hover-nav-lpattack` - `king-rider` - `rubble-attack` - `rubble-obs` - `rubble-part` - `rubblea-init` - `rublcst-scenes` - `mood-funcs2` - `gun-dummy-art` - `gun-dummy-part` - `gun-dummy` - `gungame-data` - `gungame-manager` - `gungame-obs` - `blow-tower-data` - `blow-tower-extra` - `blow-tower-obs2` - `blow-tower-obs` - `blow-tower-part` - `blow-tower-script` - `blow-tower-shared` - `blow-tower-speech` - `cty-blow-tower` --- decompiler/config/jak3/all-types.gc | 1788 +- .../ntsc_v1/anonymous_function_types.jsonc | 41 +- decompiler/config/jak3/ntsc_v1/art_info.jsonc | 10 +- decompiler/config/jak3/ntsc_v1/hacks.jsonc | 23 +- .../config/jak3/ntsc_v1/label_types.jsonc | 201 +- .../process_stack_size_overrides.jsonc | 3 +- .../jak3/ntsc_v1/stack_structures.jsonc | 119 +- .../config/jak3/ntsc_v1/type_casts.jsonc | 286 +- .../config/jak3/ntsc_v1/var_names.jsonc | 6 + decompiler/util/data_decompile.cpp | 9 + .../jak3/engine/common-obs/generic-obs.gc | 8 +- goal_src/jak3/engine/entity/entity-table.gc | 4 +- goal_src/jak3/engine/gfx/mood/mood-funcs2.gc | 644 + .../levels/city/blow-tower/blow-tower-data.gc | 3104 +++ .../city/blow-tower/blow-tower-extra.gc | 221 + .../levels/city/blow-tower/blow-tower-obs.gc | 1951 ++ .../levels/city/blow-tower/blow-tower-obs2.gc | 2946 +++ .../levels/city/blow-tower/blow-tower-part.gc | 1279 ++ .../city/blow-tower/blow-tower-script.gc | 880 + .../city/blow-tower/blow-tower-shared.gc | 761 + .../city/blow-tower/blow-tower-speech.gc | 190 + .../levels/city/blow-tower/cty-blow-tower.gc | 4587 ++++ .../jak3/levels/city/generic/ctygenb-part.gc | 1494 ++ .../levels/city/traffic/vehicle/vehicle-h.gc | 2 +- .../city/traffic/vehicle/vehicle-util.gc | 2 +- .../jak3/levels/city/vinroom/power-game.gc | 3561 ++++ .../jak3/levels/city/vinroom/vinroom-part.gc | 2593 +++ .../levels/city/vinroom/vinroom-scenes.gc | 400 + goal_src/jak3/levels/comb/h-sled.gc | 2 +- .../jak3/levels/desert/wvehicle/wvehicle.gc | 4 +- goal_src/jak3/levels/factory/car/hvehicle.gc | 2 +- goal_src/jak3/levels/factory/h-warf.gc | 2 +- goal_src/jak3/levels/gungame/gun-dummy-art.gc | 561 + .../jak3/levels/gungame/gun-dummy-part.gc | 849 + goal_src/jak3/levels/gungame/gun-dummy.gc | 1890 ++ goal_src/jak3/levels/gungame/gungame-data.gc | 17477 +++++++++++++++ .../jak3/levels/gungame/gungame-manager.gc | 1670 ++ goal_src/jak3/levels/gungame/gungame-obs.gc | 305 + goal_src/jak3/levels/gungame/gungame-part.gc | 242 + .../jak3/levels/gungame/gungame-scenes.gc | 549 + goal_src/jak3/levels/hiphog/hiphog-obs.gc | 1 - goal_src/jak3/levels/hiphog/hiphog-part.gc | 1609 ++ goal_src/jak3/levels/hiphog/hiphog-scenes.gc | 1220 ++ .../jak3/levels/stadium/hover-nav-lpattack.gc | 1839 ++ goal_src/jak3/levels/stadium/king-rider.gc | 241 + goal_src/jak3/levels/stadium/rubble-attack.gc | 760 + goal_src/jak3/levels/stadium/rubble-obs.gc | 1010 + goal_src/jak3/levels/stadium/rubble-part.gc | 630 + goal_src/jak3/levels/stadium/rubblea-init.gc | 54 + .../jak3/levels/stadium/rublcst-scenes.gc | 918 + .../levels/wascity/wasstadium/sig-rider.gc | 2 +- .../jak3/engine/gfx/mood/mood-funcs2_REF.gc | 813 + .../city/blow-tower/blow-tower-data_REF.gc | 3112 +++ .../city/blow-tower/blow-tower-extra_REF.gc | 289 + .../city/blow-tower/blow-tower-obs2_REF.gc | 3291 +++ .../city/blow-tower/blow-tower-obs_REF.gc | 2229 ++ .../city/blow-tower/blow-tower-part_REF.gc | 1356 ++ .../city/blow-tower/blow-tower-script_REF.gc | 882 + .../city/blow-tower/blow-tower-shared_REF.gc | 921 + .../city/blow-tower/blow-tower-speech_REF.gc | 199 + .../city/blow-tower/cty-blow-tower_REF.gc | 5078 +++++ .../levels/city/generic/ctygenb-part_REF.gc | 1590 ++ .../city/traffic/vehicle/vehicle-h_REF.gc | 2 +- .../city/traffic/vehicle/vehicle-util_REF.gc | 2 +- .../levels/city/vinroom/power-game_REF.gc | 3867 ++++ .../levels/city/vinroom/vinroom-part_REF.gc | 2735 +++ .../levels/city/vinroom/vinroom-scenes_REF.gc | 416 + .../reference/jak3/levels/comb/h-sled_REF.gc | 2 +- .../levels/desert/wvehicle/wvehicle_REF.gc | 4 +- .../jak3/levels/factory/car/hvehicle_REF.gc | 2 +- .../jak3/levels/factory/h-warf_REF.gc | 2 +- .../jak3/levels/gungame/gun-dummy-art_REF.gc | 619 + .../jak3/levels/gungame/gun-dummy-part_REF.gc | 898 + .../jak3/levels/gungame/gun-dummy_REF.gc | 2316 ++ .../jak3/levels/gungame/gungame-data_REF.gc | 17508 ++++++++++++++++ .../levels/gungame/gungame-manager_REF.gc | 2028 ++ .../jak3/levels/gungame/gungame-obs_REF.gc | 341 + .../jak3/levels/gungame/gungame-part_REF.gc | 264 + .../jak3/levels/gungame/gungame-scenes_REF.gc | 567 + .../jak3/levels/hiphog/hiphog-obs_REF.gc | 9 + .../jak3/levels/hiphog/hiphog-part_REF.gc | 1721 ++ .../jak3/levels/hiphog/hiphog-scenes_REF.gc | 1275 ++ .../levels/stadium/hover-nav-lpattack_REF.gc | 1847 ++ .../jak3/levels/stadium/king-rider_REF.gc | 277 + .../jak3/levels/stadium/rubble-attack_REF.gc | 851 + .../jak3/levels/stadium/rubble-obs_REF.gc | 1197 ++ .../jak3/levels/stadium/rubble-part_REF.gc | 676 + .../jak3/levels/stadium/rubblea-init_REF.gc | 69 + .../jak3/levels/stadium/rublcst-scenes_REF.gc | 946 + .../wascity/wasstadium/sig-rider_REF.gc | 6 +- test/offline/config/jak3/config.jsonc | 23 +- 91 files changed, 118172 insertions(+), 1008 deletions(-) create mode 100644 test/decompiler/reference/jak3/engine/gfx/mood/mood-funcs2_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-data_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-extra_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-script_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-shared_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-speech_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/generic/ctygenb-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/vinroom/vinroom-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/city/vinroom/vinroom-scenes_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gun-dummy-art_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gun-dummy-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gungame-data_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gungame-manager_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gungame-obs_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gungame-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/gungame/gungame-scenes_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/hiphog/hiphog-obs_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/hiphog/hiphog-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/hiphog/hiphog-scenes_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/hover-nav-lpattack_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/king-rider_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/rubble-part_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/rubblea-init_REF.gc create mode 100644 test/decompiler/reference/jak3/levels/stadium/rublcst-scenes_REF.gc diff --git a/decompiler/config/jak3/all-types.gc b/decompiler/config/jak3/all-types.gc index 5106997e0a..6bf1868980 100644 --- a/decompiler/config/jak3/all-types.gc +++ b/decompiler/config/jak3/all-types.gc @@ -32298,7 +32298,6 @@ ;; mood-funcs2 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype vinroom-states (structure) ((main float :offset-assert 0) (flicker1 float :offset-assert 4) @@ -32309,9 +32308,7 @@ :size-assert #x10 :flag-assert #x900000010 ) -|# -#| (deftype hideout-states (structure) ((flame0 flames-state :inline :offset-assert 0) (flame1 flames-state :inline :offset-assert 8) @@ -32320,9 +32317,7 @@ :size-assert #xf :flag-assert #x90000000f ) -|# -#| (deftype hiphog-states (structure) ((door entity :offset-assert 0) ;; guessed by decompiler (door-current-interp float :offset-assert 4) @@ -32332,9 +32327,7 @@ :size-assert #xc :flag-assert #x90000000c ) -|# -#| (deftype onintent-states (structure) ((flame0 flames-state :inline :offset-assert 0) (flame1 flames-state :inline :offset-assert 8) @@ -32347,9 +32340,7 @@ :size-assert #x2f :flag-assert #x90000002f ) -|# -#| (deftype oracle-states (structure) ((flame0 flames-state :inline :offset-assert 0) (flame1 flames-state :inline :offset-assert 8) @@ -32366,9 +32357,7 @@ :size-assert #x38 :flag-assert #x900000038 ) -|# -#| (deftype gungame-states (structure) ((florescent florescent-state :inline :offset-assert 0) ) @@ -32376,9 +32365,7 @@ :size-assert #x6 :flag-assert #x900000006 ) -|# -#| (deftype freehq-states (structure) ((flicker float :offset-assert 0) ) @@ -32386,46 +32373,35 @@ :size-assert #x4 :flag-assert #x900000004 ) -|# -#| -(deftype default-interior-states (UNKNOWN) +(deftype default-interior-states (structure) () - :method-count-assert 0 - :size-assert #x0 - :flag-assert #x0 ) -|# -#| -(deftype garage-states (UNKNOWN) +(deftype garage-states (structure) () - :method-count-assert 0 - :size-assert #x0 - :flag-assert #x0 ) -|# -;; (define-extern update-mood-default-interior function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern update-mood-default-interior-ambient function) -;; (define-extern update-vinroom-lights function) ;; (function mood-context none) -;; (define-extern update-mood-vinroom function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern update-hideout-lights function) ;; (function mood-context none) -;; (define-extern update-mood-hideout function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern init-mood-hiphog function) ;; (function mood-context none) -;; (define-extern update-hiphog-lights function) ;; (function mood-context none) -;; (define-extern update-mood-hiphog function) ;; (function mood-context float none :behavior time-of-day-proc) -;; (define-extern update-onintent-lights function) ;; (function mood-context none) -;; (define-extern update-mood-onintent function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern init-mood-oracle function) ;; (function mood-context symbol) -;; (define-extern update-mood-oracle function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern set-oracle-purple-flag! function) ;; (function symbol symbol) -;; (define-extern update-gungame-lights function) ;; (function mood-context none) -;; (define-extern update-mood-gungame function) ;; (function mood-context none :behavior time-of-day-proc) -;; (define-extern init-mood-garage function) ;; (function mood-context symbol) -;; (define-extern update-garage-lights function) ;; (function mood-context none) -;; (define-extern update-mood-garage function) ;; (function mood-context object int none :behavior time-of-day-proc) -;; (define-extern update-mood-freehq function) +(define-extern update-mood-default-interior (function mood-context none :behavior time-of-day-proc)) +(define-extern update-mood-default-interior-ambient (function mood-context none :behavior time-of-day-proc)) +(define-extern update-vinroom-lights (function mood-context none)) +(define-extern update-mood-vinroom (function mood-context none :behavior time-of-day-proc)) +(define-extern update-hideout-lights (function mood-context none)) +(define-extern update-mood-hideout (function mood-context none :behavior time-of-day-proc)) +(define-extern init-mood-hiphog (function mood-context none)) +(define-extern update-hiphog-lights (function mood-context none)) +(define-extern update-mood-hiphog (function mood-context float none :behavior time-of-day-proc)) +(define-extern update-onintent-lights (function mood-context none)) +(define-extern update-mood-onintent (function mood-context none :behavior time-of-day-proc)) +(define-extern init-mood-oracle (function mood-context symbol)) +(define-extern update-mood-oracle (function mood-context none :behavior time-of-day-proc)) +(define-extern set-oracle-purple-flag! (function symbol symbol)) +(define-extern update-gungame-lights (function mood-context none)) +(define-extern update-mood-gungame (function mood-context none :behavior time-of-day-proc)) +(define-extern init-mood-garage (function mood-context symbol)) +(define-extern update-garage-lights (function mood-context none)) +(define-extern update-mood-garage (function mood-context object int none :behavior time-of-day-proc)) +(define-extern update-mood-freehq (function mood-context object int none :behavior time-of-day-proc)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; weather-part ;; @@ -53424,7 +53400,7 @@ (vehicle-method-65 (_type_) int) ;; 65 ;; (start-jump (_type_) none) (vehicle-method-66 (_type_ vector int) none) ;; 66 (get-rider-in-seat (_type_ int) process) ;; 67 ;; (get-seat-count (_type_) int) - (vehicle-method-68 (_type_) process) ;; 68 ;; (compute-seat-position (_type_ vector int) none) + (find-rider (_type_) process) ;; 68 ;; (compute-seat-position (_type_ vector int) none) (put-rider-in-seat (_type_ int process) none) ;; 69 ;; (get-rider-in-seat (_type_ int) process) (vehicle-method-70 (_type_) uint) ;; 70 ;; (vehicle-method-70 (_type_) process) (get-best-seat (_type_ vector vehicle-seat-flag int) int) ;; 71 ;; (put-rider-in-seat (_type_ int process-focusable) none) @@ -58486,35 +58462,33 @@ ;; king-rider ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype king-rider (process-focusable) - ((front-back-interp float :offset-assert 208) + ((parent (pointer vehicle) :override) + (front-back-interp float :offset-assert 208) (left-right-interp float :offset-assert 212) (up-down-interp float :offset-assert 216) - (complain-time uint64 :offset-assert 224) + (complain-time time-frame :offset-assert 224) (complain-speech int32 :offset-assert 232) - (last-moved-time uint64 :offset-assert 240) + (last-moved-time time-frame :offset-assert 240) ) :method-count-assert 30 :size-assert #xf8 :flag-assert #x1e008000f8 (:state-methods - die ;; 29 idle ;; 28 + die ;; 29 ) ) -|# -;; (define-extern king-pilot-trans function) -;; (define-extern king-pilot-wcar-anim-loop function) -;; (define-extern king-rider-init-by-other function) -;; (define-extern king-rider-spawn function) +(define-extern king-pilot-trans (function none :behavior king-rider)) +(define-extern king-pilot-wcar-anim-loop (function symbol :behavior king-rider)) +(define-extern king-rider-init-by-other (function vehicle object :behavior king-rider)) +(define-extern king-rider-spawn (function vehicle king-rider)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; rubble-attack ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype rub-missile (metalhead-grenade-shot) () :method-count-assert 41 @@ -58524,57 +58498,49 @@ impact ;; 22 ) ) -|# -#| (deftype dm-missile-target (process-drawable) - ((ring-jmod UNKNOWN 2 :offset-assert 200) - (ring-timer uint64 :offset-assert 208) - (blink-timer uint64 :offset-assert 216) - (target-sound-id uint32 :offset-assert 224) - (warn-sound-id uint32 :offset-assert 228) + ((ring-jmod joint-mod 2 :offset-assert 200) + (ring-timer time-frame :offset-assert 208) + (blink-timer time-frame :offset-assert 216) + (target-sound-id sound-id :offset-assert 224) + (warn-sound-id sound-id :offset-assert 228) ) :method-count-assert 22 :size-assert #xe8 :flag-assert #x16007000e8 (:state-methods - lock ;; 21 idle ;; 20 + lock ;; 21 ) ) -|# -#| (deftype rubble-attack-manager (task-manager) - ((missile-spawners basic :offset-assert 240) - (missile uint64 :offset-assert 248) - (missile-target uint64 :offset-assert 256) - (missile-timer uint64 :offset-assert 264) - (vehicle-handle uint64 :offset-assert 272) - (king-rider uint64 :offset-assert 280) - (talk-timer uint64 :offset-assert 288) + ((missile-spawners (array vector) :offset-assert 240) + (missile handle :offset-assert 248) + (missile-target handle :offset-assert 256) + (missile-timer time-frame :offset-assert 264) + (vehicle-handle handle :offset-assert 272) + (king-rider handle :offset-assert 280) + (talk-timer time-frame :offset-assert 288) (played-speeches uint32 :offset-assert 296) - (first-dp-noticed? basic :offset-assert 300) + (first-dp-noticed? symbol :offset-assert 300) ) :method-count-assert 35 :size-assert #x130 :flag-assert #x2300b00130 (:methods - (rubble-attack-manager-method-32 () none) ;; 32 - (rubble-attack-manager-method-33 () none) ;; 33 - (rubble-attack-manager-method-34 () none) ;; 34 - ) - (:state-methods - active ;; 15 + (spawn-missile (_type_) none) ;; 32 + (rubble-attack-manager-method-33 (_type_) none) ;; 33 + (play-speech (_type_ int) symbol) ;; 34 ) ) -|# -;; (define-extern dm-missile-target-post function) -;; (define-extern dm-missile-target-handler function) -;; (define-extern *dm-missile-target-shadow-control* shadow-control) -;; (define-extern dm-missile-target-init-by-other function) -;; (define-extern *missile-spawners-all* array) +(define-extern dm-missile-target-post (function none :behavior dm-missile-target)) +(def-event-handler dm-missile-target-handler dm-missile-target) +(define-extern *dm-missile-target-shadow-control* shadow-control) +(define-extern dm-missile-target-init-by-other (function vector object :behavior dm-missile-target)) +(define-extern *missile-spawners-all* (array (array vector))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ai-task-h ;; @@ -63723,11 +63689,11 @@ ;; rubblea-init ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern rubblea-login function) -;; (define-extern rubblea-activate function) -;; (define-extern rubblea-deactivate function) -;; (define-extern lpattack-login function) -;; (define-extern lpattack-logout function) +(define-extern rubblea-login (function level none)) +(define-extern rubblea-activate (function level none)) +(define-extern rubblea-deactivate (function level none)) +(define-extern lpattack-login (function level none)) +(define-extern lpattack-logout (function level none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; rubble-texture ;; @@ -63749,138 +63715,121 @@ ;; rubble-part ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern spt-func-match-part-def function) -;; (define-extern spt-func-part-rub-elec-gate function) -;; (define-extern rub-elec-gate-adjust-particles function) +(define-extern spt-func-match-part-def (function sparticle-system sparticle-cpuinfo sparticle-launchinfo none)) +(define-extern spt-func-part-rub-elec-gate (function sparticle-system sparticle-cpuinfo sparticle-launchinfo none)) +(define-extern rub-elec-gate-adjust-particles (function float float float none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; rubble-obs ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype rub-tower (process-focusable) - ((last-attack-time uint64 :offset-assert 208) - (collision-updated? basic :offset-assert 216) + ((last-attack-time time-frame :offset-assert 208) + (collision-updated? symbol :offset-assert 216) ) :method-count-assert 35 :size-assert #xdc :flag-assert #x23006000dc - (:methods - (rub-tower-method-32 () none) ;; 32 - (rub-tower-method-33 () none) ;; 33 - (rub-tower-method-34 () none) ;; 34 - ) (:state-methods - fallen ;; 31 - fall ;; 30 - unstable ;; 29 idle ;; 28 + (unstable float) ;; 29 + fall ;; 30 + fallen ;; 31 + ) + (:methods + (init-collision! (_type_) none) ;; 32 + (check-impact (_type_ rigid-body-impact vehicle) symbol) ;; 33 + (update-collision (_type_) none) ;; 34 ) ) -|# -#| (deftype rub-electric-gate-switch (process-focusable) - ((part-sparks basic :offset-assert 208) + ((part-sparks sparticle-launch-control :offset-assert 208) ) :method-count-assert 35 :size-assert #xd4 :flag-assert #x23006000d4 - (:methods - (rub-electric-gate-switch-method-31 () none) ;; 31 - (rub-electric-gate-switch-method-32 () none) ;; 32 - (rub-electric-gate-switch-method-33 () none) ;; 33 - (rub-electric-gate-switch-method-34 () none) ;; 34 - ) (:state-methods - exploded ;; 30 - explode ;; 29 idle ;; 28 + explode ;; 29 + exploded ;; 30 + ) + (:methods + (check-impact (_type_ rigid-body-impact vehicle) symbol) ;; 31 + (go-explode (_type_) none) ;; 32 + (spawn-joint-exploder (_type_) none) ;; 33 + (update-draw-mask (_type_) none) ;; 34 ) ) -|# -#| (deftype rub-elec-gate (process-drawable) - ((path-l basic :offset-assert 148) - (path-r basic :offset-assert 196) - (actor-group uint32 :offset-assert 200) - (actor-group-count int32 :offset-assert 204) - (width float :offset-assert 208) - (height float :offset-assert 212) - (active? basic :offset-assert 216) - (switch-status uint8 :offset-assert 220) - (palette-id int8 :offset-assert 221) - (hit-sound-id uint32 :offset-assert 224) - (shutoff-delay-time uint64 :offset-assert 228) + ((path-r path-control :offset-assert 200) + (actor-group (pointer actor-group) :offset-assert 204) + (actor-group-count int32 :offset-assert 208) + (width float :offset-assert 212) + (height float :offset-assert 216) + (active? symbol :offset-assert 220) + (switch-status uint8 :offset-assert 224) + (palette-id int8 :offset-assert 225) + (hit-sound-id sound-id :offset-assert 228) + (shutoff-delay-time time-frame :offset-assert 232) ) :method-count-assert 23 :size-assert #xf0 :flag-assert #x17007000f0 - (:methods - (rub-elec-gate-method-22 () none) ;; 22 - ) (:state-methods - die ;; 21 idle ;; 20 + die ;; 21 + ) + (:methods + (toggle-blocking-plane (_type_ symbol) none) ;; 22 ) ) -|# -#| (deftype rub-electric-gate-panel (process-drawable) () :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 - (:methods - (rub-electric-gate-panel-method-21 () none) ;; 21 - (rub-electric-gate-panel-method-22 () none) ;; 22 - ) (:state-methods idle ;; 20 ) + (:methods + (get-skel (_type_) art-group) ;; 21 + (setup-draw-masks (_type_ symbol int) none) ;; 22 + ) ) -|# -#| (deftype rub-electric-gate-panel-a (rub-electric-gate-panel) () :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 ) -|# -#| (deftype rub-electric-gate-panel-b (rub-electric-gate-panel) () :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 ) -|# -#| (deftype rub-electric-gate-panel-c (rub-electric-gate-panel) () :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 ) -|# -#| (deftype rub-electric-gate-panel-d (rub-electric-gate-panel) () :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 ) -|# -;; (define-extern rub-tower-event-handler function) -;; (define-extern *rub-electric-gate-switch-exploder-params* joint-exploder-static-params) +(def-event-handler rub-tower-event-handler rub-tower) +(define-extern *rub-electric-gate-switch-exploder-params* joint-exploder-static-params) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; spyder ;; @@ -65447,7 +65396,6 @@ ;; hiphog-part ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype hiphog-mirror-wf-pt (structure) ((x float :offset-assert 0) (y float :offset-assert 4) @@ -65456,42 +65404,37 @@ :size-assert #x8 :flag-assert #x900000008 ) -|# -;; (define-extern part-hiphog-sphere-vert-line-flicker function) -;; (define-extern birth-func-hiphog-sphere function) -;; (define-extern birth-func-rotate-minute function) ;; (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none) -;; (define-extern birth-func-rotate-hour function) ;; (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none) -;; (define-extern birth-func-rotate-second function) ;; (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none) -;; (define-extern *hiphog-mirror-sheen-waveform* object) ;; (inline-array ripple-wave) -;; (define-extern hiphog-mirror-sheen-func function) ;; (function sparticle-system sparticle-cpuinfo matrix none) +(define-extern part-hiphog-sphere-vert-line-flicker (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern birth-func-hiphog-sphere (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern birth-func-rotate-minute (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern birth-func-rotate-hour (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern birth-func-rotate-second (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern *hiphog-mirror-sheen-waveform* (inline-array ripple-wave)) +(define-extern hiphog-mirror-sheen-func (function sparticle-system sparticle-cpuinfo matrix none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; hiphog-scenes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype hip-door-b (com-airlock) () :method-count-assert 30 :size-assert #x1b0 :flag-assert #x1e013001b0 ) -|# -#| (deftype hip-mirror (process-drawable) () :method-count-assert 21 :size-assert #xc8 :flag-assert #x15005000c8 (:state-methods - idle ;; 20, old: (idle () _type_ :state) + idle ;; 20 ) ) -|# -;; (define-extern hiphog-activate function) ;; (function vector) +(define-extern hiphog-activate (function vector)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ltnfxhip-texture ;; @@ -66317,7 +66260,6 @@ ;; blow-tower-shared ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype blow-tower-node-info (structure) ((speed-scalar float :offset-assert 0) (accum-dist float :offset-assert 4) @@ -66329,43 +66271,37 @@ :size-assert #x14 :flag-assert #x900000014 ) -|# -#| (deftype blow-tower-path (structure) - ((total-time uint64 :offset-assert 0) + ((total-time time-frame :offset-assert 0) (index int16 :offset-assert 8) - (pts uint32 :offset-assert 12) - (node-info uint32 :offset-assert 16) + (pts (inline-array vector) :offset-assert 12) + (node-info (inline-array blow-tower-node-info) :offset-assert 16) (num-nodes int16 :offset-assert 20) ) :method-count-assert 9 :size-assert #x16 :flag-assert #x900000016 ) -|# -#| (deftype surround-spot (structure) ((y-rot float :offset-assert 0) (x-rot float :offset-assert 4) (offset-dir vector :inline :offset-assert 16) (turret-pos vector :inline :offset-assert 32) (rider-index int16 :offset-assert 48) - (owner uint64 :offset-assert 56) + (owner handle :offset-assert 56) ) :method-count-assert 9 :size-assert #x40 :flag-assert #x900000040 ) -|# -#| (deftype blow-tower-path-cursor (structure) ((curve cubic-curve :inline :offset-assert 0) (pos vector :inline :offset-assert 64) (norm vector :inline :offset-assert 80) - (current-time uint64 :offset-assert 96) + (current-time time-frame :offset-assert 96) (speed float :offset-assert 104) (path blow-tower-path :offset-assert 108) (current-tt float :offset-assert 112) @@ -66377,15 +66313,13 @@ :size-assert #x80 :flag-assert #xd00000080 (:methods - (blow-tower-path-cursor-method-9 () none) ;; 9 - (blow-tower-path-cursor-method-10 () none) ;; 10 - (blow-tower-path-cursor-method-11 () none) ;; 11 - (blow-tower-path-cursor-method-12 () none) ;; 12 + (blow-tower-path-cursor-method-9 (_type_ int) int) ;; 9 + (init-fields (_type_) none) ;; 10 + (blow-tower-path-cursor-method-11 (_type_ vector) none) ;; 11 + (blow-tower-path-cursor-method-12 (_type_ int) vector) ;; 12 ) ) -|# -#| (deftype xform (structure) ((root transformq :inline :offset-assert 0) ) @@ -66393,78 +66327,115 @@ :size-assert #x30 :flag-assert #xa00000030 (:methods - (xform-method-9 () none) ;; 9 + (reset (_type_) xform) ;; 9 ) ) -|# -#| (deftype blow-tower-clock (structure) - ((elapsed-clock-time uint64 :offset-assert 0) - (debug? basic :offset-assert 8) - (debug-lock-view? basic :offset-assert 12) + ((elapsed-clock-time time-frame :offset-assert 0) + (debug? symbol :offset-assert 8) + (debug-lock-view? symbol :offset-assert 12) ) :method-count-assert 9 :size-assert #x10 :flag-assert #x900000010 ) -|# -#| (deftype blow-tower-global-target-info (structure) - ((target-handles UNKNOWN 2 :offset-assert 0) - (hellcat uint64 :offset-assert 0) - (pickup uint64 :offset-assert 8) - (mission-time uint64 :offset-assert 16) - (debug? basic :offset-assert 24) + ((target-handles handle 2 :offset-assert 0) + (hellcat handle :offset 0) + (pickup handle :offset 8) + (mission-time time-frame :offset-assert 16) + (debug? symbol :offset-assert 24) (difficulty-scalar float :offset-assert 28) - (last-player-attack-time uint64 :offset-assert 32) + (last-player-attack-time time-frame :offset-assert 32) (clock-scalar float :offset-assert 40) ) :method-count-assert 9 :size-assert #x2c :flag-assert #x90000002c ) -|# -#| (deftype blow-tower-speech-instance (speech-instance) () :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) -|# -;; (define-extern find-event-id-index function) -;; (define-extern find-path-event-id-index function) -;; (define-extern initialize-hermite-from-path function) -;; (define-extern process-xform-list function) -;; (define-extern *blow-tower-targets* object) -;; (define-extern *blow-tower-speech-list* object) +(define-extern find-event-id-index (function blow-tower-path-cursor int int)) +(define-extern find-path-event-id-index (function blow-tower-path int int)) +(define-extern initialize-hermite-from-path (function cubic-curve blow-tower-path int none)) +(define-extern process-xform-list (function xform xform (inline-array xform) int xform)) +(define-extern *blow-tower-targets* blow-tower-global-target-info) +(define-extern *blow-tower-speech-list* (inline-array talker-speech-class)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-data ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern *blow-tower-paths* array) +(define-extern *blow-tower-paths* (array blow-tower-path)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-speech ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern symbol->blow-tower-speech function) -;; (define-extern *blow-tower-speech* array) +(define-extern symbol->blow-tower-speech (function symbol int)) +(define-extern *blow-tower-speech* (array speech-info)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-script ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| +;; +++blow-tower-script:blow-tower-cmd-type +(defenum blow-tower-cmd-type + :type uint8 + (spawn) + (activate) + (rotate-view) + (lock-view) + (unlock-view) + (path-height) + (roll-amount) + (clock-scalar) + (advance) + (barrel-roll) + (constrain-angle) + (play-sound) + (cmd12) + (save-progress) + (look-at) + (look-at-track) + (look-at-ent) + (look-at-bombbot) + (cmd18) + (end) + ) +;; ---blow-tower-script:blow-tower-cmd-type + +;; +++blow-tower-script:blow-tower-cmd-spawn-type +(defenum blow-tower-cmd-spawn-type + :type uint8 + (cmd0) + (cmd1) + (kg-flyer) + (mh-flyer) + (kg-flyer-ent) + (mh-flyer-ent) + (cmd6) + (cmd7) + (mh-grunt) + (missiles) + (missiles-ent) + (kg-bombbot) + (kg-bombbot-ent) + ) +;; ---blow-tower-script:blow-tower-cmd-spawn-type + (deftype blow-tower-cmd (structure) - ((cmd-type uint8 :offset-assert 0) - (spawn-type uint8 :offset-assert 1) - (entity-name basic :offset-assert 4) + ((cmd-type blow-tower-cmd-type :offset-assert 0) + (spawn-type blow-tower-cmd-spawn-type :offset-assert 1) + (entity-name string :offset-assert 4) (rotate-amount float :offset-assert 8) (lock-min float :offset-assert 12) (lock-max float :offset-assert 16) @@ -66473,60 +66444,54 @@ (event-id uint32 :offset-assert 28) (time-offset float :offset-assert 32) (clock-scalar float :offset-assert 36) - (entity-name2 basic :offset-assert 40) - (snap-view? basic :offset-assert 44) - (snd-name uint128 :offset-assert 48) + (entity-name2 string :offset-assert 40) + (snap-view? symbol :offset-assert 44) + (snd-name sound-name :offset-assert 48) ) :method-count-assert 9 :size-assert #x40 :flag-assert #x900000040 ) -|# -#| (deftype tower-event-group (structure) ((event-id int32 :offset-assert 0) - (command-list basic :offset-assert 4) + (command-list pair :offset-assert 4) ) :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) -|# -;; (define-extern get-blow-tower-target function) -;; (define-extern parse-blow-tower-command function) -;; (define-extern *blow-tower-script* array) +(define-extern get-blow-tower-target (function pair int int int)) +(define-extern parse-blow-tower-command (function pair blow-tower-cmd object)) +(define-extern *blow-tower-script* (array tower-event-group)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-part ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern *range-bt-roboguard-dust-scale-x* curve2d-fast) -;; (define-extern *range-bt-roboguard-dust-scale-y* curve2d-fast) -;; (define-extern *part-bt-roboguard-explosion-dust-in-curve-settings* object) -;; (define-extern *bt-grunt-ragdoll-info* object) +(define-extern *range-bt-roboguard-dust-scale-x* curve2d-fast) +(define-extern *range-bt-roboguard-dust-scale-y* curve2d-fast) +(define-extern *part-bt-roboguard-explosion-dust-in-curve-settings* particle-curve-settings) +(define-extern *bt-grunt-ragdoll-info* ragdoll-setup) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-obs ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype tower-enemy-init-params (structure) ((pos vector :inline :offset-assert 0) - (entity-name basic :offset-assert 16) - (target uint64 :offset-assert 24) + (entity-name string :offset-assert 16) + (target handle :offset-assert 24) (time-offset float :offset-assert 32) - (activate-time uint64 :offset-assert 40) - (bool-userdata? basic :offset-assert 48) + (activate-time time-frame :offset-assert 40) + (bool-userdata? symbol :offset-assert 48) ) :method-count-assert 9 :size-assert #x34 :flag-assert #x900000034 ) -|# -#| (deftype blow-tower-enemy (process-focusable) ((hit-points float :offset-assert 208) (last-attack-id uint32 :offset-assert 212) @@ -66536,29 +66501,27 @@ :method-count-assert 38 :size-assert #x100 :flag-assert #x2600800100 - (:methods - (blow-tower-enemy-method-30 () none) ;; 30 - (blow-tower-enemy-method-31 () none) ;; 31 - (blow-tower-enemy-method-32 () none) ;; 32 - (blow-tower-enemy-method-33 () none) ;; 33 - (blow-tower-enemy-method-34 () none) ;; 34 - (blow-tower-enemy-method-35 () none) ;; 35 - (blow-tower-enemy-method-36 () none) ;; 36 - (blow-tower-enemy-method-37 () none) ;; 37 - ) (:state-methods - dormant ;; 29 idle ;; 28 + dormant ;; 29 + ) + (:methods + (bt-enemy-handler (_type_ process int symbol event-message-block) object) ;; 30 + (on-hit (_type_ float) none) ;; 31 + (on-death (_type_) object) ;; 32 + (init (_type_) object :behavior blow-tower-enemy) ;; 33 + (blow-tower-enemy-method-34 (_type_) none) ;; 34 + (blow-tower-enemy-method-35 (_type_) none) ;; 35 + (blow-tower-enemy-method-36 (_type_) none) ;; 36 + (get-damage-from-attack (_type_ attack-info process-focusable) float) ;; 37 ) ) -|# -#| (deftype tower-flyer-bobber (structure) ((start-val float :offset-assert 0) (current-val float :offset-assert 4) - (total-time uint64 :offset-assert 8) - (current-time uint64 :offset-assert 16) + (total-time time-frame :offset-assert 8) + (current-time time-frame :offset-assert 16) (current-size-scalar float :offset-assert 24) (dir float :offset-assert 28) (num-iterations float :offset-assert 32) @@ -66573,79 +66536,74 @@ (current-speed float :offset-assert 68) (output-scale float :offset-assert 72) (output-val float :offset-assert 76) - (charge-time uint64 :offset-assert 80) - (wait-time uint64 :offset-assert 88) + (charge-time time-frame :offset-assert 80) + (wait-time time-frame :offset-assert 88) ) + :allow-misaligned :method-count-assert 12 :size-assert #x60 :flag-assert #xc00000060 (:methods - (tower-flyer-bobber-method-9 () none) ;; 9 - (tower-flyer-bobber-method-10 () none) ;; 10 - (tower-flyer-bobber-method-11 () none) ;; 11 + (init-fields (_type_) none) ;; 9 + (tower-flyer-bobber-method-10 (_type_) none) ;; 10 + (tower-flyer-bobber-method-11 (_type_) none) ;; 11 ) ) -|# -#| (deftype tower-flyer (blow-tower-enemy) - ((focus uint64 :offset-assert 256) + ((focus handle :offset-assert 256) (local-offset vector :inline :offset-assert 272) (basetrans vector :inline :offset-assert 288) (surround-spot int32 :offset-assert 304) (desired-z-dist float :offset-assert 308) (current-z-dist float :offset-assert 312) (use-z-dist float :offset-assert 316) - (bobbers UNKNOWN 3 :offset-assert 320) + (bobbers tower-flyer-bobber 3 :inline :offset-assert 320) (spot-base-pos vector :inline :offset-assert 608) - (hover-end-time uint64 :offset-assert 624) - (total-charge-time uint64 :offset-assert 624) - (charge-part basic :offset-assert 632) + (hover-end-time time-frame :offset-assert 624) + (total-charge-time time-frame :offset 624) + (charge-part sparticle-launch-control :offset-assert 632) (charge-t float :offset-assert 636) - (last-wall-clip-time uint64 :offset-assert 640) - (spawn-path-time uint64 :offset-assert 648) + (last-wall-clip-time time-frame :offset-assert 640) + (spawn-path-time time-frame :offset-assert 648) (bob-vec vector :inline :offset-assert 656) (bob-y-scalar float :offset-assert 672) (entity-pos vector :offset-assert 676) - (buzz-sound uint32 :offset-assert 680) - (charge-sound uint32 :offset-assert 684) + (buzz-sound sound-id :offset-assert 680) + (charge-sound sound-id :offset-assert 684) ) :method-count-assert 50 :size-assert #x2b0 :flag-assert #x32023002b0 - (:methods - (tower-flyer-method-42 () none) ;; 42 - (tower-flyer-method-43 () none) ;; 43 - (tower-flyer-method-44 () none) ;; 44 - (tower-flyer-method-45 () none) ;; 45 - (tower-flyer-method-46 () none) ;; 46 - (tower-flyer-method-47 () none) ;; 47 - (tower-flyer-method-48 () none) ;; 48 - (tower-flyer-method-49 () none) ;; 49 - ) (:state-methods - firing ;; 40 - charging ;; 39 - hovering ;; 38 - fleeing ;; 41 idle ;; 28 + hovering ;; 38 + charging ;; 39 + firing ;; 40 + fleeing ;; 41 + ) + (:methods + (tower-flyer-method-42 (_type_) none) ;; 42 + (tower-flyer-method-43 (_type_) none) ;; 43 + (fire-projectile (_type_) none) ;; 44 + (tower-flyer-method-45 (_type_) none) ;; 45 + (tower-flyer-method-46 (_type_) none) ;; 46 + (tower-flyer-method-47 (_type_ vector quaternion vector) symbol) ;; 47 + (tower-flyer-method-48 (_type_ vector) quaternion) ;; 48 + (tower-flyer-method-49 (_type_ vector quaternion) quaternion) ;; 49 ) ) -|# -#| (deftype flyer-projectile-params (structure) - ((total-travel-time uint64 :offset-assert 0) - (target uint64 :offset-assert 8) - (damage float :offset-assert 16) + ((total-travel-time time-frame :offset-assert 0) + (target handle :offset-assert 8) + (damage float :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 :flag-assert #x900000014 ) -|# -#| (deftype flyer-projectile (process-drawable) ((original-offset-vec vector :inline :offset-assert 208) (params flyer-projectile-params :inline :offset-assert 224) @@ -66654,20 +66612,18 @@ :method-count-assert 22 :size-assert #xf8 :flag-assert #x16008000f8 - (:methods - (flyer-projectile-method-21 () none) ;; 21 - ) (:state-methods active ;; 20 ) + (:methods + (spawn-part (_type_) none) ;; 21 + ) ) -|# -#| (deftype cast-rider (process-focusable) ((anim-index int16 :offset-assert 208) - (track-obj uint64 :offset-assert 216) - (neck basic :offset-assert 224) + (track-obj handle :offset-assert 216) + (neck joint-mod :offset-assert 224) (track-pos vector :inline :offset-assert 240) ) :method-count-assert 29 @@ -66677,13 +66633,11 @@ riding ;; 28 ) ) -|# -#| (deftype bt-barrel (blow-tower-enemy) - ((nearby-barrels UNKNOWN 16 :offset-assert 256) - (nearby-barrel-pos UNKNOWN 16 :offset-assert 384) - (nearby-barrel-dist UNKNOWN 16 :offset-assert 640) + ((nearby-barrels handle 16 :offset-assert 256) + (nearby-barrel-pos vector 16 :inline :offset-assert 384) + (nearby-barrel-dist float 16 :offset-assert 640) (num-nearby-barrels int32 :offset-assert 704) (barrel-send-index int32 :offset-assert 708) (barrel-live-mask uint32 :offset-assert 712) @@ -66693,21 +66647,19 @@ :method-count-assert 44 :size-assert #x2e4 :flag-assert #x2c027002e4 - (:methods - (bt-barrel-method-40 () none) ;; 40 - (bt-barrel-method-41 () none) ;; 41 - (bt-barrel-method-42 () none) ;; 42 - (bt-barrel-method-43 () none) ;; 43 - ) (:state-methods - fly-up ;; 39 - explode ;; 38 idle ;; 28 + explode ;; 38 + fly-up ;; 39 + ) + (:methods + (damage-targets (_type_) object) ;; 40 + (count-nearby-barrels (_type_) none) ;; 41 + (explode-nearby-barrels (_type_) object) ;; 42 + (update-draw-mask-and-color (_type_) none) ;; 43 ) ) -|# -#| (deftype bt-barrel-stack (process-drawable) () :method-count-assert 22 @@ -66718,9 +66670,7 @@ barrel-spawning ;; 21 ) ) -|# -#| (deftype bt-pickup-barrel (process-drawable) ((index int32 :offset-assert 200) ) @@ -66731,30 +66681,28 @@ riding ;; 20 ) ) -|# -;; (define-extern blow-tower-enemy-handler function) -;; (define-extern tower-flyer-init-by-other function) -;; (define-extern *current-color* object) -;; (define-extern tower-fly-quick-raycast function) -;; (define-extern compute-tower-flyer-lerp-point function) -;; (define-extern flyer-projectile-init-by-other function) -;; (define-extern cast-rider-init-by-other function) -;; (define-extern bt-barrel-init-by-other function) -;; (define-extern barrel-stack-init-by-other function) -;; (define-extern bt-barrel-ground-probe function) -;; (define-extern setup-bt-barrels function) -;; (define-extern attempt-barrel-spawn function) -;; (define-extern bt-pickup-barrel-init-by-other function) +(def-event-handler blow-tower-enemy-handler blow-tower-enemy) +(define-extern tower-flyer-init-by-other (function tower-enemy-init-params object :behavior tower-flyer)) +(define-extern *current-color* rgba) +(define-extern tower-fly-quick-raycast (function vector vector vector float float)) +(define-extern compute-tower-flyer-lerp-point (function tower-flyer vector vector vector float vector)) +(define-extern flyer-projectile-init-by-other (function flyer-projectile-params vector object :behavior flyer-projectile)) +(define-extern cast-rider-init-by-other (function skeleton-group int int object :behavior cast-rider)) +(define-extern bt-barrel-init-by-other (function vector object :behavior bt-barrel)) +(define-extern barrel-stack-init-by-other (function vector quaternion object :behavior bt-barrel-stack)) +(define-extern bt-barrel-ground-probe (function vector float)) +(define-extern setup-bt-barrels (function int int float float none :behavior bt-barrel-stack)) +(define-extern attempt-barrel-spawn (function object :behavior bt-barrel-stack)) +(define-extern bt-pickup-barrel-init-by-other (function int object :behavior bt-pickup-barrel)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-obs2 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype bt-roboguard (blow-tower-enemy) ((focus-pos vector :inline :offset-assert 256) - (focus uint64 :offset-assert 272) + (focus handle :offset-assert 272) (rotation-matrix matrix :inline :offset-assert 288) (me-to-focus-dir vector :inline :offset-assert 352) (me-to-focus-angle float :offset-assert 368) @@ -66764,85 +66712,77 @@ (torso-to-focus-angle float :offset-assert 384) (last-torso-frame-num float :offset-assert 388) (stand-angle-threshold float :offset-assert 392) - (fire-time uint64 :offset-assert 400) + (fire-time time-frame :offset-assert 400) (fire-count int8 :offset-assert 408) - (fire-delay uint64 :offset-assert 416) - (path-clock-time uint64 :offset-assert 424) + (fire-delay time-frame :offset-assert 416) + (path-clock-time time-frame :offset-assert 424) (difficulty float :offset-assert 432) - (active-clock-time uint64 :offset-assert 440) + (active-clock-time time-frame :offset-assert 440) ) :method-count-assert 47 :size-assert #x1c0 :flag-assert #x2f014001c0 - (:methods - (bt-roboguard-method-40 () none) ;; 40 - (bt-roboguard-method-41 () none) ;; 41 - (bt-roboguard-method-42 () none) ;; 42 - (bt-roboguard-method-43 () none) ;; 43 - (bt-roboguard-method-44 () none) ;; 44 - (bt-roboguard-method-45 () none) ;; 45 - (bt-roboguard-method-46 () none) ;; 46 - ) (:state-methods - shoot-attack ;; 39 - hostile-stand ;; 38 idle ;; 28 + hostile-stand ;; 38 + shoot-attack ;; 39 + ) + (:methods + (bt-roboguard-method-40 (_type_) none) ;; 40 + (bt-roboguard-method-41 (_type_) none) ;; 41 + (bt-roboguard-method-42 (_type_) none) ;; 42 + (fire-shot-from-joint-idx (_type_ int) none) ;; 43 + (bt-roboguard-method-44 (_type_) none) ;; 44 + (bt-roboguard-method-45 (_type_) symbol) ;; 45 + (bt-roboguard-method-46 (_type_) object) ;; 46 ) ) -|# -#| (deftype bt-roboguard-shot (guard-shot) () :method-count-assert 41 :size-assert #x220 :flag-assert #x2901a00220 ) -|# -#| (deftype kg-flyer (tower-flyer) () :method-count-assert 50 :size-assert #x2b0 :flag-assert #x32023002b0 (:state-methods - firing ;; 40 charging ;; 39 + firing ;; 40 ) ) -|# -#| (deftype bt-mh-flyer (tower-flyer) ((rotation-vec vector :inline :offset-assert 688) (xz-dir vector :inline :offset-assert 704) - (main-joint-movement UNKNOWN 3 :offset-assert 720) - (thrust UNKNOWN 2 :offset-assert 768) - (engine-part basic :offset-assert 776) + (main-joint-movement vector 3 :inline :offset-assert 720) + (thrust float 2 :offset 768) + (engine-part sparticle-launch-control :offset-assert 776) ) :method-count-assert 53 :size-assert #x30c :flag-assert #x350290030c - (:methods - (bt-mh-flyer-method-50 () none) ;; 50 - (bt-mh-flyer-method-51 () none) ;; 51 - (bt-mh-flyer-method-52 () none) ;; 52 - ) (:state-methods + hovering ;; 38 + charging ;; 39 firing ;; 40 fleeing ;; 41 - charging ;; 39 - hovering ;; 38 + ) + (:methods + (fly-anim (_type_ int float int int) none) ;; 50 + (bt-mh-flyer-method-51 (_type_) quaternion) ;; 51 + (bt-mh-flyer-method-52 (_type_) none) ;; 52 ) ) -|# -#| (deftype bt-grunt (blow-tower-enemy) - ((target uint64 :offset-assert 256) + ((target handle :offset-assert 256) (last-parent-xform matrix :inline :offset-assert 272) - (idle-time uint64 :offset-assert 336) + (idle-time time-frame :offset-assert 336) (rider-index int16 :offset-assert 344) (start-pos vector :inline :offset-assert 352) (jump-cursor blow-tower-path-cursor :inline :offset-assert 368) @@ -66851,66 +66791,64 @@ (jump-end-pos vector :inline :offset-assert 528) (jump-end-quat quaternion :inline :offset-assert 544) (apex-height float :offset-assert 560) - (total-jump-time uint64 :offset-assert 568) - (jump-start-time uint64 :offset-assert 576) + (total-jump-time time-frame :offset-assert 568) + (jump-start-time time-frame :offset-assert 576) (jump-height-percentage-start float :offset-assert 584) (jump-height-percentage-end float :offset-assert 588) (jump-time-offset float :offset-assert 592) - (ragdoll-proc uint64 :offset-assert 600) - (no-real-rider? basic :offset-assert 608) + (ragdoll-proc handle :offset-assert 600) + (no-real-rider? symbol :offset-assert 608) (jump-time-scalar float :offset-assert 612) - (start-ride-time uint64 :offset-assert 616) - (hit-sound uint32 :offset-assert 624) - (breathe-sound uint32 :offset-assert 628) - (landed-on-player? basic :offset-assert 632) + (start-ride-time time-frame :offset-assert 616) + (hit-sound sound-id :offset-assert 624) + (breathe-sound sound-id :offset-assert 628) + (landed-on-player? symbol :offset-assert 632) ) :method-count-assert 55 :size-assert #x27c :flag-assert #x370200027c - (:methods - (bt-grunt-method-46 () none) ;; 46 - (bt-grunt-method-47 () none) ;; 47 - (bt-grunt-method-48 () none) ;; 48 - (bt-grunt-method-49 () none) ;; 49 - (bt-grunt-method-50 () none) ;; 50 - (bt-grunt-method-51 () none) ;; 51 - (bt-grunt-method-52 () none) ;; 52 - (bt-grunt-method-53 () none) ;; 53 - (bt-grunt-method-54 () none) ;; 54 - ) (:state-methods - ragdolled ;; 45 - riding-idle ;; 40 - riding-idle-ship ;; 44 - riding-land ;; 39 + idle ;; 28 dormant ;; 29 + waiting-to-jump ;; 38 + riding-land ;; 39 + (riding-idle symbol) ;; 40 + riding-attack ;; 41 jumping ;; 42 jumping-start ;; 43 - waiting-to-jump ;; 38 - riding-attack ;; 41 - idle ;; 28 + riding-idle-ship ;; 44 + ragdolled ;; 45 + ) + (:methods + (bt-grunt-method-46 (_type_) none) ;; 46 + (riding-trans (_type_) symbol) ;; 47 + (attack-vehicle (_type_ symbol) object) ;; 48 + (calculate-jump-trajectory (_type_) float) ;; 49 + (bt-grunt-method-50 (_type_) none) ;; 50 + (start-ragdoll (_type_) none) ;; 51 + (ragdoll-settled? (_type_) object) ;; 52 + (bt-grunt-method-53 (_type_) none) ;; 53 + (bt-grunt-method-54 (_type_ vector) vector) ;; 54 ) ) -|# -#| (deftype bt-missile (blow-tower-enemy) - ((xforms UNKNOWN 4 :offset-assert 256) - (parent-xform xform :inline :offset-assert 256) + ((xforms xform 4 :inline :offset-assert 256) + (parent-xform xform :inline :offset 256) (last-parent-quat quaternion :inline :offset-assert 448) - (local-xform xform :inline :offset-assert 304) + (local-xform xform :inline :offset 304) (base-y float :offset-assert 464) - (bob-xform xform :inline :offset-assert 352) - (bob-orient xform :inline :offset-assert 400) - (bobbers UNKNOWN 3 :offset-assert 472) - (target uint64 :offset-assert 760) - (chase-start-time uint64 :offset-assert 768) - (chase-end-time uint64 :offset-assert 776) + (bob-xform xform :inline :offset 352) + (bob-orient xform :inline :offset 400) + (bobbers tower-flyer-bobber 3 :inline :offset-assert 472) + (target handle :offset-assert 760) + (chase-start-time time-frame :offset-assert 768) + (chase-end-time time-frame :offset-assert 776) (chase-start-dist float :offset-assert 784) (preferred-height-offset float :offset-assert 788) - (particle-trail basic :offset-assert 792) + (particle-trail sparticle-subsampler :offset-assert 792) (travel-sound uint32 :offset-assert 796) - (dumb-fire? basic :offset-assert 800) + (dumb-fire? symbol :offset-assert 800) (dumb-speed float :offset-assert 804) (dumb-start vector :inline :offset-assert 816) (dumb-dest vector :inline :offset-assert 832) @@ -66918,148 +66856,133 @@ :method-count-assert 41 :size-assert #x350 :flag-assert #x2902d00350 - (:methods - (bt-missile-method-40 () none) ;; 40 - ) (:state-methods - explode ;; 39 - chasing ;; 38 idle ;; 28 + chasing ;; 38 + explode ;; 39 + ) + (:methods + (chase-trans (_type_) none) ;; 40 ) ) -|# -#| (deftype kg-bombbot (bombbot) - ((start-time uint64 :offset-assert 1512) + ((start-time time-frame :offset-assert 1512) ) :method-count-assert 209 :size-assert #x5f0 :flag-assert #xd1057005f0 (:state-methods - die ;; 40 hostile ;; 38 + die ;; 40 ) ) -|# -;; (define-extern bt-roboguard-init-by-other function) -;; (define-extern bt-roboguard-turret-code function) -;; (define-extern bt-roboguard-turn-torso-post function) -;; (define-extern spawn-bt-roboguard-projectile function) -;; (define-extern bt-roboguard-fire-backcheck function) -;; (define-extern bt-mh-flyer-flight-code function) -;; (define-extern bt-grunt-init-by-other function) -;; (define-extern bt-grunt-idle-code function) -;; (define-extern *grunt-jump-curve* object) -;; (define-extern *grunt-dists* object) -;; (define-extern grunt-part-callback function) -;; (define-extern *grunt-idle-shift* curve2d-fast) -;; (define-extern bt-missile-init-by-other function) -;; (define-extern kg-bombbot-find-nearest-nav-mesh function) +(define-extern bt-roboguard-init-by-other (function vector object :behavior bt-roboguard)) +(define-extern bt-roboguard-turret-code (function symbol :behavior bt-roboguard)) +(define-extern bt-roboguard-turn-torso-post (function none :behavior bt-roboguard)) +(define-extern spawn-bt-roboguard-projectile (function bt-roboguard vector vector float vector (pointer process))) +(define-extern bt-roboguard-fire-backcheck (function bt-roboguard vector vector symbol :behavior bt-roboguard)) +(define-extern bt-mh-flyer-flight-code (function none :behavior bt-mh-flyer)) +(define-extern bt-grunt-init-by-other (function tower-enemy-init-params object :behavior bt-grunt)) +(define-extern bt-grunt-idle-code (function none :behavior bt-grunt)) +(define-extern *grunt-jump-curve* curve2d-piecewise) +(define-extern *grunt-dists* curve2d-piecewise) +(define-extern grunt-part-callback (function bt-grunt none)) +(define-extern *grunt-idle-shift* curve2d-fast) +(define-extern bt-missile-init-by-other (function tower-enemy-init-params object :behavior bt-missile)) +(define-extern kg-bombbot-find-nearest-nav-mesh (function kg-bombbot float nav-mesh)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; blow-tower-extra ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype hud-pickup (hud) () :method-count-assert 27 :size-assert #xac4 :flag-assert #x1b0a500ac4 ) -|# -#| (deftype hud-hellcat (hud) () :method-count-assert 27 :size-assert #xac4 :flag-assert #x1b0a500ac4 ) -|# -#| (deftype hud-pickup-arrows (hud) ((offscreen uint8 :offset-assert 2756) - (alpha UNKNOWN 2 :offset-assert 2760) + (alpha float 2 :offset-assert 2760) ) :method-count-assert 27 :size-assert #xad0 :flag-assert #x1b0a500ad0 ) -|# - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; cty-blow-tower ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype bombbot-spawn-record (structure) - ((hand uint64 :offset-assert 0) - (ent-name basic :offset-assert 8) + ((hand handle :offset-assert 0) + (ent-name string :offset-assert 8) ) :method-count-assert 9 :size-assert #xc :flag-assert #x90000000c ) -|# -#| (deftype task-manager-blow-tower (task-manager) ((dest-pos vector :inline :offset-assert 240) - (target-handles UNKNOWN 2 :offset-assert 256) - (hellcat uint64 :offset-assert 256) - (pickup uint64 :offset-assert 264) - (hellcat-turret uint64 :offset-assert 272) - (mission-elapsed-clock uint64 :offset-assert 280) - (debug-lock-viewport? basic :offset-assert 288) - (debug-run-events? basic :offset-assert 292) - (script basic :offset-assert 296) + (target-handles handle 2 :offset-assert 256) + (hellcat handle :offset 256) + (pickup handle :offset 264) + (hellcat-turret handle :offset-assert 272) + (mission-elapsed-clock time-frame :offset-assert 280) + (debug-lock-viewport? symbol :offset-assert 288) + (debug-run-events? symbol :offset-assert 292) + (script (array tower-event-group) :offset-assert 296) (script-index int16 :offset-assert 300) (cmd blow-tower-cmd :inline :offset-assert 304) (event-cursor blow-tower-path-cursor :inline :offset-assert 368) - (last-missile-spawn-time uint64 :offset-assert 496) + (last-missile-spawn-time time-frame :offset-assert 496) (dest-clock-scalar float :offset-assert 504) (clock-scalar float :offset-assert 508) (bombbot-path-index int8 :offset-assert 512) - (hud-arrows uint64 :offset-assert 520) + (hud-arrows handle :offset-assert 520) (hud-arrow-state uint32 :offset-assert 528) - (left-arrow-last-time uint64 :offset-assert 536) - (right-arrow-last-time uint64 :offset-assert 544) - (show-skill-time uint64 :offset-assert 552) - (bombbot-records UNKNOWN 3 :offset-assert 560) + (left-arrow-last-time time-frame :offset-assert 536) + (right-arrow-last-time time-frame :offset-assert 544) + (show-skill-time time-frame :offset-assert 552) + (bombbot-records bombbot-spawn-record 3 :inline :offset-assert 560) (bombbot-record-index int32 :offset-assert 608) - (last-missile-ent basic :offset-assert 612) + (last-missile-ent string :offset-assert 612) (missile-dir-vec vector :inline :offset-assert 624) ) :method-count-assert 40 :size-assert #x280 :flag-assert #x2802000280 - (:methods - (task-manager-blow-tower-method-37 () none) ;; 37 - (task-manager-blow-tower-method-38 () none) ;; 38 - (task-manager-blow-tower-method-39 () none) ;; 39 - ) (:state-methods - wait-fail ;; 35 - wind-down-mission ;; 36 active ;; 15 - wait-for-exit ;; 34 mission-play ;; 32 mission-debug ;; 33 + wait-for-exit ;; 34 + wait-fail ;; 35 + wind-down-mission ;; 36 + ) + (:methods + (task-manager-blow-tower-method-37 (_type_ symbol) symbol) ;; 37 + (handle-bt-command (_type_ blow-tower-cmd) object) ;; 38 + (advance (_type_ time-frame) none) ;; 39 ) ) -|# -#| (deftype bt-gun-manager-target (structure) - ((hand uint64 :offset-assert 0) + ((hand handle :offset-assert 0) (transformed-pos vector4w :inline :offset-assert 16) (size float :offset-assert 32) - (hit? basic :offset-assert 36) + (hit? symbol :offset-assert 36) (alpha float :offset-assert 40) (target-pers-index int32 :offset-assert 44) (num-overlap int32 :offset-assert 48) @@ -67068,63 +66991,60 @@ :size-assert #x34 :flag-assert #x900000034 ) -|# -#| (deftype bt-hud-target-pers (structure) - ((hand uint64 :offset-assert 0) + ((hand handle :offset-assert 0) (rotate float :offset-assert 8) (alpha float :offset-assert 12) (size-scalar float :offset-assert 16) (outer-alpha float :offset-assert 20) (outer-rotate float :offset-assert 24) - (hold-start-time uint64 :offset-assert 32) + (hold-start-time time-frame :offset-assert 32) ) + :allow-misaligned :method-count-assert 9 :size-assert #x28 :flag-assert #x900000028 ) -|# -#| (deftype bt-gun-manager (process) - ((root basic :offset-assert 128) - (parent-vehicle uint64 :offset-assert 136) + ((root collide-shape :offset-assert 128) + (parent-vehicle handle :offset-assert 136) (params target-turret-params :offset-assert 144) - (roty deg :offset-assert 148) - (rotyv deg :offset-assert 152) - (rotyvv deg :offset-assert 156) - (roty-min deg :offset-assert 160) - (roty-max deg :offset-assert 164) - (rotx deg :offset-assert 168) - (rotxv deg :offset-assert 172) - (rotxvv deg :offset-assert 176) - (rotx-min deg :offset-assert 180) - (rotx-max deg :offset-assert 184) - (dest-roty deg :offset-assert 188) - (dest-rotx deg :offset-assert 192) + (roty degrees :offset-assert 148) + (rotyv degrees :offset-assert 152) + (rotyvv degrees :offset-assert 156) + (roty-min degrees :offset-assert 160) + (roty-max degrees :offset-assert 164) + (rotx degrees :offset-assert 168) + (rotxv degrees :offset-assert 172) + (rotxvv degrees :offset-assert 176) + (rotx-min degrees :offset-assert 180) + (rotx-max degrees :offset-assert 184) + (dest-roty degrees :offset-assert 188) + (dest-rotx degrees :offset-assert 192) (aim-quat quaternion :inline :offset-assert 208) (parent-quat quaternion :inline :offset-assert 224) (last-parent-xform matrix :inline :offset-assert 240) (hit-pos vector :inline :offset-assert 304) (aim-dir vector :inline :offset-assert 320) - (found-target? basic :offset-assert 336) - (target-hand uint64 :offset-assert 344) - (target-start-find-time uint64 :offset-assert 352) + (found-target? symbol :offset-assert 336) + (target-hand handle :offset-assert 344) + (target-start-find-time time-frame :offset-assert 352) (hud-aim hud-sprite :inline :offset-assert 368) (hud-target hud-sprite :inline :offset-assert 432) (hud-target-inner hud-sprite :inline :offset-assert 496) (rot-y-shift float :offset-assert 548) (dest-rot-y-shift float :offset-assert 552) - (enable-controls? basic :offset-assert 556) - (lock-control-time uint64 :offset-assert 560) + (enable-controls? symbol :offset-assert 556) + (lock-control-time time-frame :offset-assert 560) (fire-index uint32 :offset-assert 568) - (last-fire-time uint64 :offset-assert 576) - (can-exit? basic :offset-assert 584) - (is-snapping? basic :offset-assert 588) - (onscreen-targets UNKNOWN 32 :offset-assert 592) + (last-fire-time time-frame :offset-assert 576) + (can-exit? symbol :offset-assert 584) + (is-snapping? symbol :offset-assert 588) + (onscreen-targets bt-gun-manager-target 32 :inline :offset-assert 592) (num-onscreen-targets int32 :offset-assert 2640) - (hud-pers UNKNOWN 32 :offset-assert 2648) + (hud-pers bt-hud-target-pers 32 :inline :offset-assert 2648) (rot-y-seek-rate float :offset-assert 4184) (cam-quat quaternion :inline :offset-assert 4192) (dest-roty-max float :offset-assert 4208) @@ -67133,87 +67053,76 @@ (use-roty-max float :offset-assert 4220) (x-boost-scalar float :offset-assert 4224) (y-boost-scalar float :offset-assert 4228) - (servo-sound uint32 :offset-assert 4232) + (servo-sound sound-id :offset-assert 4232) (servo-sound-state uint64 :offset-assert 4240) - (servo-state-time uint64 :offset-assert 4248) + (servo-state-time time-frame :offset-assert 4248) (aim-pos vector :inline :offset-assert 4256) - (aim-dir vector :inline :offset-assert 320) - (look-cursor blow-tower-path-cursor :inline :offset-assert 4288) - (look-time-offset uint64 :offset-assert 4416) + (look-cursor blow-tower-path-cursor :inline :offset 4288) + (look-time-offset time-frame :offset-assert 4416) (look-time-scalar float :offset-assert 4424) (look-mode uint8 :offset-assert 4428) - (look-ent basic :offset-assert 4432) - (look-proc uint64 :offset-assert 4440) - (last-beep-time uint64 :offset-assert 4448) + (look-ent entity-actor :offset-assert 4432) + (look-proc handle :offset-assert 4440) + (last-beep-time time-frame :offset-assert 4448) ) :method-count-assert 25 :size-assert #x1168 :flag-assert #x1910f01168 - (:methods - (bt-gun-manager-method-17 () none) ;; 17 - (bt-gun-manager-method-18 () none) ;; 18 - (bt-gun-manager-method-19 () none) ;; 19 - (bt-gun-manager-method-20 () none) ;; 20 - (bt-gun-manager-method-21 () none) ;; 21 - (bt-gun-manager-method-22 () none) ;; 22 - (bt-gun-manager-method-23 () none) ;; 23 - (bt-gun-manager-method-24 () none) ;; 24 - ) (:state-methods + idle ;; 14 setup ;; 15 active ;; 16 - idle ;; 14 + ) + (:methods + (bt-gun-manager-method-17 (_type_) none) ;; 17 + (bt-gun-manager-method-18 (_type_ float) none) ;; 18 + (bt-gun-manager-method-19 (_type_) none) ;; 19 + (find-target (_type_) object) ;; 20 + (fire-shot (_type_) none) ;; 21 + (bt-gun-handler (_type_ process int symbol event-message-block) object) ;; 22 + (bt-gun-manager-method-23 (_type_) symbol) ;; 23 + (bt-gun-manager-method-24 (_type_ quaternion) float) ;; 24 ) ) -|# -#| (deftype bt-obj-init-params (structure) ((pos vector :inline :offset-assert 0) (quat quaternion :inline :offset-assert 16) (path blow-tower-path :offset-assert 32) - (task-man uint64 :offset-assert 40) + (task-man handle :offset-assert 40) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) -|# -#| (deftype cast-rider-spot (structure) - ((rider uint64 :offset-assert 0) + ((rider handle :offset-assert 0) (offset-pos vector :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x20 :flag-assert #x900000020 ) -|# -#| (deftype cast-rider-array (inline-array-class) - ((data UNKNOWN :dynamic :offset-assert 16) + ((data cast-rider-spot :dynamic :inline :offset-assert 16) ) :method-count-assert 14 :size-assert #x10 :flag-assert #xe00000010 ) -|# -#| (deftype bt-bouncer (structure) ((mag-scalar float :offset-assert 0) - (duration uint64 :offset-assert 8) + (duration time-frame :offset-assert 8) (num-bounces float :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 :flag-assert #x900000014 ) -|# -#| (deftype bt-vehicle-damage-info (structure) ((segd uint64 :offset-assert 0) (seg0 uint64 :offset-assert 8) @@ -67225,12 +67134,10 @@ :size-assert #x20 :flag-assert #x900000020 ) -|# -#| (deftype bt-vehicle (process-focusable) ((path-cursor blow-tower-path-cursor :inline :offset-assert 208) - (task-man uint64 :offset-assert 336) + (task-man handle :offset-assert 336) (max-hit-points float :offset-assert 344) (hit-points float :offset-assert 348) (last-attack-id uint32 :offset-assert 352) @@ -67240,87 +67147,83 @@ (path-height-start uint64 :offset-assert 368) (path-height-end uint64 :offset-assert 376) (path-pos vector :inline :offset-assert 384) - (rider-spots basic :offset-assert 400) - (hud-health uint64 :offset-assert 408) + (rider-spots cast-rider-array :offset-assert 400) + (hud-health handle :offset-assert 408) (path-height-vel float :offset-assert 416) - (inited? basic :offset-assert 420) + (inited? symbol :offset-assert 420) (pre-bounce-pos vector :inline :offset-assert 432) - (bouncers UNKNOWN 3 :offset-assert 448) - (bounce-start-time uint64 :offset-assert 544) + (bouncers bt-bouncer 3 :inline :offset-assert 448) + (bounce-start-time time-frame :offset-assert 544) (barrel-roll-amount float :offset-assert 552) (barrel-roll-quat quaternion :inline :offset-assert 560) (barrel-roll-rate-scalar float :offset-assert 576) (last-speed float :offset-assert 580) (last-vel vector :inline :offset-assert 592) - (damage-info basic :offset-assert 608) - (damage-state UNKNOWN 4 :offset-assert 612) - (mission-fail? basic :offset-assert 628) - (whoosh-sound uint32 :offset-assert 632) - (boost-thruster? basic :offset-assert 636) - (sound-play-end uint64 :offset-assert 640) + (damage-info (array bt-vehicle-damage-info) :offset-assert 608) + (damage-state float 4 :offset-assert 612) + (mission-fail? symbol :offset-assert 628) + (whoosh-sound sound-id :offset-assert 632) + (boost-thruster? symbol :offset-assert 636) + (sound-play-end time-frame :offset-assert 640) ) :method-count-assert 44 :size-assert #x288 :flag-assert #x2c02100288 - (:methods - (bt-vehicle-method-29 () none) ;; 29 - (bt-vehicle-method-30 () none) ;; 30 - (bt-vehicle-method-31 () none) ;; 31 - (bt-vehicle-method-32 () none) ;; 32 - (bt-vehicle-method-33 () none) ;; 33 - (bt-vehicle-method-34 () none) ;; 34 - (bt-vehicle-method-35 () none) ;; 35 - (bt-vehicle-method-36 () none) ;; 36 - (bt-vehicle-method-37 () none) ;; 37 - (bt-vehicle-method-38 () none) ;; 38 - (bt-vehicle-method-39 () none) ;; 39 - (bt-vehicle-method-40 () none) ;; 40 - (bt-vehicle-method-41 () none) ;; 41 - (bt-vehicle-method-42 () none) ;; 42 - (bt-vehicle-method-43 () none) ;; 43 - ) (:state-methods die ;; 28 ) + (:methods + (bt-vehicle-event-handler (_type_ process int symbol event-message-block) object) ;; 29 + (init-collision! (_type_) none) ;; 30 + (bt-vehicle-method-31 (_type_) none) ;; 31 + (on-attacked (_type_ float attack-info process-focusable) none) ;; 32 + (bt-vehicle-method-33 (_type_ handle) int) ;; 33 + (bt-vehicle-method-34 (_type_ handle) symbol) ;; 34 + (bt-vehicle-method-35 (_type_ int vector quaternion) none) ;; 35 + (bt-vehicle-method-36 (_type_ int vector quaternion) object) ;; 36 + (bt-vehicle-method-37 (_type_) symbol) ;; 37 + (init-params (_type_) none) ;; 38 + (init-hud (_type_) none) ;; 39 + (bt-vehicle-method-40 (_type_ int) float) ;; 40 + (bt-vehicle-method-41 (_type_ vector vector) symbol) ;; 41 + (bounce (_type_ vector) symbol) ;; 42 + (draw-thruster (_type_) object) ;; 43 + ) ) -|# -#| (deftype bt-pickup (bt-vehicle) - ((spots UNKNOWN 4 :offset-assert 656) - (riders UNKNOWN 2 :offset-assert 912) + ((spots surround-spot 4 :inline :offset-assert 656) + (riders handle 2 :offset-assert 912) (quat-before-roll quaternion :inline :offset-assert 928) - (start-hit-time uint64 :offset-assert 944) - (roboguard-attackers UNKNOWN 2 :offset-assert 952) + (start-hit-time time-frame :offset-assert 944) + (roboguard-attackers handle 2 :offset-assert 952) (desired-thruster-length float :offset-assert 968) - (pickup-barrels UNKNOWN 2 :offset-assert 976) + (pickup-barrels handle 2 :offset-assert 976) ) :method-count-assert 51 :size-assert #x3e0 :flag-assert #x33036003e0 - (:methods - (bt-pickup-method-46 () none) ;; 46 - (bt-pickup-method-47 () none) ;; 47 - (bt-pickup-method-48 () none) ;; 48 - (bt-pickup-method-49 () none) ;; 49 - (bt-pickup-method-50 () none) ;; 50 - ) (:state-methods die ;; 28 - path-follow ;; 45 wait-for-player ;; 44 + path-follow ;; 45 + ) + (:methods + (retrieve-spot (_type_ int vector quaternion) none) ;; 46 + (assign-spot (_type_ handle) none) ;; 47 + (bt-pickup-method-48 (_type_) none) ;; 48 + (update-barrel-pos (_type_ vector vector quaternion) quaternion) ;; 49 + (bt-pickup-method-50 (_type_ int vector) vector) ;; 50 ) ) -|# -#| (deftype bt-hellcat (bt-vehicle) ((jmod-turret-guns joint-mod-rotate-world :inline :offset-assert 656) - (child-turret uint64 :offset-assert 688) - (spots UNKNOWN 12 :offset-assert 704) - (assigned-spots UNKNOWN 2 :offset-assert 1472) - (grunt-rider uint64 :offset-assert 1488) - (grunt-rider-boarded? uint64 :offset-assert 1496) + (child-turret handle :offset-assert 688) + (spots surround-spot 12 :inline :offset-assert 704) + (assigned-spots handle 2 :offset-assert 1472) + (grunt-rider handle :offset-assert 1488) + (grunt-rider-boarded? handle :offset-assert 1496) (rider-pitch float :offset-assert 1504) (pitch-quat quaternion :inline :offset-assert 1520) (roll-amount float :offset-assert 1536) @@ -67330,48 +67233,47 @@ (quat-grunt-tilt quaternion :inline :offset-assert 1568) (jmod-lgun joint-mod-rotate-local :inline :offset-assert 1584) (jmod-rgun joint-mod-rotate-local :inline :offset-assert 1616) - (jmod-barrels UNKNOWN 4 :offset-assert 1648) - (barrel-fire-state UNKNOWN 4 :offset-assert 1904) - (engine-sound uint32 :offset-assert 1920) - (thrust-sound uint32 :offset-assert 1924) + (jmod-barrels joint-mod-add-local 4 :inline :offset-assert 1648) + (barrel-fire-state symbol 4 :offset-assert 1904) + (engine-sound sound-id :offset-assert 1920) + (thrust-sound sound-id :offset-assert 1924) (land-grunt-offset float :offset-assert 1928) ) :method-count-assert 52 :size-assert #x78c :flag-assert #x340710078c - (:methods - (bt-hellcat-method-46 () none) ;; 46 - (bt-hellcat-method-47 () none) ;; 47 - (bt-hellcat-method-48 () none) ;; 48 - (bt-hellcat-method-49 () none) ;; 49 - (bt-hellcat-method-50 () none) ;; 50 - (bt-hellcat-method-51 () none) ;; 51 - ) (:state-methods - player-riding ;; 45 wait-for-player ;; 44 + player-riding ;; 45 + ) + (:methods + (bt-hellcat-method-46 (_type_ vector quaternion) quaternion) ;; 46 + (bt-hellcat-method-47 (_type_ int vector quaternion symbol) int) ;; 47 + (bt-hellcat-method-48 (_type_ handle quaternion) none) ;; 48 + (init-spots (_type_) symbol) ;; 49 + (bt-hellcat-method-50 (_type_ int quaternion vector vector) int) ;; 50 + (bt-hellcat-method-51 (_type_) symbol) ;; 51 ) ) -|# -;; (define-extern *blow-tower-bombbat-path-cache* array) -;; (define-extern bt-vehicle-handler function) -;; (define-extern *bt-height-adjust* object) -;; (define-extern *bt-pickup-damage-info* array) -;; (define-extern *bt-hellcat-gun-nodes* array) -;; (define-extern *bt-hellcat-damage-info* array) -;; (define-extern *bt-turret-params* object) -;; (define-extern bt-gun-manager-init-by-other function) -;; (define-extern bt-gun-manager-handler function) -;; (define-extern *fov-to-use* object) -;; (define-extern *bt-clamp-curve-x* object) -;; (define-extern *bt-accel-curve* object) -;; (define-extern bt-hellcat-init-by-other function) -;; (define-extern draw-path-blow-curve function) -;; (define-extern bt-pickup-init-by-other function) -;; (define-extern bt-force-show-hud function) -;; (define-extern *blow-tower-kg-squad-member-settings* object) -;; (define-extern clamp-to-ground function) +(define-extern *blow-tower-bombbat-path-cache* (array bombbot-path)) +(def-event-handler bt-vehicle-handler bt-vehicle) +(define-extern *bt-height-adjust* curve2d-piecewise) +(define-extern *bt-pickup-damage-info* (array bt-vehicle-damage-info)) +(define-extern *bt-hellcat-gun-nodes* (array int32)) +(define-extern *bt-hellcat-damage-info* (array bt-vehicle-damage-info)) +(define-extern *bt-turret-params* target-turret-params) +(define-extern bt-gun-manager-init-by-other (function target-turret-params object :behavior bt-gun-manager)) +(def-event-handler bt-gun-manager-handler bt-gun-manager) +(define-extern *fov-to-use* float) +(define-extern *bt-clamp-curve-x* curve2d-piecewise) +(define-extern *bt-accel-curve* curve2d-piecewise) +(define-extern bt-hellcat-init-by-other (function bt-obj-init-params object :behavior bt-hellcat)) +(define-extern draw-path-blow-curve (function cubic-curve vector symbol)) +(define-extern bt-pickup-init-by-other (function bt-obj-init-params object :behavior bt-pickup)) +(define-extern bt-force-show-hud (function symbol none)) +(define-extern *blow-tower-kg-squad-member-settings* (inline-array kg-squad-member-settings)) +(define-extern clamp-to-ground (function vector float)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; lfacrm1-mood ;; @@ -67406,41 +67308,55 @@ ;; gun-dummy-part ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern spt-func-ground-spark-bounce function) -;; (define-extern spt-func-part-dummy-explode-spider-bomb function) -;; (define-extern check-gungame-piece-ground function) ;; (function sparticle-system sparticle-cpuinfo matrix none) +(define-extern spt-func-ground-spark-bounce (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern spt-func-part-dummy-explode-spider-bomb (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern check-gungame-piece-ground (function sparticle-system sparticle-cpuinfo sparticle-launchinfo none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gun-dummy-art ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern *gun-kg-robo-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-kg-bomb-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-kg-b-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-kg-c-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-kg-big-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-kg-bonus-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rc-three-eyes-bonus-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rc-two-eyes-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rc-three-eyes-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rc-one-eye-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rc-four-eyes-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-rachet-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-clank-exploder-params* joint-exploder-static-params) -;; (define-extern *gun-cit-a-exploder-params* joint-exploder-static-params) ;; joint-exploder-static-params -;; (define-extern *gun-cit-b-exploder-params* joint-exploder-static-params) ;; joint-exploder-static-params -;; (define-extern *gun-cit-c-exploder-params* joint-exploder-static-params) ;; joint-exploder-static-params -;; (define-extern *gun-cit-d-exploder-params* joint-exploder-static-params) ;; joint-exploder-static-params +(define-extern *gun-kg-robo-exploder-params* joint-exploder-static-params) +(define-extern *gun-kg-bomb-exploder-params* joint-exploder-static-params) +(define-extern *gun-kg-b-exploder-params* joint-exploder-static-params) +(define-extern *gun-kg-c-exploder-params* joint-exploder-static-params) +(define-extern *gun-kg-big-exploder-params* joint-exploder-static-params) +(define-extern *gun-kg-bonus-exploder-params* joint-exploder-static-params) +(define-extern *gun-rc-three-eyes-bonus-exploder-params* joint-exploder-static-params) +(define-extern *gun-rc-two-eyes-exploder-params* joint-exploder-static-params) +(define-extern *gun-rc-three-eyes-exploder-params* joint-exploder-static-params) +(define-extern *gun-rc-one-eye-exploder-params* joint-exploder-static-params) +(define-extern *gun-rc-four-eyes-exploder-params* joint-exploder-static-params) +(define-extern *gun-rachet-exploder-params* joint-exploder-static-params) +(define-extern *gun-clank-exploder-params* joint-exploder-static-params) +(define-extern *gun-cit-a-exploder-params* joint-exploder-static-params) +(define-extern *gun-cit-b-exploder-params* joint-exploder-static-params) +(define-extern *gun-cit-c-exploder-params* joint-exploder-static-params) +(define-extern *gun-cit-d-exploder-params* joint-exploder-static-params) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gun-dummy ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| +;; +++gun-dummy:tpath-cmd +(defenum tpath-cmd + :type uint8 + (cmd0) + (cmd1) + (cmd2) + (cmd3) + (cmd4) + (cmd5) + (cmd6) + (cmd7) + (cmd8) + ) +;; ---gun-dummy:tpath-cmd + (deftype tpath-control-frame (structure) ((time float :offset-assert 0) (path-pos uint8 :offset-assert 4) - (command uint8 :offset-assert 5) ;; tpath-command + (command tpath-cmd :offset-assert 5) ;; tpath-command (move-type uint8 :offset-assert 6) (path-num uint8 :offset-assert 7) ) @@ -67448,39 +67364,53 @@ :size-assert #x8 :flag-assert #x900000008 ) -|# -#| +;; +++gun-dummy:tpath-flag +(defenum tpath-flag + :type uint16 + :bitfield #t + (t0 0) + (t1 1) + (t2 2) + (t3 3) + (t4 4) + (t5 5) + (t6 6) + (t7 7) + (t8 8) + (t9 9) + (shield 10) + ) +;; ---gun-dummy:tpath-flag + (deftype tpath-info (structure) ((s-time float :offset-assert 0) (num uint16 :offset-assert 4) (ref-time-num int16 :offset-assert 6) (score int16 :offset-assert 8) - (flags uint16 :offset-assert 10) ;; tpath-flags + (flags tpath-flag :offset-assert 10) ;; tpath-flags (num-anims uint8 :offset-assert 12) (bonus-time float :offset-assert 16) (list (array int32) :offset-assert 20) ;; guessed by decompiler - (anims (inline-array tpath-control-frame) 3 :offset-assert 24) ;; guessed by decompiler - (anim1 (inline-array tpath-control-frame) :offset-assert 24) ;; guessed by decompiler - (anim2 (inline-array tpath-control-frame) :offset-assert 28) ;; guessed by decompiler - (anim3 (inline-array tpath-control-frame) :offset-assert 32) ;; guessed by decompiler + (anims (inline-array tpath-control-frame) 3 :offset-assert 24 :score -1) ;; guessed by decompiler + (anim1 (inline-array tpath-control-frame) :offset 24) ;; guessed by decompiler + (anim2 (inline-array tpath-control-frame) :offset 28) ;; guessed by decompiler + (anim3 (inline-array tpath-control-frame) :offset 32) ;; guessed by decompiler ) :method-count-assert 9 :size-assert #x24 :flag-assert #x900000024 ) -|# -#| (deftype gun-dummy-gun-info (structure) ((gun-state uint8 :offset-assert 0) (joint-index int16 :offset-assert 2) (trans vector :inline :offset-assert 16) (quat quaternion :inline :offset-assert 32) - (next-fire-time uint64 :offset-assert 48) + (next-fire-time time-frame :offset-assert 48) (total-rotation float :offset-assert 56) (current-rotation float :offset-assert 60) - (last-track-player-time uint64 :offset-assert 64) + (last-track-player-time time-frame :offset-assert 64) (last-known-player-pos vector :inline :offset-assert 80) (fire-speed-scalar float :offset-assert 96) ) @@ -67488,13 +67418,11 @@ :size-assert #x64 :flag-assert #x900000064 ) -|# -#| (deftype gun-dummy (process-focusable) ((incoming-attack-id uint32 :offset-assert 208) - (incoming-attack-id-time uint64 :offset-assert 216) - (train-man uint64 :offset-assert 224) ;; handle + (incoming-attack-id-time time-frame :offset-assert 216) + (train-man handle :offset-assert 224) ;; handle (info tpath-info :offset-assert 232) (y-offset float :offset-assert 236) (rot-y-offset float :offset-assert 240) @@ -67502,387 +67430,344 @@ (hit-points int32 :offset-assert 272) (score float :offset-assert 276) (path-num uint32 :offset-assert 280) - (next-spark uint64 :offset-assert 288) ;; int64 + (next-spark time-frame :offset-assert 288) ;; int64 (inout-percent float :offset-assert 296) (quat-ground quaternion :inline :offset-assert 304) (path-pos float :offset-assert 320) (score-speed float :offset-assert 324) (first-time-command symbol :offset-assert 328) ;; guessed by decompiler - (current tpath-control-frame :offset-assert 332) ;; (inline-array tpath-control-frame) + (current (inline-array tpath-control-frame) :offset-assert 332) ;; (inline-array tpath-control-frame) (impact vector :inline :offset-assert 336) (done? symbol :offset-assert 352) ;; guessed by decompiler (move-sound sound-id :offset-assert 356) ;; guessed by decompiler (turn-sound sound-id :offset-assert 360) ;; guessed by decompiler (spin-sound sound-id :offset-assert 364) ;; guessed by decompiler - (last-combo-time uint64 :offset-assert 368) ;; time-frame + (last-combo-time time-frame :offset-assert 368) ;; time-frame (gun-info gun-dummy-gun-info :inline :offset-assert 384) - (joint-exploder basic :offset-assert 484) - (joint-explode-skel-group basic :offset-assert 488) + (joint-exploder joint-exploder-static-params :offset-assert 484) + (joint-explode-skel-group skeleton-group :offset-assert 488) (joint-explode-anim-index int16 :offset-assert 492) - (hum-sound uint32 :offset-assert 496) - (explode-part-group basic :offset-assert 500) + (hum-sound sound-id :offset-assert 496) + (explode-part-group sparticle-launch-group :offset-assert 500) ) :method-count-assert 38 :size-assert #x1f8 :flag-assert #x26018001f8 - (:methods - (gun-dummy-method-29 () none) ;; 29 ;; (path-playing? (_type_) symbol) - (gun-dummy-method-30 () none) ;; 30 ;; (path-time-elapsed (_type_) float) - (gun-dummy-method-31 () none) ;; 31 ;; (init-tpath-info! (_type_ tpath-info) none) - (gun-dummy-method-32 () none) ;; 32 ;; (break-dummy (_type_) none) - (gun-dummy-method-33 () none) ;; 33 - (gun-dummy-method-34 () none) ;; 34 - (gun-dummy-method-35 () none) ;; 35 - (gun-dummy-method-36 () none) ;; 36 - (gun-dummy-method-37 () none) ;; 37 - ) (:state-methods - idle ;; 28, old: (init-dummy-collison! (_type_) none) + idle ;; 28 + ) + (:methods + (init-collision! (_type_) none) ;; 29 ;; (path-playing? (_type_) symbol) + (check-done? (_type_) symbol) ;; 30 ;; (path-time-elapsed (_type_) float) + (gun-dummy-method-31 (_type_) float) ;; 31 ;; (init-tpath-info! (_type_ tpath-info) none) + (init-tpath (_type_ tpath-info) none) ;; 32 ;; (break-dummy (_type_) none) + (break-dummy (_type_) none) ;; 33 + (get-draw-mask (_type_) int) ;; 34 + (gun-dummy-method-35 (_type_) int) ;; 35 + (spawn-exploder (_type_) object) ;; 36 + (set-explode-group (_type_) none) ;; 37 ) ) -|# -#| (deftype gun-dummy-gun (gun-dummy) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 (:methods - (gun-dummy-gun-method-38 () none) ;; 38 + (gun-dummy-gun-method-38 (_type_) none) ;; 38 ) ) -|# -#| (deftype gun-dummy-base (gun-dummy) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 (:methods - (gun-dummy-base-method-38 () none) ;; 38 + (init (_type_) none) ;; 38 ) ) -|# -#| (deftype gun-dummy-explode (gun-dummy) - ((arm-start-time uint64 :offset-assert 504) - (explode-start-time uint64 :offset-assert 504) - (explode-delay uint64 :offset-assert 512) - (exploded? basic :offset-assert 520) + ((arm-start-time time-frame :offset-assert 504) + (explode-start-time time-frame :offset 504) + (explode-delay time-frame :offset-assert 512) + (exploded? symbol :offset-assert 520) (last-flash-val float :offset-assert 524) ) :method-count-assert 39 :size-assert #x210 :flag-assert #x2701900210 (:state-methods - explode ;; 38 idle ;; 28 + explode ;; 38 ) ) -|# -#| (deftype gun-dummy-shot (guard-shot) () :method-count-assert 41 :size-assert #x220 :flag-assert #x2901a00220 ) -|# -#| (deftype gun-dummy-kg-b (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-rc-two-eyes (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-rc-one-eye (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-rc-three-eyes (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-kg-c (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-kg-big (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-rc-four-eyes (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-kg-bonus (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-rc-three-eyes-bonus (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-a (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-b (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-c (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-d (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-ratchet (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -#| (deftype gun-dummy-cit-clank (gun-dummy-base) () :method-count-assert 39 :size-assert #x1f8 :flag-assert #x27018001f8 ) -|# -;; (define-extern *gungame-level* object) -;; (define-extern *tpath-rand* object) ;; uint -;; (define-extern generate-next-fire-time function) -;; (define-extern gun-dummy-event-handler function) -;; (define-extern gun-dummy-gun-aim-jmod-func function) -;; (define-extern gun-dummy-gun-init-by-other function) -;; (define-extern gun-dummy-base-init-by-other function) -;; (define-extern gun-dummy-explode-init-by-other function) -;; (define-extern *dummy-flash-counters* array) -;; (define-extern spawn-dummy-projectile function) +(declare-type gungame-manager process) + +(define-extern *gungame-level* symbol) +(define-extern *tpath-rand* uint) +(define-extern generate-next-fire-time (function float time-frame)) +(def-event-handler gun-dummy-event-handler gun-dummy) +(define-extern gun-dummy-gun-aim-jmod-func (function cspace transformq none)) +(define-extern gun-dummy-gun-init-by-other (function gungame-manager tpath-info object :behavior gun-dummy-gun)) +(define-extern gun-dummy-base-init-by-other (function gungame-manager tpath-info object :behavior gun-dummy-base)) +(define-extern gun-dummy-explode-init-by-other (function gungame-manager tpath-info object :behavior gun-dummy-explode)) +(define-extern *dummy-flash-counters* (array float)) +(define-extern spawn-dummy-projectile (function gun-dummy vector vector float vector (pointer process))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gungame-data ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype gungame-crate (structure) ((pos vector :inline :offset-assert 0) - (pos-x float :offset-assert 0) - (pos-y float :offset-assert 4) - (pos-z float :offset-assert 8) - (angle float :offset-assert 12) - (ammo int32 :offset-assert 16) ;; pickup-type + (pos-x float :offset 0) + (pos-y float :offset 4) + (pos-z float :offset 8) + (angle float :offset 12) + (ammo pickup-type :offset-assert 16) ;; pickup-type (num uint32 :offset-assert 20) ) :method-count-assert 9 :size-assert #x18 :flag-assert #x900000018 ) -|# -;; (define-extern *entrance-gungame-crates-pos* array) ;; (array gungame-crate) -;; (define-extern *gungame-red-crates-pos* array) ;; (array gungame-crate) -;; (define-extern *gungame-yellow-crates-pos* array) ;; (array gungame-crate) -;; (define-extern *gungame-blue-crates-pos* array) ;; (array gungame-crate) -;; (define-extern *gungame-peace-crates-pos* array) ;; (array gungame-crate) -;; (define-extern *course1-path-global-info* array) -;; (define-extern *course2-path-global-info* array) -;; (define-extern *course3-path-global-info* array) -;; (define-extern *course4-path-global-info* array) -;; (define-extern *yellow-training-path-global-info* array) ;; (array tpath-info) +(define-extern *entrance-gungame-crates-pos* (array gungame-crate)) +(define-extern *gungame-red-crates-pos* (array gungame-crate)) +(define-extern *gungame-yellow-crates-pos* (array gungame-crate)) +(define-extern *gungame-blue-crates-pos* (array gungame-crate)) +(define-extern *gungame-peace-crates-pos* (array gungame-crate)) +(define-extern *course1-path-global-info* (array tpath-info)) +(define-extern *course2-path-global-info* (array tpath-info)) +(define-extern *course3-path-global-info* (array tpath-info)) +(define-extern *course4-path-global-info* (array tpath-info)) +(define-extern *yellow-training-path-global-info* (array tpath-info)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gungame-manager ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype gun-course-info (structure) - ((course uint64 :offset-assert 0) + ((course handle :offset-assert 0) (start-door int8 :offset-assert 8) (end-door int8 :offset-assert 9) - (text uint32 :offset-assert 12) - (etype basic :offset-assert 16) - (task-bronze uint16 :offset-assert 20) - (task-silver uint16 :offset-assert 22) - (task-gold uint16 :offset-assert 24) - (game-score uint8 :offset-assert 26) + (text text-id :offset-assert 12) + (etype type :offset-assert 16) + (task-bronze game-task-node :offset-assert 20) + (task-silver game-task-node :offset 22) + (task-gold game-task-node :offset 24) + (game-score uint8 :offset 26) (pass-speech uint16 :offset-assert 28) (training-goal float :offset-assert 32) - (allowed-guns uint64 :offset-assert 40) + (allowed-guns game-feature :offset-assert 40) (start-gun int32 :offset-assert 48) (ammo-type int32 :offset-assert 52) (training-task uint16 :offset-assert 56) - (play-text uint32 :offset-assert 60) - (play-button uint64 :offset-assert 64) - (give-eggs? basic :offset-assert 72) + (play-text text-id :offset-assert 60) + (play-button handle :offset-assert 64) + (give-eggs? symbol :offset-assert 72) ) :method-count-assert 9 :size-assert #x4c :flag-assert #x90000004c ) -|# -#| (deftype gungame-task-manager (task-manager) - ((actor-group uint32 :offset-assert 236) - (actor-group-count int32 :offset-assert 240) - (course-list basic :offset-assert 244) - (activated-course gun-course-info :offset-assert 248) - (activated-course-id uint64 :offset-assert 252) + ((actor-group (pointer actor-group) :offset-assert 240) + (actor-group-count int32 :offset-assert 244) + (course-list (array int32) :offset-assert 248) + (activated-course gun-course-info :offset-assert 252) + (activated-course-id uint64 :offset-assert 256) ) :method-count-assert 36 :size-assert #x108 :flag-assert #x2400900108 - (:methods - (gungame-task-manager-method-34 () none) ;; 34 - (gungame-task-manager-method-35 () none) ;; 35 - ) (:state-methods - waiting ;; 33 - active-door-opening ;; 32 active ;; 15 + active-door-opening ;; 32 + waiting ;; 33 + ) + (:methods + (gungame-task-manager-method-34 (_type_) int) ;; 34 + (init-actor-group (_type_ entity) object) ;; 35 ) ) -|# -#| (deftype gungame-manager (process) - ((actor-group uint32 :offset-assert 124) - (actor-group-count int32 :offset-assert 128) - (score int32 :offset-assert 132) - (course basic :offset-assert 136) - (course-crates UNKNOWN 32 :offset-assert 140) - (course-type uint64 :offset-assert 396) - (hud-score uint64 :offset-assert 404) - (hud-goal uint64 :offset-assert 412) - (task-gold uint16 :offset-assert 420) - (task-silver uint16 :offset-assert 422) - (task-bronze uint16 :offset-assert 424) - (end-door uint8 :offset-assert 426) - (start-door uint8 :offset-assert 427) - (game-score uint8 :offset-assert 428) - (training-goal float :offset-assert 432) - (training? basic :offset-assert 436) - (state-time uint64 :offset-assert 444) - (start-time uint64 :offset-assert 452) - (parent-taskmgr uint64 :offset-assert 460) - (goal-amount int8 :offset-assert 468) - (egg-amount int8 :offset-assert 469) - (pass-speech uint16 :offset-assert 470) - (primary-target-history UNKNOWN 16 :offset-assert 476) - (score-gold int32 :offset-assert 988) - (score-silver int32 :offset-assert 992) - (score-bronze int32 :offset-assert 996) - (score-high int32 :offset-assert 1000) + ((actor-group (pointer actor-group) :offset-assert 128) + (actor-group-count int32 :offset-assert 132) + (score int32 :offset-assert 136) + (course (array tpath-info) :offset-assert 140) + (course-crates handle 32 :offset-assert 144) + (course-type uint64 :offset-assert 400) + (hud-score handle :offset-assert 408) + (hud-goal handle :offset-assert 416) + (task-gold game-task-node :offset-assert 424) + (task-silver game-task-node :offset 426) + (task-bronze game-task-node :offset 428) + (end-door uint8 :offset 430) + (start-door uint8 :offset-assert 431) + (game-score uint8 :offset-assert 432) + (training-goal float :offset-assert 436) + (training? symbol :offset-assert 440) + (state-time time-frame :offset-assert 448) + (start-time time-frame :offset-assert 456) + (parent-taskmgr handle :offset-assert 464) + (goal-amount int8 :offset-assert 472) + (egg-amount int8 :offset-assert 473) + (pass-speech uint16 :offset-assert 474) + (primary-target-history primary-target-pos-vel 16 :inline :offset-assert 480) + (score-gold int32 :offset 992) + (score-silver int32 :offset-assert 996) + (score-bronze int32 :offset-assert 1000) + (score-high int32 :offset-assert 1004) ) :method-count-assert 32 :size-assert #x3f0 :flag-assert #x20037003f0 - (:methods - (gungame-manager-method-18 () none) ;; 18 - (gungame-manager-method-19 () none) ;; 19 - (gungame-manager-method-20 () none) ;; 20 - (gungame-manager-method-21 () none) ;; 21 - (gungame-manager-method-22 () none) ;; 22 - (gungame-manager-method-23 () none) ;; 23 - (gungame-manager-method-24 () none) ;; 24 - (gungame-manager-method-25 () none) ;; 25 - (gungame-manager-method-26 () none) ;; 26 - (gungame-manager-method-27 () none) ;; 27 - (gungame-manager-method-28 () none) ;; 28 - (gungame-manager-method-29 () none) ;; 29 - (gungame-manager-method-30 () none) ;; 30 - (gungame-manager-method-31 () none) ;; 31 - ) (:state-methods wait-start ;; 14 + course ;; 15 end-course ;; 16 end-course-open-door ;; 17 - course ;; 15 + ) + (:methods + (init-tpath (_type_ (array tpath-info)) symbol) ;; 18 + (gungame-manager-method-19 (_type_) none) ;; 19 + (init (_type_ handle int) object) ;; 20 + (init-actor-group (_type_ entity) object) ;; 21 + (spawn-dummy (_type_ tpath-info) none) ;; 22 + (update-hud-text (_type_) none) ;; 23 + (get-training-path-entity (_type_ int) entity-actor) ;; 24 + (gg-event-handler (_type_ process event-message-block event-message-block) object) ;; 25 + (spawn-gg-cates (_type_) symbol) ;; 26 + (gungame-manager-method-27 (_type_) none) ;; 27 + (gungame-manager-method-28 (_type_ vector) vector) ;; 28 + (update-target-history (_type_) none) ;; 29 + (get-player-pos-vel (_type_ primary-target-pos-vel time-frame) primary-target-pos-vel) ;; 30 + (gungame-manager-method-31 (_type_ primary-target-pos-vel) primary-target-pos-vel) ;; 31 + ) + (:states + exit-course ) ) -|# -#| (deftype training-path (process-drawable) ((num uint32 :offset-assert 200) ) @@ -67890,12 +67775,10 @@ :size-assert #xcc :flag-assert #x15005000cc (:state-methods - idle ;; 20, old: (idle () _type_ :state) + idle ;; 20 ) ) -|# -#| (deftype gungame-mgr-1 (gungame-manager) () :method-count-assert 33 @@ -67905,9 +67788,7 @@ wait-load ;; 32 ) ) -|# -#| (deftype gungame-mgr-2 (gungame-manager) () :method-count-assert 33 @@ -67917,9 +67798,7 @@ wait-load ;; 32 ) ) -|# -#| (deftype gungame-mgr-rnc (gungame-manager) () :method-count-assert 33 @@ -67929,18 +67808,14 @@ wait-load ;; 32 ) ) -|# -#| (deftype gungame-mgr-3 (gungame-mgr-rnc) () :method-count-assert 33 :size-assert #x3f0 :flag-assert #x21037003f0 ) -|# -#| (deftype gungame-mgr-4 (gungame-mgr-rnc) () :method-count-assert 33 @@ -67950,22 +67825,18 @@ wait-load ;; 32 ) ) -|# -#| (deftype training-manager (process-hidden) () :method-count-assert 15 :size-assert #x80 :flag-assert #xf00000080 ) -|# -;; (define-extern gungame-manager-init-by-other function) -;; (define-extern exit-course state) -;; (define-extern *jak3-training-path-info* array) -;; (define-extern *gun-course-info* array) -;; (define-extern *gungame-test-crates-pos* array) +(define-extern gungame-manager-init-by-other (function handle int object :behavior gungame-manager)) +(define-extern *jak3-training-path-info* (array tpath-info)) +(define-extern *gun-course-info* (array gun-course-info)) +(define-extern *gungame-test-crates-pos* (array gungame-crate)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gungame-texture ;; @@ -67977,33 +67848,32 @@ ;; gungame-obs ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype gungame-door (process-drawable) - ((front? basic :offset-assert 200) + ((root collide-shape :override) + (front? symbol :offset-assert 200) (close-sound sound-id :offset-assert 204) ;; guessed by decompiler - (train uint64 :offset-assert 208) ;; handle - (other-door uint64 :offset-assert 216) - (want-close? basic :offset-assert 224) + (train handle :offset-assert 208) ;; handle + (other-door handle :offset-assert 216) + (want-close? symbol :offset-assert 224) ) :method-count-assert 28 :size-assert #xe4 :flag-assert #x1c007000e4 - (:methods - (gungame-door-method-25 () none) ;; 25 - (gungame-door-method-26 () none) ;; 26 - (gungame-door-method-27 () none) ;; 27 - ) (:state-methods - close ;; 22, old: (close () _type_ :state) - open ;; 21, old: (open () _type_ :state) - opened ;; 24, old: (gungame-door-method-24 (_type_) symbol) - force-close ;; 23, old: (gungame-door-method-23 (_type_) symbol) - idle ;; 20, old: (idle () _type_ :state) + idle ;; 20 + open ;; 21 + close ;; 22 + force-close ;; 23 + opened ;; 24 + ) + (:methods + (gungame-door-method-25 (_type_) symbol) ;; 25 + (test-close? (_type_ symbol) symbol) ;; 26 + (player-near-door? (_type_ symbol) symbol) ;; 27 ) ) -|# -;; (define-extern gungame-door-handler function) +(def-event-handler gungame-door-handler gungame-door) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; gungame-part ;; @@ -68014,8 +67884,8 @@ ;; gungame-scenes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust function) -;; (define-extern spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust function) +(define-extern spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; vinroom-scenes ;; @@ -68026,117 +67896,114 @@ ;; vinroom-part ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern birth-func-vinroom-sphere function) ;; (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none) +(define-extern birth-func-vinroom-sphere (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; power-game ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype power-game-cell (structure) ((up uint8 :offset-assert 0) (right uint8 :offset-assert 1) (down uint8 :offset-assert 2) (left uint8 :offset-assert 3) ) + :pack-me :method-count-assert 9 :size-assert #x4 :flag-assert #x900000004 ) -|# -#| (deftype power-game-cam-info (structure) ((cam-pos vector :inline :offset-assert 0) - (cam-pos-x-angle deg :offset-assert 16) + (cam-pos-x-angle degrees :offset-assert 16) (cam-dist meters :offset-assert 20) - (cam-x-angle deg :offset-assert 24) - (cam-y-angle deg :offset-assert 28) - (cam-y-angle-dest deg :offset-assert 32) - (cam-y-angle-speed deg :offset-assert 36) + (cam-x-angle degrees :offset-assert 24) + (cam-y-angle degrees :offset-assert 28) + (cam-y-angle-dest degrees :offset-assert 32) + (cam-y-angle-speed degrees :offset-assert 36) ) :method-count-assert 9 :size-assert #x28 :flag-assert #x900000028 ) -|# -#| (deftype power-game (process-drawable) - ((task basic :offset-assert 200) - (lentity basic :offset-assert 204) - (hud-score uint64 :offset-assert 208) - (hud-goal uint64 :offset-assert 216) + ((self power-game :override) + (root collide-shape-moving :override) + (task game-task-control :offset-assert 200) + (lentity entity-actor :offset-assert 204) + (hud-score handle :offset-assert 208) + (hud-goal handle :offset-assert 216) (base-score float :offset-assert 224) (score float :offset-assert 228) - (score-time uint64 :offset-assert 232) - (score-met basic :offset-assert 240) - (game uint32 :offset-assert 244) - (blockers basic :offset-assert 248) - (dots basic :offset-assert 252) + (score-time time-frame :offset-assert 232) + (score-met symbol :offset-assert 240) + (game (inline-array power-game-cell) :offset-assert 244) + (blockers (array uint8) :offset-assert 248) + (dots (array uint8) :offset-assert 252) (miss-max int32 :offset-assert 256) (miss-count int32 :offset-assert 260) - (miss-time uint64 :offset-assert 264) + (miss-time time-frame :offset-assert 264) (point-win float :offset-assert 272) - (game-start-time uint64 :offset-assert 280) - (wave-start-time uint64 :offset-assert 288) + (game-start-time time-frame :offset-assert 280) + (wave-start-time time-frame :offset-assert 288) (wave-index int32 :offset-assert 296) (difficulty int32 :offset-assert 300) - (speech-time uint64 :offset-assert 304) + (speech-time time-frame :offset-assert 304) (speech-count int32 :offset-assert 312) - (speech-last UNKNOWN 8 :offset-assert 316) - (spawn-time uint64 :offset-assert 352) + (speech-last int32 8 :offset-assert 316) + (spawn-time time-frame :offset-assert 352) (center vector :inline :offset-assert 368) - (corner UNKNOWN 2 :offset-assert 384) + (corner vector 2 :inline :offset-assert 384) (cam-targ power-game-cam-info :inline :offset-assert 416) (cam-cur power-game-cam-info :inline :offset-assert 464) - (player uint64 :offset-assert 504) - (chaser uint64 :offset-assert 512) - (zapper UNKNOWN 5 :offset-assert 520) - (switcher uint64 :offset-assert 560) - (switcher-time uint64 :offset-assert 568) - (glyph uint64 :offset-assert 576) - (score-part UNKNOWN 1 :offset-assert 584) + (player handle :offset-assert 504) + (chaser handle :offset-assert 512) + (zapper handle 5 :offset-assert 520) + (switcher handle :offset-assert 560) + (switcher-time time-frame :offset-assert 568) + (glyph handle :offset-assert 576) + (score-part sparticle-launch-control 1 :offset-assert 584) ) :method-count-assert 46 :size-assert #x24c :flag-assert #x2e01d0024c - (:methods - (power-game-method-26 () none) ;; 26 - (power-game-method-27 () none) ;; 27 - (power-game-method-28 () none) ;; 28 - (power-game-method-29 () none) ;; 29 - (power-game-method-30 () none) ;; 30 - (power-game-method-31 () none) ;; 31 - (power-game-method-32 () none) ;; 32 - (power-game-method-33 () none) ;; 33 - (power-game-method-34 () none) ;; 34 - (power-game-method-35 () none) ;; 35 - (power-game-method-36 () none) ;; 36 - (power-game-method-37 () none) ;; 37 - (power-game-method-38 () none) ;; 38 - (power-game-method-39 () none) ;; 39 - (power-game-method-40 () none) ;; 40 - (power-game-method-41 () none) ;; 41 - (power-game-method-42 () none) ;; 42 - (power-game-method-43 () none) ;; 43 - (power-game-method-44 () none) ;; 44 - (power-game-method-45 () none) ;; 45 - ) (:state-methods - win ;; 25 - lose ;; 24 - active ;; 23 - wait-for-start ;; 22 idle ;; 20 hide ;; 21 + wait-for-start ;; 22 + (active symbol) ;; 23 + (lose symbol) ;; 24 + (win symbol) ;; 25 + ) + (:methods + (power-game-active-post (_type_) none) ;; 26 + (update-score-and-give-orbs (_type_) none) ;; 27 + (spawn-switcher (_type_) none) ;; 28 + (update-score-text (_type_) none) ;; 29 + (update-cam (_type_) none) ;; 30 + (get-center-pos! (_type_ vector float float) vector) ;; 31 + (power-game-method-32 (_type_ float float) int) ;; 32 + (power-game-method-33 (_type_ float float int) uint) ;; 33 + (power-game-method-34 (_type_ float float) int) ;; 34 + (power-game-method-35 (_type_ float float int) int) ;; 35 + (power-game-method-36 (_type_ float float int float float) float) ;; 36 + (power-game-method-37 (_type_ float float int) float) ;; 37 + (power-game-method-38 (_type_ vector int) vector) ;; 38 + (power-game-method-39 (_type_ int) int) ;; 39 + (power-game-method-40 (_type_ int) symbol) ;; 40 + (power-game-method-41 (_type_ vector) power-game-cell) ;; 41 + (power-game-method-42 (_type_ vector int int) symbol) ;; 42 + (power-game-method-43 (_type_ int) rgba) ;; 43 + (power-game-method-44 (_type_ float float int int) none) ;; 44 + (set-last-speech (_type_ int int) int) ;; 45 ) ) -|# -#| (deftype power-game-object (process-focusable) - ((local vector :inline :offset-assert 208) + ((parent (pointer power-game) :override) + (local vector :inline :offset-assert 208) (dir int8 :offset-assert 224) (next-dir int8 :offset-assert 225) (slide-dir int8 :offset-assert 226) @@ -68144,27 +68011,25 @@ (slide-dist int32 :offset-assert 232) (slide-speed float :offset-assert 236) (slide-count int32 :offset-assert 240) - (slide-lock basic :offset-assert 244) + (slide-lock symbol :offset-assert 244) (slide-dest vector :inline :offset-assert 256) (turn-pos vector :inline :offset-assert 272) - (target uint64 :offset-assert 288) - (start-time uint64 :offset-assert 296) + (target handle :offset-assert 288) + (start-time time-frame :offset-assert 296) ) :method-count-assert 32 :size-assert #x130 :flag-assert #x2000b00130 - (:methods - (power-game-object-method-30 () none) ;; 30 - (power-game-object-method-31 () none) ;; 31 - ) (:state-methods - die ;; 29 active ;; 28 + die ;; 29 + ) + (:methods + (power-game-object-method-30 (_type_) none) ;; 30 + (power-game-object-method-31 (_type_) none) ;; 31 ) ) -|# -#| (deftype power-game-player (power-game-object) ((slide-rel-dir int32 :offset-assert 304) ) @@ -68172,13 +68037,11 @@ :size-assert #x134 :flag-assert #x2000c00134 (:state-methods - die ;; 29 active ;; 28 + die ;; 29 ) ) -|# -#| (deftype power-game-chaser (power-game-object) ((targ-dist float :offset-assert 304) ) @@ -68189,78 +68052,71 @@ active ;; 28 ) ) -|# -#| (deftype power-game-switcher (power-game-object) ((targ-dist float :offset-assert 304) - (turn-time uint64 :offset-assert 312) + (turn-time time-frame :offset-assert 312) ) :method-count-assert 33 :size-assert #x140 :flag-assert #x2100c00140 (:state-methods - die ;; 29 active ;; 28 + die ;; 29 idle ;; 32 ) ) -|# -#| (deftype power-game-zapper (power-game-object) - ((change-time uint64 :offset-assert 304) - (close-time uint64 :offset-assert 312) - (switch-duration uint64 :offset-assert 320) - (lane-time uint64 :offset-assert 328) + ((change-time time-frame :offset-assert 304) + (close-time time-frame :offset-assert 312) + (switch-duration time-frame :offset-assert 320) + (lane-time time-frame :offset-assert 328) (lane-target int32 :offset-assert 336) (lane-target-old int32 :offset-assert 340) (lane-old int32 :offset-assert 344) - (rings uint32 :offset-assert 348) + (rings (pointer manipy) :offset-assert 348) ) :method-count-assert 32 :size-assert #x160 :flag-assert #x2000e00160 (:state-methods - die ;; 29 active ;; 28 + die ;; 29 ) ) -|# -#| (deftype power-game-glyph (power-game-object) ((pickup-type int32 :offset-assert 304) - (angle deg :offset-assert 308) + (angle degrees :offset-assert 308) ) :method-count-assert 33 :size-assert #x138 :flag-assert #x2100c00138 - (:methods - (power-game-glyph-method-32 () none) ;; 32 - ) (:state-methods - die ;; 29 active ;; 28 + die ;; 29 + ) + (:methods + (power-game-glyph-method-32 (_type_) none) ;; 32 ) ) -|# -;; (define-extern birth-func-power-score function) -;; (define-extern *power-game-track* object) -;; (define-extern *power-game* object) -;; (define-extern *power-game-speech-list* object) -;; (define-extern power-game-player-post function) -;; (define-extern power-game-player-init function) -;; (define-extern power-game-chaser-post function) -;; (define-extern power-game-chaser-init function) -;; (define-extern power-game-switcher-post function) -;; (define-extern power-game-switcher-init function) -;; (define-extern power-game-zapper-post function) -;; (define-extern power-game-zapper-init function) -;; (define-extern power-game-glyph-post function) -;; (define-extern power-game-glyph-init function) -;; (define-extern cam-power-game-update function) +(define-extern birth-func-power-score (function sparticle-system sparticle-cpuinfo sprite-vec-data-3d sparticle-launcher sparticle-launch-state none)) +(define-extern *power-game-track* (inline-array power-game-cell)) +(define-extern *power-game* (pointer power-game)) +(define-extern *power-game-speech-list* (inline-array talker-speech-class)) +(define-extern power-game-player-post (function none :behavior power-game-player)) +(define-extern power-game-player-init (function vector entity-actor object :behavior power-game-player)) +(define-extern power-game-chaser-post (function none :behavior power-game-chaser)) +(define-extern power-game-chaser-init (function vector entity-actor handle object :behavior power-game-chaser)) +(define-extern power-game-switcher-post (function none :behavior power-game-switcher)) +(define-extern power-game-switcher-init (function vector entity-actor handle object :behavior power-game-switcher)) +(define-extern power-game-zapper-post (function none :behavior power-game-zapper)) +(define-extern power-game-zapper-init (function vector entity-actor handle int object :behavior power-game-zapper)) +(define-extern power-game-glyph-post (function none :behavior power-game-glyph)) +(define-extern power-game-glyph-init (function vector entity-actor handle int object :behavior power-game-glyph)) +(define-extern cam-power-game-update (function none :behavior power-game)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ljkdxvin-texture ;; diff --git a/decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc b/decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc index f3e1787669..c6f29d9617 100644 --- a/decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc +++ b/decompiler/config/jak3/ntsc_v1/anonymous_function_types.jsonc @@ -939,5 +939,44 @@ [38, "(function none :behavior scene-player)"], [39, "(function none :behavior scene-player)"] ], - "freehq-scenes": [[0, "(function none :behavior scene-player)"]] + "freehq-scenes": [[0, "(function none :behavior scene-player)"]], + "hiphog-scenes": [ + [0, "(function none :behavior scene-player)"], + [1, "(function none :behavior scene-player)"], + [2, "(function none :behavior scene-player)"], + [3, "(function none :behavior scene-player)"] + ], + "rubble-attack": [[7, "(function int)"]], + "rublcst-scenes": [ + [0, "(function none :behavior scene-player)"], + [1, "(function none :behavior scene-player)"], + [2, "(function none :behavior scene-player)"], + [3, "(function none :behavior scene-player)"], + [4, "(function none :behavior scene-player)"], + [5, "(function none :behavior scene-player)"], + [6, "(function none :behavior scene-player)"], + [7, "(function none :behavior scene-player)"], + [8, "(function none :behavior scene-player)"], + [9, "(function none :behavior scene-player)"], + [10, "(function none :behavior scene-player)"], + [11, "(function none :behavior scene-player)"], + [12, "(function none :behavior scene-player)"], + [13, "(function none :behavior scene-player)"] + ], + "vinroom-scenes": [ + [0, "(function none :behavior scene-player)"], + [1, "(function none :behavior scene-player)"] + ], + "gungame-manager": [[6, "(function process symbol)"]], + "blow-tower-obs2": [ + [16, "(function bt-mh-flyer cspace float float vector vector int none)"], + [117, "(function bt-roboguard symbol quaternion)"], + [124, "(function cspace transformq none)"] + ], + "cty-blow-tower": [ + [39, "(function collide-shape-prim none)"], + [27, "(function process symbol)"], + [46, "(function collide-shape-prim none)"], + [69, "(function process object)"] + ] } diff --git a/decompiler/config/jak3/ntsc_v1/art_info.jsonc b/decompiler/config/jak3/ntsc_v1/art_info.jsonc index 2726552dd6..c173350b4a 100644 --- a/decompiler/config/jak3/ntsc_v1/art_info.jsonc +++ b/decompiler/config/jak3/ntsc_v1/art_info.jsonc @@ -27,7 +27,15 @@ "factory-boss": "errol-lowres-ag", "fac-robotank-turret": "fac-robotank-ag", "neo-sat-shield": "neo-satellite-shield-ag", - "neo-sat": "neo-satellite-ag" + "neo-sat": "neo-satellite-ag", + "power-game-switcher": "switcher-ag", + "power-game-player": "daxter-pac-man-ag", + "power-game-glyph": "cipher-ag", + "power-game-rings": "pow-rings-ag", + "power-game-chaser": "flitter-ag", + "power-game-zapper": "grunt-head-ag", + "gungame-door": "fort-entry-gate-ag", + "bt-mh-flyer": "bt-wasp-ag" }, // remap names for types in an entire file (higher priority) diff --git a/decompiler/config/jak3/ntsc_v1/hacks.jsonc b/decompiler/config/jak3/ntsc_v1/hacks.jsonc index 7d78365b6c..f7d6bbbc00 100644 --- a/decompiler/config/jak3/ntsc_v1/hacks.jsonc +++ b/decompiler/config/jak3/ntsc_v1/hacks.jsonc @@ -107,7 +107,6 @@ // jak 3 "(method 10 manipulator)", "(method 46 ff-squad-control)", - "(method 33 rub-tower)", "memcpy" ], @@ -273,7 +272,8 @@ "~10Hfg-wa: ~8,,0m": 1, "~140Hfg-sh: ~8,,0m": 1, "~267Hfg-p2: ~8,,0m~%": 1, - "~30Hp2: ~8D~131Hhf: ~8D~%~1K": 2 + "~30Hp2: ~8D~131Hhf: ~8D~%~1K": 2, + "Current time (~d:~d) [mission-percentage ~f~%": 2 }, "blocks_ending_in_asm_branch": { @@ -464,7 +464,9 @@ "(method 261 crimson-guard)": [52, 64], "(anon-function 13 metalhead-predator)": [24, 25], "(anon-function 90 ctywide-obs)": [4], - "(anon-function 10 cty-sniper-turret)": [44] + "(anon-function 10 cty-sniper-turret)": [44], + "(method 33 rub-tower)": [9, 10], + "(method 30 gungame-manager)": [0, 4, 5, 7] }, // Sometimes the game might use format strings that are fetched dynamically, @@ -566,7 +568,20 @@ [202, 0] ], "(method 33 task-manager-bbush-board)": [[86, 0]], - "(method 17 board-score-hud)": [[71, 0]] + "(method 17 board-score-hud)": [[71, 0]], + "(method 23 gungame-manager)": [ + [52, 0], + [90, 0], + [128, 0], + [164, 0], + [194, 0], + [235, 0], + [273, 0], + [305, 0], + [346, 0], + [378, 0], + [413, 0] + ] }, "mips2c_functions_by_name": [ diff --git a/decompiler/config/jak3/ntsc_v1/label_types.jsonc b/decompiler/config/jak3/ntsc_v1/label_types.jsonc index ad8fb9397b..beed0bd268 100644 --- a/decompiler/config/jak3/ntsc_v1/label_types.jsonc +++ b/decompiler/config/jak3/ntsc_v1/label_types.jsonc @@ -1901,7 +1901,7 @@ ["L593", "uint64", true], ["L595", "uint64", true] ], - "hfrag-vu1": [ + "hfrag-vu1": [ ["L250", "uint64", true], ["L249", "uint64", true], ["L248", "uint64", true], @@ -1924,5 +1924,204 @@ ["L231", "uint64", true], ["L230", "uint64", true], ["L229", "uint64", true] + ], + "hiphog-part": [ + ["L219", "uint64", true], + ["L26", "(inline-array ripple-wave)", 6] + ], + "king-rider": [["L33", "attack-info"]], + "rubble-obs": [["L193", "(inline-array vector)", 2]], + "power-game": [ + ["L971", "uint64", true], + ["L966", "uint64", true], + ["L967", "uint64", true], + ["L968", "uint64", true], + ["L972", "uint64", true], + ["L965", "uint64", true], + ["L969", "uint64", true], + ["L970", "uint64", true], + ["L783", "(inline-array power-game-cell)", 256], + ["L732", "(inline-array talker-speech-class)", 50], + ["L687", "vector"], + ["L841", "uint64", true], + ["L838", "uint64", true], + ["L848", "uint64", true], + ["L853", "uint64", true], + ["L846", "uint64", true], + ["L845", "uint64", true], + ["L847", "uint64", true], + ["L843", "uint64", true], + ["L837", "uint64", true], + ["L855", "uint64", true], + ["L854", "uint64", true], + ["L852", "uint64", true], + ["L730", "vector"], + ["L729", "vector"], + ["L728", "vector"], + ["L727", "vector"], + ["L836", "uint64", true], + ["L842", "uint64", true], + ["L840", "uint64", true], + ["L844", "uint64", true], + ["L849", "uint64", true], + ["L839", "uint64", true], + ["L851", "uint64", true], + ["L850", "uint64", true] + ], + "gun-dummy": [ + ["L463", "uint64", true], + ["L460", "uint64", true], + ["L458", "uint64", true], + ["L462", "uint64", true], + ["L461", "uint64", true], + ["L457", "uint64", true], + ["L459", "uint64", true], + ["L306", "vector"], + ["L312", "uint64", true], + ["L323", "uint64", true], + ["L322", "uint64", true], + ["L316", "uint64", true], + ["L317", "uint64", true], + ["L321", "uint64", true], + ["L315", "uint64", true], + ["L314", "uint64", true], + ["L310", "uint64", true], + ["L313", "uint64", true], + ["L311", "uint64", true], + ["L319", "uint64", true], + ["L318", "uint64", true], + ["L320", "uint64", true] + ], + "gungame-obs": [ + ["L91", "uint64", true], + ["L79", "uint64", true], + ["L76", "uint64", true], + ["L78", "uint64", true], + ["L77", "uint64", true] + ], + "gungame-data": [["L2388", "uint64", true]], + "gungame-manager": [ + ["L580", "uint64", true], + ["L579", "uint64", true], + ["L583", "uint64", true], + ["L584", "uint64", true], + ["L582", "uint64", true], + ["L581", "uint64", true], + ["L396", "uint64", true] + ], + "mood-funcs2": [ + ["L115", "uint64", true], + ["L116", "uint64", true], + ["L117", "uint64", true], + ["L118", "uint64", true], + ["L120", "uint64", true], + ["L119", "uint64", true], + ["L121", "uint64", true] + ], + "blow-tower-shared": [["L34", "(inline-array talker-speech-class)", 60]], + "blow-tower-obs": [ + ["L428", "uint64", true], + ["L437", "uint64", true], + ["L436", "uint64", true], + ["L435", "uint64", true], + ["L431", "uint64", true], + ["L433", "uint64", true], + ["L429", "uint64", true], + ["L434", "uint64", true], + ["L430", "uint64", true], + ["L438", "uint64", true], + ["L432", "uint64", true], + ["L322", "uint64", true], + ["L326", "uint64", true], + ["L323", "uint64", true], + ["L321", "uint64", true], + ["L320", "uint64", true], + ["L324", "uint64", true], + ["L309", "attack-info"], + ["L325", "uint64", true], + ["L303", "attack-info"], + ["L302", "attack-info"], + ["L304", "attack-info"] + ], + "blow-tower-obs2": [ + ["L681", "uint64", true], + ["L683", "uint64", true], + ["L686", "uint64", true], + ["L684", "uint64", true], + ["L680", "uint64", true], + ["L685", "uint64", true], + ["L682", "uint64", true], + ["L565", "uint64", true], + ["L563", "uint64", true], + ["L562", "uint64", true], + ["L559", "uint64", true], + ["L571", "uint64", true], + ["L560", "uint64", true], + ["L572", "uint64", true], + ["L574", "uint64", true], + ["L570", "uint64", true], + ["L577", "uint64", true], + ["L585", "uint64", true], + ["L549", "vector"], + ["L548", "vector"], + ["L547", "vector"], + ["L567", "uint64", true], + ["L587", "uint64", true], + ["L566", "uint64", true], + ["L579", "uint64", true], + ["L564", "uint64", true], + ["L581", "uint64", true], + ["L573", "uint64", true], + ["L569", "uint64", true], + ["L580", "uint64", true], + ["L576", "uint64", true], + ["L521", "attack-info"], + ["L586", "uint64", true], + ["L578", "uint64", true], + ["L575", "uint64", true], + ["L582", "uint64", true], + ["L583", "uint64", true], + ["L558", "uint64", true], + ["L584", "uint64", true], + ["L561", "uint64", true], + ["L533", "attack-info"], + ["L568", "uint64", true] + ], + "cty-blow-tower": [ + ["L1038", "bombbot-path"], + ["L1283", "uint64", true], + ["L1288", "uint64", true], + ["L1281", "uint64", true], + ["L1278", "uint64", true], + ["L1282", "uint64", true], + ["L1285", "uint64", true], + ["L1287", "uint64", true], + ["L1279", "uint64", true], + ["L1286", "uint64", true], + ["L1284", "uint64", true], + ["L1280", "uint64", true], + ["L1277", "uint64", true], + ["L1051", "uint64", true], + ["L1054", "uint64", true], + ["L998", "(inline-array kg-squad-member-settings)", 4], + ["L1053", "uint64", true], + ["L1034", "(pointer float)", 4], + ["L1043", "uint64", true], + ["L1046", "uint64", true], + ["L1048", "uint64", true], + ["L1057", "uint64", true], + ["L1045", "uint64", true], + ["L1052", "uint64", true], + ["L1042", "uint64", true], + ["L1055", "uint64", true], + ["L1050", "uint64", true], + ["L1058", "uint64", true], + ["L1041", "uint64", true], + ["L1059", "uint64", true], + ["L1049", "uint64", true], + ["L1010", "attack-info"], + ["L1047", "uint64", true], + ["L1056", "uint64", true], + ["L1044", "uint64", true] ] } diff --git a/decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc b/decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc index c658b27625..1609739ad1 100644 --- a/decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc +++ b/decompiler/config/jak3/ntsc_v1/process_stack_size_overrides.jsonc @@ -6,5 +6,6 @@ "scene-player-init": 1024, "task-manager-init-by-other": 2048, "race-manager-init-by-other": 1024, - "neo-sat-shield-init-by-other": 64 + "neo-sat-shield-init-by-other": 64, + "bt-gun-manager-init-by-other": 256 } diff --git a/decompiler/config/jak3/ntsc_v1/stack_structures.jsonc b/decompiler/config/jak3/ntsc_v1/stack_structures.jsonc index 5c6afb1de6..6a8fa9d473 100644 --- a/decompiler/config/jak3/ntsc_v1/stack_structures.jsonc +++ b/decompiler/config/jak3/ntsc_v1/stack_structures.jsonc @@ -2321,5 +2321,122 @@ "(enter lock cty-sniper-turret-reticle)": [[16, "vector"]], "(enter impact cty-sniper-turret-shot)": [[16, "traffic-danger-info"]], "(method 25 cty-sniper-turret-shot)": [[32, "vector"]], - "cty-sniper-turret-handler": [[96, "vector"]] + "cty-sniper-turret-handler": [[96, "vector"]], + "king-pilot-trans": [[16, "matrix"]], + "(method 32 rubble-attack-manager)": [ + [16, "vector"], + [592, "traj3d-params"], + [672, "vector"] + ], + "(method 30 power-game)": [[32, "vector"]], + "(method 44 power-game)": [[32, "vector"]], + "spt-func-ground-spark-bounce": [[16, "vector"]], + "gun-dummy-gun-aim-jmod-func": [[16, "vector"]], + "(method 38 gun-dummy-gun)": [[16, "primary-target-pos-vel"]], + "(method 29 gungame-manager)": [[16, "primary-target-pos-vel"]], + "(method 30 gungame-manager)": [ + [16, ["inline-array", "primary-target-pos-vel", 2]] + ], + "(method 11 blow-tower-path-cursor)": [[16, "vector"]], + "(method 44 tower-flyer)": [[16, "flyer-projectile-params"]], + "(method 49 tower-flyer)": [ + [48, "collide-query"], + [16, "vector"] + ], + "(method 41 bt-barrel)": [[32, ["array", "collide-shape", 384]]], + "(method 40 bt-barrel)": [[32, ["array", "collide-shape", 384]]], + "setup-bt-barrels": [ + [32, "vector"], + [64, "vector"] + ], + "bt-barrel-ground-probe": [[16, "collide-query"]], + "(method 51 bt-mh-flyer)": [ + [16, "vector"], + [112, "vector"] + ], + "(method 40 bt-missile)": [[112, "vector"]], + "(anon-function 16 blow-tower-obs2)": [[112, "quaternion"]], + "kg-bombbot-find-nearest-nav-mesh": [[16, "nav-poly"]], + "(method 47 bt-grunt)": [[16, "vector"]], + "(method 22 bt-gun-manager)": [[16, "vector"]], + "(method 36 bt-hellcat)": [ + [16, "matrix"], + [80, "vector"], + [96, "vector"], + [112, "vector"], + [128, "vector"] + ], + "(method 43 bt-pickup)": [[16, "vector"]], + "(method 38 task-manager-blow-tower)": [[480, "vector"]], + "(method 18 bt-gun-manager)": [ + [16, "vector"], + [32, "vector"], + [48, "vector"], + [64, "vector"], + [208, "vector"] + ], + "(method 32 bt-vehicle)": [ + [16, "vector"], + [32, "vector"] + ], + "(method 47 tower-flyer)": [ + [32, "vector"], + [48, "vector"], + [144, "vector"] + ], + "(method 20 bt-gun-manager)": [ + [48, "vector"], + [64, "vector"], + [96, "vector"], + [144, "vector"], + [160, "vector"], + [176, "vector"], + [192, "vector"], + [800, "vector"], + [816, "vector"], + [848, "vector"], + [896, "vector"], + [912, "vector"], + [928, "vector"], + [944, "vector"], + [1552, "vector"], + [1568, "vector"], + [1600, "vector"], + [1648, "vector"], + [1664, "vector"], + [1680, "vector"], + [1696, "vector"] + ], + "(method 19 bt-gun-manager)": [ + [80, "vector"], + [32, "vector"], + [48, "vector"] + ], + "(method 31 bt-pickup)": [[128, "vector"]], + "(method 31 bt-hellcat)": [ + [176, "vector"], + [192, "vector"], + [240, "vector"], + [320, "vector"], + [336, "vector"] + ], + "(method 50 bt-hellcat)": [ + [16, "vector"], + [32, "quaternion"] + ], + "(method 47 bt-hellcat)": [ + [80, "vector"], + [32, "vector"], + [96, "matrix"] + ], + "(method 48 bt-hellcat)": [ + [32, "vector"], + [48, "vector"] + ], + "(method 29 bt-hellcat)": [[112, "quaternion"]], + "(method 21 bt-gun-manager)": [ + [320, "collide-query"], + [160, "vector"] + ], + "draw-path-blow-curve": [[16, "matrix"]] } diff --git a/decompiler/config/jak3/ntsc_v1/type_casts.jsonc b/decompiler/config/jak3/ntsc_v1/type_casts.jsonc index e41a36dd90..2acf1c13d0 100644 --- a/decompiler/config/jak3/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak3/ntsc_v1/type_casts.jsonc @@ -10552,9 +10552,7 @@ "(code active task-manager-city-sniper-fight)": [ [80, "a1", "process-drawable"] ], - "hfrag-add-constants": [ - [[3, 17], "a0", "dma-packet"] - ], + "hfrag-add-constants": [[[3, 17], "a0", "dma-packet"]], "hfrag-vu1-end-buffer": [ [[1, 8], "a1", "dma-packet"], [[10, 28], "a1", "(pointer vif-tag)"] @@ -10567,7 +10565,285 @@ [[135, 141], "v1", "dma-packet"], [143, "v1", "(pointer uint32)"] ], - "real-wang-texture-anim-func": [ - [[3, 31], "v1", "mood-context"] + "real-wang-texture-anim-func": [[[3, 31], "v1", "mood-context"]], + "hiphog-mirror-sheen-func": [ + [[50, 64], "a2", "ripple-wave"], + [48, "a2", "ripple-wave"], + [49, "a2", "(inline-array ripple-wave)"] + ], + "(method 26 rubble-attack-manager)": [[[62, 68], "v1", "dm-missile-target"]], + "(code lock dm-missile-target)": [[14, "v1", "art-joint-anim"]], + "dm-missile-target-handler": [ + [6, "v1", "vector"], + [[11, 13], "gp", "vector"] + ], + "(method 32 rubble-attack-manager)": [[140, "s2", "vector"]], + "(event idle rub-elec-gate)": [ + [33, "v1", "process-drawable"], + [43, "gp", "rigid-body-impact"], + [90, "gp", "rigid-body-impact"] + ], + "(method 34 rub-electric-gate-switch)": [ + [2, "v1", "collide-shape-prim-group"], + [6, "a1", "collide-shape-prim-group"] + ], + "(method 34 rub-tower)": [ + [4, "v1", "collide-shape-prim-group"], + [8, "a1", "collide-shape-prim-group"] + ], + "(code fallen rub-tower)": [[18, "v1", "art-joint-anim"]], + "(code fall rub-tower)": [[33, "v1", "art-joint-anim"]], + "(code unstable rub-tower)": [[20, "v1", "art-joint-anim"]], + "(method 11 rub-elec-gate)": [["_stack_", 16, "res-tag"]], + "birth-func-power-score": [ + [2, "v1", "(pointer int32)"], + [4, "v1", "(pointer int32)"], + [29, "v1", "(pointer int32)"] + ], + "(code die power-game-player)": [ + [51, "v1", "art-joint-anim"], + [104, "v1", "art-joint-anim"] + ], + "power-game-player-init": [[120, "v1", "handle"]], + "(code active power-game-chaser)": [[13, "v1", "art-joint-anim"]], + "(trans active power-game-chaser)": [[[16, 310], "gp", "power-game-object"]], + "(method 30 power-game)": [[[10, 23], "s4", "power-game-player"]], + "(code die power-game-switcher)": [[202, "v1", "art-joint-anim"]], + "(trans active power-game-zapper)": [[[16, 438], "gp", "power-game-zapper"]], + "(code active power-game-zapper)": [[13, "v1", "art-joint-anim"]], + "(code cam-power-game)": [[4, "t9", "(function none)"]], + "(code idle power-game-switcher)": [[169, "v1", "art-joint-anim"]], + "(code active power-game-switcher)": [[16, "v1", "art-joint-anim"]], + "(trans active power-game-switcher)": [ + [[170, 181], "v1", "power-game-object"] + ], + "(code die power-game-zapper)": [[99, "v1", "art-joint-anim"]], + "(trans active power-game-glyph)": [[[16, 27], "v1", "power-game-object"]], + "(trans idle power-game-switcher)": [[[27, 38], "v1", "power-game-object"]], + "(method 31 gun-dummy)": [ + [3, "v1", "tpath-control-frame"], + [5, "v1", "(inline-array tpath-control-frame)"], + [10, "v1", "tpath-control-frame"], + [12, "v1", "(inline-array tpath-control-frame)"], + [17, "v1", "(inline-array tpath-control-frame)"], + [23, "v1", "tpath-control-frame"], + [32, "v1", "tpath-control-frame"], + [36, "v1", "(inline-array tpath-control-frame)"], + [41, "v1", "tpath-control-frame"], + [43, "v1", "(inline-array tpath-control-frame)"], + [48, "v1", "tpath-control-frame"], + [50, "v1", "(inline-array tpath-control-frame)"], + [55, "v1", "tpath-control-frame"], + [57, "v1", "(inline-array tpath-control-frame)"], + [62, "v1", "tpath-control-frame"], + [64, "v1", "(inline-array tpath-control-frame)"] + ], + "generate-next-fire-time": [[18, "v1", "float"]], + "gun-dummy-event-handler": [[[50, 90], "s5", "attack-info"]], + "gun-dummy-gun-aim-jmod-func": [[[2, 10], "s4", "gun-dummy-gun"]], + "(method 30 gun-dummy)": [[26, "v0", "path-control"]], + "(method 33 gun-dummy-explode)": [[73, "a0", "process"]], + "(code open gungame-door)": [[35, "v1", "art-joint-anim"]], + "update-mood-freehq": [[[24, 63], "gp", "freehq-states"]], + "update-mood-hiphog": [[[26, 74], "s5", "hiphog-states"]], + "update-mood-vinroom": [[[24, 141], "gp", "vinroom-states"]], + "update-mood-oracle": [[[19, 135], "s5", "oracle-states"]], + "(method 21 gungame-manager)": [["_stack_", 16, "res-tag"]], + "(method 35 gungame-task-manager)": [["_stack_", 16, "res-tag"]], + "(method 23 gungame-manager)": [[[16, 396], "gp", "hud"]], + "(method 24 gungame-manager)": [[[23, 35], "a1", "training-path"]], + "(method 25 gungame-manager)": [[12, "a0", "training-path"]], + "(trans charging tower-flyer)": [[17, "v1", "process-focusable"]], + "(method 11 tower-flyer-bobber)": [[32, "v1", "float"]], + "(trans riding cast-rider)": [[[16, 23], "a0", "process-focusable"]], + "(event riding cast-rider)": [[22, "v1", "vector"]], + "(trans fleeing tower-flyer)": [[[52, 57], "a1", "process-focusable"]], + "(enter fly-up bt-barrel)": [ + [45, "v1", "float"], + [85, "v1", "float"], + [112, "v1", "float"], + [132, "v1", "float"], + [157, "v1", "float"], + [177, "v1", "float"], + [197, "v1", "float"], + [224, "v1", "float"] + ], + "(method 30 blow-tower-enemy)": [[[5, 36], "s4", "attack-info"]], + "(method 46 tower-flyer)": [ + [[28, 48], "s5", "process-focusable"], + [[206, 211], "a1", "process-focusable"], + [242, "v1", "float"], + [263, "v1", "float"] + ], + "(method 43 tower-flyer)": [[57, "a1", "process-focusable"]], + "(method 41 bt-barrel)": [ + [78, "a0", "process-focusable"], + [81, "a0", "process-focusable"] + ], + "(method 40 bt-barrel)": [[56, "s2", "process-focusable"]], + "(method 42 bt-barrel)": [[36, "a1", "process-focusable"]], + "setup-bt-barrels": [ + [45, "v1", "float"], + [141, "v1", "float"] + ], + "(code jumping-start bt-grunt)": [[14, "v1", "art-joint-anim"]], + "(code jumping bt-grunt)": [[14, "v1", "art-joint-anim"]], + "(code riding-land bt-grunt)": [ + [19, "v1", "art-joint-anim"], + [197, "v1", "art-joint-anim"] + ], + "(code riding-idle-ship bt-grunt)": [ + [369, "v1", "art-joint-anim"], + [30, "v1", "art-joint-anim"], + [112, "v1", "art-joint-anim"], + [198, "v1", "art-joint-anim"], + [284, "v1", "art-joint-anim"] + ], + "(code riding-idle bt-grunt)": [[14, "v1", "art-joint-anim"]], + "(code riding-attack bt-grunt)": [ + [21, "v1", "art-joint-anim"], + [114, "v1", "art-joint-anim"] + ], + "(method 33 bt-roboguard)": [[176, "v1", "float"]], + "bt-roboguard-turret-code": [ + [75, "a1", "art-joint-anim"], + [168, "a1", "art-joint-anim"] + ], + "(method 43 bt-roboguard)": [[51, "v1", "float"]], + "(code hovering bt-mh-flyer)": [ + [14, "v1", "art-joint-anim"], + [45, "v1", "art-joint-anim"], + [76, "v1", "art-joint-anim"] + ], + "(code firing bt-mh-flyer)": [[30, "v1", "art-joint-anim"]], + "(post hovering bt-mh-flyer)": [[6, "t9", "(function none)"]], + "(post charging bt-mh-flyer)": [[6, "t9", "(function none)"]], + "(post fleeing bt-mh-flyer)": [[6, "t9", "(function none)"]], + "(post firing bt-mh-flyer)": [[6, "t9", "(function none)"]], + "bt-grunt-idle-code": [ + [92, "v1", "art-joint-anim"], + [21, "v1", "art-joint-anim"], + [109, "v1", "float"], + [147, "v1", "float"] + ], + "(trans idle bt-grunt)": [ + [[23, 52], "gp", "process-focusable"], + [173, "v1", "float"] + ], + "(enter riding-land bt-grunt)": [[[81, 89], "a0", "process-focusable"]], + "(enter chasing bt-missile)": [[[16, 24], "v1", "process-focusable"]], + "(method 40 bt-missile)": [[[101, 115], "s4", "process-focusable"]], + "(method 51 bt-grunt)": [[[55, 88], "s5", "ragdoll-proc"]], + "(method 52 bt-grunt)": [[[10, 51], "gp", "ragdoll-proc"]], + "(method 196 kg-bombbot)": [[[24, 62], "s5", "process-focusable"]], + "(method 15 hud-hellcat)": [[20, "v1", "float"]], + "(method 22 bt-gun-manager)": [ + [107, "v1", "float"], + [118, "v1", "float"], + [26, "v0", "vector"], + [160, "v0", "vector"], + [181, "v1", "vector"], + [215, "v1", "vector"], + [127, "v1", "float"], + [143, "v1", "float"] + ], + "(method 37 bt-vehicle)": [[[22, 45], "s4", "process-focusable"]], + "(code cam-bt-gun)": [[26, "v0", "handle"]], + "(method 29 bt-vehicle)": [ + [[169, 184], "s4", "attack-info"], + [8, "v1", "float"], + [79, "v1", "float"], + [83, "v1", "float"], + [[116, 123], "a0", "blow-tower-path-cursor"], + [157, "v1", "float"] + ], + "(method 49 bt-hellcat)": [[60, "v1", "float"]], + "(method 29 bt-pickup)": [[92, "v0", "vector"]], + "(method 43 bt-pickup)": [[79, "v1", "float"]], + "(method 38 task-manager-blow-tower)": [ + [584, "v1", "handle"], + [[1092, 1136], "s4", "process-focusable"] + ], + "(method 29 bt-hellcat)": [ + [52, "a0", "bt-gun-manager"], + [56, "a0", "bt-gun-manager"], + [113, "v1", "float"], + [119, "v1", "float"] + ], + "(method 18 bt-gun-manager)": [ + [251, "a0", "process-focusable"], + [[256, 260], "a0", "process-focusable"], + [298, "a0", "process-focusable"], + [[303, 307], "a0", "process-focusable"], + [[382, 416], "s1", "bt-hellcat"], + [[488, 504], "s5", "bt-hellcat"] + ], + "bt-force-show-hud": [ + [22, "v1", "connection"], + [34, "v1", "connection"], + [35, "a0", "process"] + ], + "(method 20 bt-gun-manager)": [ + [15, "v1", "connection"], + [16, "v1", "collide-shape"], + [20, "v1", "collide-shape"], + [37, "a0", "process-focusable"], + [43, "a0", "process-focusable"], + [46, "a0", "process-focusable"], + [321, "v1", "connection"], + [322, "v1", "collide-shape"], + [326, "v1", "collide-shape"], + [343, "a0", "process-focusable"], + [[349, 353], "a0", "process-focusable"], + [626, "v1", "connection"], + [627, "v1", "collide-shape"], + [631, "v1", "collide-shape"], + [648, "a0", "process-focusable"], + [[654, 658], "a0", "process-focusable"], + [927, "a0", "process"], + ["_stack_", 16, "float"], + ["_stack_", 88, "float"], + ["_stack_", 136, "float"], + ["_stack_", 840, "float"], + ["_stack_", 888, "float"], + ["_stack_", 1592, "float"], + ["_stack_", 1640, "float"] + ], + "(method 19 bt-gun-manager)": [ + [[191, 196], "a0", "process-focusable"], + [[50, 55], "a0", "process-focusable"], + [[88, 93], "a0", "process-focusable"] + ], + "(trans mission-debug task-manager-blow-tower)": [ + [[176, 178], "v1", "bt-hellcat"], + [[188, 193], "v1", "bt-pickup"] + ], + "(method 31 bt-hellcat)": [ + [[295, 303], "v1", "bt-gun-manager"], + [[533, 538], "v1", "bt-gun-manager"], + [[718, 726], "a0", "bt-gun-manager"] + ], + "(method 42 bt-vehicle)": [[34, "v1", "float"]], + "(method 46 bt-roboguard)": [[[20, 24], "a0", "process-focusable"]], + "(anon-function 124 blow-tower-obs2)": [[[2, 72], "s3", "bt-roboguard"]], + "(method 49 bt-grunt)": [[34, "v1", "float"]], + "bt-missile-init-by-other": [ + [68, "v1", "float"], + [186, "v1", "float"], + [207, "v1", "float"] + ], + "(method 47 bt-hellcat)": [ + [[105, 108], "v1", "vector"], + [[62, 67], "v1", "bt-gun-manager"] + ], + "(method 50 bt-hellcat)": [[[26, 31], "v1", "bt-gun-manager"]], + "(method 21 bt-gun-manager)": [ + [[52, 64], "v1", "process-focusable"], + [312, "v1", "collide-shape-prim-sphere"] + ], + "(method 30 task-manager-blow-tower)": [[[46, 62], "v1", "blow-tower-clock"]], + "(method 32 bt-vehicle)": [ + ["_stack_", 76, "float"], + ["_stack_", 100, "float"] ] } diff --git a/decompiler/config/jak3/ntsc_v1/var_names.jsonc b/decompiler/config/jak3/ntsc_v1/var_names.jsonc index 887d8657b4..b2ef77423b 100644 --- a/decompiler/config/jak3/ntsc_v1/var_names.jsonc +++ b/decompiler/config/jak3/ntsc_v1/var_names.jsonc @@ -2109,5 +2109,11 @@ "vars": { "f30-0": ["f30-0", "float"] } + }, + "(method 31 gun-dummy)": { + "vars": { + "f0-0": "total-time", + "v1-0": "curr-frame" + } } } diff --git a/decompiler/util/data_decompile.cpp b/decompiler/util/data_decompile.cpp index aca3d866e9..537e6ee1d7 100644 --- a/decompiler/util/data_decompile.cpp +++ b/decompiler/util/data_decompile.cpp @@ -1038,6 +1038,15 @@ const std::unordered_map< 8, ArrayFieldDecompMeta::Kind::REF_TO_INTEGER_ARR)}}}, {"deschase-path", {{"node", ArrayFieldDecompMeta(TypeSpec("deschase-node"), 32)}}}, + {"tpath-info", + // TODO - should be able to just decompile the `anims` field + {{"anim1", ArrayFieldDecompMeta(TypeSpec("tpath-control-frame"), 16)}, + {"anim2", ArrayFieldDecompMeta(TypeSpec("tpath-control-frame"), 16)}, + {"anim3", ArrayFieldDecompMeta(TypeSpec("tpath-control-frame"), 16)}}}, + {"blow-tower-path", + // TODO - should be able to just decompile the `anims` field + {{"pts", ArrayFieldDecompMeta(TypeSpec("vector"), 16)}, + {"node-info", ArrayFieldDecompMeta(TypeSpec("blow-tower-node-info"), 32)}}}, }}}; goos::Object decompile_structure(const TypeSpec& type, diff --git a/goal_src/jak3/engine/common-obs/generic-obs.gc b/goal_src/jak3/engine/common-obs/generic-obs.gc index 964e9526b4..c8d3787d2c 100644 --- a/goal_src/jak3/engine/common-obs/generic-obs.gc +++ b/goal_src/jak3/engine/common-obs/generic-obs.gc @@ -3879,10 +3879,14 @@ ) ) (set! (-> this is-spooling?) (nonzero? (res-lump-value arg0 'spooling-val uint128 :time -1000000000.0))) - (set! (-> this path) (new 'process 'path-control this 'path 0.0 arg0 #f)) + ;; og:preserve-this some entities store their path data in the path1 lump + (let ((bad-entity? (symbol-member? (string->symbol (-> this name)) '(sound-on-path-119)))) + (set! (-> this path) (new 'process 'path-control this (#if PC_PORT (if bad-entity? 'path1 'path) 'path) 0.0 arg0 #f)) + ) (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) (logclear! (-> this mask) (process-mask actor-pause)) - (when (= s4-0 "") + ;; og:preserve-this + (when (string= (the string s4-0) "") (go (method-of-object this no-play)) (return 0) ) diff --git a/goal_src/jak3/engine/entity/entity-table.gc b/goal_src/jak3/engine/entity/entity-table.gc index 695f2a6d39..d734090b4f 100644 --- a/goal_src/jak3/engine/entity/entity-table.gc +++ b/goal_src/jak3/engine/entity/entity-table.gc @@ -30,12 +30,12 @@ :heap-size #x4000 ) (new 'static 'entity-info - :ptype (type-ref bt-grunt :method-count 0) + :ptype (type-ref bt-grunt :method-count 55) :pool '*16k-dead-pool* :heap-size #x4000 ) (new 'static 'entity-info - :ptype (type-ref bt-roboguard :method-count 0) + :ptype (type-ref bt-roboguard :method-count 47) :pool '*16k-dead-pool* :heap-size #x4000 ) diff --git a/goal_src/jak3/engine/gfx/mood/mood-funcs2.gc b/goal_src/jak3/engine/gfx/mood/mood-funcs2.gc index 5e56975310..8adae9fe7a 100644 --- a/goal_src/jak3/engine/gfx/mood/mood-funcs2.gc +++ b/goal_src/jak3/engine/gfx/mood/mood-funcs2.gc @@ -7,3 +7,647 @@ ;; DECOMP BEGINS +(deftype default-interior-states (structure) + () + ) + + +(defbehavior update-mood-default-interior time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #f) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (-> arg0 state) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) 1.0) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + ) + 0 + (none) + ) + +(defbehavior update-mood-default-interior-ambient time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (-> arg0 state) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) 1.0) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + ) + 0 + (none) + ) + +(deftype vinroom-states (structure) + ((main float) + (flicker1 float) + (flicker2 float) + (warp float) + ) + ) + + +(defun update-vinroom-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (set-vector! (-> arg0 current-env-color) 48.0 60.0 96.0 255.0) + (set-vector! (-> v1-0 0 dir0 color) 0.061 0.854 1.0 1.0) + (set-vector! (-> v1-0 0 dir1 color) 0.858 0.932 1.0 1.0) + (let ((a0-4 (-> v1-0 0 dir1))) + (set! (-> a0-4 direction x) -0.6499) + (set! (-> a0-4 direction y) 0.7134) + (set! (-> a0-4 direction z) -0.2619) + (set! (-> a0-4 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 dir2 color) 0.858 0.932 1.0 1.0) + (let ((a0-6 (-> v1-0 0 dir2))) + (set! (-> a0-6 direction x) 0.4634) + (set! (-> a0-6 direction y) 0.7718) + (set! (-> a0-6 direction z) -0.4352) + (set! (-> a0-6 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 ambi color) 0.282 0.42 0.637 1.0) + (set! (-> v1-0 0 dir1 extra x) 1.0) + (set! (-> v1-0 0 dir2 extra x) 1.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-vinroom time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-vinroom-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((gp-0 (the-as object (-> arg0 state)))) + (let ((s4-0 (-> arg0 light-group))) + (set! (-> arg0 times 1 w) (+ 0.875 (* 0.175 (cos (-> (the-as vinroom-states gp-0) main))))) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> s4-0 0 dir0 extra x) (-> arg0 times 1 w)) + (set! (-> arg0 times 2 w) (if (< 36408.89 (-> (the-as vinroom-states gp-0) flicker1)) + 0.475 + 0.5 + ) + ) + (set! (-> s4-0 0 dir1 extra x) (-> arg0 times 2 w)) + (set! (-> arg0 times 3 w) (if (< 21845.334 (-> (the-as vinroom-states gp-0) flicker2)) + 0.475 + 0.5 + ) + ) + (set! (-> s4-0 0 dir2 extra x) (-> arg0 times 3 w)) + ) + (set! (-> arg0 times 4 w) (+ 1.2 (* 0.2 (cos (-> (the-as vinroom-states gp-0) warp))))) + (when (not (paused?)) + (let ((f0-17 (+ (-> (the-as vinroom-states gp-0) main) (* 18204.445 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) main) (- f0-17 (* (the float (the int (/ f0-17 65536.0))) 65536.0))) + ) + (let ((f0-20 (+ (-> (the-as vinroom-states gp-0) flicker1) (* 196608.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) flicker1) + (- f0-20 (* (the float (the int (/ f0-20 65536.0))) 65536.0)) + ) + ) + (let ((f0-23 (+ (-> (the-as vinroom-states gp-0) flicker2) (* 163840.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) flicker2) + (- f0-23 (* (the float (the int (/ f0-23 65536.0))) 65536.0)) + ) + ) + (let ((f0-26 (+ (-> (the-as vinroom-states gp-0) warp) (* 32768.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) warp) (- f0-26 (* (the float (the int (/ f0-26 65536.0))) 65536.0))) + ) + ) + ) + ) + ) + 0 + (none) + ) + +(deftype hideout-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + ) + ) + + +(defun update-hideout-lights ((arg0 mood-context)) + (let ((a2-0 (-> arg0 light-group)) + (a1-0 (-> arg0 light-group 1)) + (v1-0 (-> arg0 light-group 2)) + ) + (set-vector! (-> a2-0 0 dir0 color) 0.0 0.0 0.0 1.0) + (set-vector! (-> a2-0 0 ambi color) 0.22 0.219 0.35 1.0) + (let ((a0-3 (-> a1-0 dir0))) + (set! (-> a0-3 direction x) 0.0) + (set! (-> a0-3 direction y) -1.0) + (set! (-> a0-3 direction z) 0.0) + (set! (-> a0-3 direction w) 1.0) + ) + (set-vector! (-> a1-0 dir0 color) 1.0 0.8 0.4 1.0) + (set! (-> a1-0 dir0 extra x) 1.0) + (set-vector! (-> a1-0 ambi color) 0.22 0.219 0.35 1.0) + (set! (-> a1-0 ambi extra x) 1.0) + (let ((a0-8 (-> v1-0 dir0))) + (set! (-> a0-8 direction x) 0.331) + (set! (-> a0-8 direction y) 0.943) + (set! (-> a0-8 direction z) 0.0) + (set! (-> a0-8 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir0 color) 0.256 0.685 0.573 1.0) + (set! (-> v1-0 dir0 extra x) 1.0) + (let ((a0-11 (-> v1-0 dir1))) + (set! (-> a0-11 direction x) -1.0) + (set! (-> a0-11 direction y) 0.0) + (set! (-> a0-11 direction z) 0.0) + (set! (-> a0-11 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir1 color) 0.202 0.205 0.15 1.0) + (set! (-> v1-0 dir1 extra x) 1.0) + (set-vector! (-> v1-0 ambi color) 0.22 0.219 0.35 1.0) + (set! (-> v1-0 ambi extra x) 1.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-hideout time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-hideout-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (cond + ((movie?) + (update-mood-flames arg0 1 2 0 0.333 0.0005859375 2.0) + (update-mood-flames arg0 3 2 8 0.333 0.0005859375 3.0) + ) + (else + (update-mood-flames arg0 1 2 0 0.333 0.001953125 2.0) + (update-mood-flames arg0 3 2 8 0.333 0.001953125 3.0) + ) + ) + (let ((a0-10 (new 'stack-no-clear 'sphere)) + (a1-5 (-> *math-camera* trans)) + ) + (let ((v1-6 a0-10)) + (set! (-> v1-6 x) 4898816.0) + (set! (-> v1-6 y) 32768.0) + (set! (-> v1-6 z) 245760.0) + (set! (-> v1-6 r) 1.0) + ) + (let ((f0-5 (get-sphere-interp a0-10 a1-5 61440.0 69632.0))) + (set-vector! (-> arg0 times 0) 1.0 1.0 1.0 1.0) + (vector-lerp! + (the-as vector (-> arg0 times)) + (the-as vector (-> arg0 times)) + (the-as vector (-> *level* level-default mood-context times)) + f0-5 + ) + ) + ) + ) + ) + 0 + (none) + ) + +(deftype hiphog-states (structure) + ((door entity) + (door-current-interp float) + (door-target-interp float) + ) + ) + + +;; WARN: Return type mismatch entity vs none. +(defun init-mood-hiphog ((arg0 mood-context)) + (let ((gp-0 (-> arg0 state))) + (set! (-> gp-0 0) (the-as uint (entity-by-name "hip-door-b-1"))) + ) + (none) + ) + +(defun update-hiphog-lights ((arg0 mood-context)) + (let ((t1-0 (-> arg0 light-group)) + (t0-0 (-> arg0 light-group 1)) + (a3-0 (-> arg0 light-group 2)) + (a2-0 (-> arg0 light-group 3)) + (a1-0 (-> arg0 light-group 4)) + (v1-0 (-> arg0 light-group 5)) + ) + (set-vector! (-> t1-0 0 dir0 color) 0.0 0.0 0.0 1.0) + (set-vector! (-> t1-0 0 ambi color) 0.11 0.109 0.175 1.0) + (set-vector! (-> t0-0 dir0 color) 0.945 0.648 0.523 1.0) + (let ((a0-4 (-> t0-0 dir0))) + (set! (-> a0-4 direction x) 0.0) + (set! (-> a0-4 direction y) 1.0) + (set! (-> a0-4 direction z) 0.0) + (set! (-> a0-4 direction w) 1.0) + ) + (set! (-> t0-0 dir0 extra x) 1.0) + (set-vector! (-> t0-0 ambi color) 0.197 0.124 0.062 1.0) + (set! (-> t0-0 ambi extra x) 1.0) + (set-vector! (-> a3-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a3-0 dir1 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a3-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-11 (-> a3-0 dir0))) + (set! (-> a0-11 direction x) 0.0) + (set! (-> a0-11 direction y) 1.0) + (set! (-> a0-11 direction z) 0.0) + (set! (-> a0-11 direction w) 1.0) + ) + (let ((a0-12 (-> a3-0 dir1))) + (set! (-> a0-12 direction x) 0.0) + (set! (-> a0-12 direction y) -1.0) + (set! (-> a0-12 direction z) 0.0) + (set! (-> a0-12 direction w) 1.0) + ) + (set! (-> a3-0 dir0 extra x) 1.0) + (set! (-> a3-0 dir1 extra x) 1.0) + (set! (-> a3-0 ambi extra x) 1.0) + (set-vector! (-> a2-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a2-0 dir1 color) 0.02 0.97 0.0 1.0) + (set-vector! (-> a2-0 dir2 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a2-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-20 (-> a2-0 dir0))) + (set! (-> a0-20 direction x) 0.0) + (set! (-> a0-20 direction y) 1.0) + (set! (-> a0-20 direction z) 0.0) + (set! (-> a0-20 direction w) 1.0) + ) + (let ((a0-21 (-> a2-0 dir1))) + (set! (-> a0-21 direction x) 0.0) + (set! (-> a0-21 direction y) -1.0) + (set! (-> a0-21 direction z) 0.0) + (set! (-> a0-21 direction w) 1.0) + ) + (let ((a0-22 (-> a2-0 dir2))) + (set! (-> a0-22 direction x) 1.0) + (set! (-> a0-22 direction y) 0.0) + (set! (-> a0-22 direction z) 0.0) + (set! (-> a0-22 direction w) 1.0) + ) + (set! (-> a2-0 dir0 extra x) 1.0) + (set! (-> a2-0 dir1 extra x) 1.0) + (set! (-> a2-0 dir2 extra x) 1.0) + (set! (-> a2-0 ambi extra x) 1.0) + (set-vector! (-> a1-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a1-0 dir1 color) 0.02 0.97 0.0 1.0) + (set-vector! (-> a1-0 dir2 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a1-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-31 (-> a1-0 dir0))) + (set! (-> a0-31 direction x) 0.0) + (set! (-> a0-31 direction y) 1.0) + (set! (-> a0-31 direction z) 0.0) + (set! (-> a0-31 direction w) 1.0) + ) + (let ((a0-32 (-> a1-0 dir1))) + (set! (-> a0-32 direction x) 0.0) + (set! (-> a0-32 direction y) -1.0) + (set! (-> a0-32 direction z) 0.0) + (set! (-> a0-32 direction w) 1.0) + ) + (let ((a0-33 (-> a1-0 dir2))) + (set! (-> a0-33 direction x) -1.0) + (set! (-> a0-33 direction y) 0.0) + (set! (-> a0-33 direction z) 0.0) + (set! (-> a0-33 direction w) 1.0) + ) + (set! (-> a1-0 dir0 extra x) 1.0) + (set! (-> a1-0 dir1 extra x) 1.0) + (set! (-> a1-0 dir2 extra x) 1.0) + (set! (-> a1-0 ambi extra x) 1.0) + (set-vector! (-> v1-0 dir0 color) 0.9992 0.6868 0.7258 1.0) + (set-vector! (-> v1-0 dir1 color) 0.9992 0.6868 0.7258 1.0) + (set-vector! (-> v1-0 dir2 color) 0.9 0.9 0.9 1.0) + (set-vector! (-> v1-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-42 (-> v1-0 dir0))) + (set! (-> a0-42 direction x) 0.028) + (set! (-> a0-42 direction y) 0.731) + (set! (-> a0-42 direction z) -0.681) + (set! (-> a0-42 direction w) 1.0) + ) + (let ((a0-43 (-> v1-0 dir1))) + (set! (-> a0-43 direction x) -0.472) + (set! (-> a0-43 direction y) 0.719) + (set! (-> a0-43 direction z) 0.519) + (set! (-> a0-43 direction w) 1.0) + ) + (let ((a0-44 (-> v1-0 dir2))) + (set! (-> a0-44 direction x) 0.242) + (set! (-> a0-44 direction y) 0.786) + (set! (-> a0-44 direction z) 0.567) + (set! (-> a0-44 direction w) 1.0) + ) + (set! (-> v1-0 dir0 extra x) 1.0) + (set! (-> v1-0 dir1 extra x) 0.75) + (set! (-> v1-0 dir2 extra x) 0.0) + (set! (-> v1-0 ambi extra x) 1.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-hiphog time-of-day-proc ((arg0 mood-context) (arg1 float)) + (update-mood-interior arg0 #t) + (update-hiphog-lights arg0) + (set! (-> arg0 light-group 0 dir0 extra x) 0.0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (let ((s5-0 (the-as hiphog-states (-> arg0 state)))) + (if (not (-> s5-0 door)) + (set! (-> s5-0 door) (entity-by-name "hip-door-b-1")) + ) + (if (and (-> s5-0 door) (logtest? (-> s5-0 door extra perm status) (entity-perm-status subtask-complete))) + (set! (-> s5-0 door-target-interp) 1.0) + (set! (-> s5-0 door-target-interp) 0.0) + ) + (vector4-lerp! + (the-as vector (-> arg0 times)) + (the-as vector (-> arg0 times)) + (the-as vector (-> *level* level-default mood-context times)) + (-> s5-0 door-current-interp) + ) + (if (not (paused?)) + (seek! (-> s5-0 door-current-interp) (-> s5-0 door-target-interp) (seconds-per-frame)) + ) + ) + ) + ) + 0 + (none) + ) + +(deftype onintent-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + (flame2 flames-state :inline) + (green-flame flames-state :inline) + (totem0 flames-state :inline) + (totem1 flames-state :inline) + ) + ) + + +(defun update-onintent-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (set-vector! (-> v1-0 0 dir0 color) 0.822 0.694 0.613 1.0) + (set-vector! (-> v1-0 0 ambi color) 0.21 0.188 0.163 1.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-onintent time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-onintent-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-flames arg0 2 1 0 0.75 0.0009765625 2.0) + (update-mood-flames arg0 3 1 8 0.75 0.0009765625 3.0) + (update-mood-flames arg0 4 1 16 0.75 0.0009765625 4.0) + (update-mood-flames arg0 5 1 24 0.75 0.0009765625 2.0) + (update-mood-flames arg0 6 1 32 0.333 0.001953125 2.0) + (update-mood-flames arg0 7 1 40 0.75 0.0009765625 2.0) + ) + ) + 0 + (none) + ) + +(deftype oracle-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + (flame2 flames-state :inline) + (blue-flame flames-state :inline) + (door-entity entity) + (door-current float) + (door-target float) + (purple-flag symbol) + (purple float) + (purple-noise float) + ) + ) + + +(defun init-mood-oracle ((arg0 mood-context)) + (let ((v1-0 (-> arg0 state))) + (set! (-> v1-0 8) (the-as uint #f)) + (set! (-> v1-0 9) (the-as uint 0.0)) + (set! (-> v1-0 10) (the-as uint 0.0)) + (set! (-> v1-0 11) (the-as uint #f)) + ) + #f + ) + +(defbehavior update-mood-oracle time-of-day-proc ((arg0 mood-context)) + (copy-mood-exterior-ambi arg0 #f) + (update-mood-interior arg0 #t) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((s5-0 (the-as oracle-states (-> arg0 state)))) + (cond + ((-> s5-0 door-entity) + (if (logtest? (-> s5-0 door-entity extra perm status) (entity-perm-status subtask-complete)) + (set! (-> s5-0 door-target) 1.0) + (set! (-> s5-0 door-target) 0.0) + ) + ) + (else + (set! (-> s5-0 door-entity) (entity-by-name "oracle-door-1")) + ) + ) + (when (not (paused?)) + (seek! (-> s5-0 door-current) (-> s5-0 door-target) (* 4.0 (seconds-per-frame))) + (cond + ((-> s5-0 purple-flag) + (set! (-> s5-0 purple) (fmin 1.9 (+ (-> s5-0 purple) (* 2.0 (seconds-per-frame))))) + (set! (-> s5-0 purple-noise) (rand-vu-float-range 0.0 (-> s5-0 purple))) + ) + (else + (set! (-> s5-0 purple) (fmax 0.0 (- (-> s5-0 purple) (* 2.0 (seconds-per-frame))))) + (set! (-> s5-0 purple-noise) 0.0) + ) + ) + ) + (set! (-> arg0 times 0 w) (-> s5-0 door-current)) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-flames arg0 2 1 0 0.75 0.0009765625 2.0) + (update-mood-flames arg0 3 1 8 0.75 0.0009765625 3.0) + (update-mood-flames arg0 4 1 16 0.75 0.0009765625 4.0) + (update-mood-flames arg0 5 1 24 0.75 0.0009765625 2.0) + (set! (-> arg0 times 6 w) (+ (-> s5-0 purple) (-> s5-0 purple-noise))) + ) + ) + ) + 0 + (none) + ) + +(defun set-oracle-purple-flag! ((arg0 symbol)) + (let ((v1-1 (level-get *level* 'oracle))) + (when v1-1 + (set! (-> v1-1 mood-context state 11) (the-as uint arg0)) + arg0 + ) + ) + ) + +(deftype gungame-states (structure) + ((florescent florescent-state :inline) + ) + ) + + +(defun update-gungame-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (let ((a0-1 (-> v1-0 0))) + (set! (-> a0-1 dir0 direction x) 0.0) + (set! (-> a0-1 dir0 direction y) 0.955) + (set! (-> a0-1 dir0 direction z) 0.3) + (set! (-> a0-1 dir0 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 dir0 color) 1.0 1.0 0.7 1.0) + (set-vector! (-> v1-0 0 ambi color) 0.65 0.589 0.406 1.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-gungame time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-gungame-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + ) + ) + 0 + (none) + ) + +(deftype garage-states (structure) + () + ) + + +(defun init-mood-garage ((arg0 mood-context)) + (-> arg0 state) + #f + ) + +(defun update-garage-lights ((arg0 mood-context)) + (let ((a1-0 (-> *level* level-default mood-context)) + (a0-2 (-> arg0 current-fog)) + ) + (mem-copy! (the-as pointer a0-2) (the-as pointer a1-0) 48) + ) + (let ((s4-0 (-> *level* level-default mood-context light-group)) + (a1-1 (-> arg0 light-group)) + (s5-0 (-> arg0 light-group 1)) + (gp-1 (-> arg0 light-group 2)) + ) + (mem-copy! (the-as pointer s5-0) (the-as pointer a1-1) 192) + (set! (-> s5-0 dir0 extra x) 0.5) + (set! (-> s5-0 ambi extra x) 0.0) + (mem-copy! (the-as pointer gp-1) (the-as pointer s4-0) 192) + (set! (-> gp-1 dir0 extra x) 0.0) + (set! (-> gp-1 dir1 extra x) 0.0) + (set! (-> gp-1 dir2 extra x) 0.0) + ) + 0 + (none) + ) + +(defbehavior update-mood-garage time-of-day-proc ((arg0 mood-context) (arg1 object) (arg2 int)) + (copy-mood-exterior-ambi arg0 #f) + (update-mood-interior arg0 #t) + (update-garage-lights arg0) + (when (and (= (-> *level* level arg2 status) 'active) + (< (the-as uint (-> *time-of-day-context* mode)) (the-as uint 9)) + ) + (-> arg0 state) + (set! (-> arg0 times 6 w) 0.75) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + 0 + (none) + ) + +(deftype freehq-states (structure) + ((flicker float) + ) + ) + + +(defbehavior update-mood-freehq time-of-day-proc ((arg0 mood-context) (arg1 object) (arg2 int)) + (update-mood-interior-ambient arg0 #f 0.5) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((gp-0 (the-as object (-> arg0 state)))) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) (if (< 36408.89 (-> (the-as freehq-states gp-0) flicker)) + 0.95 + 1.0 + ) + ) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + (when (not (paused?)) + (let ((f0-9 (+ (-> (the-as freehq-states gp-0) flicker) (* 196608.0 (seconds-per-frame))))) + (set! (-> (the-as freehq-states gp-0) flicker) (- f0-9 (* (the float (the int (/ f0-9 65536.0))) 65536.0))) + ) + ) + ) + ) + ) + 0 + (none) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-data.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-data.gc index dfda7dd4dd..29f5a3f4a3 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-data.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-data.gc @@ -7,3 +7,3107 @@ ;; DECOMP BEGINS +(define *blow-tower-paths* + (new 'static 'boxed-array :type blow-tower-path + (new 'static 'blow-tower-path + :pts (new 'static 'inline-array vector 211 + (new 'static 'vector :x 2284351.0 :y 34682.88 :z -2180845.2 :w 1.0) + (new 'static 'vector :x 2298875.5 :y 30620.465 :z -2062090.1 :w 1.0) + (new 'static 'vector :x 2123357.8 :y 30620.465 :z -2032619.4 :w 1.0) + (new 'static 'vector :x 2072510.2 :y 30792.906 :z -2031001.4 :w 1.0) + (new 'static 'vector :x 1970392.9 :y 35240.344 :z -2030440.2 :w 1.0) + (new 'static 'vector :x 1862115.1 :y 30372.658 :z -2026831.6 :w 1.0) + (new 'static 'vector :x 1781915.5 :y 30626.61 :z -1851387.8 :w 1.0) + (new 'static 'vector :x 1751539.5 :y 34313.008 :z -1762180.9 :w 1.0) + (new 'static 'vector :x 1722179.4 :y 22528.0 :z -1597853.5 :w 1.0) + (new 'static 'vector :x 1856606.0 :y 33571.633 :z -1413353.2 :w 1.0) + (new 'static 'vector :x 2261196.5 :y 30626.61 :z -1380040.5 :w 1.0) + (new 'static 'vector :x 2311696.0 :y 30612.684 :z -1102212.9 :w 1.0) + (new 'static 'vector :x 2362576.5 :y 52257.17 :z -951111.56 :w 1.0) + (new 'static 'vector :x 2545942.2 :y 28762.52 :z -863088.56 :w 1.0) + (new 'static 'vector :x 2606096.2 :y 33117.797 :z -431804.38 :w 1.0) + (new 'static 'vector :x 2650144.5 :y 34299.082 :z -176179.6 :w 1.0) + (new 'static 'vector :x 2797666.0 :y 34299.082 :z -70122.28 :w 1.0) + (new 'static 'vector :x 2927390.2 :y 34313.008 :z -86630.39 :w 1.0) + (new 'static 'vector :x 2942742.2 :y 30579.096 :z -198454.45 :w 1.0) + (new 'static 'vector :x 2924150.5 :y 57072.43 :z -268357.6 :w 1.0) + (new 'static 'vector :x 2936139.5 :y 51054.18 :z -312295.78 :w 1.0) + (new 'static 'vector :x 3006385.8 :y 56557.562 :z -314998.75 :w 1.0) + (new 'static 'vector :x 3170877.0 :y 55698.223 :z -183322.6 :w 1.0) + (new 'static 'vector :x 3290824.2 :y 55698.223 :z -47499.258 :w 1.0) + (new 'static 'vector :x 3279101.5 :y 55698.223 :z 110277.83 :w 1.0) + (new 'static 'vector :x 3316756.2 :y 115752.54 :z 158990.31 :w 1.0) + (new 'static 'vector :x 3379027.5 :y 128403.85 :z 232089.17 :w 1.0) + (new 'static 'vector :x 3441991.2 :y 122452.77 :z 291556.5 :w 1.0) + (new 'static 'vector :x 3474099.8 :y 59388.72 :z 380325.84 :w 1.0) + (new 'static 'vector :x 3494739.5 :y 60537.645 :z 423456.72 :w 1.0) + (new 'static 'vector :x 3560107.8 :y 55702.316 :z 462741.47 :w 1.0) + (new 'static 'vector :x 3759947.5 :y 55697.812 :z 609275.8 :w 1.0) + (new 'static 'vector :x 3889282.8 :y 55692.082 :z 670547.9 :w 1.0) + (new 'static 'vector :x 4297399.5 :y 55698.223 :z 806838.2 :w 1.0) + (new 'static 'vector :x 4368711.0 :y 60867.78 :z 881168.3 :w 1.0) + (new 'static 'vector :x 4296171.0 :y 59382.574 :z 973508.5 :w 1.0) + (new 'static 'vector :x 4152360.5 :y 55317.703 :z 1028317.06 :w 1.0) + (new 'static 'vector :x 3908890.2 :y 59382.574 :z 994672.56 :w 1.0) + (new 'static 'vector :x 3627044.5 :y 63075.938 :z 962285.5 :w 1.0) + (new 'static 'vector :x 3488636.5 :y 55672.824 :z 1043791.75 :w 1.0) + (new 'static 'vector :x 3414597.2 :y 59378.477 :z 1216995.1 :w 1.0) + (new 'static 'vector :x 3391438.5 :y 59384.62 :z 1344753.5 :w 1.0) + (new 'static 'vector :x 3496771.2 :y 59382.574 :z 1450377.0 :w 1.0) + (new 'static 'vector :x 3672805.0 :y 59382.574 :z 1480912.8 :w 1.0) + (new 'static 'vector :x 3948596.8 :y 59382.574 :z 1455550.2 :w 1.0) + (new 'static 'vector :x 4141342.2 :y 64478.406 :z 1446076.2 :w 1.0) + (new 'static 'vector :x 4313169.0 :y 59386.26 :z 1333575.5 :w 1.0) + (new 'static 'vector :x 4430519.5 :y 59386.26 :z 1387851.6 :w 1.0) + (new 'static 'vector :x 4504616.0 :y 55251.625 :z 1557544.8 :w 1.0) + (new 'static 'vector :x 4595342.5 :y 63128.574 :z 1692610.4 :w 1.0) + (new 'static 'vector :x 4610825.5 :y 55264.086 :z 1791025.0 :w 1.0) + (new 'static 'vector :x 4510883.0 :y 56889.023 :z 1851731.8 :w 1.0) + (new 'static 'vector :x 4208311.5 :y 56889.023 :z 1825701.8 :w 1.0) + (new 'static 'vector :x 4068638.2 :y 55270.098 :z 1798389.6 :w 1.0) + (new 'static 'vector :x 3952295.5 :y 56889.023 :z 1860304.8 :w 1.0) + (new 'static 'vector :x 3932602.0 :y 55270.098 :z 1920982.9 :w 1.0) + (new 'static 'vector :x 3984486.0 :y 55270.098 :z 2042687.2 :w 1.0) + (new 'static 'vector :x 4008124.0 :y 55270.098 :z 2246307.5 :w 1.0) + (new 'static 'vector :x 4199136.5 :y 56889.023 :z 2269486.8 :w 1.0) + (new 'static 'vector :x 4348435.5 :y 55270.098 :z 2299633.2 :w 1.0) + (new 'static 'vector :x 4471234.0 :y 55270.098 :z 2318339.8 :w 1.0) + (new 'static 'vector :x 4558765.5 :y 55270.098 :z 2349788.8 :w 1.0) + (new 'static 'vector :x 4634009.0 :y 55270.098 :z 2461978.2 :w 1.0) + (new 'static 'vector :x 4572855.5 :y 55270.098 :z 2657312.5 :w 1.0) + (new 'static 'vector :x 4402830.5 :y 55859.625 :z 2685579.0 :w 1.0) + (new 'static 'vector :x 4297072.0 :y 56823.1 :z 2609430.2 :w 1.0) + (new 'static 'vector :x 4189388.5 :y 55270.098 :z 2603003.5 :w 1.0) + (new 'static 'vector :x 4084485.8 :y 55270.098 :z 2595294.8 :w 1.0) + (new 'static 'vector :x 3781357.2 :y 55270.098 :z 2575290.0 :w 1.0) + (new 'static 'vector :x 3735977.5 :y 55270.098 :z 2575462.0 :w 1.0) + (new 'static 'vector :x 3625058.0 :y 55270.098 :z 2602192.5 :w 1.0) + (new 'static 'vector :x 3502182.0 :y 55270.098 :z 2680033.0 :w 1.0) + (new 'static 'vector :x 3479101.0 :y 56889.023 :z 2816200.2 :w 1.0) + (new 'static 'vector :x 3505852.0 :y 55859.625 :z 2944884.2 :w 1.0) + (new 'static 'vector :x 3519782.5 :y 55270.098 :z 3078045.2 :w 1.0) + (new 'static 'vector :x 3522334.2 :y 55679.38 :z 3287269.0 :w 1.0) + (new 'static 'vector :x 3534425.8 :y 59365.78 :z 3447136.0 :w 1.0) + (new 'static 'vector :x 3626749.5 :y 59365.78 :z 3496554.0 :w 1.0) + (new 'static 'vector :x 3744694.0 :y 59365.78 :z 3490537.0 :w 1.0) + (new 'static 'vector :x 3864776.2 :y 59365.78 :z 3492318.8 :w 1.0) + (new 'static 'vector :x 3925475.0 :y 59365.78 :z 3519803.0 :w 1.0) + (new 'static 'vector :x 3928440.5 :y 59365.78 :z 3613687.5 :w 1.0) + (new 'static 'vector :x 3928313.5 :y 55679.38 :z 3668188.8 :w 1.0) + (new 'static 'vector :x 3923934.8 :y 57298.527 :z 3873595.0 :w 1.0) + (new 'static 'vector :x 3926290.0 :y 55679.38 :z 4071341.8 :w 1.0) + (new 'static 'vector :x 3932016.2 :y 55679.38 :z 4189757.0 :w 1.0) + (new 'static 'vector :x 3912310.5 :y 55679.38 :z 4367277.5 :w 1.0) + (new 'static 'vector :x 3809218.2 :y 55679.38 :z 4473118.0 :w 1.0) + (new 'static 'vector :x 3655073.5 :y 55679.38 :z 4506009.0 :w 1.0) + (new 'static 'vector :x 3451191.0 :y 55679.38 :z 4479180.0 :w 1.0) + (new 'static 'vector :x 3369152.2 :y 56247.086 :z 4516412.5 :w 1.0) + (new 'static 'vector :x 3358433.0 :y 55679.38 :z 4653915.5 :w 1.0) + (new 'static 'vector :x 3333517.0 :y 55679.38 :z 4770651.5 :w 1.0) + (new 'static 'vector :x 3272965.8 :y 55679.38 :z 4828528.0 :w 1.0) + (new 'static 'vector :x 3103878.8 :y 55667.91 :z 4857323.0 :w 1.0) + (new 'static 'vector :x 3046293.2 :y 40734.305 :z 5003959.5 :w 1.0) + (new 'static 'vector :x 3015560.8 :y 40971.875 :z 5205360.0 :w 1.0) + (new 'static 'vector :x 2987519.8 :y 40469.703 :z 5411757.5 :w 1.0) + (new 'static 'vector :x 2995908.2 :y 40469.703 :z 5495848.5 :w 1.0) + (new 'static 'vector :x 2941652.5 :y 54501.78 :z 5584485.5 :w 1.0) + (new 'static 'vector :x 2763075.2 :y 54503.01 :z 5716991.5 :w 1.0) + (new 'static 'vector :x 2578927.2 :y 54503.01 :z 5846302.0 :w 1.0) + (new 'static 'vector :x 2448846.5 :y 54498.504 :z 5947432.0 :w 1.0) + (new 'static 'vector :x 2381623.0 :y 40217.39 :z 6009159.0 :w 1.0) + (new 'static 'vector :x 2304003.8 :y 40153.492 :z 6071377.0 :w 1.0) + (new 'static 'vector :x 2207207.0 :y 22528.0 :z 6131097.0 :w 1.0) + (new 'static 'vector :x 2073190.2 :y 22528.0 :z 6246112.5 :w 1.0) + (new 'static 'vector :x 1892274.0 :y 22528.0 :z 6323568.0 :w 1.0) + (new 'static 'vector :x 1656377.1 :y 22528.0 :z 6414786.0 :w 1.0) + (new 'static 'vector :x 1451335.5 :y 22528.0 :z 6523657.5 :w 1.0) + (new 'static 'vector :x 1173213.0 :y 22528.0 :z 6515998.0 :w 1.0) + (new 'static 'vector :x 839057.3 :y 22528.0 :z 6422650.0 :w 1.0) + (new 'static 'vector :x 482090.97 :y 22528.0 :z 6302023.0 :w 1.0) + (new 'static 'vector :x 338103.88 :y 22528.0 :z 6004162.0 :w 1.0) + (new 'static 'vector :x 58911.94 :y 22528.0 :z 5562203.5 :w 1.0) + (new 'static 'vector :x -433536.97 :y 54653.742 :z 5685493.0 :w 1.0) + (new 'static 'vector :x -571903.94 :y 22528.0 :z 6040329.5 :w 1.0) + (new 'static 'vector :x -758407.06 :y 47869.13 :z 6212238.5 :w 1.0) + (new 'static 'vector :x -836186.0 :y 54528.816 :z 6277774.5 :w 1.0) + (new 'static 'vector :x -993402.8 :y 54571.004 :z 6490357.0 :w 1.0) + (new 'static 'vector :x -980164.5 :y 54371.12 :z 6730710.5 :w 1.0) + (new 'static 'vector :x -700047.25 :y 22528.0 :z 6827212.0 :w 1.0) + (new 'static 'vector :x -328246.44 :y 22528.0 :z 6976347.5 :w 1.0) + (new 'static 'vector :x -31220.527 :y 61626.363 :z 7261429.0 :w 1.0) + (new 'static 'vector :x 140720.92 :y 61626.363 :z 7397334.5 :w 1.0) + (new 'static 'vector :x 355214.9 :y 61626.363 :z 7370997.0 :w 1.0) + (new 'static 'vector :x 619790.25 :y 22528.0 :z 7325081.0 :w 1.0) + (new 'static 'vector :x 816648.1 :y 22528.0 :z 7138713.0 :w 1.0) + (new 'static 'vector :x 873496.5 :y 22528.0 :z 7018413.5 :w 1.0) + (new 'static 'vector :x 1169989.5 :y 36331.11 :z 6973521.0 :w 1.0) + (new 'static 'vector :x 1433804.6 :y 54399.793 :z 6944275.5 :w 1.0) + (new 'static 'vector :x 1534435.1 :y 54398.973 :z 6996827.5 :w 1.0) + (new 'static 'vector :x 1609674.6 :y 54391.19 :z 7095090.5 :w 1.0) + (new 'static 'vector :x 1570131.8 :y 54396.105 :z 7279410.5 :w 1.0) + (new 'static 'vector :x 1415901.0 :y 54392.008 :z 7390944.5 :w 1.0) + (new 'static 'vector :x 1240964.9 :y 54396.926 :z 7352974.5 :w 1.0) + (new 'static 'vector :x 1168371.5 :y 54410.85 :z 7214161.0 :w 1.0) + (new 'static 'vector :x 1239793.5 :y 54392.418 :z 6961110.5 :w 1.0) + (new 'static 'vector :x 1520422.8 :y 54427.234 :z 7036354.0 :w 1.0) + (new 'static 'vector :x 1608384.4 :y 54392.418 :z 7180164.5 :w 1.0) + (new 'static 'vector :x 1508990.8 :y 54388.73 :z 7364648.0 :w 1.0) + (new 'static 'vector :x 1320267.6 :y 54385.863 :z 7392787.5 :w 1.0) + (new 'static 'vector :x 970325.94 :y 22528.0 :z 7280885.0 :w 1.0) + (new 'static 'vector :x 759111.56 :y 93739.41 :z 7153622.5 :w 1.0) + (new 'static 'vector :x 270273.28 :y 54450.17 :z 7012843.0 :w 1.0) + (new 'static 'vector :x -20518.5 :y 56721.812 :z 6964469.0 :w 1.0) + (new 'static 'vector :x -147873.77 :y 56250.363 :z 6875422.0 :w 1.0) + (new 'static 'vector :x -367748.66 :y 22528.0 :z 6666526.0 :w 1.0) + (new 'static 'vector :x -523763.66 :y 22528.0 :z 6410034.5 :w 1.0) + (new 'static 'vector :x -666156.94 :y 22528.0 :z 6231244.0 :w 1.0) + (new 'static 'vector :x -758636.44 :y 40622.484 :z 6130318.5 :w 1.0) + (new 'static 'vector :x -839561.1 :y 40706.453 :z 6041886.0 :w 1.0) + (new 'static 'vector :x -1048207.25 :y 54494.41 :z 5860105.5 :w 1.0) + (new 'static 'vector :x -1284992.9 :y 54497.688 :z 5717687.5 :w 1.0) + (new 'static 'vector :x -1451720.5 :y 40467.656 :z 5546475.0 :w 1.0) + (new 'static 'vector :x -1462525.8 :y 40434.07 :z 5409750.5 :w 1.0) + (new 'static 'vector :x -1466220.4 :y 40467.656 :z 5259836.5 :w 1.0) + (new 'static 'vector :x -1476153.1 :y 40467.656 :z 5171854.5 :w 1.0) + (new 'static 'vector :x -1495080.8 :y 40467.656 :z 5037506.0 :w 1.0) + (new 'static 'vector :x -1526550.4 :y 44102.855 :z 4963491.0 :w 1.0) + (new 'static 'vector :x -1580605.2 :y 65972.22 :z 4898569.5 :w 1.0) + (new 'static 'vector :x -1569705.8 :y 64586.95 :z 4835778.0 :w 1.0) + (new 'static 'vector :x -1547104.1 :y 64045.05 :z 4770364.5 :w 1.0) + (new 'static 'vector :x -1523396.4 :y 22937.6 :z 4600421.5 :w 1.0) + (new 'static 'vector :x -1443454.8 :y 22937.6 :z 4442398.0 :w 1.0) + (new 'static 'vector :x -1310351.1 :y 22937.6 :z 4373749.0 :w 1.0) + (new 'static 'vector :x -1199173.5 :y 22937.6 :z 4341554.5 :w 1.0) + (new 'static 'vector :x -1059688.2 :y 22937.6 :z 4497817.0 :w 1.0) + (new 'static 'vector :x -915230.6 :y 22937.6 :z 4750704.0 :w 1.0) + (new 'static 'vector :x -826503.06 :y 22937.6 :z 4797398.5 :w 1.0) + (new 'static 'vector :x -623235.0 :y 61227.41 :z 4834917.5 :w 1.0) + (new 'static 'vector :x -504868.8 :y 57472.2 :z 4808867.0 :w 1.0) + (new 'static 'vector :x -355772.78 :y 61302.777 :z 4752219.5 :w 1.0) + (new 'static 'vector :x -244779.8 :y 62188.332 :z 4699872.5 :w 1.0) + (new 'static 'vector :x -145686.1 :y 61825.43 :z 4624219.5 :w 1.0) + (new 'static 'vector :x -79097.84 :y 67002.77 :z 4562944.0 :w 1.0) + (new 'static 'vector :x 4245.5034 :y 60411.9 :z 4453826.0 :w 1.0) + (new 'static 'vector :x 61986.402 :y 59705.34 :z 4324843.0 :w 1.0) + (new 'static 'vector :x 106796.23 :y 53560.11 :z 4194876.5 :w 1.0) + (new 'static 'vector :x 131281.69 :y 65499.95 :z 4053663.2 :w 1.0) + (new 'static 'vector :x 124079.3 :y 75325.84 :z 3903819.5 :w 1.0) + (new 'static 'vector :x 68268.43 :y 73226.64 :z 3797831.2 :w 1.0) + (new 'static 'vector :x -3556.5564 :y 70732.586 :z 3740389.0 :w 1.0) + (new 'static 'vector :x -51044.348 :y 64075.77 :z 3738799.8 :w 1.0) + (new 'static 'vector :x -193931.23 :y 22937.6 :z 3782618.8 :w 1.0) + (new 'static 'vector :x -388721.0 :y 22937.6 :z 3807141.5 :w 1.0) + (new 'static 'vector :x -513753.03 :y 22937.6 :z 3824209.5 :w 1.0) + (new 'static 'vector :x -624066.44 :y 22528.0 :z 3790192.2 :w 1.0) + (new 'static 'vector :x -732950.44 :y 22528.0 :z 3711454.8 :w 1.0) + (new 'static 'vector :x -756944.8 :y 22528.0 :z 3652534.0 :w 1.0) + (new 'static 'vector :x -778874.8 :y 22937.6 :z 3529694.8 :w 1.0) + (new 'static 'vector :x -711978.94 :y 22937.6 :z 3396726.5 :w 1.0) + (new 'static 'vector :x -583700.4 :y 22937.6 :z 3276033.8 :w 1.0) + (new 'static 'vector :x -491483.1 :y 22937.6 :z 3169419.0 :w 1.0) + (new 'static 'vector :x -408220.0 :y 22937.6 :z 3063893.8 :w 1.0) + (new 'static 'vector :x -374598.4 :y 22937.6 :z 2928680.5 :w 1.0) + (new 'static 'vector :x -421175.25 :y 22937.6 :z 2821791.2 :w 1.0) + (new 'static 'vector :x -526925.75 :y 22937.6 :z 2743296.0 :w 1.0) + (new 'static 'vector :x -609148.8 :y 22937.6 :z 2712968.8 :w 1.0) + (new 'static 'vector :x -688095.1 :y 22937.6 :z 2718220.0 :w 1.0) + (new 'static 'vector :x -833359.75 :y 22937.6 :z 2786766.5 :w 1.0) + (new 'static 'vector :x -888803.25 :y 22937.6 :z 2859769.5 :w 1.0) + (new 'static 'vector :x -955314.06 :y 22937.6 :z 2945212.0 :w 1.0) + (new 'static 'vector :x -998145.94 :y 22937.6 :z 3066683.0 :w 1.0) + (new 'static 'vector :x -1066622.8 :y 42519.344 :z 3163508.2 :w 1.0) + (new 'static 'vector :x -1158598.5 :y 55257.492 :z 3247353.5 :w 1.0) + (new 'static 'vector :x -1304465.2 :y 22937.6 :z 3312373.5 :w 1.0) + (new 'static 'vector :x -1441755.0 :y 22937.19 :z 3236060.8 :w 1.0) + (new 'static 'vector :x -1497669.5 :y 22937.6 :z 3002543.8 :w 1.0) + (new 'static 'vector :x -1452687.1 :y 22937.6 :z 2841079.5 :w 1.0) + (new 'static 'vector :x -1321074.5 :y 22937.6 :z 2646781.5 :w 1.0) + ) + :node-info (new 'static 'inline-array blow-tower-node-info 211 + (new 'static 'blow-tower-node-info :speed-scalar 0.5223 :event-id #x3e8) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7991 + :accum-dist 119708.98 + :accum-time 181157.69 + :accum-time-percentage 0.0049 + :event-id #x44c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 297683.66 + :accum-time 378995.28 + :accum-time-percentage 0.0102 + :event-id #x4b0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 348557.16 + :accum-time 429868.78 + :accum-time-percentage 0.0116 + :event-id #x514 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 450772.84 + :accum-time 532084.44 + :accum-time-percentage 0.0144 + :event-id #x578 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 559219.94 + :accum-time 628929.5 + :accum-time-percentage 0.017 + :event-id #x5dc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 752125.56 + :accum-time 779849.25 + :accum-time-percentage 0.0211 + :event-id #x640 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 846434.4 + :accum-time 861262.25 + :accum-time-percentage 0.0234 + :event-id #x672 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 1013779.44 + :accum-time 1010704.2 + :accum-time-percentage 0.0274 + :event-id #x6a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1242324.4 + :accum-time 1214798.6 + :accum-time-percentage 0.033 + :event-id #x708 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 1648294.5 + :accum-time 1583929.5 + :accum-time-percentage 0.043 + :event-id #x76c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 1930674.2 + :accum-time 1808147.2 + :accum-time-percentage 0.0491 + :event-id #x7d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 2091574.5 + :accum-time 1937968.2 + :accum-time-percentage 0.0526 + :event-id #x834 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6359 + :accum-dist 2296325.5 + :accum-time 2084449.1 + :accum-time-percentage 0.0566 + :event-id #x898 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 2731806.0 + :accum-time 2356999.2 + :accum-time-percentage 0.064 + :event-id #x8fc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 2991200.8 + :accum-time 2532337.0 + :accum-time-percentage 0.0688 + :event-id #x960 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 3172889.2 + :accum-time 2664052.5 + :accum-time-percentage 0.0723 + :event-id #x992 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3407 + :accum-dist 3303659.5 + :accum-time 2760905.0 + :accum-time-percentage 0.075 + :event-id #x9c4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4391 + :accum-dist 3416594.0 + :accum-time 2842152.8 + :accum-time-percentage 0.0772 + :event-id #xa28 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 3493626.2 + :accum-time 2905314.5 + :accum-time-percentage 0.0789 + :event-id #xa8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0607 + :accum-dist 3539566.5 + :accum-time 2949899.2 + :accum-time-percentage 0.0801 + :event-id #xaf0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5191 + :accum-dist 3610079.8 + :accum-time 3004560.5 + :accum-time-percentage 0.0816 + :event-id #xb54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5191 + :accum-dist 3820785.0 + :accum-time 3143255.2 + :accum-time-percentage 0.0854 + :event-id #xbb8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4001990.0 + :accum-time 3287114.2 + :accum-time-percentage 0.0893 + :event-id #xc1c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3351 + :accum-dist 4160201.8 + :accum-time 3422615.8 + :accum-time-percentage 0.093 + :event-id #xc80 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4246209.0 + :accum-time 3496277.2 + :accum-time-percentage 0.095 + :event-id #xce4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4343065.5 + :accum-time 3593133.8 + :accum-time-percentage 0.0976 + :event-id #xd48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 4429876.5 + :accum-time 3669297.0 + :accum-time-percentage 0.0997 + :event-id #xd54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4543401.5 + :accum-time 3768897.8 + :accum-time-percentage 0.1024 + :event-id #xd60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4591230.0 + :accum-time 3816726.2 + :accum-time-percentage 0.1037 + :event-id #xd6c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7567 + :accum-dist 4667647.5 + :accum-time 3872165.5 + :accum-time-percentage 0.1052 + :event-id #xd7a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4979 + :accum-dist 4915454.0 + :accum-time 4024436.8 + :accum-time-percentage 0.1093 + :event-id #xdac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2579 + :accum-dist 5058568.5 + :accum-time 4128293.2 + :accum-time-percentage 0.1121 + :event-id #xe10 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9595 + :accum-dist 5488840.5 + :accum-time 4516345.0 + :accum-time-percentage 0.1227 + :event-id #xe74 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8395 + :accum-dist 5591976.0 + :accum-time 4630990.5 + :accum-time-percentage 0.1258 + :event-id #xe9c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9991 + :accum-dist 5709410.5 + :accum-time 4758720.0 + :accum-time-percentage 0.1293 + :event-id #xec4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4979 + :accum-dist 5863364.5 + :accum-time 4882021.0 + :accum-time-percentage 0.1326 + :event-id #xeec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5779 + :accum-dist 6109181.5 + :accum-time 5041850.0 + :accum-time-percentage 0.137 + :event-id #xf14 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5591 + :accum-dist 6392905.5 + :accum-time 5222727.0 + :accum-time-percentage 0.1419 + :event-id #xf3c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3379 + :accum-dist 6553699.5 + :accum-time 5333726.5 + :accum-time-percentage 0.1449 + :event-id #xf64 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 6742100.5 + :accum-time 5472440.0 + :accum-time-percentage 0.1487 + :event-id #xf8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2583 + :accum-dist 6871940.5 + :accum-time 5570923.0 + :accum-time-percentage 0.1513 + :event-id #xfb4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 7021109.0 + :accum-time 5692296.5 + :accum-time-percentage 0.1546 + :event-id #xfdc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1567 + :accum-dist 7199771.5 + :accum-time 5843936.5 + :accum-time-percentage 0.1588 + :event-id #x1004 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7476726.5 + :accum-time 6100756.5 + :accum-time-percentage 0.1657 + :event-id #x102c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7669771.5 + :accum-time 6293801.5 + :accum-time-percentage 0.171 + :event-id #x1054 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 7875214.0 + :accum-time 6465060.5 + :accum-time-percentage 0.1756 + :event-id #x107c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2391 + :accum-dist 8004508.0 + :accum-time 6563069.5 + :accum-time-percentage 0.1783 + :event-id #x10a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2767 + :accum-dist 8189719.0 + :accum-time 6710296.0 + :accum-time-percentage 0.1823 + :event-id #x10cc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2579 + :accum-dist 8352617.5 + :accum-time 6838825.5 + :accum-time-percentage 0.1858 + :event-id #x1130 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3779 + :accum-dist 8452552.0 + :accum-time 6914648.0 + :accum-time-percentage 0.1879 + :event-id #x1194 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4975 + :accum-dist 8569498.0 + :accum-time 6995984.5 + :accum-time-percentage 0.1901 + :event-id #x11f8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 8873187.0 + :accum-time 7208592.0 + :accum-time-percentage 0.1958 + :event-id #x125c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9015514.0 + :accum-time 7329249.0 + :accum-time-percentage 0.1991 + :event-id #x12c0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9147315.0 + :accum-time 7461050.0 + :accum-time-percentage 0.2027 + :event-id #x1324 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9211129.0 + :accum-time 7524864.0 + :accum-time-percentage 0.2044 + :event-id #x1356 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9343431.0 + :accum-time 7657166.0 + :accum-time-percentage 0.208 + :event-id #x1388 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 9548418.0 + :accum-time 7850586.5 + :accum-time-percentage 0.2133 + :event-id #x13ec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9740838.0 + :accum-time 8032149.0 + :accum-time-percentage 0.2182 + :event-id #x1450 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9893158.0 + :accum-time 8184469.0 + :accum-time-percentage 0.2224 + :event-id #x14b4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10017373.0 + :accum-time 8308684.0 + :accum-time-percentage 0.2257 + :event-id #x14e6 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10110382.0 + :accum-time 8401693.0 + :accum-time-percentage 0.2283 + :event-id #x1518 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10245467.0 + :accum-time 8536778.0 + :accum-time-percentage 0.2319 + :event-id #x157c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10450150.0 + :accum-time 8741461.0 + :accum-time-percentage 0.2375 + :event-id #x15e0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10622509.0 + :accum-time 8913820.0 + :accum-time-percentage 0.2422 + :event-id #x1644 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10752833.0 + :accum-time 9044144.0 + :accum-time-percentage 0.2457 + :event-id #x16a8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10860719.0 + :accum-time 9152030.0 + :accum-time-percentage 0.2487 + :event-id #x170c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 10965904.0 + :accum-time 9239698.0 + :accum-time-percentage 0.251 + :event-id #x1770 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11269690.0 + :accum-time 9492896.0 + :accum-time-percentage 0.2579 + :event-id #x17d4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11315070.0 + :accum-time 9538276.0 + :accum-time-percentage 0.2592 + :event-id #x1838 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11429165.0 + :accum-time 9652370.0 + :accum-time-percentage 0.2623 + :event-id #x189c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11574620.0 + :accum-time 9797826.0 + :accum-time-percentage 0.2662 + :event-id #x1900 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11712740.0 + :accum-time 9935945.0 + :accum-time-percentage 0.27 + :event-id #x1964 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11844179.0 + :accum-time 10067384.0 + :accum-time-percentage 0.2735 + :event-id #x19c8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11978066.0 + :accum-time 10201272.0 + :accum-time-percentage 0.2772 + :event-id #x1a2c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12187305.0 + :accum-time 10410511.0 + :accum-time-percentage 0.2829 + :event-id #x1a90 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7995 + :accum-dist 12347670.0 + :accum-time 10588733.0 + :accum-time-percentage 0.2877 + :event-id #x1af4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7627 + :accum-dist 12452388.0 + :accum-time 10722779.0 + :accum-time-percentage 0.2913 + :event-id #x1b58 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12570485.0 + :accum-time 10856765.0 + :accum-time-percentage 0.295 + :event-id #x1bbc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12690580.0 + :accum-time 10976861.0 + :accum-time-percentage 0.2982 + :event-id #x1c20 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12757210.0 + :accum-time 11043491.0 + :accum-time-percentage 0.3001 + :event-id #x1c41 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12851141.0 + :accum-time 11137423.0 + :accum-time-percentage 0.3026 + :event-id #x1c62 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12905766.0 + :accum-time 11192048.0 + :accum-time-percentage 0.3041 + :event-id #x1c84 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 13111225.0 + :accum-time 11364818.0 + :accum-time-percentage 0.3088 + :event-id #x1ce8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13308993.0 + :accum-time 11531120.0 + :accum-time-percentage 0.3133 + :event-id #x1d4c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13427545.0 + :accum-time 11649673.0 + :accum-time-percentage 0.3165 + :event-id #x1db0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13606155.0 + :accum-time 11828283.0 + :accum-time-percentage 0.3214 + :event-id #x1e14 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13753905.0 + :accum-time 11976033.0 + :accum-time-percentage 0.3254 + :event-id #x1e78 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13911520.0 + :accum-time 12133646.0 + :accum-time-percentage 0.3297 + :event-id #x1edc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 14117160.0 + :accum-time 12310953.0 + :accum-time-percentage 0.3345 + :event-id #x1f40 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 14207254.0 + :accum-time 12380276.0 + :accum-time-percentage 0.3364 + :event-id #x1fa4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3383 + :accum-dist 14345175.0 + :accum-time 12485640.0 + :accum-time-percentage 0.3392 + :event-id #x2008 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 14464540.0 + :accum-time 12575455.0 + :accum-time-percentage 0.3417 + :event-id #x206c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 14548301.0 + :accum-time 12643025.0 + :accum-time-percentage 0.3435 + :event-id #x20d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 14719823.0 + :accum-time 12778188.0 + :accum-time-percentage 0.3472 + :event-id #x2134 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 14878068.0 + :accum-time 12892990.0 + :accum-time-percentage 0.3503 + :event-id #x2198 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15081798.0 + :accum-time 13064308.0 + :accum-time-percentage 0.355 + :event-id #x21fc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15290091.0 + :accum-time 13272600.0 + :accum-time-percentage 0.3606 + :event-id #x2260 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15374600.0 + :accum-time 13357109.0 + :accum-time-percentage 0.3629 + :event-id #x22c4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15479468.0 + :accum-time 13461975.0 + :accum-time-percentage 0.3658 + :event-id #x2328 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15701835.0 + :accum-time 13684344.0 + :accum-time-percentage 0.3718 + :event-id #x238c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15926849.0 + :accum-time 13909358.0 + :accum-time-percentage 0.3779 + :event-id #x23f0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16091615.0 + :accum-time 14074125.0 + :accum-time-percentage 0.3824 + :event-id #x2454 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16183991.0 + :accum-time 14166500.0 + :accum-time-percentage 0.3849 + :event-id #x24b8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16283468.0 + :accum-time 14265976.0 + :accum-time-percentage 0.3876 + :event-id #x251c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16398561.0 + :accum-time 14381070.0 + :accum-time-percentage 0.3908 + :event-id #x2580 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 16575165.0 + :accum-time 14498089.0 + :accum-time-percentage 0.3939 + :event-id #x25e4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16771965.0 + :accum-time 14628488.0 + :accum-time-percentage 0.3975 + :event-id #x2648 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 17024884.0 + :accum-time 14881406.0 + :accum-time-percentage 0.4044 + :event-id #x26ac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9595 + :accum-dist 17257036.0 + :accum-time 15118345.0 + :accum-time-percentage 0.4108 + :event-id #x2710 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6763 + :accum-dist 17535260.0 + :accum-time 15329441.0 + :accum-time-percentage 0.4165 + :event-id #x2774 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0123 + :accum-dist 17882210.0 + :accum-time 15517550.0 + :accum-time-percentage 0.4216 + :event-id #x27d8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0131 + :accum-dist 18259006.0 + :accum-time 15704749.0 + :accum-time-percentage 0.4267 + :event-id #x283c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 18589840.0 + :accum-time 15889945.0 + :accum-time-percentage 0.4318 + :event-id #x28a0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5603 + :accum-dist 19112600.0 + :accum-time 16225045.0 + :accum-time-percentage 0.4409 + :event-id #x2904 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4467 + :accum-dist 19621260.0 + :accum-time 16563341.0 + :accum-time-percentage 0.4501 + :event-id #x2968 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4055 + :accum-dist 20003472.0 + :accum-time 16831334.0 + :accum-time-percentage 0.4573 + :event-id #x29cc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 20258380.0 + :accum-time 17024066.0 + :accum-time-percentage 0.4626 + :event-id #x2a30 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 20360304.0 + :accum-time 17102492.0 + :accum-time-percentage 0.4647 + :event-id #x2a32 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20624706.0 + :accum-time 17299864.0 + :accum-time-percentage 0.4701 + :event-id #x2a34 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20865420.0 + :accum-time 17482278.0 + :accum-time-percentage 0.475 + :event-id #x2a36 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 21163400.0 + :accum-time 17708088.0 + :accum-time-percentage 0.4812 + :event-id #x2a38 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4795 + :accum-dist 21563998.0 + :accum-time 17994308.0 + :accum-time-percentage 0.4889 + :event-id #x2a3a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 21977548.0 + :accum-time 18327868.0 + :accum-time-percentage 0.498 + :event-id #x2a3c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 22196712.0 + :accum-time 18547034.0 + :accum-time-percentage 0.504 + :event-id #x2a3e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 22412818.0 + :accum-time 18763138.0 + :accum-time-percentage 0.5098 + :event-id #x2a40 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 22684178.0 + :accum-time 18997108.0 + :accum-time-percentage 0.5162 + :event-id #x2a42 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 22955260.0 + :accum-time 19196520.0 + :accum-time-percentage 0.5216 + :event-id #x2a44 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 23088312.0 + :accum-time 19294410.0 + :accum-time-percentage 0.5243 + :event-id #x2a46 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 23388500.0 + :accum-time 19515266.0 + :accum-time-percentage 0.5303 + :event-id #x2a48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4383 + :accum-dist 23654544.0 + :accum-time 19702778.0 + :accum-time-percentage 0.5354 + :event-id #x2a4a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3587 + :accum-dist 23768070.0 + :accum-time 19783948.0 + :accum-time-percentage 0.5376 + :event-id #x2a4c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4383 + :accum-dist 23891830.0 + :accum-time 19872436.0 + :accum-time-percentage 0.54 + :event-id #x2a4e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 24080344.0 + :accum-time 20007204.0 + :accum-time-percentage 0.5436 + :event-id #x2a50 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3987 + :accum-dist 24270676.0 + :accum-time 20145224.0 + :accum-time-percentage 0.5474 + :event-id #x2a52 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4391 + :accum-dist 24449684.0 + :accum-time 20271372.0 + :accum-time-percentage 0.5508 + :event-id #x2a54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 24606330.0 + :accum-time 20388324.0 + :accum-time-percentage 0.554 + :event-id #x2a56 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 24869268.0 + :accum-time 20590644.0 + :accum-time-percentage 0.5595 + :event-id #x2a58 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25159808.0 + :accum-time 20810816.0 + :accum-time-percentage 0.5655 + :event-id #x2a5a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25328384.0 + :accum-time 20942558.0 + :accum-time-percentage 0.5691 + :event-id #x2a5c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25537940.0 + :accum-time 21106320.0 + :accum-time-percentage 0.5735 + :event-id #x2a5e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 25728748.0 + :accum-time 21253140.0 + :accum-time-percentage 0.5775 + :event-id #x2a60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26097524.0 + :accum-time 21532600.0 + :accum-time-percentage 0.5851 + :event-id #x2a62 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26354190.0 + :accum-time 21727104.0 + :accum-time-percentage 0.5904 + :event-id #x2a64 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 26864410.0 + :accum-time 22119700.0 + :accum-time-percentage 0.6011 + :event-id #x2a66 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4395 + :accum-dist 27159204.0 + :accum-time 22336524.0 + :accum-time-percentage 0.6069 + :event-id #x2a68 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 27314604.0 + :accum-time 22454284.0 + :accum-time-percentage 0.6101 + :event-id #x2a6a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 27619758.0 + :accum-time 22704490.0 + :accum-time-percentage 0.6169 + :event-id #x2a6c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 27919970.0 + :accum-time 22946678.0 + :accum-time-percentage 0.6235 + :event-id #x2a6e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 28148536.0 + :accum-time 23128132.0 + :accum-time-percentage 0.6285 + :event-id #x2a70 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 28286612.0 + :accum-time 23249276.0 + :accum-time-percentage 0.6318 + :event-id #x2a72 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2607 + :accum-dist 28406484.0 + :accum-time 23355318.0 + :accum-time-percentage 0.6346 + :event-id #x2a94 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 28683550.0 + :accum-time 23588108.0 + :accum-time-percentage 0.641 + :event-id #x2af8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1963 + :accum-dist 28959864.0 + :accum-time 23826720.0 + :accum-time-percentage 0.6474 + :event-id #x2b5c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3715 + :accum-dist 29199258.0 + :accum-time 24013160.0 + :accum-time-percentage 0.6525 + :event-id #x2bc0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2363 + :accum-dist 29336408.0 + :accum-time 24089184.0 + :accum-time-percentage 0.6546 + :event-id #x2c24 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8815 + :accum-dist 29486364.0 + :accum-time 24162016.0 + :accum-time-percentage 0.6566 + :event-id #x2c88 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8883 + :accum-dist 29574904.0 + :accum-time 24208984.0 + :accum-time-percentage 0.6578 + :event-id #x2cec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8999 + :accum-dist 29710580.0 + :accum-time 24280610.0 + :accum-time-percentage 0.6598 + :event-id #x2d50 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8355 + :accum-dist 29791088.0 + :accum-time 24323712.0 + :accum-time-percentage 0.661 + :event-id #x2db4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5799 + :accum-dist 29878350.0 + :accum-time 24374810.0 + :accum-time-percentage 0.6623 + :event-id #x2e18 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 29942092.0 + :accum-time 24418780.0 + :accum-time-percentage 0.6635 + :event-id #x2e7c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4575 + :accum-dist 30011304.0 + :accum-time 24468630.0 + :accum-time-percentage 0.6649 + :event-id #x2ee0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6583 + :accum-dist 30187748.0 + :accum-time 24581880.0 + :accum-time-percentage 0.668 + :event-id #x2f44 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6395 + :accum-dist 30364840.0 + :accum-time 24689270.0 + :accum-time-percentage 0.6709 + :event-id #x2fa8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6551 + :accum-dist 30514604.0 + :accum-time 24780180.0 + :accum-time-percentage 0.6734 + :event-id #x300c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6767 + :accum-dist 30630348.0 + :accum-time 24849652.0 + :accum-time-percentage 0.6752 + :event-id #x3070 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 30839808.0 + :accum-time 24979092.0 + :accum-time-percentage 0.6788 + :event-id #x30d4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7191 + :accum-dist 31131044.0 + :accum-time 25156740.0 + :accum-time-percentage 0.6836 + :event-id #x3138 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7991 + :accum-dist 31231310.0 + :accum-time 25213736.0 + :accum-time-percentage 0.6851 + :event-id #x319c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7959 + :accum-dist 31441528.0 + :accum-time 25330678.0 + :accum-time-percentage 0.6883 + :event-id #x3200 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0391 + :accum-dist 31562784.0 + :accum-time 25393910.0 + :accum-time-percentage 0.69 + :event-id #x3264 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1375 + :accum-dist 31722324.0 + :accum-time 25470300.0 + :accum-time-percentage 0.6921 + :event-id #x32c8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1187 + :accum-dist 31845044.0 + :accum-time 25527964.0 + :accum-time-percentage 0.6937 + :event-id #x332c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7779 + :accum-dist 31969712.0 + :accum-time 25591948.0 + :accum-time-percentage 0.6954 + :event-id #x3390 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3983 + :accum-dist 32060350.0 + :accum-time 25635352.0 + :accum-time-percentage 0.6966 + :event-id #x33f4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3955 + :accum-dist 32197812.0 + :accum-time 25692698.0 + :accum-time-percentage 0.6982 + :event-id #x3458 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3739 + :accum-dist 32339130.0 + :accum-time 25751952.0 + :accum-time-percentage 0.6998 + :event-id #x34bc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3983 + :accum-dist 32476740.0 + :accum-time 25809620.0 + :accum-time-percentage 0.7013 + :event-id #x3520 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3931 + :accum-dist 32620558.0 + :accum-time 25869650.0 + :accum-time-percentage 0.703 + :event-id #x3584 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3527 + :accum-dist 32770896.0 + :accum-time 25933000.0 + :accum-time-percentage 0.7047 + :event-id #x35e8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1987 + :accum-dist 32890698.0 + :accum-time 25985640.0 + :accum-time-percentage 0.7061 + :event-id #x364c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8799 + :accum-dist 32982700.0 + :accum-time 26030752.0 + :accum-time-percentage 0.7073 + :event-id #x36b0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0179 + :accum-dist 33030678.0 + :accum-time 26055370.0 + :accum-time-percentage 0.708 + :event-id #x3714 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0188 + :accum-dist 33185690.0 + :accum-time 26132168.0 + :accum-time-percentage 0.7101 + :event-id #x3778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0951 + :accum-dist 33382016.0 + :accum-time 26227610.0 + :accum-time-percentage 0.7127 + :event-id #x37dc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0091 + :accum-dist 33508204.0 + :accum-time 26289100.0 + :accum-time-percentage 0.7144 + :event-id #x3840 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0579 + :accum-dist 33623644.0 + :accum-time 26345864.0 + :accum-time-percentage 0.7159 + :event-id #x38a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0207 + :accum-dist 33758012.0 + :accum-time 26411750.0 + :accum-time-percentage 0.7177 + :event-id #x3908 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0551 + :accum-dist 33821628.0 + :accum-time 26442964.0 + :accum-time-percentage 0.7185 + :event-id #x396c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 33946410.0 + :accum-time 26504224.0 + :accum-time-percentage 0.7202 + :event-id #x39d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0795 + :accum-dist 34095252.0 + :accum-time 26576868.0 + :accum-time-percentage 0.7222 + :event-id #x3a34 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0767 + :accum-dist 34271380.0 + :accum-time 26661618.0 + :accum-time-percentage 0.7245 + :event-id #x3a98 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0551 + :accum-dist 34412340.0 + :accum-time 26729844.0 + :accum-time-percentage 0.7263 + :event-id #x3afc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 34546756.0 + :accum-time 26811438.0 + :accum-time-percentage 0.7286 + :event-id #x3b60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0367 + :accum-dist 34686084.0 + :accum-time 26896484.0 + :accum-time-percentage 0.7309 + :event-id #x3bc4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 34802680.0 + :accum-time 26953990.0 + :accum-time-percentage 0.7324 + :event-id #x3c28 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9535 + :accum-dist 34934376.0 + :accum-time 27020300.0 + :accum-time-percentage 0.7342 + :event-id #x3c8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 35022012.0 + :accum-time 27064428.0 + :accum-time-percentage 0.7354 + :event-id #x3cf0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0523 + :accum-dist 35101132.0 + :accum-time 27103298.0 + :accum-time-percentage 0.7365 + :event-id #x3d54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3967 + :accum-dist 35261756.0 + :accum-time 27175500.0 + :accum-time-percentage 0.7384 + :event-id #x3db8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3935 + :accum-dist 35353424.0 + :accum-time 27213770.0 + :accum-time-percentage 0.7395 + :event-id #x3e1c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 35461700.0 + :accum-time 27258978.0 + :accum-time-percentage 0.7407 + :event-id #x3e80 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2795 + :accum-dist 35590500.0 + :accum-time 27314064.0 + :accum-time-percentage 0.7422 + :event-id #x3ee4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3131 + :accum-dist 35710696.0 + :accum-time 27366404.0 + :accum-time-percentage 0.7436 + :event-id #x3f48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 35835800.0 + :accum-time 27419530.0 + :accum-time-percentage 0.7451 + :event-id #x3fac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3719 + :accum-dist 35998736.0 + :accum-time 27487870.0 + :accum-time-percentage 0.7469 + :event-id #x4010 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 36155810.0 + :accum-time 27553750.0 + :accum-time-percentage 0.7487 + :event-id #x4074 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7535 + :accum-dist 36395924.0 + :accum-time 27669468.0 + :accum-time-percentage 0.7519 + :event-id #x40d8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6211 + :accum-dist 36563536.0 + :accum-time 27768798.0 + :accum-time-percentage 0.7546 + :event-id #x413c + ) + (new 'static 'blow-tower-node-info + :accum-dist 36798212.0 + :accum-time 28058304.0 + :accum-time-percentage 0.7624 + :event-id #x41a0 + ) + ) + :num-nodes #xd3 + ) + (new 'static 'blow-tower-path + :index 1 + :pts (new 'static 'inline-array vector 202 + (new 'static 'vector :x 2213322.5 :y 36271.715 :z -2253037.2 :w 1.0) + (new 'static 'vector :x 2308742.8 :y 34682.88 :z -2178232.0 :w 1.0) + (new 'static 'vector :x 2319748.8 :y 30620.465 :z -2027974.5 :w 1.0) + (new 'static 'vector :x 2088783.6 :y 34059.465 :z -2056302.4 :w 1.0) + (new 'static 'vector :x 1768537.9 :y 34059.055 :z -1961484.1 :w 1.0) + (new 'static 'vector :x 1697369.9 :y 34313.008 :z -1852579.6 :w 1.0) + (new 'static 'vector :x 1763426.1 :y 30626.61 :z -1706512.2 :w 1.0) + (new 'static 'vector :x 1786802.0 :y 30372.658 :z -1428799.2 :w 1.0) + (new 'static 'vector :x 1921175.4 :y 30612.684 :z -1368330.0 :w 1.0) + (new 'static 'vector :x 2044481.4 :y 34305.227 :z -1361289.0 :w 1.0) + (new 'static 'vector :x 2300849.8 :y 34313.008 :z -1412857.6 :w 1.0) + (new 'static 'vector :x 2295877.2 :y 34305.227 :z -1240891.2 :w 1.0) + (new 'static 'vector :x 2435792.5 :y 47738.465 :z -1000751.0 :w 1.0) + (new 'static 'vector :x 2616499.8 :y 34299.082 :z -760774.56 :w 1.0) + (new 'static 'vector :x 2685669.0 :y 33523.3 :z -510156.75 :w 1.0) + (new 'static 'vector :x 2624634.5 :y 34361.75 :z -116717.555 :w 1.0) + (new 'static 'vector :x 2822676.0 :y 30612.684 :z -77614.68 :w 1.0) + (new 'static 'vector :x 2921570.0 :y 33054.31 :z -203830.86 :w 1.0) + (new 'static 'vector :x 2942291.5 :y 51053.36 :z -276078.12 :w 1.0) + (new 'static 'vector :x 3027410.5 :y 56557.562 :z -316736.25 :w 1.0) + (new 'static 'vector :x 3194257.0 :y 55698.223 :z -149792.33 :w 1.0) + (new 'static 'vector :x 3298148.0 :y 55698.223 :z 20970.697 :w 1.0) + (new 'static 'vector :x 3413769.8 :y 55698.223 :z 110923.766 :w 1.0) + (new 'static 'vector :x 3487981.2 :y 55702.316 :z 135606.25 :w 1.0) + (new 'static 'vector :x 3511893.8 :y 59447.29 :z 382744.12 :w 1.0) + (new 'static 'vector :x 3865452.2 :y 55697.812 :z 646987.7 :w 1.0) + (new 'static 'vector :x 4088688.2 :y 59384.62 :z 764092.3 :w 1.0) + (new 'static 'vector :x 4310220.0 :y 55698.223 :z 776974.25 :w 1.0) + (new 'static 'vector :x 4366949.5 :y 59389.945 :z 840687.5 :w 1.0) + (new 'static 'vector :x 4312514.0 :y 59384.62 :z 925704.1 :w 1.0) + (new 'static 'vector :x 4217527.5 :y 59926.523 :z 1031737.25 :w 1.0) + (new 'static 'vector :x 4077981.2 :y 59389.945 :z 1154854.8 :w 1.0) + (new 'static 'vector :x 3956969.0 :y 59414.523 :z 1226805.0 :w 1.0) + (new 'static 'vector :x 3771956.8 :y 56055.8 :z 1219526.5 :w 1.0) + (new 'static 'vector :x 3694632.5 :y 59622.598 :z 1251975.0 :w 1.0) + (new 'static 'vector :x 3673485.0 :y 59382.574 :z 1370808.1 :w 1.0) + (new 'static 'vector :x 3737243.2 :y 59985.094 :z 1461092.1 :w 1.0) + (new 'static 'vector :x 3936763.5 :y 59382.574 :z 1420230.5 :w 1.0) + (new 'static 'vector :x 4061188.0 :y 59382.574 :z 1421483.9 :w 1.0) + (new 'static 'vector :x 4211875.0 :y 59386.26 :z 1360252.8 :w 1.0) + (new 'static 'vector :x 4347002.0 :y 59846.242 :z 1308520.2 :w 1.0) + (new 'static 'vector :x 4426464.5 :y 59386.26 :z 1341042.5 :w 1.0) + (new 'static 'vector :x 4487863.5 :y 55698.633 :z 1413230.4 :w 1.0) + (new 'static 'vector :x 4485529.0 :y 55255.258 :z 1618120.5 :w 1.0) + (new 'static 'vector :x 4486143.5 :y 56900.094 :z 1713299.2 :w 1.0) + (new 'static 'vector :x 4368342.5 :y 58044.094 :z 1761050.4 :w 1.0) + (new 'static 'vector :x 4061384.2 :y 55270.098 :z 1750835.0 :w 1.0) + (new 'static 'vector :x 4018929.2 :y 55270.098 :z 1941942.1 :w 1.0) + (new 'static 'vector :x 4034887.2 :y 55859.625 :z 2163633.8 :w 1.0) + (new 'static 'vector :x 4185292.5 :y 56510.926 :z 2344300.2 :w 1.0) + (new 'static 'vector :x 4536565.0 :y 55270.098 :z 2331344.5 :w 1.0) + (new 'static 'vector :x 4577975.5 :y 55270.098 :z 2361138.8 :w 1.0) + (new 'static 'vector :x 4615536.0 :y 55787.867 :z 2570092.2 :w 1.0) + (new 'static 'vector :x 4458946.0 :y 55859.625 :z 2687069.8 :w 1.0) + (new 'static 'vector :x 4198317.5 :y 55270.098 :z 2624405.2 :w 1.0) + (new 'static 'vector :x 4092669.5 :y 55787.867 :z 2615115.5 :w 1.0) + (new 'static 'vector :x 3747036.8 :y 62364.906 :z 2594946.8 :w 1.0) + (new 'static 'vector :x 3557842.5 :y 55270.098 :z 2618404.5 :w 1.0) + (new 'static 'vector :x 3439046.2 :y 55270.156 :z 2786807.5 :w 1.0) + (new 'static 'vector :x 3534147.2 :y 55270.098 :z 3072524.0 :w 1.0) + (new 'static 'vector :x 3525148.2 :y 59365.78 :z 3233619.5 :w 1.0) + (new 'static 'vector :x 3583815.2 :y 59365.78 :z 3391561.2 :w 1.0) + (new 'static 'vector :x 3707395.8 :y 55679.38 :z 3458912.0 :w 1.0) + (new 'static 'vector :x 3887410.8 :y 55679.38 :z 3516997.2 :w 1.0) + (new 'static 'vector :x 3943010.0 :y 57298.527 :z 3893927.5 :w 1.0) + (new 'static 'vector :x 3962580.5 :y 55679.38 :z 4174806.8 :w 1.0) + (new 'static 'vector :x 3908165.2 :y 55679.38 :z 4493966.5 :w 1.0) + (new 'static 'vector :x 3604213.5 :y 55679.38 :z 4542914.0 :w 1.0) + (new 'static 'vector :x 3386081.0 :y 57232.582 :z 4549099.0 :w 1.0) + (new 'static 'vector :x 3376439.0 :y 55679.38 :z 4701634.0 :w 1.0) + (new 'static 'vector :x 3355897.5 :y 55679.38 :z 4821810.5 :w 1.0) + (new 'static 'vector :x 3157450.5 :y 40461.92 :z 4988517.5 :w 1.0) + (new 'static 'vector :x 3120320.2 :y 40461.92 :z 5013708.0 :w 1.0) + (new 'static 'vector :x 3104374.5 :y 40461.92 :z 5208677.5 :w 1.0) + (new 'static 'vector :x 3095879.2 :y 40455.777 :z 5411634.5 :w 1.0) + (new 'static 'vector :x 3100638.8 :y 40455.777 :z 5524151.5 :w 1.0) + (new 'static 'vector :x 3070189.2 :y 40468.887 :z 5622496.5 :w 1.0) + (new 'static 'vector :x 3006148.2 :y 54494.41 :z 5683035.5 :w 1.0) + (new 'static 'vector :x 2840841.8 :y 54503.01 :z 5828115.5 :w 1.0) + (new 'static 'vector :x 2666831.5 :y 54503.01 :z 5971107.0 :w 1.0) + (new 'static 'vector :x 2517634.8 :y 54487.855 :z 6057778.5 :w 1.0) + (new 'static 'vector :x 2437771.0 :y 40278.42 :z 6117907.5 :w 1.0) + (new 'static 'vector :x 2352471.8 :y 40221.08 :z 6180945.0 :w 1.0) + (new 'static 'vector :x 2211688.0 :y 22528.0 :z 6251642.0 :w 1.0) + (new 'static 'vector :x 1959817.0 :y 22528.0 :z 6387260.5 :w 1.0) + (new 'static 'vector :x 1722740.5 :y 22528.0 :z 6471065.0 :w 1.0) + (new 'static 'vector :x 1431535.4 :y 22528.0 :z 6590504.5 :w 1.0) + (new 'static 'vector :x 1265561.4 :y 22528.0 :z 6572400.0 :w 1.0) + (new 'static 'vector :x 961761.2 :y 22528.0 :z 6608772.5 :w 1.0) + (new 'static 'vector :x 656056.25 :y 22528.0 :z 6363913.5 :w 1.0) + (new 'static 'vector :x 549154.75 :y 22528.0 :z 6262414.5 :w 1.0) + (new 'static 'vector :x 446468.06 :y 22528.0 :z 6164561.0 :w 1.0) + (new 'static 'vector :x 334913.5 :y 61773.816 :z 5702860.0 :w 1.0) + (new 'static 'vector :x -122377.82 :y 61767.266 :z 5519277.5 :w 1.0) + (new 'static 'vector :x -316160.0 :y 54702.074 :z 5634948.5 :w 1.0) + (new 'static 'vector :x -248442.03 :y 22528.0 :z 6050405.5 :w 1.0) + (new 'static 'vector :x -259939.92 :y 22528.0 :z 6152273.0 :w 1.0) + (new 'static 'vector :x -325270.7 :y 22528.0 :z 6235913.5 :w 1.0) + (new 'static 'vector :x -499326.94 :y 22528.0 :z 6255164.5 :w 1.0) + (new 'static 'vector :x -624103.3 :y 22528.0 :z 6247054.5 :w 1.0) + (new 'static 'vector :x -852197.3 :y -20976.84 :z 6428179.5 :w 1.0) + (new 'static 'vector :x -918400.94 :y 58213.984 :z 6479789.5 :w 1.0) + (new 'static 'vector :x -943931.3 :y 58136.57 :z 6587801.0 :w 1.0) + (new 'static 'vector :x -796647.3 :y 22528.0 :z 6744514.0 :w 1.0) + (new 'static 'vector :x -636870.56 :y 22528.0 :z 6785637.5 :w 1.0) + (new 'static 'vector :x -397686.3 :y 59936.76 :z 6810828.0 :w 1.0) + (new 'static 'vector :x -188366.42 :y 60303.355 :z 6923836.5 :w 1.0) + (new 'static 'vector :x 5806.079 :y 58110.355 :z 7096606.0 :w 1.0) + (new 'static 'vector :x 14178.303 :y 58117.73 :z 7199989.0 :w 1.0) + (new 'static 'vector :x 93215.12 :y 58134.523 :z 7294443.0 :w 1.0) + (new 'static 'vector :x 261522.2 :y 58106.668 :z 7346134.5 :w 1.0) + (new 'static 'vector :x 389577.88 :y 59983.867 :z 7321312.5 :w 1.0) + (new 'static 'vector :x 700170.1 :y 22528.0 :z 7334747.5 :w 1.0) + (new 'static 'vector :x 670162.9 :y 97130.89 :z 7159725.5 :w 1.0) + (new 'static 'vector :x 866942.9 :y 22528.0 :z 6965616.0 :w 1.0) + (new 'static 'vector :x 1033248.7 :y 22528.0 :z 6958161.0 :w 1.0) + (new 'static 'vector :x 1385226.0 :y 58157.46 :z 7014112.5 :w 1.0) + (new 'static 'vector :x 1489321.8 :y 58143.94 :z 7051304.5 :w 1.0) + (new 'static 'vector :x 1535938.4 :y 58139.438 :z 7144078.5 :w 1.0) + (new 'static 'vector :x 1510469.5 :y 58152.137 :z 7224933.5 :w 1.0) + (new 'static 'vector :x 1458048.9 :y 58146.402 :z 7293091.0 :w 1.0) + (new 'static 'vector :x 1371131.8 :y 58155.82 :z 7307795.5 :w 1.0) + (new 'static 'vector :x 1290895.1 :y 58140.668 :z 7297883.5 :w 1.0) + (new 'static 'vector :x 1213308.8 :y 58134.523 :z 7214202.0 :w 1.0) + (new 'static 'vector :x 1247678.2 :y 58137.39 :z 7063264.5 :w 1.0) + (new 'static 'vector :x 1329336.1 :y 58153.773 :z 7022673.0 :w 1.0) + (new 'static 'vector :x 1468870.5 :y 58145.17 :z 7027998.0 :w 1.0) + (new 'static 'vector :x 1535053.6 :y 58129.605 :z 7089192.0 :w 1.0) + (new 'static 'vector :x 1515294.5 :y 58160.332 :z 7178649.0 :w 1.0) + (new 'static 'vector :x 1497137.0 :y 58123.465 :z 7294320.0 :w 1.0) + (new 'static 'vector :x 1390579.5 :y 58120.598 :z 7344659.5 :w 1.0) + (new 'static 'vector :x 1263910.8 :y 58115.68 :z 7318609.0 :w 1.0) + (new 'static 'vector :x 1098661.8 :y 61188.09 :z 7191879.0 :w 1.0) + (new 'static 'vector :x 1001807.75 :y 78499.016 :z 7168081.0 :w 1.0) + (new 'static 'vector :x 832327.56 :y 97425.805 :z 7122001.0 :w 1.0) + (new 'static 'vector :x 382914.5 :y 58066.938 :z 6995844.5 :w 1.0) + (new 'static 'vector :x 186420.4 :y 58096.43 :z 6942555.5 :w 1.0) + (new 'static 'vector :x -56898.348 :y 22528.0 :z 6826311.0 :w 1.0) + (new 'static 'vector :x -268414.53 :y 22528.0 :z 6668328.0 :w 1.0) + (new 'static 'vector :x -428163.03 :y 22528.0 :z 6365429.0 :w 1.0) + (new 'static 'vector :x -670375.8 :y 4045.623 :z 6142893.5 :w 1.0) + (new 'static 'vector :x -732516.25 :y 40706.043 :z 6077890.0 :w 1.0) + (new 'static 'vector :x -997658.5 :y 54494.41 :z 5972008.5 :w 1.0) + (new 'static 'vector :x -1136832.4 :y 54494.41 :z 5873090.0 :w 1.0) + (new 'static 'vector :x -1304850.2 :y 54501.78 :z 5768969.5 :w 1.0) + (new 'static 'vector :x -1436327.8 :y 54503.01 :z 5681724.5 :w 1.0) + (new 'static 'vector :x -1496919.9 :y 40508.617 :z 5592964.5 :w 1.0) + (new 'static 'vector :x -1508044.6 :y 40467.656 :z 5479996.5 :w 1.0) + (new 'static 'vector :x -1516957.5 :y 40467.656 :z 5366332.5 :w 1.0) + (new 'static 'vector :x -1536110.4 :y 40467.656 :z 5204049.0 :w 1.0) + (new 'static 'vector :x -1469210.4 :y 40467.656 :z 5102960.0 :w 1.0) + (new 'static 'vector :x -1594593.1 :y 40467.656 :z 5004819.5 :w 1.0) + (new 'static 'vector :x -1494568.8 :y 68468.73 :z 4847779.0 :w 1.0) + (new 'static 'vector :x -1551638.4 :y 22528.0 :z 4679515.5 :w 1.0) + (new 'static 'vector :x -1556082.5 :y 22937.6 :z 4623441.0 :w 1.0) + (new 'static 'vector :x -1492488.1 :y 22937.6 :z 4508794.0 :w 1.0) + (new 'static 'vector :x -1415430.0 :y 22937.6 :z 4389273.0 :w 1.0) + (new 'static 'vector :x -1294196.5 :y 22937.6 :z 4381244.5 :w 1.0) + (new 'static 'vector :x -1161817.9 :y 22937.6 :z 4319559.0 :w 1.0) + (new 'static 'vector :x -1023340.44 :y 22937.6 :z 4423515.5 :w 1.0) + (new 'static 'vector :x -861556.6 :y 22937.6 :z 4691803.5 :w 1.0) + (new 'static 'vector :x -677941.1 :y 22937.6 :z 4719246.5 :w 1.0) + (new 'static 'vector :x -476962.78 :y 22937.6 :z 4660837.5 :w 1.0) + (new 'static 'vector :x -321350.8 :y 22937.6 :z 4560240.0 :w 1.0) + (new 'static 'vector :x -150446.06 :y 22937.6 :z 4436540.5 :w 1.0) + (new 'static 'vector :x -92784.625 :y 22937.6 :z 4356587.0 :w 1.0) + (new 'static 'vector :x -23246.846 :y 22937.6 :z 4206468.5 :w 1.0) + (new 'static 'vector :x -26907.031 :y 22937.6 :z 4139417.2 :w 1.0) + (new 'static 'vector :x -64465.3 :y 57198.586 :z 4061110.0 :w 1.0) + (new 'static 'vector :x -108548.91 :y 63928.316 :z 3959373.5 :w 1.0) + (new 'static 'vector :x -203891.89 :y 58245.523 :z 3897372.2 :w 1.0) + (new 'static 'vector :x -282336.4 :y 61637.01 :z 3903536.8 :w 1.0) + (new 'static 'vector :x -396686.9 :y 62035.96 :z 3930873.5 :w 1.0) + (new 'static 'vector :x -519835.6 :y 58378.234 :z 3946184.2 :w 1.0) + (new 'static 'vector :x -556150.7 :y 22937.6 :z 3904225.0 :w 1.0) + (new 'static 'vector :x -658960.3 :y 22528.0 :z 3858878.0 :w 1.0) + (new 'static 'vector :x -717422.5 :y 22937.6 :z 3793055.2 :w 1.0) + (new 'static 'vector :x -775680.0 :y 22937.6 :z 3710287.5 :w 1.0) + (new 'static 'vector :x -810868.6 :y 22937.6 :z 3609730.8 :w 1.0) + (new 'static 'vector :x -734441.4 :y 22528.0 :z 3447996.0 :w 1.0) + (new 'static 'vector :x -678424.5 :y 22528.0 :z 3301949.0 :w 1.0) + (new 'static 'vector :x -548843.44 :y 22937.6 :z 3281407.8 :w 1.0) + (new 'static 'vector :x -469905.38 :y 22937.6 :z 3183922.8 :w 1.0) + (new 'static 'vector :x -367360.78 :y 22937.6 :z 3027341.0 :w 1.0) + (new 'static 'vector :x -397723.6 :y 22937.6 :z 2920558.2 :w 1.0) + (new 'static 'vector :x -418942.94 :y 22937.6 :z 2847174.2 :w 1.0) + (new 'static 'vector :x -462852.06 :y 22528.0 :z 2706943.8 :w 1.0) + (new 'static 'vector :x -579387.3 :y 22937.6 :z 2696228.5 :w 1.0) + (new 'static 'vector :x -675295.1 :y 22937.6 :z 2728185.5 :w 1.0) + (new 'static 'vector :x -830193.56 :y 22937.6 :z 2813103.8 :w 1.0) + (new 'static 'vector :x -907337.6 :y 22937.6 :z 2914479.8 :w 1.0) + (new 'static 'vector :x -973250.44 :y 22937.6 :z 3054685.8 :w 1.0) + (new 'static 'vector :x -1004875.7 :y 22937.6 :z 3128790.8 :w 1.0) + (new 'static 'vector :x -1085288.2 :y 22528.0 :z 3248074.5 :w 1.0) + (new 'static 'vector :x -1202143.0 :y 22528.0 :z 3360128.8 :w 1.0) + (new 'static 'vector :x -1317994.2 :y 22528.0 :z 3387105.0 :w 1.0) + (new 'static 'vector :x -1464766.2 :y 22528.0 :z 3282509.5 :w 1.0) + (new 'static 'vector :x -1487236.9 :y 22937.6 :z 3181948.5 :w 1.0) + (new 'static 'vector :x -1635147.6 :y 22528.0 :z 2848775.8 :w 1.0) + (new 'static 'vector :x -1537372.0 :y 22528.0 :z 2695966.2 :w 1.0) + (new 'static 'vector :x -1439584.1 :y 22528.0 :z 2580320.0 :w 1.0) + (new 'static 'vector :x -1295146.9 :y 22937.6 :z 2414915.2 :w 1.0) + ) + :node-info (new 'static 'inline-array blow-tower-node-info 202 + (new 'static 'blow-tower-node-info :speed-scalar 1.5167) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0919 + :accum-dist 121257.445 + :accum-time 67200.99 + :accum-time-percentage 0.0018 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 271972.2 + :accum-time 161057.5 + :accum-time-percentage 0.0044 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5411 + :accum-dist 504693.4 + :accum-time 335983.28 + :accum-time-percentage 0.0092 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 838681.1 + :accum-time 572786.9 + :accum-time-percentage 0.0158 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3163 + :accum-dist 968777.75 + :accum-time 673015.4 + :accum-time-percentage 0.0185 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 1129129.5 + :accum-time 794807.7 + :accum-time-percentage 0.0219 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4183 + :accum-dist 1407824.6 + :accum-time 998591.8 + :accum-time-percentage 0.0275 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 1555177.1 + :accum-time 1112907.1 + :accum-time-percentage 0.0307 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1678739.1 + :accum-time 1227337.5 + :accum-time-percentage 0.0339 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1940242.5 + :accum-time 1488840.9 + :accum-time-percentage 0.0411 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 2112280.5 + :accum-time 1660878.9 + :accum-time-percentage 0.0458 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7567 + :accum-dist 2390532.2 + :accum-time 1862744.6 + :accum-time-percentage 0.0514 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 2691238.5 + :accum-time 2040951.5 + :accum-time-percentage 0.0563 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4735 + :accum-dist 2951227.2 + :accum-time 2209141.8 + :accum-time-percentage 0.061 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 3349373.2 + :accum-time 2466708.0 + :accum-time-percentage 0.0681 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 3551273.0 + :accum-time 2612085.0 + :accum-time-percentage 0.0721 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 3711636.5 + :accum-time 2737427.8 + :accum-time-percentage 0.0756 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0983 + :accum-dist 3788921.8 + :accum-time 2799315.2 + :accum-time-percentage 0.0773 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4183 + :accum-dist 3883413.0 + :accum-time 2874403.5 + :accum-time-percentage 0.0793 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4179 + :accum-dist 4119440.0 + :accum-time 3040830.5 + :accum-time-percentage 0.0839 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0147 + :accum-dist 4319323.0 + :accum-time 3205153.8 + :accum-time-percentage 0.0885 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0175 + :accum-dist 4465815.0 + :accum-time 3349310.2 + :accum-time-percentage 0.0925 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1951 + :accum-dist 4544023.5 + :accum-time 3419997.5 + :accum-time-percentage 0.0944 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 4792343.5 + :accum-time 3617515.8 + :accum-time-percentage 0.0999 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 5233752.5 + :accum-time 3957218.0 + :accum-time-percentage 0.1093 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2551 + :accum-dist 5485866.0 + :accum-time 4156139.8 + :accum-time-percentage 0.1148 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 5707802.5 + :accum-time 4352961.5 + :accum-time-percentage 0.1202 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1191 + :accum-dist 5793191.0 + :accum-time 4433547.0 + :accum-time-percentage 0.1224 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1779 + :accum-dist 5894141.5 + :accum-time 4521437.0 + :accum-time-percentage 0.1248 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0999 + :accum-dist 6036499.0 + :accum-time 4646421.5 + :accum-time-percentage 0.1283 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 6222594.0 + :accum-time 4823654.5 + :accum-time-percentage 0.1332 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.5223 + :accum-dist 6363380.0 + :accum-time 5008607.0 + :accum-time-percentage 0.1383 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.4243 + :accum-dist 6548565.5 + :accum-time 5399788.5 + :accum-time-percentage 0.1491 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 6632497.5 + :accum-time 5517637.0 + :accum-time-percentage 0.1524 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 6753197.5 + :accum-time 5623532.5 + :accum-time-percentage 0.1553 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 6863726.5 + :accum-time 5711281.5 + :accum-time-percentage 0.1577 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7067388.5 + :accum-time 5893155.0 + :accum-time-percentage 0.1627 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7191819.0 + :accum-time 6017585.5 + :accum-time-percentage 0.1662 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7354471.0 + :accum-time 6180237.5 + :accum-time-percentage 0.1707 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7499162.5 + :accum-time 6324929.0 + :accum-time-percentage 0.1747 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.5811 + :accum-dist 7585023.5 + :accum-time 6433531.0 + :accum-time-percentage 0.1777 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7195 + :accum-dist 7679862.5 + :accum-time 6579347.0 + :accum-time-percentage 0.1817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7591 + :accum-dist 7884766.0 + :accum-time 6856468.0 + :accum-time-percentage 0.1893 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7979960.5 + :accum-time 6964692.5 + :accum-time-percentage 0.1923 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 8107076.5 + :accum-time 7091808.5 + :accum-time-percentage 0.1958 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 8414217.0 + :accum-time 7418623.0 + :accum-time-percentage 0.2049 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 8609983.0 + :accum-time 7626929.0 + :accum-time-percentage 0.2106 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8395 + :accum-dist 8832248.0 + :accum-time 7868573.5 + :accum-time-percentage 0.2173 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9067327.0 + :accum-time 8124149.5 + :accum-time-percentage 0.2244 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9418840.0 + :accum-time 8475662.0 + :accum-time-percentage 0.2341 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9469854.0 + :accum-time 8526676.0 + :accum-time-percentage 0.2355 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9682157.0 + :accum-time 8738979.0 + :accum-time-percentage 0.2413 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9877615.0 + :accum-time 8934437.0 + :accum-time-percentage 0.2467 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10145671.0 + :accum-time 9202493.0 + :accum-time-percentage 0.2541 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.3407 + :accum-dist 10251727.0 + :accum-time 9360691.0 + :accum-time-percentage 0.2585 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 10598010.0 + :accum-time 9778503.0 + :accum-time-percentage 0.2701 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10788784.0 + :accum-time 9943190.0 + :accum-time-percentage 0.2746 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10994870.0 + :accum-time 10149277.0 + :accum-time-percentage 0.2803 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 11295999.0 + :accum-time 10408914.0 + :accum-time-percentage 0.2875 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 11457396.0 + :accum-time 10531221.0 + :accum-time-percentage 0.2908 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4791 + :accum-dist 11625881.0 + :accum-time 10651620.0 + :accum-time-percentage 0.2942 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6791 + :accum-dist 11766671.0 + :accum-time 10740771.0 + :accum-time-percentage 0.2966 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5375 + :accum-dist 11955825.0 + :accum-time 10858375.0 + :accum-time-percentage 0.2999 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 12336838.0 + :accum-time 11099858.0 + :accum-time-percentage 0.3065 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12618401.0 + :accum-time 11314956.0 + :accum-time-percentage 0.3125 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12942166.0 + :accum-time 11638720.0 + :accum-time-percentage 0.3214 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13250034.0 + :accum-time 11946588.0 + :accum-time-percentage 0.3299 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13468259.0 + :accum-time 12164813.0 + :accum-time-percentage 0.336 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13621105.0 + :accum-time 12317660.0 + :accum-time-percentage 0.3402 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9991 + :accum-dist 13743025.0 + :accum-time 12439628.0 + :accum-time-percentage 0.3436 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 14002646.0 + :accum-time 12715996.0 + :accum-time-percentage 0.3512 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9599 + :accum-dist 14047515.0 + :accum-time 12764776.0 + :accum-time-percentage 0.3525 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14243135.0 + :accum-time 12964389.0 + :accum-time-percentage 0.3581 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14446269.0 + :accum-time 13167523.0 + :accum-time-percentage 0.3637 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14558885.0 + :accum-time 13280140.0 + :accum-time-percentage 0.3668 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14661835.0 + :accum-time 13383090.0 + :accum-time-percentage 0.3696 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14751070.0 + :accum-time 13472325.0 + :accum-time-percentage 0.3721 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 14971011.0 + :accum-time 13679855.0 + :accum-time-percentage 0.3778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1623 + :accum-dist 15196235.0 + :accum-time 13877245.0 + :accum-time-percentage 0.3833 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 15368780.0 + :accum-time 14014098.0 + :accum-time-percentage 0.387 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 15469753.0 + :accum-time 14088385.0 + :accum-time-percentage 0.3891 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 15575816.0 + :accum-time 14172603.0 + :accum-time-percentage 0.3914 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2391 + :accum-dist 15734345.0 + :accum-time 14304775.0 + :accum-time-percentage 0.3951 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7503 + :accum-dist 16020405.0 + :accum-time 14496145.0 + :accum-time-percentage 0.4004 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0887 + :accum-dist 16271858.0 + :accum-time 14627135.0 + :accum-time-percentage 0.404 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1379 + :accum-dist 16586605.0 + :accum-time 14776065.0 + :accum-time-percentage 0.4081 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2207 + :accum-dist 16753563.0 + :accum-time 14875480.0 + :accum-time-percentage 0.4108 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4791 + :accum-dist 17059532.0 + :accum-time 15102123.0 + :accum-time-percentage 0.4171 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5351 + :accum-dist 17451208.0 + :accum-time 15361993.0 + :accum-time-percentage 0.4243 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7167 + :accum-dist 17598618.0 + :accum-time 15452650.0 + :accum-time-percentage 0.4268 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6767 + :accum-dist 17740460.0 + :accum-time 15536245.0 + :accum-time-percentage 0.4291 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5591 + :accum-dist 18217066.0 + :accum-time 15830809.0 + :accum-time-percentage 0.4372 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2059 + :accum-dist 18709830.0 + :accum-time 16187211.0 + :accum-time-percentage 0.4471 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4795 + :accum-dist 18935620.0 + :accum-time 16355360.0 + :accum-time-percentage 0.4517 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2767 + :accum-dist 19357786.0 + :accum-time 16580130.0 + :accum-time-percentage 0.4579 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5103 + :accum-dist 19460300.0 + :accum-time 16622959.0 + :accum-time-percentage 0.4591 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0791 + :accum-dist 19566430.0 + :accum-time 16669206.0 + :accum-time-percentage 0.4604 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 19741546.0 + :accum-time 16771054.0 + :accum-time-percentage 0.4632 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 19866584.0 + :accum-time 16867266.0 + :accum-time-percentage 0.4659 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20161076.0 + :accum-time 17101064.0 + :accum-time-percentage 0.4723 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20276478.0 + :accum-time 17191250.0 + :accum-time-percentage 0.4748 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20387464.0 + :accum-time 17276650.0 + :accum-time-percentage 0.4772 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 20605452.0 + :accum-time 17439376.0 + :accum-time-percentage 0.4817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20770436.0 + :accum-time 17564400.0 + :accum-time-percentage 0.4851 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 21013832.0 + :accum-time 17754614.0 + :accum-time-percentage 0.4904 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 21251710.0 + :accum-time 17937650.0 + :accum-time-percentage 0.4954 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 21511624.0 + :accum-time 18137646.0 + :accum-time-percentage 0.5009 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21615344.0 + :accum-time 18216244.0 + :accum-time-percentage 0.5031 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21738504.0 + :accum-time 18306828.0 + :accum-time-percentage 0.5056 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21914570.0 + :accum-time 18436326.0 + :accum-time-percentage 0.5092 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 22045020.0 + :accum-time 18533706.0 + :accum-time-percentage 0.5119 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 22358152.0 + :accum-time 18778414.0 + :accum-time-percentage 0.5186 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 22550760.0 + :accum-time 18926620.0 + :accum-time-percentage 0.5227 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 22837058.0 + :accum-time 19143576.0 + :accum-time-percentage 0.5287 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 23003530.0 + :accum-time 19280072.0 + :accum-time-percentage 0.5325 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8391 + :accum-dist 23361700.0 + :accum-time 19638458.0 + :accum-time-percentage 0.5424 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8391 + :accum-dist 23472240.0 + :accum-time 19770178.0 + :accum-time-percentage 0.546 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23576068.0 + :accum-time 19883080.0 + :accum-time-percentage 0.5492 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23660838.0 + :accum-time 19967850.0 + :accum-time-percentage 0.5515 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23746820.0 + :accum-time 20053834.0 + :accum-time-percentage 0.5539 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23834972.0 + :accum-time 20141986.0 + :accum-time-percentage 0.5563 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23915820.0 + :accum-time 20222832.0 + :accum-time-percentage 0.5585 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24029932.0 + :accum-time 20336946.0 + :accum-time-percentage 0.5617 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24184732.0 + :accum-time 20491746.0 + :accum-time-percentage 0.566 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24275924.0 + :accum-time 20582936.0 + :accum-time-percentage 0.5685 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 24415558.0 + :accum-time 20731514.0 + :accum-time-percentage 0.5726 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24505696.0 + :accum-time 20827424.0 + :accum-time-percentage 0.5752 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24597308.0 + :accum-time 20919036.0 + :accum-time-percentage 0.5778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24714392.0 + :accum-time 21036120.0 + :accum-time-percentage 0.581 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24832240.0 + :accum-time 21153970.0 + :accum-time-percentage 0.5843 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24961560.0 + :accum-time 21283288.0 + :accum-time-percentage 0.5878 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 25169830.0 + :accum-time 21472658.0 + :accum-time-percentage 0.5931 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 25271056.0 + :accum-time 21550548.0 + :accum-time-percentage 0.5952 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 25447704.0 + :accum-time 21676760.0 + :accum-time-percentage 0.5987 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 25916144.0 + :accum-time 22016304.0 + :accum-time-percentage 0.6081 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26119732.0 + :accum-time 22168284.0 + :accum-time-percentage 0.6123 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 26391730.0 + :accum-time 22380844.0 + :accum-time-percentage 0.6182 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 26655730.0 + :accum-time 22590436.0 + :accum-time-percentage 0.6239 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26998172.0 + :accum-time 22853932.0 + :accum-time-percentage 0.6312 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 27327610.0 + :accum-time 23115472.0 + :accum-time-percentage 0.6384 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8543 + :accum-dist 27424724.0 + :accum-time 23179070.0 + :accum-time-percentage 0.6402 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7995 + :accum-dist 27710558.0 + :accum-time 23394468.0 + :accum-time-percentage 0.6461 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3431 + :accum-dist 27881304.0 + :accum-time 23553832.0 + :accum-time-percentage 0.6506 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3587 + :accum-dist 28078968.0 + :accum-time 23700140.0 + :accum-time-percentage 0.6546 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2571 + :accum-dist 28236758.0 + :accum-time 23820776.0 + :accum-time-percentage 0.6579 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5747 + :accum-dist 28345132.0 + :accum-time 23897310.0 + :accum-time-percentage 0.66 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2943 + :accum-dist 28458648.0 + :accum-time 23955984.0 + :accum-time-percentage 0.6617 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1771 + :accum-dist 28572660.0 + :accum-time 24006978.0 + :accum-time-percentage 0.6631 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.934 + :accum-dist 28736068.0 + :accum-time 24086470.0 + :accum-time-percentage 0.6653 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7771 + :accum-dist 28857288.0 + :accum-time 24151798.0 + :accum-time-percentage 0.6671 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0547 + :accum-dist 29016510.0 + :accum-time 24234900.0 + :accum-time-percentage 0.6694 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9375 + :accum-dist 29204792.0 + :accum-time 24329220.0 + :accum-time-percentage 0.672 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3351 + :accum-dist 29388312.0 + :accum-time 24415120.0 + :accum-time-percentage 0.6743 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0203 + :accum-dist 29444564.0 + :accum-time 24440948.0 + :accum-time-percentage 0.6751 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 29575664.0 + :accum-time 24527758.0 + :accum-time-percentage 0.6775 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0579 + :accum-dist 29717872.0 + :accum-time 24620764.0 + :accum-time-percentage 0.68 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9163 + :accum-dist 29839370.0 + :accum-time 24681904.0 + :accum-time-percentage 0.6817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 29985416.0 + :accum-time 24772164.0 + :accum-time-percentage 0.6842 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 30158570.0 + :accum-time 24903380.0 + :accum-time-percentage 0.6878 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6583 + :accum-dist 30471860.0 + :accum-time 25113784.0 + :accum-time-percentage 0.6936 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5383 + :accum-dist 30657516.0 + :accum-time 25229932.0 + :accum-time-percentage 0.6968 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9783 + :accum-dist 30866808.0 + :accum-time 25348958.0 + :accum-time-percentage 0.7001 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8551 + :accum-dist 31052104.0 + :accum-time 25445624.0 + :accum-time-percentage 0.7028 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8335 + :accum-dist 31263076.0 + :accum-time 25560010.0 + :accum-time-percentage 0.706 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5195 + :accum-dist 31361650.0 + :accum-time 25618804.0 + :accum-time-percentage 0.7076 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5383 + :accum-dist 31527092.0 + :accum-time 25727004.0 + :accum-time-percentage 0.7106 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6183 + :accum-dist 31594244.0 + :accum-time 25769548.0 + :accum-time-percentage 0.7118 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5007 + :accum-dist 31687604.0 + :accum-time 25829408.0 + :accum-time-percentage 0.7134 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7987 + :accum-dist 31798684.0 + :accum-time 25896736.0 + :accum-time-percentage 0.7153 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7375 + :accum-dist 31912552.0 + :accum-time 25961132.0 + :accum-time-percentage 0.717 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9559 + :accum-dist 31991310.0 + :accum-time 26003778.0 + :accum-time-percentage 0.7182 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6203 + :accum-dist 32108884.0 + :accum-time 26069524.0 + :accum-time-percentage 0.72 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8575 + :accum-dist 32233032.0 + :accum-time 26140916.0 + :accum-time-percentage 0.722 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0575 + :accum-dist 32298876.0 + :accum-time 26174550.0 + :accum-time-percentage 0.7229 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0391 + :accum-dist 32411240.0 + :accum-time 26229404.0 + :accum-time-percentage 0.7245 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2975 + :accum-dist 32499278.0 + :accum-time 26270000.0 + :accum-time-percentage 0.7256 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4331 + :accum-dist 32600490.0 + :accum-time 26312790.0 + :accum-time-percentage 0.7268 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3747 + :accum-dist 32707024.0 + :accum-time 26357104.0 + :accum-time-percentage 0.728 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4331 + :accum-dist 32885908.0 + :accum-time 26431512.0 + :accum-time-percentage 0.73 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3743 + :accum-dist 33042328.0 + :accum-time 26496584.0 + :accum-time-percentage 0.7318 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1747 + :accum-dist 33173524.0 + :accum-time 26554260.0 + :accum-time-percentage 0.7334 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1379 + :accum-dist 33298964.0 + :accum-time 26612430.0 + :accum-time-percentage 0.735 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0947 + :accum-dist 33486130.0 + :accum-time 26700864.0 + :accum-time-percentage 0.7375 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0983 + :accum-dist 33597144.0 + :accum-time 26753812.0 + :accum-time-percentage 0.7389 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0767 + :accum-dist 33673532.0 + :accum-time 26790404.0 + :accum-time-percentage 0.74 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1963 + :accum-dist 33820476.0 + :accum-time 26859178.0 + :accum-time-percentage 0.7419 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2491 + :accum-dist 33937500.0 + :accum-time 26911824.0 + :accum-time-percentage 0.7433 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1319 + :accum-dist 34038588.0 + :accum-time 26957970.0 + :accum-time-percentage 0.7446 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4735 + :accum-dist 34215236.0 + :accum-time 27034680.0 + :accum-time-percentage 0.7467 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4367 + :accum-dist 34342624.0 + :accum-time 27086564.0 + :accum-time-percentage 0.7481 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5351 + :accum-dist 34497548.0 + :accum-time 27148880.0 + :accum-time-percentage 0.7499 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4735 + :accum-dist 34578116.0 + :accum-time 27181050.0 + :accum-time-percentage 0.7507 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4147 + :accum-dist 34721972.0 + :accum-time 27239908.0 + :accum-time-percentage 0.7524 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3351 + :accum-dist 34883868.0 + :accum-time 27308072.0 + :accum-time-percentage 0.7542 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3535 + :accum-dist 35002816.0 + :accum-time 27358810.0 + :accum-time-percentage 0.7557 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3691 + :accum-dist 35183044.0 + :accum-time 27435130.0 + :accum-time-percentage 0.7578 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5287 + :accum-dist 35286084.0 + :accum-time 27477204.0 + :accum-time-percentage 0.7589 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1315 + :accum-dist 35650612.0 + :accum-time 27633640.0 + :accum-time-percentage 0.7632 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2439 + :accum-dist 35832024.0 + :accum-time 27716560.0 + :accum-time-percentage 0.7655 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1871 + :accum-dist 35983470.0 + :accum-time 27784912.0 + :accum-time-percentage 0.7674 + ) + (new 'static 'blow-tower-node-info :accum-dist 36203064.0 :accum-time 27985710.0 :accum-time-percentage 0.773) + ) + :num-nodes #xca + ) + ) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-extra.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-extra.gc index b668f02f75..4777ea46d4 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-extra.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-extra.gc @@ -7,3 +7,224 @@ ;; DECOMP BEGINS +(deftype hud-pickup (hud) + () + ) + + +(deftype hud-hellcat (hud) + () + ) + + +(defmethod draw ((this hud-pickup)) + (set-hud-piece-position! + (-> this sprites 2) + (the int (+ 20.0 (* -130.0 (-> this offset)))) + (the int (+ 15.0 (* -100.0 (-> this offset)))) + ) + (set! (-> this sprites 0 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> this values 0 current)) 100))))) + (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 2)) 40 16) + (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites 2)) 1 16) + (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 2)) 15 2) + (let* ((f0-9 (the float (-> this sprites 2 color x))) + (f26-0 (the float (-> this sprites 2 color y))) + (f30-0 (the float (-> this sprites 2 color z))) + (f28-0 (seek f0-9 128.0 (* 512.0 (seconds-per-frame)))) + (f26-1 (seek f26-0 128.0 (* 512.0 (seconds-per-frame)))) + (f0-16 (seek f30-0 128.0 (* 512.0 (seconds-per-frame)))) + ) + (set! (-> this sprites 2 color x) (the int f28-0)) + (set! (-> this sprites 2 color y) (the int f26-1)) + (set! (-> this sprites 2 color z) (the int f0-16)) + ) + (let* ((f0-19 (the float (-> this sprites 3 color x))) + (f26-2 (the float (-> this sprites 3 color y))) + (f30-1 (the float (-> this sprites 3 color z))) + (f28-1 (seek f0-19 128.0 (* 512.0 (seconds-per-frame)))) + (f26-3 (seek f26-2 128.0 (* 512.0 (seconds-per-frame)))) + (f0-26 (seek f30-1 128.0 (* 512.0 (seconds-per-frame)))) + ) + (set! (-> this sprites 3 color x) (the int f28-1)) + (set! (-> this sprites 3 color y) (the int f26-3)) + (set! (-> this sprites 3 color z) (the int f0-26)) + ) + ((method-of-type hud draw) this) + 0 + (none) + ) + +(defmethod update-values! ((this hud-pickup)) + (set! (-> this values 0 target) (the int (-> *game-info* bot-health 0))) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +(defmethod init-callback ((this hud-pickup)) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-upper-left) (gui-action hidden) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this sprites 0 tid) (the-as texture-id (get-texture hud-transparent-01 level-default-minimap))) + (set! (-> this sprites 0 scale-x) 12.0) + (set! (-> this sprites 0 scale-y) 11.2) + (set! (-> this sprites 0 pos z) #xfffff2) + (set! (-> this sprites 1 tid) (the-as texture-id (get-texture hud-npcring-bar-01 level-default-minimap))) + (set! (-> this sprites 1 pos z) #xfffff0) + (set! (-> this sprites 2 tid) (the-as texture-id (get-texture hud-npcring-01 level-default-minimap))) + (set! (-> this sprites 2 pos z) #xffffff) + (set! (-> this sprites 3 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x7 :page #xc16))) + ) + (set! (-> this sprites 3 scale-x) 1.0) + (set! (-> this sprites 3 scale-y) 1.4) + (set! (-> this sprites 3 pos z) #xffffff) + 0 + (none) + ) + +(defmethod event-callback ((this hud-pickup) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('hit) + (set! (-> this sprites 2 color x) 255) + (set! (-> this sprites 2 color y) 0) + (set! (-> this sprites 2 color z) 0) + (set! (-> this sprites 3 color x) 255) + (set! (-> this sprites 3 color y) 255) + (let ((v0-0 (the-as object 255))) + (set! (-> this sprites 3 color z) (the-as int v0-0)) + v0-0 + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +(defmethod draw ((this hud-hellcat)) + (set-hud-piece-position! (the-as hud-sprite (-> this sprites)) 5 366) + (set! (-> this sprites 0 pos z) #xffffff) + (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites)) 4 9) + (set! (-> this sprites 1 pos z) #xffffff) + (let ((f0-1 (fmax 0.0 (fmin 1.0 (the-as float (-> this values 0 current)))))) + (set! (-> this sprites 1 color x) (the int (* 255.0 (- 1.0 f0-1)))) + (set! (-> this sprites 1 color y) (the int (* 255.0 f0-1))) + (set! (-> this sprites 1 color z) 0) + (set! (-> this sprites 1 scale-x) (* 20.5 f0-1)) + ) + ((method-of-type hud draw) this) + 0 + (none) + ) + +(defmethod update-values! ((this hud-hellcat)) + (set! (-> this values 0 target) (the-as int (-> *game-info* health-bar-vehicle))) + (logclear! (-> this flags) (hud-flags disable)) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +(defmethod init-callback ((this hud-hellcat)) + (vehicle-entity-hack 27) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-lower-center) (gui-action play) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this sprites 0 tid) + (the-as + texture-id + (lookup-texture-by-name "hud-vehicle-health-bar-01" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (set! (-> this sprites 0 flags) (hud-sprite-flags)) + (set! (-> this sprites 0 scale-x) 0.7) + (set! (-> this sprites 0 scale-y) 0.8) + (set! (-> this sprites 1 tid) (the-as texture-id (get-texture common-white common))) + (set! (-> this sprites 1 flags) (hud-sprite-flags)) + (set! (-> this sprites 1 scale-x) 0.0) + (set! (-> this sprites 1 scale-y) 2.0) + (set! (-> this sprites 1 color w) 48) + 0 + (none) + ) + +(deftype hud-pickup-arrows (hud) + ((offscreen uint8) + (alpha float 2) + ) + ) + + +(defmethod draw ((this hud-pickup-arrows)) + (set! (-> this sprites 0 color w) 0) + (set-hud-piece-position! (the-as hud-sprite (-> this sprites)) 32 208) + (set! (-> this sprites 0 color w) (the int (-> this alpha 0))) + (set! (-> this sprites 1 color w) 0) + (set-hud-piece-position! (-> this sprites 1) 480 208) + (set! (-> this sprites 1 color w) (the int (-> this alpha 1))) + ((method-of-type hud draw) this) + 0 + (none) + ) + +(defmethod update-values! ((this hud-pickup-arrows)) + (logclear! (-> this flags) (hud-flags disable)) + (when (not (logtest? (-> *kernel-context* prevent-from-run) (process-mask pause))) + (dotimes (s5-0 2) + (if (not (logtest? (-> this offscreen) (ash 1 s5-0))) + (seek! (-> this alpha s5-0) 0.0 (* 256.0 (seconds-per-frame))) + (seek! + (-> this alpha s5-0) + (+ 80.0 (* 32.0 (sin (* 218.45334 (the float (mod (current-time) 300)))))) + (* 128.0 (seconds-per-frame)) + ) + ) + ) + ) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +(defmethod init-callback ((this hud-pickup-arrows)) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-middle-left) (gui-action hidden) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this offscreen) (the-as uint 0)) + (set! (-> this alpha 0) 0.0) + (set! (-> this alpha 1) 0.0) + (set! (-> this sprites 0 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #xc16))) + ) + (set! (-> this sprites 0 flags) (hud-sprite-flags hsf0 hsf3)) + (set! (-> this sprites 0 scale-x) 1.0) + (set! (-> this sprites 0 scale-y) 1.0) + (set! (-> this sprites 1 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #xc16))) + ) + (set! (-> this sprites 1 flags) (hud-sprite-flags hsf3)) + (set! (-> this sprites 1 scale-x) 1.0) + (set! (-> this sprites 1 scale-y) 1.0) + 0 + (none) + ) + +(defmethod event-callback ((this hud-pickup-arrows) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('reset-arrows) + (set! (-> this offscreen) (the-as uint 0)) + 0 + ) + (('off-to-left) + (logior! (-> this offscreen) 1) + ) + (('off-to-right) + (logior! (-> this offscreen) 2) + ) + ) + ((method-of-type hud event-callback) this arg0 arg1 arg2 arg3) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc index da99bbffd5..214f725d0b 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs.gc @@ -7,3 +7,1954 @@ ;; DECOMP BEGINS +(deftype tower-enemy-init-params (structure) + ((pos vector :inline) + (entity-name string) + (target handle) + (time-offset float) + (activate-time time-frame) + (bool-userdata? symbol) + ) + ) + + +(deftype blow-tower-enemy (process-focusable) + ((hit-points float) + (last-attack-id uint32) + (last-attack-dir vector :inline) + (last-attack-pos vector :inline) + ) + (:state-methods + idle + dormant + ) + (:methods + (bt-enemy-handler (_type_ process int symbol event-message-block) object) + (on-hit (_type_ float) none) + (on-death (_type_) object) + (init (_type_) object :behavior blow-tower-enemy) + (blow-tower-enemy-method-34 (_type_) none) + (blow-tower-enemy-method-35 (_type_) none) + (blow-tower-enemy-method-36 (_type_) none) + (get-damage-from-attack (_type_ attack-info process-focusable) float) + ) + ) + + +(defbehavior blow-tower-enemy-handler blow-tower-enemy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-enemy-handler self arg0 arg1 arg2 arg3) + ) + +(defmethod blow-tower-enemy-method-36 ((this blow-tower-enemy)) + (logclear! (-> this focus-status) (focus-status dead)) + 0 + (none) + ) + +(defstate idle (blow-tower-enemy) + :virtual #t + :code nothing + ) + +(defstate dormant (blow-tower-enemy) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('blow-tower-debug-end) + (when (type? (-> self root) collide-shape) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) + ) + ) + (logclear! (-> self draw status) (draw-control-status no-draw)) + (transform-post) + (blow-tower-enemy-method-36 self) + (go-virtual idle) + ) + ) + ) + :enter (behavior () + (when (type? (-> self root) collide-shape) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (collide-spec)) + (set! (-> v1-2 prim-core collide-with) (collide-spec)) + ) + 0 + ) + (logior! (-> self draw status) (draw-control-status no-draw)) + (transform-post) + (logior! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status no-kill) #f) + ) + :code sleep-code + ) + +(defmethod init ((this blow-tower-enemy)) + (set! (-> this hit-points) 5.0) + (if (!= (status-of-level-and-borrows *level* 'lctyblow #f) 'active) + (go empty-state) + ) + ) + +;; WARN: Return type mismatch rgbaf vs none. +(defmethod on-hit ((this blow-tower-enemy) (arg0 float)) + (set-vector! (-> this draw color-emissive) 2.0 2.0 2.0 2.0) + (none) + ) + +;; WARN: Return type mismatch float vs none. +(defmethod blow-tower-enemy-method-34 ((this blow-tower-enemy)) + (let ((f30-0 (fmin 1.0 (* 20.0 (seconds-per-frame))))) + (seek! (-> this draw color-emissive x) 0.0 f30-0) + (seek! (-> this draw color-emissive y) 0.0 f30-0) + (seek! (-> this draw color-emissive z) 0.0 f30-0) + (seek! (-> this draw color-emissive w) 0.0 f30-0) + ) + (none) + ) + +;; WARN: Return type mismatch float vs none. +(defmethod blow-tower-enemy-method-35 ((this blow-tower-enemy)) + (let ((s5-0 (new 'stack-no-clear 'collide-query)) + (gp-0 (-> this root trans)) + ) + (vector+float*! (-> s5-0 start-pos) gp-0 *up-vector* 24576.0) + (set! (-> s5-0 move-dist quad) (the-as uint128 0)) + (set! (-> s5-0 move-dist y) -81920.0) + (let ((v1-5 s5-0)) + (set! (-> v1-5 radius) 409.6) + (set! (-> v1-5 collide-with) (collide-spec backgnd)) + (set! (-> v1-5 ignore-process0) #f) + (set! (-> v1-5 ignore-process1) #f) + (set! (-> v1-5 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-5 action-mask) (collide-action solid)) + ) + (when (>= (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) + (if (< (fabs (- (-> s5-0 best-other-tri intersect y) (-> this root trans y))) 12288.0) + (set! (-> gp-0 y) (fmax 0.0 (-> s5-0 best-other-tri intersect y))) + ) + ) + ) + (none) + ) + +(defmethod on-death ((this blow-tower-enemy)) + (logior! (-> this focus-status) (focus-status dead)) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (go empty-state) + ) + +(defmethod get-damage-from-attack ((this blow-tower-enemy) (arg0 attack-info) (arg1 process-focusable)) + (if (logtest? (attack-mask damage) (-> arg0 mask)) + (-> arg0 damage) + (penetrate-using->damage (-> arg0 penetrate-using)) + ) + ) + +(defmethod bt-enemy-handler ((this blow-tower-enemy) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack) + (let ((s4-0 (the-as attack-info (-> arg3 param 1)))) + (when (and (!= (-> s4-0 id) (-> this last-attack-id)) (or (= (-> s4-0 mode) 'eco-blue) (= (-> s4-0 mode) 'explode))) + (set! (-> this last-attack-id) (-> s4-0 id)) + (let ((f30-0 (get-damage-from-attack this s4-0 (the-as process-focusable arg0)))) + (let ((s3-0 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 s4-0 s3-0 (the-as process-drawable arg0) this) + (set! (-> this last-attack-dir quad) (-> s3-0 trans quad)) + (set! (-> this last-attack-pos quad) (-> s3-0 intersection quad)) + ) + (set! (-> this hit-points) (- (-> this hit-points) f30-0)) + (if (>= 0.0 (-> this hit-points)) + (on-death this) + (on-hit this f30-0) + ) + ) + ) + ) + ) + (else + #f + ) + ) + ) + +(deftype tower-flyer-bobber (structure) + ((start-val float) + (current-val float) + (total-time time-frame) + (current-time time-frame) + (current-size-scalar float) + (dir float) + (num-iterations float) + (time-scalar float) + (start-time-scalar float) + (desired-time-scalar float) + (scale-min float) + (scale-max float) + (time-min float) + (time-max float) + (base-time float) + (current-speed float) + (output-scale float) + (output-val float) + (charge-time time-frame) + (wait-time time-frame) + ) + :allow-misaligned + (:methods + (init-fields (_type_) none) + (tower-flyer-bobber-method-10 (_type_) none) + (tower-flyer-bobber-method-11 (_type_) none) + ) + ) + + +(deftype tower-flyer (blow-tower-enemy) + ((focus handle) + (local-offset vector :inline) + (basetrans vector :inline) + (surround-spot int32) + (desired-z-dist float) + (current-z-dist float) + (use-z-dist float) + (bobbers tower-flyer-bobber 3 :inline) + (spot-base-pos vector :inline) + (hover-end-time time-frame) + (total-charge-time time-frame :overlay-at hover-end-time) + (charge-part sparticle-launch-control) + (charge-t float) + (last-wall-clip-time time-frame) + (spawn-path-time time-frame) + (bob-vec vector :inline) + (bob-y-scalar float) + (entity-pos vector) + (buzz-sound sound-id) + (charge-sound sound-id) + ) + (:state-methods + hovering + charging + firing + fleeing + ) + (:methods + (tower-flyer-method-42 (_type_) none) + (tower-flyer-method-43 (_type_) none) + (fire-projectile (_type_) none) + (tower-flyer-method-45 (_type_) none) + (tower-flyer-method-46 (_type_) none) + (tower-flyer-method-47 (_type_ vector quaternion vector) symbol) + (tower-flyer-method-48 (_type_ vector) quaternion) + (tower-flyer-method-49 (_type_ vector quaternion) quaternion) + ) + ) + + +(defmethod on-hit ((this tower-flyer) (arg0 float)) + (if (and (-> this next-state) (= (-> this next-state name) 'charging)) + (go (method-of-object this hovering)) + ) + (call-parent-method this arg0) + (none) + ) + +;; WARN: Return type mismatch int vs object. +(defmethod init ((this tower-flyer)) + (call-parent-method this) + (set! (-> this charge-part) (create-launch-control (-> *part-group-id-table* 1456) this)) + (set! (-> this charge-t) 0.0) + (set! (-> this buzz-sound) (new-sound-id)) + (set! (-> this charge-sound) (new-sound-id)) + (set! (-> this hit-points) 3.0) + 0 + ) + +(defmethod deactivate ((this tower-flyer)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (sound-stop (-> this buzz-sound)) + (sound-stop (-> this charge-sound)) + (call-parent-method this) + (none) + ) + +(defbehavior tower-flyer-init-by-other tower-flyer ((arg0 tower-enemy-init-params)) + (tower-flyer-method-42 self) + (quaternion-identity! (-> self root quat)) + (set! (-> self focus) (-> arg0 target)) + (set! (-> self entity-pos) #f) + (let ((v1-4 (entity-by-name (-> arg0 entity-name)))) + (if v1-4 + (set! (-> self entity-pos) (-> v1-4 extra trans)) + ) + ) + (set! (-> self spawn-path-time) + (+ (-> *blow-tower-targets* mission-time) (the int (* 300.0 (-> arg0 time-offset)))) + ) + (init self) + (set! (-> self surround-spot) + (the-as int (send-event (handle->process (-> self focus)) 'assign-spot (process->handle self) #f)) + ) + (if (< (-> self surround-spot) 0) + (go empty-state) + (go-virtual idle) + ) + ) + +;; WARN: Return type mismatch float vs none. +(defmethod tower-flyer-method-46 ((this tower-flyer)) + (cond + ((-> this entity-pos) + (set! (-> this basetrans quad) (-> this entity-pos quad)) + (set! (-> this root trans quad) (-> this entity-pos quad)) + (let* ((s4-0 (handle->process (-> this focus))) + (s5-0 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (when s5-0 + (let ((a0-9 (new 'stack-no-clear 'vector))) + (set! (-> a0-9 quad) + (-> (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> this root trans)) quad) + ) + (set! (-> a0-9 y) 0.0) + (let ((a1-5 (vector-normalize! a0-9 1.0))) + (vector-! (-> this local-offset) (-> this basetrans) (-> s5-0 root trans)) + (quaternion-look-at! (-> this root quat) a1-5 *up-vector*) + ) + ) + ) + ) + ) + (else + (let ((s5-1 (new 'stack 'blow-tower-path-cursor))) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'quaternion))) + (set! (-> s5-1 path) (the-as blow-tower-path (send-event (handle->process (-> this focus)) 'get-path))) + (blow-tower-path-cursor-method-9 s5-1 (the-as int (-> this spawn-path-time))) + (set! (-> s4-1 quad) (-> s5-1 pos quad)) + (let ((s2-0 quaternion-look-at!) + (s1-0 s3-0) + (a0-22 (-> s5-1 norm)) + ) + (set! (-> a0-22 quad) (-> s5-1 norm quad)) + (set! (-> a0-22 y) 0.0) + (s2-0 s1-0 (vector-normalize! a0-22 1.0) *up-vector*) + ) + (send-event (handle->process (-> this focus)) 'retrieve-spot (-> this surround-spot) s4-1 s3-0) + (let ((s2-1 (new 'stack-no-clear 'collide-query))) + (let ((v1-33 (vector-z-quaternion! (new 'stack-no-clear 'vector) s3-0))) + (set! (-> s2-1 start-pos quad) (-> s4-1 quad)) + (vector-float*! (-> s2-1 move-dist) v1-33 61440.0) + ) + (let ((v1-34 s2-1)) + (set! (-> v1-34 radius) 4096.0) + (set! (-> v1-34 collide-with) (collide-spec backgnd)) + (set! (-> v1-34 ignore-process0) #f) + (set! (-> v1-34 ignore-process1) #f) + (set! (-> v1-34 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-34 action-mask) (collide-action solid)) + ) + (let ((f0-4 (fill-and-probe-using-line-sphere *collide-cache* s2-1))) + (if (>= f0-4 0.0) + (vector-float*! (-> s2-1 move-dist) (-> s2-1 move-dist) f0-4) + ) + ) + (vector+! s4-1 s4-1 (-> s2-1 move-dist)) + ) + ) + (set! (-> this basetrans quad) (-> s4-1 quad)) + ) + (set! (-> this root trans quad) (-> this basetrans quad)) + (let* ((s4-2 (handle->process (-> this focus))) + (a1-20 (if (type? s4-2 process-focusable) + (the-as process-focusable s4-2) + ) + ) + ) + (if a1-20 + (vector-! (-> this local-offset) (-> this basetrans) (-> a1-20 root trans)) + ) + ) + (vector-float*! (-> s5-1 norm) (-> s5-1 norm) -1.0) + (quaternion-look-at! (-> this root quat) (-> s5-1 norm) *up-vector*) + ) + ) + ) + (set! (-> this desired-z-dist) (cond + ((= (-> this focus) (-> *blow-tower-targets* hellcat)) + (let* ((f30-0 40960.0) + (f28-0 40960.0) + (v1-57 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-58 (the-as number (logior #x3f800000 v1-57))) + ) + (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-58)))) + ) + ) + (else + (let* ((f30-1 16384.0) + (f28-1 14336.0) + (v1-64 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-65 (the-as number (logior #x3f800000 v1-64))) + ) + (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-65)))) + ) + ) + ) + ) + (set! (-> this current-z-dist) (-> this desired-z-dist)) + (set! (-> this use-z-dist) (-> this desired-z-dist)) + (none) + ) + +(defstate idle (tower-flyer) + :virtual #t + :enter (behavior () + (go-virtual hovering) + ) + :exit (behavior () + (dotimes (gp-0 3) + (init-fields (-> self bobbers gp-0)) + ) + (tower-flyer-method-46 self) + ) + :code sleep-code + :post transform-post + ) + +(defstate hovering (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self hover-end-time) + (the-as time-frame (+ (logand 0 (rand-uint31-gen *random-generator*)) 450 (current-time))) + ) + ) + :trans (behavior () + (if (< (-> self hover-end-time) (current-time)) + (go-virtual charging) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defstate charging (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self hover-end-time) (the-as time-frame (+ (logand 0 (rand-uint31-gen *random-generator*)) 300))) + ) + :exit (behavior () + (sound-stop (-> self charge-sound)) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self focus))) + (a1-2 (-> (the-as process-focusable (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + root + trans + ) + ) + ) + (if (or (< 143360.0 (vector-vector-xz-distance (-> self root trans) a1-2)) + (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) + (let ((gp-1 sphere-in-view-frustum?) + (a0-6 (new 'stack 'sphere)) + ) + (set! (-> a0-6 quad) (-> self root trans quad)) + (set! (-> a0-6 r) 409.6) + (not (gp-1 a0-6)) + ) + ) + ) + (set-time! (-> self state-time)) + ) + ) + (if (time-elapsed? (-> self state-time) (-> self hover-end-time)) + (go-virtual firing) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (logior! (-> self skel status) (joint-control-status sync-math)) + (transform-post) + (let ((f1-2 (/ (the float (- (current-time) (-> self state-time))) (the float (-> self hover-end-time))))) + (set! (-> self charge-t) (fmax 0.0 (fmin 1.0 f1-2))) + ) + (tower-flyer-method-45 self) + ) + ) + +(defstate fleeing (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let ((gp-0 (-> self spot-base-pos)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> gp-0 quad) (the-as uint128 0)) + (quaternion-identity! s5-0) + (send-event (handle->process (-> self focus)) 'retrieve-spot (-> self surround-spot) gp-0 s5-0 #t) + (let* ((s4-0 (handle->process (-> self focus))) + (a1-3 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (if a1-3 + (vector+! gp-0 (-> self spot-base-pos) (-> a1-3 root trans)) + ) + ) + (let* ((f1-2 (* 0.0022222223 (the float (- (current-time) (-> self state-time))))) + (f0-2 (fmax 0.0 (fmin 1.0 f1-2))) + (f0-3 (* -32768.0 f0-2)) + ) + (quaternion-rotate-local-x! s5-0 s5-0 f0-3) + ) + (if (or (not (logtest? (-> self draw status) (draw-control-status on-screen))) + (let ((s4-1 sphere-in-view-frustum?) + (a0-16 (new 'stack 'sphere)) + ) + (set! (-> a0-16 quad) (-> self root trans quad)) + (set! (-> a0-16 r) 20480.0) + (not (s4-1 a0-16)) + ) + ) + (go empty-state) + ) + (tower-flyer-method-49 self gp-0 s5-0) + ) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defstate firing (tower-flyer) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('notify) + (case (-> block param 0) + (('attack) + (if (= (-> self focus) (-> *blow-tower-targets* hellcat)) + (go-virtual fleeing) + ) + ) + ) + ) + (else + (blow-tower-enemy-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + (fire-projectile self) + ) + :trans (behavior () + (when (time-elapsed? (-> self state-time) (seconds 1)) + (if (= (-> self focus) (-> *blow-tower-targets* hellcat)) + (go-virtual fleeing) + (go-virtual charging) + ) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(define *current-color* (new 'static 'rgba :r #xff :a #x80)) + +(defun tower-fly-quick-raycast ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float)) + (let ((s4-0 (new 'stack 'collide-query))) + (set! (-> s4-0 start-pos quad) (-> arg0 quad)) + (vector-! (-> s4-0 move-dist) arg1 arg0) + (let ((v1-3 s4-0)) + (set! (-> v1-3 radius) arg3) + (set! (-> v1-3 collide-with) (collide-spec backgnd)) + (set! (-> v1-3 ignore-process0) #f) + (set! (-> v1-3 ignore-process1) #f) + (set! (-> v1-3 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-3 action-mask) (collide-action solid)) + ) + (let ((f0-1 (fill-and-probe-using-line-sphere *collide-cache* s4-0))) + (cond + ((!= f0-1 -100000000.0) + (set! (-> arg2 quad) (-> s4-0 best-other-tri intersect quad)) + (vector+float*! arg2 arg0 (-> s4-0 move-dist) f0-1) + ) + (else + (set! (-> arg2 quad) (-> arg1 quad)) + ) + ) + f0-1 + ) + ) + ) + +(defun compute-tower-flyer-lerp-point ((arg0 tower-flyer) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg3 arg2))) + (vector-lerp! s4-1 (-> arg0 local-offset) s4-1 arg4) + (vector+! arg1 arg2 s4-1) + ) + (vector-lerp! arg1 (-> arg0 basetrans) arg3 arg4) + arg1 + ) + +;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3] +;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4] +;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] +(defmethod tower-flyer-method-47 ((this tower-flyer) (arg0 vector) (arg1 quaternion) (arg2 vector)) + (local-vars (f0-10 float) (sv-208 vector)) + (with-pp + (rlet ((vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + ) + (init-vf0-vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + (f30-0 (-> pp clock frames-per-second)) + ) + (set! (-> s1-0 quad) (-> arg2 quad)) + (compute-tower-flyer-lerp-point this s3-0 arg0 s1-0 (* f30-0 (seconds-per-frame))) + (set! *current-color* *color-red*) + (when (= (tower-fly-quick-raycast (-> this basetrans) s3-0 (new 'stack-no-clear 'vector) 8192.0) -100000000.0) + (set! (-> arg2 quad) (-> s1-0 quad)) + (return #t) + ) + (let ((s2-0 (new 'stack-no-clear 'vector)) + (s3-1 (new 'stack-no-clear 'vector)) + ) + (set! *current-color* *color-green*) + (tower-fly-quick-raycast arg0 s1-0 s2-0 8192.0) + (compute-tower-flyer-lerp-point this s3-1 arg0 s2-0 (* f30-0 (seconds-per-frame))) + (set! *current-color* *color-blue*) + (when (= (tower-fly-quick-raycast s3-1 (-> this basetrans) (new 'stack-no-clear 'vector) 0.0) -100000000.0) + (set! (-> arg2 quad) (-> s2-0 quad)) + (return #t) + ) + (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) arg0 s2-0))) + 0.0 + (set! sv-208 (new 'stack-no-clear 'vector)) + (let ((v1-19 s2-0) + (a0-11 (-> this basetrans)) + ) + (.lvf vf4 (&-> v1-19 quad)) + (.lvf vf5 (&-> a0-11 quad)) + ) + (.mov.vf vf6 vf0 :mask #b1000) + (.sub.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> sv-208 quad) vf6) + 0.0 + (let ((s2-1 (new 'stack-no-clear 'vector))) + (let ((s0-0 (new 'stack-no-clear 'vector))) + (vector-normalize-ret-len! s1-2 1.0) + (let* ((v1-21 s1-2) + ; (f0-9 (-> sv-208 x)) + ; (f1-2 (-> sv-208 y)) + ; (f2-0 (-> sv-208 z)) + ; (f3-0 (-> v1-21 x)) + ; (f4-0 (-> v1-21 y)) + ; (f5-0 (-> v1-21 z)) + ) + ;; og:preserve-this + ; (.mula.s f0-9 f3-0) + ; (.madda.s f1-2 f4-0) + ; (.madd.s f0-10 f2-0 f5-0) + (set! f0-10 (vector-dot sv-208 v1-21)) + ) + (let ((f0-11 f0-10)) + (vector+float*! s2-1 (-> this basetrans) s1-2 f0-11) + ) + (compute-tower-flyer-lerp-point this s0-0 arg0 s2-1 (* f30-0 (seconds-per-frame))) + ) + (set! *current-color* *color-white*) + (when (= (tower-fly-quick-raycast (-> this basetrans) s3-1 (new 'stack-no-clear 'vector) 2048.0) -100000000.0) + (set! (-> arg2 quad) (-> s2-1 quad)) + (return #t) + ) + ) + ) + ) + ) + #f + ) + ) + ) + +(defmethod tower-flyer-method-48 ((this tower-flyer) (arg0 vector)) + (set! (-> this bobbers 1 output-scale) (-> this bob-y-scalar)) + (set! (-> this bobbers 1 base-time) 0.9) + (set! (-> this bobbers 2 output-scale) 6144.0) + (set! (-> this bobbers 2 base-time) 1.1) + (set! (-> this bobbers 2 output-scale) 4096.0) + (dotimes (s4-0 3) + (tower-flyer-bobber-method-10 (-> this bobbers s4-0)) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 x) (-> this bobbers 0 output-val)) + (set! (-> s4-1 y) (-> this bobbers 1 output-val)) + (set! (-> s4-1 z) (-> this bobbers 2 output-val)) + (set! (-> s4-1 w) 1.0) + (let ((a2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-matrix*! s4-1 s4-1 a2-0) + ) + (vector-lerp! (-> this bob-vec) (-> this bob-vec) s4-1 (* 2.0 (seconds-per-frame))) + ) + (vector+! (-> this root trans) (-> this basetrans) (-> this bob-vec)) + (let ((s4-3 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this basetrans))) + (s5-1 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> s4-3 y) 0.0) + (vector-normalize! s4-3 1.0) + (quaternion-look-at! s5-1 s4-3 *up-vector*) + (quaternion-slerp! (-> this root quat) (-> this root quat) s5-1 (* 3.0 (seconds-per-frame))) + ) + ) + +(defmethod tower-flyer-method-49 ((this tower-flyer) (arg0 vector) (arg1 quaternion)) + (local-vars (sv-608 collide-query) (sv-612 vector) (sv-616 symbol)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! sv-608 (new 'stack-no-clear 'collide-query)) + (set! sv-612 (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1)) + (set! sv-616 #t) + (set! (-> sv-608 start-pos quad) (-> arg0 quad)) + (vector-float*! (-> sv-608 move-dist) sv-612 (+ 16384.0 (-> this desired-z-dist))) + (let ((v1-7 sv-608)) + (set! (-> v1-7 radius) 4096.0) + (set! (-> v1-7 collide-with) (collide-spec backgnd)) + (set! (-> v1-7 ignore-process0) #f) + (set! (-> v1-7 ignore-process1) #f) + (set! (-> v1-7 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-7 action-mask) (collide-action solid)) + ) + (let ((f0-3 (fill-and-probe-using-line-sphere *collide-cache* sv-608))) + (cond + ((>= f0-3 0.0) + (vector-float*! (-> sv-608 move-dist) (-> sv-608 move-dist) f0-3) + (let ((v1-15 (vector-! (new 'stack-no-clear 'vector) (-> this basetrans) arg0)) + (a1-5 (new 'stack-no-clear 'collide-query)) + ) + 0.0 + (let ((f30-0 (vector-length (-> sv-608 move-dist))) + (f28-0 (vector-dot v1-15 sv-612)) + ) + (vector+float*! s4-0 arg0 sv-612 f28-0) + (set! (-> a1-5 start-pos quad) (-> this basetrans quad)) + (vector-! (-> a1-5 move-dist) s4-0 (-> a1-5 start-pos)) + (let ((v1-21 a1-5)) + (set! (-> v1-21 radius) 40.96) + (set! (-> v1-21 collide-with) (collide-spec backgnd)) + (set! (-> v1-21 ignore-process0) #f) + (set! (-> v1-21 ignore-process1) #f) + (set! (-> v1-21 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-21 action-mask) (collide-action solid)) + ) + (cond + ((or (>= (fill-and-probe-using-line-sphere *collide-cache* a1-5) 0.0) (>= (+ 6144.0 f30-0) f28-0)) + (set! (-> this use-z-dist) (fmin (+ -8192.0 f30-0) (-> this desired-z-dist))) + (set! (-> this current-z-dist) (fmin (-> this current-z-dist) f30-0)) + (seek! (-> this current-z-dist) (-> this use-z-dist) (* 61440.0 (seconds-per-frame))) + (set-time! (-> this last-wall-clip-time)) + ) + (else + (set! (-> this current-z-dist) f28-0) + (set-time! (-> this last-wall-clip-time)) + (set! sv-616 (the-as symbol #f)) + ) + ) + ) + ) + ) + ((time-elapsed? (-> this last-wall-clip-time) (seconds 1)) + (seek! (-> this current-z-dist) (-> this use-z-dist) (* 20480.0 (seconds-per-frame))) + (seek! (-> this use-z-dist) (-> this desired-z-dist) (* 8192.0 (seconds-per-frame))) + ) + ) + ) + (when sv-616 + (vector-normalize! (-> sv-608 move-dist) (-> this current-z-dist)) + (vector+! s4-0 arg0 (-> sv-608 move-dist)) + ) + (vector-! s2-0 s4-0 arg0) + (let ((a0-36 (vector-! (new 'stack-no-clear 'vector) s2-0 (-> this local-offset)))) + 0.0 + (vector-normalize-ret-len! a0-36 1.0) + ) + (when (and (and (-> this next-state) (= (-> this next-state name) 'charging)) + (< 40960.0 (vector-vector-distance s4-0 (-> this basetrans))) + ) + (let ((v1-58 (- (-> this hover-end-time) (- (current-time) (-> this state-time))))) + 0 + (when (< v1-58 (seconds 1)) + (let ((v1-59 (- (seconds 1) v1-58))) + (+! (-> this hover-end-time) v1-59) + ) + ) + ) + ) + (let ((f30-2 0.5)) + (if (< 81920.0 (vector-length (-> this local-offset))) + (set! f30-2 1.0) + ) + (if (< (vector-vector-distance s4-0 (-> this basetrans)) 40960.0) + (set! f30-2 1.0) + ) + (vector-lerp! (-> this local-offset) (-> this local-offset) s2-0 (* f30-2 (seconds-per-frame))) + ) + ) + (vector+! s4-0 arg0 (-> this local-offset)) + (tower-flyer-method-47 this arg0 arg1 s4-0) + (vector-! (-> this local-offset) s4-0 arg0) + (when #f + (let ((a0-53 (vector-! (new 'stack-no-clear 'vector) s4-0 arg0))) + 0.0 + (let ((f30-3 10240.0) + (f0-40 (vector-normalize-ret-len! a0-53 1.0)) + ) + (when (< f0-40 f30-3) + (let ((f0-41 (- f30-3 f0-40))) + (+! (-> s4-0 y) f0-41) + ) + ) + ) + ) + ) + (set! (-> this basetrans quad) (-> s4-0 quad)) + ) + (tower-flyer-method-48 this arg0) + ) + +;; WARN: Return type mismatch quaternion vs none. +(defmethod tower-flyer-method-43 ((this tower-flyer)) + (let ((s5-0 (-> this spot-base-pos)) + (s4-0 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> s5-0 quad) (the-as uint128 0)) + (quaternion-identity! s4-0) + (send-event (handle->process (-> this focus)) 'retrieve-spot (-> this surround-spot) s5-0 s4-0 #t) + (let* ((s3-0 (handle->process (-> this focus))) + (a1-3 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (if a1-3 + (vector+! s5-0 (-> this spot-base-pos) (-> (the-as process-focusable a1-3) root trans)) + ) + ) + (tower-flyer-method-49 this s5-0 s4-0) + ) + (none) + ) + +(defmethod tower-flyer-method-42 ((this tower-flyer)) + (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 + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + flut-attack + board + mech-punch + dark-punch + dark-smack + flut + ) + ) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-7 prim-core collide-with) + (collide-spec backgnd jak bot enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-7 prim-core action) (collide-action solid semi-solid no-standon)) + (set-vector! (-> v1-7 local-sphere) 0.0 0.0 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) 40.96) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(deftype flyer-projectile-params (structure) + ((total-travel-time time-frame) + (target handle) + (damage float) + ) + ) + + +(deftype flyer-projectile (process-drawable) + ((original-offset-vec vector :inline) + (params flyer-projectile-params :inline) + (size-t float) + ) + (:state-methods + active + ) + (:methods + (spawn-part (_type_) none) + ) + ) + + +(defbehavior flyer-projectile-init-by-other flyer-projectile ((arg0 flyer-projectile-params) (arg1 vector)) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg1 quad)) + (mem-copy! (the-as pointer (-> self params)) (the-as pointer arg0) 20) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> self params target)) 'get-attack-pos gp-1) + (vector-! (-> self original-offset-vec) (-> self root trans) gp-1) + ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1456) self)) + (set! (-> self size-t) 1.0) + (go-virtual active) + ) + +;; WARN: Return type mismatch (pointer process) vs none. +(defmethod fire-projectile ((this tower-flyer)) + (let ((gp-0 (new 'stack-no-clear 'flyer-projectile-params))) + (set! (-> gp-0 total-travel-time) (seconds 0.5)) + (set! (-> gp-0 target) (-> this focus)) + (set! (-> gp-0 damage) (if (= (-> this focus) (-> *blow-tower-targets* hellcat)) + 4.0 + 6.0 + ) + ) + (process-spawn flyer-projectile gp-0 (-> this root trans) :name "flyer-projectile") + ) + (none) + ) + +(defmethod relocate ((this tower-flyer) (offset int)) + (if (nonzero? (-> this charge-part)) + (&+! (-> this charge-part) offset) + ) + (call-parent-method this offset) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod tower-flyer-method-45 ((this tower-flyer)) + (set! (-> *part-id-table* 4791 init-specs 2 initial-valuef) (lerp 409.6 5120.0 (-> this charge-t))) + (set! (-> *part-id-table* 4792 init-specs 2 initial-valuef) (lerp 409.6 6144.0 (-> this charge-t))) + (set! (-> *part-id-table* 4790 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> this charge-t))) + (spawn (-> this charge-part) (-> this root trans)) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod spawn-part ((this flyer-projectile)) + (set! (-> *part-id-table* 4791 init-specs 2 initial-valuef) (lerp 409.6 5120.0 (-> this size-t))) + (set! (-> *part-id-table* 4792 init-specs 2 initial-valuef) (lerp 409.6 6144.0 (-> this size-t))) + (set! (-> *part-id-table* 4790 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> this size-t))) + (spawn (-> this part) (-> this root trans)) + (none) + ) + +(defstate active (flyer-projectile) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let* ((f1-2 (/ (the float (- (current-time) (-> self state-time))) (the float (-> self params total-travel-time)))) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> self params target)) 'get-attack-pos gp-0) + (vector+float*! (-> self root trans) gp-0 (-> self original-offset-vec) (- 1.0 f30-0)) + ) + (spawn-part self) + (when (= f30-0 1.0) + (when (= (-> self params target) (-> *blow-tower-targets* hellcat)) + (if (and (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + (sound-play "hellcat-hit") + ) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) (process->ppointer self)) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'attack) + (set! (-> a1-4 param 0) (the-as uint #f)) + (let ((v1-40 + (new 'static 'attack-info + :mask (attack-mask trans mode id attacker-velocity damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-20 *game-info*) + (a2-4 (+ (-> a0-20 attack-id) 1)) + ) + (set! (-> a0-20 attack-id) a2-4) + (set! (-> v1-40 id) a2-4) + ) + (set! (-> v1-40 damage) (-> self params damage)) + (set! (-> v1-40 vehicle-damage-factor) 1.0) + (set! (-> v1-40 vehicle-impulse-factor) 1.0) + (set! (-> v1-40 mode) 'eco-dark) + (set! (-> v1-40 trans quad) (-> self root trans quad)) + (set! (-> v1-40 attacker-velocity quad) + (-> (vector-float*! + (new 'stack-no-clear 'vector) + (-> self original-offset-vec) + (/ 1.0 (* 0.0033333334 (the float (-> self params total-travel-time)))) + ) + quad + ) + ) + (set! (-> a1-4 param 1) (the-as uint v1-40)) + ) + (send-event-function (handle->process (-> self params target)) a1-4) + ) + (go empty-state) + ) + ) + ) + :code sleep-code + ) + +(deftype cast-rider (process-focusable) + ((anim-index int16) + (track-obj handle) + (neck joint-mod) + (track-pos vector :inline) + ) + (:state-methods + riding + ) + ) + + +(defbehavior cast-rider-init-by-other cast-rider ((arg0 skeleton-group) (arg1 int) (arg2 int)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (let ((s3-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s3-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s3-0 reaction) cshape-reaction-default) + (set! (-> s3-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-sphere s3-0 (the-as uint 0)))) + (set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 409.6) + (set! (-> s3-0 total-prims) (the-as uint 1)) + (set! (-> s3-0 root-prim) v1-8) + ) + (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) + (let ((v1-11 (-> s3-0 root-prim))) + (set! (-> s3-0 backup-collide-as) (-> v1-11 prim-core collide-as)) + (set! (-> s3-0 backup-collide-with) (-> v1-11 prim-core collide-with)) + ) + (set! (-> self root) s3-0) + ) + (initialize-skeleton self arg0 (the-as pair 0)) + (set! (-> self anim-index) arg1) + (set! (-> self track-obj) (the-as handle #f)) + (set! (-> self neck) (new 'process 'joint-mod (joint-mod-mode flex-blend) self arg2)) + (set-vector! (-> self neck twist-max) 8192.0 8192.0 0.0 1.0) + (set! (-> self neck up) (the-as uint 1)) + (set! (-> self neck nose) (the-as uint 2)) + (set! (-> self neck ear) (the-as uint 0)) + (set! (-> self neck max-dist) 307200.0) + (set! (-> self neck ignore-angle) 16384.0) + (mode-set! (-> self neck) (joint-mod-mode look-at)) + (go-virtual riding) + ) + +(defmethod relocate ((this cast-rider) (offset int)) + (if (nonzero? (-> this neck)) + (&+! (-> this neck) offset) + ) + (call-parent-method this offset) + ) + +(defstate riding (cast-rider) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (local-vars (v0-0 object)) + (case message + (('die) + (logior! (-> self draw status) (draw-control-status no-draw)) + (go empty-state) + ) + (('set-track) + (set! v0-0 (-> block param 0)) + (set! (-> self track-obj) (the-as handle v0-0)) + v0-0 + ) + (('set-track-pos) + (set! v0-0 (-> self track-pos)) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> block param 0)) quad)) + v0-0 + ) + ) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self track-obj))) + (a0-4 (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + ) + (if a0-4 + (set! (-> self track-pos quad) (-> (get-trans a0-4 2) quad)) + ) + ) + (target-set! (-> self neck) (-> self track-pos)) + ) + :code (behavior () + (ja-channel-push! 1 0) + (ja :group! (-> self draw art-group data (-> self anim-index)) :num! zero) + (sleep-code) + ) + :post ja-post + ) + +(deftype bt-barrel (blow-tower-enemy) + ((nearby-barrels handle 16) + (nearby-barrel-pos vector 16 :inline) + (nearby-barrel-dist float 16) + (num-nearby-barrels int32) + (barrel-send-index int32) + (barrel-live-mask uint32) + (rot-vec vector :inline) + (rot-speed float) + ) + (:state-methods + explode + fly-up + ) + (:methods + (damage-targets (_type_) object) + (count-nearby-barrels (_type_) none) + (explode-nearby-barrels (_type_) object) + (update-draw-mask-and-color (_type_) none) + ) + ) + + +(defbehavior bt-barrel-init-by-other bt-barrel ((arg0 vector)) + (init self) + (set! (-> self root trans quad) (-> arg0 quad)) + (go-virtual idle) + ) + +;; WARN: Return type mismatch rgbaf vs none. +(defmethod on-hit ((this bt-barrel) (arg0 float)) + (set-vector! (-> this draw color-emissive) 2.0 2.0 2.0 2.0) + (none) + ) + +(defstate idle (bt-barrel) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (update-draw-mask-and-color self) + ) + :code sleep-code + :post (behavior () + (transform-post) + (let ((f30-0 (fmin 1.0 (* 10.0 (seconds-per-frame))))) + (seek! (-> self draw color-emissive x) 0.0 f30-0) + (seek! (-> self draw color-emissive y) 0.0 f30-0) + (seek! (-> self draw color-emissive z) 0.0 f30-0) + (seek! (-> self draw color-emissive w) 0.0 f30-0) + ) + ) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod count-nearby-barrels ((this bt-barrel)) + (set! (-> this barrel-send-index) 0) + (set! (-> this barrel-live-mask) (the-as uint #xffffffff)) + (let ((s5-0 (new 'stack 'sphere))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (set! (-> s5-0 r) 131072.0) + (let ((s4-0 (new 'stack-no-clear 'array 'collide-shape 384))) + (countdown (s3-0 (fill-actor-list-for-box *actor-hash* s5-0 s4-0 384)) + (let* ((s2-0 (-> s4-0 s3-0)) + (v1-8 (if (type? s2-0 collide-shape) + s2-0 + ) + ) + ) + (when v1-8 + (let* ((s2-1 (-> v1-8 process)) + (a0-8 (if (type? s2-1 process-focusable) + s2-1 + ) + ) + ) + (when a0-8 + (when (and (= (-> a0-8 type) bt-barrel) (< (-> this num-nearby-barrels) 16) (!= a0-8 this)) + (set! (-> this nearby-barrels (-> this num-nearby-barrels)) (process->handle a0-8)) + (set! (-> this nearby-barrel-pos (-> this num-nearby-barrels) quad) + (-> (get-trans (the-as process-focusable a0-8) 3) quad) + ) + (set! (-> this nearby-barrel-dist (-> this num-nearby-barrels)) + (vector-vector-distance (-> this nearby-barrel-pos (-> this num-nearby-barrels)) (get-trans this 3)) + ) + (if (< (-> this nearby-barrel-dist (-> this num-nearby-barrels)) 131072.0) + (+! (-> this num-nearby-barrels) 1) + ) + ) + ) + ) + ) + ) + ) + ) + (let* ((s3-1 *target*) + (s4-1 (if (type? s3-1 process-focusable) + s3-1 + ) + ) + ) + (when (and s4-1 (< (vector-vector-distance (get-trans s4-1 0) s5-0) (-> s5-0 r))) + (when (and (= (-> s4-1 type) bt-barrel) (< (-> this num-nearby-barrels) 16) (!= s4-1 this)) + (set! (-> this nearby-barrels (-> this num-nearby-barrels)) (process->handle s4-1)) + (set! (-> this nearby-barrel-pos (-> this num-nearby-barrels) quad) (-> (get-trans s4-1 3) quad)) + (set! (-> this nearby-barrel-dist (-> this num-nearby-barrels)) + (vector-vector-distance (-> this nearby-barrel-pos (-> this num-nearby-barrels)) (get-trans this 3)) + ) + (if (< (-> this nearby-barrel-dist (-> this num-nearby-barrels)) 131072.0) + (+! (-> this num-nearby-barrels) 1) + ) + ) + ) + ) + ) + (format 0 "Found ~d barrels!~%" (-> this num-nearby-barrels)) + (none) + ) + +(defmethod update-draw-mask-and-color ((this bt-barrel)) + (let* ((f0-0 0.9) + (f1-1 (* 0.0033333334 (the float (current-time)))) + (f0-1 (/ (- f1-1 (* (the float (the int (/ f1-1 f0-0))) f0-0)) f0-0)) + (f0-2 (curve2d-method-9 *curve-linear-up-down* f0-1 3)) + (f0-3 (sin (lerp -16384.0 16384.0 f0-2))) + (f0-4 (+ 1.0 f0-3)) + (f0-5 (* 0.5 f0-4)) + (f0-6 (* 0.8 f0-5)) + (f0-7 (+ 0.3 f0-6)) + ) + (set-vector! (-> this draw color-emissive) f0-7 f0-7 f0-7 0.0) + ) + (if #f + (setup-masks (-> this draw) 4 2) + (setup-masks (-> this draw) 2 4) + ) + (set-vector! (-> this draw color-mult) 1.0 1.0 1.0 1.0) + 0 + (none) + ) + +(defmethod explode-nearby-barrels ((this bt-barrel)) + (local-vars (v1-25 symbol)) + (let ((f30-0 409600000.0) + (s5-0 -1) + ) + (dotimes (s4-0 (-> this num-nearby-barrels)) + (when (logtest? (-> this barrel-live-mask) (ash 1 s4-0)) + (when (and (< (-> this nearby-barrel-dist s4-0) f30-0) + (let ((a1-1 (handle->process (-> this nearby-barrels s4-0)))) + (if a1-1 + (not (logtest? (-> (the-as process-focusable a1-1) focus-status) (focus-status dead))) + ) + ) + ) + (dotimes (s3-0 (-> this num-nearby-barrels)) + (when (and (not (logtest? (-> this barrel-live-mask) (ash 1 s3-0))) + (and (!= s4-0 s3-0) + (< (vector-vector-distance (-> this nearby-barrel-pos s4-0) (-> this nearby-barrel-pos s3-0)) + (-> this nearby-barrel-dist s4-0) + ) + ) + ) + (set! v1-25 #f) + (goto cfg-33) + ) + ) + (set! v1-25 #t) + (label cfg-33) + (when v1-25 + (set! s5-0 s4-0) + (set! f30-0 (-> this nearby-barrel-dist s4-0)) + ) + ) + ) + ) + (cond + ((>= s5-0 0) + (logclear! (-> this barrel-live-mask) (ash 1 s5-0)) + (send-event + (handle->process (-> this nearby-barrels s5-0)) + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + ) + (else + (go (method-of-object this fly-up)) + ) + ) + ) + ) + +(defmethod damage-targets ((this bt-barrel)) + (local-vars (v1-14 symbol) (v1-34 symbol)) + (let ((s5-0 (new 'stack 'sphere))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (set! (-> s5-0 r) 131072.0) + (let ((s4-0 (new 'stack-no-clear 'array 'collide-shape 384))) + (countdown (s3-0 (fill-actor-list-for-box *actor-hash* s5-0 s4-0 384)) + (let* ((s2-0 (-> s4-0 s3-0)) + (v1-6 (if (type? s2-0 collide-shape) + s2-0 + ) + ) + ) + (when v1-6 + (let* ((s1-0 (-> v1-6 process)) + (s2-1 (if (type? s1-0 process-focusable) + s1-0 + ) + ) + ) + (when s2-1 + (when (or (type? s2-1 blow-tower-enemy) (type? s2-1 bombbot)) + (let* ((s1-1 (get-trans (the-as process-focusable s2-1) 3)) + (a0-15 (get-trans this 3)) + (f30-0 (vector-vector-distance a0-15 s1-1)) + ) + (set! v1-14 (cond + ((!= (-> s2-1 type) bt-barrel) + (dotimes (s0-0 (-> this num-nearby-barrels)) + (when (< (vector-vector-distance (-> this nearby-barrel-pos s0-0) s1-1) f30-0) + (set! v1-14 #f) + (goto cfg-20) + ) + ) + #t + ) + (else + #f + ) + ) + ) + ) + (label cfg-20) + (cond + (v1-14 + (send-event + s2-1 + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + ) + (else + ) + ) + ) + ) + ) + ) + ) + ) + ) + (let* ((s3-1 *target*) + (s4-1 (if (type? s3-1 process-focusable) + s3-1 + ) + ) + ) + (when (and s4-1 (< (vector-vector-distance (get-trans s4-1 0) s5-0) (-> s5-0 r))) + (when (or (type? s4-1 blow-tower-enemy) (type? s4-1 bombbot)) + (let* ((s5-1 (get-trans s4-1 3)) + (a0-35 (get-trans this 3)) + (f30-1 (vector-vector-distance a0-35 s5-1)) + ) + (set! v1-34 (cond + ((!= (-> s4-1 type) bt-barrel) + (dotimes (s3-3 (-> this num-nearby-barrels)) + (when (< (vector-vector-distance (-> this nearby-barrel-pos s3-3) s5-1) f30-1) + (set! v1-34 #f) + (goto cfg-46) + ) + ) + #t + ) + (else + #f + ) + ) + ) + ) + (label cfg-46) + (if v1-34 + (send-event + s4-1 + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + #f + ) + ) + ) + ) + ) + ) + +(defstate explode (bt-barrel) + :virtual #t + :code (behavior () + (setup-masks (-> self draw) 4 2) + (sound-play "barrel-explode") + (logior! (-> self focus-status) (focus-status dead)) + (count-nearby-barrels self) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (let ((gp-3 (current-time))) + (until (time-elapsed? gp-3 (seconds 0.1)) + (suspend) + ) + ) + (let ((v1-46 (-> self root root-prim))) + (set! (-> v1-46 prim-core collide-as) (collide-spec)) + (set! (-> v1-46 prim-core collide-with) (collide-spec)) + ) + 0 + (update-transforms (-> self root)) + (damage-targets self) + (until #f + (explode-nearby-barrels self) + (suspend) + ) + #f + ) + ) + +(defstate fly-up (bt-barrel) + :virtual #t + :enter (behavior () + (set-vector! (-> self draw color-mult) 0.2 0.2 0.2 0.0) + (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> (math-camera-matrix) rvec quad)) + (let* ((s5-0 vector-rotate-around-y!) + (s4-0 gp-0) + (s3-0 gp-0) + (f30-0 -3640.889) + (f28-0 7281.778) + (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-10 (the-as number (logior #x3f800000 v1-9))) + ) + (s5-0 s4-0 s3-0 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-10))))) + ) + (if (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (vector-float*! gp-0 gp-0 -1.0) + ) + (vector-normalize! gp-0 1.0) + (let* ((s5-1 (-> self root transv)) + (f30-1 20480.0) + (f28-1 40960.0) + (v1-20 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-21 (the-as number (logior #x3f800000 v1-20))) + ) + (vector-float*! s5-1 gp-0 (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-21))))) + ) + ) + (let* ((gp-1 (-> self root transv)) + (s5-3 (-> self root transv)) + (s4-1 (-> (math-camera-matrix) fvec)) + (f30-2 -20480.0) + (f28-2 40960.0) + (v1-28 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-29 (the-as number (logior #x3f800000 v1-28))) + ) + (vector+float*! gp-1 s5-3 s4-1 (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-29))))) + ) + (let* ((f30-3 266240.0) + (f28-3 102400.0) + (v1-34 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-35 (the-as number (logior #x3f800000 v1-34))) + ) + (set! (-> self root transv y) (+ f30-3 (* f28-3 (+ -1.0 (the-as float v1-35))) (-> self root transv y))) + ) + (let ((gp-3 (-> self rot-vec))) + (let* ((f30-4 -1.0) + (f28-4 2.0) + (v1-42 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-43 (the-as number (logior #x3f800000 v1-42))) + ) + (set! (-> gp-3 x) (+ f30-4 (* f28-4 (+ -1.0 (the-as float v1-43))))) + ) + (let* ((f30-5 -1.0) + (f28-5 2.0) + (v1-48 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-49 (the-as number (logior #x3f800000 v1-48))) + ) + (set! (-> gp-3 y) (+ f30-5 (* f28-5 (+ -1.0 (the-as float v1-49))))) + ) + (let* ((f30-6 -1.0) + (f28-6 2.0) + (v1-54 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-55 (the-as number (logior #x3f800000 v1-54))) + ) + (set! (-> gp-3 z) (+ f30-6 (* f28-6 (+ -1.0 (the-as float v1-55))))) + ) + (set! (-> gp-3 w) 1.0) + ) + (vector-normalize! (-> self rot-vec) 1.0) + (let* ((f30-7 91022.22) + (f28-7 98304.0) + (v1-61 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-62 (the-as number (logior #x3f800000 v1-61))) + ) + (set! (-> self rot-speed) (+ f30-7 (* f28-7 (+ -1.0 (the-as float v1-62))))) + ) + ) + :trans (behavior () + (let ((a1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) + (set! (-> a1-1 trans quad) (-> self root trans quad)) + (spawn-from-mat (-> self part) a1-1) + ) + (set! (-> self root transv y) (- (-> self root transv y) (* 368640.0 (seconds-per-frame)))) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) + (vector-float*! (-> gp-0 move-dist) (-> self root transv) (seconds-per-frame)) + (when (< (-> self root transv y) 40960.0) + (let ((v1-14 gp-0)) + (set! (-> v1-14 radius) 10240.0) + (set! (-> v1-14 collide-with) (collide-spec backgnd)) + (set! (-> v1-14 ignore-process0) #f) + (set! (-> v1-14 ignore-process1) #f) + (set! (-> v1-14 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-14 action-mask) (collide-action solid)) + ) + (let ((f0-5 (fill-and-probe-using-line-sphere *collide-cache* gp-0))) + (when (!= f0-5 -100000000.0) + (vector+float*! (-> self root trans) (-> self root trans) (-> gp-0 move-dist) f0-5) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (sound-play "barrel-explode2") + (go empty-state) + ) + ) + ) + (vector+! (-> self root trans) (-> self root trans) (-> gp-0 move-dist)) + ) + (when (< (-> self root trans y) 0.0) + (set! (-> self root trans y) 0.0) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (go empty-state) + ) + (let ((a1-20 (quaternion-vector-angle! + (new 'stack-no-clear 'quaternion) + (-> self rot-vec) + (* (-> self rot-speed) (seconds-per-frame)) + ) + ) + ) + (quaternion*! (-> self root quat) a1-20 (-> self root quat)) + ) + ) + :code sleep-code + :post ja-post + ) + +(defmethod on-death ((this bt-barrel)) + (go (method-of-object this explode)) + ) + +;; WARN: Return type mismatch float vs object. +(defmethod init ((this bt-barrel)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 penetrate-using) (penetrate)) + (let ((v1-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-4 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-4 prim-core collide-with) (collide-spec jak player-list projectile)) + (set! (-> v1-4 prim-core action) (collide-action solid)) + (set-vector! (-> v1-4 local-sphere) 0.0 0.0 0.0 20480.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-4) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-7 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-7 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-barrel" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (call-parent-method this) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1455) this)) + (set! (-> this hit-points) 2.0) + ) + +(deftype bt-barrel-stack (process-drawable) + () + (:state-methods + idle + barrel-spawning + ) + ) + + +(defbehavior barrel-stack-init-by-other bt-barrel-stack ((arg0 vector) (arg1 quaternion)) + (stack-size-set! (-> self main-thread) 512) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-scenecamera" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (go-virtual idle) + ) + +(defun bt-barrel-ground-probe ((arg0 vector)) + (local-vars (sv-560 collide-query) (sv-564 vector)) + (set! sv-560 (new 'stack-no-clear 'collide-query)) + (set! sv-564 arg0) + (vector+float*! (-> sv-560 start-pos) sv-564 *up-vector* 24576.0) + (set! (-> sv-560 move-dist quad) (the-as uint128 0)) + (set! (-> sv-560 move-dist y) -81920.0) + (let ((v1-8 sv-560)) + (set! (-> v1-8 radius) 409.6) + (set! (-> v1-8 collide-with) (collide-spec backgnd)) + (set! (-> v1-8 ignore-process0) #f) + (set! (-> v1-8 ignore-process1) #f) + (set! (-> v1-8 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-8 action-mask) (collide-action solid)) + ) + (when (>= (fill-and-probe-using-line-sphere *collide-cache* sv-560) 0.0) + (if (< (fabs (- (-> sv-560 best-other-tri intersect y) (-> arg0 y))) 24576.0) + (set! (-> sv-564 y) (fmax 0.0 (+ 12697.6 (-> sv-560 best-other-tri intersect y)))) + ) + ) + ) + +;; WARN: Return type mismatch symbol vs none. +(defbehavior setup-bt-barrels bt-barrel-stack ((arg0 int) (arg1 int) (arg2 float) (arg3 float)) + (local-vars (sv-48 vector) (sv-52 vector) (sv-80 vector) (sv-84 float) (sv-112 process) (sv-128 vector)) + (set! sv-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (let ((v1-1 (new 'stack-no-clear 'vector))) + (set! (-> v1-1 quad) (-> self root trans quad)) + (set! sv-52 v1-1) + ) + (let ((a0-5 sv-48)) + (set! (-> a0-5 quad) (-> sv-48 quad)) + (set! (-> a0-5 y) 0.0) + (vector-normalize! a0-5 1.0) + ) + (dotimes (s2-0 arg0) + (let ((v1-4 (new 'stack-no-clear 'vector))) + (set! (-> v1-4 quad) (-> sv-52 quad)) + (set! sv-80 v1-4) + ) + (let* ((f30-0 (- (* 0.5 arg2))) + (v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + ) + (set! sv-84 (+ f30-0 (* (+ -1.0 (the-as float v1-7)) (+ (* 0.5 arg2) (* 0.5 arg2))))) + ) + (vector+float*! sv-80 sv-80 (vector-cross! (new 'stack-no-clear 'vector) sv-48 *up-vector*) (* sv-84 arg3)) + (bt-barrel-ground-probe sv-80) + (dotimes (s1-0 arg1) + (let ((s0-0 (handle->process (-> *blow-tower-targets* hellcat)))) + (set! sv-112 (get-process *default-dead-pool* bt-barrel #x4000 1)) + (when sv-112 + (let ((t9-5 (method-of-type bt-barrel activate))) + (t9-5 (the-as bt-barrel sv-112) s0-0 "bt-barrel" (the-as pointer #x70004000)) + ) + (run-now-in-process sv-112 bt-barrel-init-by-other sv-80) + (-> sv-112 ppointer) + ) + ) + ) + (suspend) + 0 + (vector+float*! sv-52 sv-52 sv-48 arg2) + (let ((s1-1 sv-52) + (s0-1 sv-52) + ) + (set! sv-128 sv-48) + (let* ((f30-1 arg3) + (f28-0 (- (* 0.25 arg2))) + (v1-30 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-31 (the-as number (logior #x3f800000 v1-30))) + (f0-18 (* f30-1 (+ f28-0 (* (+ -1.0 (the-as float v1-31)) (+ (* 0.25 arg2) (* 0.25 arg2)))))) + ) + (vector+float*! s1-1 s0-1 sv-128 f0-18) + ) + ) + ) + (none) + ) + +(defmethod run-logic? ((this bt-barrel)) + "Should this process be run? Checked by execute-process-tree." + #t + ) + +(defmethod init-from-entity! ((this bt-barrel-stack) (arg0 entity-actor)) + (stack-size-set! (-> this main-thread) 512) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-scenecamera" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (set! (-> this entity) arg0) + (go (method-of-object this idle)) + ) + +(defbehavior attempt-barrel-spawn bt-barrel-stack () + (let ((a1-0 (new 'stack-no-clear 'collide-query))) + (vector+float*! (-> a1-0 start-pos) (-> self root trans) *up-vector* 24576.0) + (set! (-> a1-0 move-dist quad) (the-as uint128 0)) + (set! (-> a1-0 move-dist y) -81920.0) + (let ((v1-4 a1-0)) + (set! (-> v1-4 radius) 409.6) + (set! (-> v1-4 collide-with) (collide-spec backgnd)) + (set! (-> v1-4 ignore-process0) #f) + (set! (-> v1-4 ignore-process1) #f) + (set! (-> v1-4 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-4 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* a1-0) 0.0) + (go-virtual barrel-spawning) + ) + ) + ) + +(defstate barrel-spawning (bt-barrel-stack) + :virtual #t + :code (behavior () + (let ((gp-0 (the int (res-lump-float (-> self entity) 'width :default 1.0))) + (s5-0 (the int (res-lump-float (-> self entity) 'height :default 1.0))) + (f30-0 (res-lump-float (-> self entity) 'distance :default 20480.0)) + (f0-4 (res-lump-float (-> self entity) 'rand :default 1.0)) + ) + (setup-bt-barrels gp-0 s5-0 f30-0 f0-4) + ) + (process-entity-status! self (entity-perm-status dead) #t) + (go empty-state) + ) + ) + +(defstate idle (bt-barrel-stack) + :virtual #t + :code (behavior () + (until #f + (attempt-barrel-spawn) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.3)) + (suspend) + ) + ) + ) + #f + ) + ) + +(defmethod get-damage-from-attack ((this bt-barrel) (arg0 attack-info) (arg1 process-focusable)) + (let ((gp-1 (call-parent-method this arg0 arg1))) + (if (and (not (logtest? (penetrate explode) (-> arg0 penetrate-using))) + (< 368640.0 (vector-vector-distance (target-pos 0) (-> this root trans))) + ) + (set! gp-1 0.0) + ) + gp-1 + ) + ) + +(defmethod on-death ((this tower-flyer)) + (sound-play "hc-target-hit") + (call-parent-method this) + ) + +(deftype bt-pickup-barrel (process-drawable) + ((index int32) + ) + (:state-methods + riding + ) + ) + + +(defbehavior bt-pickup-barrel-init-by-other bt-pickup-barrel ((arg0 int)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (set! (-> self root) (new 'process 'trsqv)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-barrel" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 0.5 0.3 0.5 1.0) + (set! (-> self index) arg0) + (go-virtual riding) + ) + +(defstate riding (bt-pickup-barrel) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (go empty-state) + ) + ) + ) + :trans (behavior () + (send-event + (ppointer->process (-> self parent)) + 'update-barrel-pos + (-> self root trans) + (-> self root quat) + (-> self index) + ) + ) + :code sleep-code + :post ja-post + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc index 92cf00ebe7..5f9237e227 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-obs2.gc @@ -5,5 +5,2951 @@ ;; name in dgo: blow-tower-obs2 ;; dgos: LCTYBLOW +(define-extern *grunt-jump-curve* curve2d-piecewise) +(define-extern *grunt-dists* curve2d-piecewise) +(define-extern *grunt-idle-shift* curve2d-fast) + ;; DECOMP BEGINS +(deftype bt-roboguard (blow-tower-enemy) + ((focus-pos vector :inline) + (focus handle) + (rotation-matrix matrix :inline) + (me-to-focus-dir vector :inline) + (me-to-focus-angle float) + (torso-aim-blend float) + (torso-angle float) + (torso-seek-speed float) + (torso-to-focus-angle float) + (last-torso-frame-num float) + (stand-angle-threshold float) + (fire-time time-frame) + (fire-count int8) + (fire-delay time-frame) + (path-clock-time time-frame) + (difficulty float) + (active-clock-time time-frame) + ) + (:state-methods + hostile-stand + shoot-attack + ) + (:methods + (bt-roboguard-method-40 (_type_) none) + (bt-roboguard-method-41 (_type_) none) + (bt-roboguard-method-42 (_type_) none) + (fire-shot-from-joint-idx (_type_ int) none) + (bt-roboguard-method-44 (_type_) none) + (bt-roboguard-method-45 (_type_) symbol) + (bt-roboguard-method-46 (_type_) object) + ) + ) + + +(defmethod init-from-entity! ((this bt-roboguard) (arg0 entity-actor)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtmh)) + (bt-roboguard-method-44 this) + (process-drawable-from-entity! this arg0) + (init this) + (go (method-of-object this idle)) + ) + ) + +(defbehavior bt-roboguard-init-by-other bt-roboguard ((arg0 vector)) + (set! (-> self level) (level-get *level* 'lblowtmh)) + (bt-roboguard-method-44 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (init self) + (go-virtual idle) + ) + +(defmethod bt-roboguard-method-44 ((this bt-roboguard)) + (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) + ) + (let ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy los-blocker)) + (set! (-> v1-6 prim-core collide-with) + (collide-spec backgnd jak bot enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-6 prim-core action) (collide-action solid semi-solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 12288.0 0.0 18432.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) 8192.0) + (let ((v1-8 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-8 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-8 prim-core collide-with)) + ) + (set! (-> s5-0 event-priority) (the-as uint 8)) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> this root) s5-0) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(defmethod on-death ((this bt-roboguard)) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (send-event (handle->process (-> this focus)) 'bt-roboguard-release) + (sound-play "hc-target-hit") + (go (method-of-object this dormant)) + ) + +;; WARN: Return type mismatch focus-status vs none. +(defmethod blow-tower-enemy-method-36 ((this bt-roboguard)) + (set! (-> this focus) (the-as handle #f)) + (set! (-> this hit-points) 3.0) + (logclear! (-> this focus-status) (focus-status dead)) + (none) + ) + +;; WARN: Return type mismatch none vs object. +(defmethod init ((this bt-roboguard)) + (local-vars (a0-19 int)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-roboguard" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) + (call-parent-method this) + (blow-tower-enemy-method-35 this) + (logclear! (-> this mask) (process-mask actor-pause)) + (let ((v1-11 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 3) 2)) + (s5-1 0) + ) + 0 + (let* ((a0-13 10) + (s3-0 0) + (s4-1 (+ a0-13 -3)) + ) + (dotimes (a0-14 v1-11) + (set! s3-0 (logior s3-0 (ash 1 a0-14))) + ) + (dotimes (s2-0 s4-1) + (let ((a0-16 (mod (the-as int (rand-uint31-gen *random-generator*)) s4-1)) + (a1-6 (logtest? s3-0 (ash 1 s2-0))) + ) + (let ((v1-19 (logtest? s3-0 (ash 1 a0-16)))) + (if a1-6 + (set! a0-19 (logior s3-0 (ash 1 a0-16))) + (set! a0-19 (logclear s3-0 (ash 1 a0-16))) + ) + (if v1-19 + (set! s3-0 (logior a0-19 (ash 1 s2-0))) + (set! s3-0 (logclear a0-19 (ash 1 s2-0))) + ) + ) + ) + ) + (let ((v1-29 0)) + (dotimes (a0-23 s4-1) + (while (or (= v1-29 0) (= v1-29 1) (= v1-29 4)) + (+! v1-29 1) + ) + (if (logtest? s3-0 (ash 1 a0-23)) + (set! s5-1 (logior s5-1 (ash 1 v1-29))) + ) + (+! v1-29 1) + ) + ) + ) + (let* ((f30-0 0.2) + (v1-34 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-35 (the-as number (logior #x3f800000 v1-34))) + (f0-6 (+ -1.0 (the-as float v1-35))) + ) + (cond + ((< f0-6 (* 0.5 f30-0)) + (set! s5-1 (logior s5-1 2)) + ) + ((< f0-6 f30-0) + (set! s5-1 (logior s5-1 16)) + ) + ) + ) + (setup-masks (-> this draw) -1 0) + (setup-masks (-> this draw) 0 s5-1) + ) + (set! (-> this focus) (the-as handle #f)) + (let ((v1-47 (-> this node-list data 4))) + (set! (-> v1-47 param0) + (lambda ((arg0 cspace) (arg1 transformq)) + (let ((s3-0 (the-as bt-roboguard (-> arg0 param1))) + (gp-0 (new 'stack-no-clear 'quaternion)) + ) + (cspace<-parented-transformq-joint! arg0 arg1) + (let ((s1-0 (-> s3-0 rotation-matrix)) + (s2-1 (vector-! (new 'stack-no-clear 'vector) (-> s3-0 focus-pos) (-> arg0 bone transform trans))) + ) + (set! (-> s2-1 y) 0.0) + (set! (-> s1-0 fvec y) 0.0) + (set! (-> s1-0 rvec y) 0.0) + (vector-xz-normalize! s2-1 1.0) + (vector-xz-normalize! (-> s1-0 fvec) 1.0) + (vector-xz-normalize! (-> s1-0 rvec) 1.0) + (let ((f0-5 (acos (fmax 0.0 (vector-dot (-> s1-0 fvec) s2-1))))) + (if (< (vector-dot (-> s1-0 rvec) s2-1) 0.0) + (set! f0-5 (* -1.0 f0-5)) + ) + (set! (-> s3-0 torso-angle) + (* (-> s3-0 torso-aim-blend) + (seek (-> s3-0 torso-angle) f0-5 (* (-> s3-0 torso-seek-speed) (seconds-per-frame))) + ) + ) + ) + ) + (quaternion-vector-angle! gp-0 *y-vector* (-> s3-0 torso-angle)) + (quaternion*! (-> arg1 quat) (-> arg1 quat) gp-0) + ) + (cspace<-parented-transformq-joint! arg0 arg1) + (none) + ) + ) + (set! (-> v1-47 param1) this) + ) + (blow-tower-enemy-method-36 this) + ) + +(defmethod bt-roboguard-method-46 ((this bt-roboguard)) + (local-vars (s5-1 object)) + (let* ((s5-0 (handle->process (-> this focus))) + (a0-5 (if (type? s5-0 process-focusable) + s5-0 + ) + ) + ) + (cond + (a0-5 + (set! s5-1 (-> this focus-pos)) + (set! (-> (the-as vector s5-1) quad) (-> (get-trans (the-as process-focusable a0-5) 3) quad)) + s5-1 + ) + (else + (when (< (vector-vector-xz-distance (-> this root trans) (camera-pos)) 737280.0) + (set! s5-1 (-> *blow-tower-targets* target-handles (logand (rand-uint31-gen *random-generator*) 1))) + (set! (-> this focus) (the-as handle s5-1)) + s5-1 + ) + ) + ) + ) + ) + +(defmethod blow-tower-enemy-method-34 ((this bt-roboguard)) + (local-vars (sv-16 int) (sv-24 time-frame)) + (bt-roboguard-method-46 this) + (set! sv-16 (the-as int (- (-> this path-clock-time) (-> this active-clock-time)))) + (set! sv-24 (- (-> *blow-tower-targets* mission-time) (-> this active-clock-time))) + (cond + ((= (-> this focus) (-> *blow-tower-targets* pickup)) + (set! sv-16 (max 750 sv-16)) + ) + (else + (set! sv-16 (max 450 sv-16)) + (set! sv-16 (the int (* 0.75 (the float sv-16)))) + ) + ) + (set! (-> this difficulty) (fmax 0.0 (fmin 1.0 (/ (the float sv-24) (the float sv-16))))) + (cond + ((= (-> this focus) (-> *blow-tower-targets* pickup)) + (set! (-> this difficulty) (* (-> this difficulty) (-> this difficulty))) + ) + (else + ) + ) + (vector-! (-> this me-to-focus-dir) (-> this focus-pos) (-> this root trans)) + (set! (-> this me-to-focus-dir y) 0.0) + (vector-xz-normalize! (-> this me-to-focus-dir) 1.0) + (let* ((a1-5 (-> this rotation-matrix fvec)) + (s5-0 (-> this rotation-matrix)) + (f0-8 (vector-vector-angle-safe (-> this me-to-focus-dir) a1-5)) + ) + (if (< (vector-dot (-> this me-to-focus-dir) (the-as vector s5-0)) 0.0) + (set! f0-8 (* -1.0 f0-8)) + ) + (set! (-> this me-to-focus-angle) f0-8) + ) + (quaternion->matrix (-> this rotation-matrix) (-> this root quat)) + (call-parent-method this) + (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) + (transform-post) + (none) + ) + +(defstate idle (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set! (-> self state-time) 0) + 0 + ) + :trans (behavior () + (bt-roboguard-method-46 self) + (when (handle->process (-> self focus)) + (when (time-elapsed? (-> self state-time) (seconds 0.3)) + (set-time! (-> self state-time)) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (set! (-> gp-0 start-pos quad) (-> self focus-pos quad)) + (vector-! (-> gp-0 move-dist) (get-trans self 3) (-> self focus-pos)) + (let ((v1-13 gp-0)) + (set! (-> v1-13 radius) 409.6) + (set! (-> v1-13 collide-with) (collide-spec backgnd)) + (set! (-> v1-13 ignore-process0) #f) + (set! (-> v1-13 ignore-process1) #f) + (set! (-> v1-13 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-13 action-mask) (collide-action solid)) + ) + (cond + ((< (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) + (cond + ((not (send-event (handle->process (-> self focus)) 'bt-roboguard-attack?)) + (set! (-> self focus) (the-as handle #f)) + ) + (else + (set! (-> self active-clock-time) (-> *blow-tower-targets* mission-time)) + (let ((gp-1 (new 'stack 'blow-tower-path-cursor))) + (set! (-> gp-1 path) (the-as blow-tower-path (send-event (handle->process (-> self focus)) 'get-path))) + (cond + ((-> gp-1 path) + (blow-tower-path-cursor-method-11 gp-1 (-> self root trans)) + (set! (-> self path-clock-time) (-> gp-1 current-time)) + ) + (else + (set! (-> self focus) (the-as handle #f)) + ) + ) + ) + (bt-roboguard-method-42 self) + ) + ) + ) + (else + (send-event (handle->process (-> self focus)) 'bt-roboguard-release) + (set! (-> self focus) (the-as handle #f)) + ) + ) + ) + ) + ) + ) + :code sleep-code + :post ja-post + ) + +;; WARN: Return type mismatch object vs none. +(defmethod bt-roboguard-method-42 ((this bt-roboguard)) + (go (method-of-object this hostile-stand)) + (none) + ) + +;; WARN: new jak 2 until loop case, check carefully +(defbehavior bt-roboguard-turret-code bt-roboguard () + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-roboguard-idle-shoot0-loop-ja :num! zero) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.2)) + (suspend) + ) + ) + (let ((gp-1 + (lambda ((arg0 bt-roboguard) (arg1 symbol)) + (quaternion-rotate-y! (-> arg0 root quat) (-> arg0 root quat) (* 20480.0 (seconds-per-frame) (if arg1 + 1.0 + -1.0 + ) + ) + ) + ) + ) + (f30-0 (-> self stand-angle-threshold)) + ) + (until #f + (when (< (fabs (-> self me-to-focus-angle)) f30-0) + (let ((s5-0 (current-time))) + (until (time-elapsed? s5-0 (seconds 0.5)) + (suspend) + ) + ) + (while (< (fabs (-> self me-to-focus-angle)) f30-0) + (suspend) + ) + ) + (ja-channel-push! 1 0) + (let ((v1-20 (if (< 0.0 (-> self me-to-focus-angle)) + 6 + 8 + ) + ) + (s5-1 (< 0.0 (-> self me-to-focus-angle))) + ) + (ja-no-eval :group! (-> self draw art-group data v1-20) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (gp-1 self s5-1) + (suspend) + (ja :num! (seek!)) + ) + ) + (when (< (fabs (-> self me-to-focus-angle)) f30-0) + (let ((s5-2 (current-time))) + (until (time-elapsed? s5-2 (seconds 0.5)) + (suspend) + ) + ) + (while (< (fabs (-> self me-to-focus-angle)) f30-0) + (suspend) + ) + ) + (ja-channel-push! 1 0) + (let ((v1-40 (if (< 0.0 (-> self me-to-focus-angle)) + 7 + 9 + ) + ) + (s5-3 (< 0.0 (-> self me-to-focus-angle))) + ) + (ja-no-eval :group! (-> self draw art-group data v1-40) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (gp-1 self s5-3) + (suspend) + (ja :num! (seek!)) + ) + ) + ) + ) + #f + ) + +(defbehavior bt-roboguard-turn-torso-post bt-roboguard () + (seek! (-> self torso-aim-blend) 1.0 (* 5.0 (seconds-per-frame))) + (let ((v1-3 (joint-node bt-roboguard-lod0-jg chest)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 quad) (-> v1-3 bone transform fvec quad)) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> v1-3 bone transform trans)))) + (set! (-> gp-0 y) 0.0) + (set! (-> s5-1 y) 0.0) + (vector-xz-normalize! gp-0 1.0) + (vector-xz-normalize! s5-1 1.0) + (set! (-> self torso-to-focus-angle) (acos (vector-dot gp-0 s5-1))) + ) + ) + (if (>= 910.2222 (-> self torso-to-focus-angle)) + (seek! (-> self torso-seek-speed) 163840.0 (* 36408.89 (seconds-per-frame))) + (seek! (-> self torso-seek-speed) 174762.67 (* 36408.89 (seconds-per-frame))) + ) + (blow-tower-enemy-method-34 self) + (none) + ) + +(defstate hostile-stand (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self stand-angle-threshold) 9102.223) + ) + :trans (behavior () + (if (and (< (-> self path-clock-time) (-> *blow-tower-targets* mission-time)) (not (bt-roboguard-method-45 self))) + (send-event (handle->process (-> self focus)) 'bt-roboguard-release) + ) + (vector-vector-distance (-> self root trans) (target-pos 0)) + 0.0 + (let ((f30-0 (lerp 1.0 0.75 (-> self difficulty)))) + (if (and (< (fabs (-> self torso-to-focus-angle)) 3640.889) + (bt-roboguard-method-45 self) + (time-elapsed? (-> self fire-delay) (the int (* 300.0 f30-0))) + ) + (go-virtual shoot-attack) + ) + ) + ) + :code bt-roboguard-turret-code + :post bt-roboguard-turn-torso-post + ) + +(defmethod bt-roboguard-method-45 ((this bt-roboguard)) + (let ((f0-0 (vector-vector-xz-distance (-> this focus-pos) (-> this root trans)))) + (let ((f1-0 655360.0)) + (if (< (-> this path-clock-time) (-> *blow-tower-targets* mission-time)) + (set! f1-0 143360.0) + ) + (< f0-0 f1-0) + ) + ) + ) + +(defstate shoot-attack (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self fire-time) 0) + (set! (-> self last-torso-frame-num) 0.0) + (set! (-> self stand-angle-threshold) 16384.0) + (set! (-> self fire-count) 0) + 0 + ) + :trans (behavior () + (vector-vector-distance (-> self root trans) (target-pos 0)) + 0.0 + (let ((f30-0 0.6)) + (when (time-elapsed? (-> self fire-time) (the int (* 300.0 f30-0))) + (if (< 5461.3335 (fabs (-> self torso-to-focus-angle))) + (go-virtual hostile-stand) + ) + (if (not (bt-roboguard-method-45 self)) + (go-virtual hostile-stand) + ) + (when (< (the int (lerp 4.0 6.0 (-> self difficulty))) (-> self fire-count)) + (set-time! (-> self fire-delay)) + (go-virtual hostile-stand) + ) + (set-time! (-> self fire-time)) + ) + (let ((f30-1 (/ (* 0.0033333334 (the float (- (current-time) (-> self fire-time)))) f30-0))) + (if (and (< 0.0 f30-1) (>= 0.0 (-> self last-torso-frame-num))) + (fire-shot-from-joint-idx self 11) + ) + (if (and (< 0.5 f30-1) (>= 0.5 (-> self last-torso-frame-num))) + (fire-shot-from-joint-idx self 15) + ) + (set! (-> self last-torso-frame-num) f30-1) + ) + ) + ) + :code bt-roboguard-turret-code + :post bt-roboguard-turn-torso-post + ) + +(deftype bt-roboguard-shot (guard-shot) + () + ) + + +(defmethod play-impact-sound ((this bt-roboguard-shot) (arg0 projectile-options)) + (let ((v1-0 arg0)) + (cond + ((zero? v1-0) + (sound-play "robo-fire") + ) + ((= v1-0 (projectile-options po0)) + (sound-play "guard-shot-hit") + ) + ) + ) + 0 + (none) + ) + +(defun spawn-bt-roboguard-projectile ((arg0 bt-roboguard) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) + (let ((gp-0 (new 'stack-no-clear 'projectile-init-by-other-params))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) + (set! (-> gp-0 ent) (-> arg0 entity)) + (set! (-> gp-0 charge) 1.0) + (set! (-> gp-0 options) (projectile-options)) + (logclear! (-> gp-0 options) (projectile-options po14 po15 po16)) + (set! (-> gp-0 notify-handle) (process->handle arg0)) + (set! (-> gp-0 owner-handle) (the-as handle #f)) + (set! (-> gp-0 target-handle) (the-as handle #f)) + (set! (-> gp-0 target-pos quad) (the-as uint128 0)) + (set! (-> gp-0 ignore-handle) (process->handle arg0)) + (let* ((a0-13 *game-info*) + (a2-12 (+ (-> a0-13 attack-id) 1)) + ) + (set! (-> a0-13 attack-id) a2-12) + (set! (-> gp-0 attack-id) a2-12) + ) + (set! (-> gp-0 timeout) (seconds 4)) + (set! (-> gp-0 damage) 0.75) + (logior! (-> gp-0 options) (projectile-options po14)) + (set! (-> gp-0 vehicle-damage-factor) 4.0) + (logior! (-> gp-0 options) (projectile-options po15)) + (set! (-> gp-0 vehicle-impulse-factor) 4.0) + (logior! (-> gp-0 options) (projectile-options po16)) + (if arg4 + (set! (-> gp-0 pos quad) (-> arg4 quad)) + (set! (-> gp-0 pos quad) (-> arg1 quad)) + ) + (vector-normalize-copy! (-> gp-0 vel) v1-1 arg3) + ) + (spawn-projectile bt-roboguard-shot gp-0 arg0 *default-dead-pool*) + ) + ) + +(defbehavior bt-roboguard-fire-backcheck bt-roboguard ((arg0 bt-roboguard) (arg1 vector) (arg2 vector)) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (let ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0))) + (set! (-> gp-0 start-pos quad) (-> (get-trans arg0 3) quad)) + (vector-! (-> gp-0 move-dist) arg1 (-> gp-0 start-pos)) + (vector+float*! (-> gp-0 move-dist) (-> gp-0 move-dist) s5-0 8192.0) + ) + (let ((v1-6 gp-0)) + (set! (-> v1-6 radius) 40.96) + (set! (-> v1-6 collide-with) (collide-spec backgnd hit-by-others-list pusher impenetrable-obj)) + (set! (-> v1-6 ignore-process0) #f) + (set! (-> v1-6 ignore-process1) #f) + (set! (-> v1-6 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-6 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) + #f + #t + ) + ) + ) + +(defmethod fire-shot-from-joint-idx ((this bt-roboguard) (arg0 int)) + (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data arg0))) + (v1-3 (-> this node-list data 4)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s4-0 quad) (-> v1-3 bone transform fvec quad)) + (set! (-> s4-0 y) 0.0) + (let ((f0-1 (vector-vector-xz-distance s5-0 (-> this focus-pos)))) + (vector-normalize! s4-0 f0-1) + ) + (set! (-> s4-0 y) (- (-> this focus-pos y) (-> s5-0 y))) + (let* ((f30-0 (lerp 1.0 0.0 (-> this difficulty))) + (f28-0 20480.0) + (f26-0 20480.0) + (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-11 (the-as number (logior #x3f800000 v1-10))) + (f1-2 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-11))))) + ) + (+! (-> s4-0 y) (* f30-0 f1-2)) + ) + (vector-normalize! s4-0 40960.0) + (when (bt-roboguard-fire-backcheck this s5-0 s4-0) + (spawn-bt-roboguard-projectile + this + s5-0 + (vector+! (new 'stack-no-clear 'vector) s5-0 s4-0) + 819200.0 + (the-as vector #f) + ) + (+! (-> this fire-count) 1) + ) + ) + 0 + (none) + ) + +(deftype kg-flyer (tower-flyer) + () + ) + + +(defmethod init ((this kg-flyer)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-kg-flyer" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 2.0 2.0 2.0 1.0) + (set! (-> this bob-y-scalar) 8192.0) + (sound-play "kg-flyer-buzz" :id (-> this buzz-sound)) + (call-parent-method this) + ) + +(deftype bt-mh-flyer (tower-flyer) + ((rotation-vec vector :inline) + (xz-dir vector :inline) + (main-joint-movement vector 3 :inline) + (thrust float 2 :offset 768) + (engine-part sparticle-launch-control) + ) + (:methods + (fly-anim (_type_ int float int int) none) + (bt-mh-flyer-method-51 (_type_) quaternion) + (bt-mh-flyer-method-52 (_type_) none) + ) + ) + + +(defmethod init ((this bt-mh-flyer)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-mh-flyer" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 0.75 0.75 0.75 1.0) + (add-connection + *part-engine* + this + 7 + this + 468 + (new 'static 'vector :x 1187.84 :y -3112.96 :z 1392.64 :w 163840.0) + ) + (add-connection + *part-engine* + this + 7 + this + 468 + (new 'static 'vector :x -1187.84 :y -3112.96 :z 1392.64 :w 163840.0) + ) + (add-connection *part-engine* this 7 this 2204 (new 'static 'vector :y 1433.6 :z 1228.8 :w 163840.0)) + (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1462) this)) + (call-parent-method this) + ) + +(defmethod fly-anim ((this bt-mh-flyer) (arg0 int) (arg1 float) (arg2 int) (arg3 int)) + (local-vars (v1-1 int)) + 0 + (if (< 0.0 arg1) + (set! v1-1 arg2) + (set! v1-1 arg3) + ) + (let ((a3-5 (-> this skel root-channel arg0))) + (let ((f0-2 (fabs arg1))) + (set! (-> a3-5 frame-interp 1) f0-2) + (set! (-> a3-5 frame-interp 0) f0-2) + ) + (set! (-> a3-5 frame-group) (the-as art-joint-anim (-> this draw art-group data v1-1))) + (set! (-> a3-5 param 0) 0.0) + (set! (-> a3-5 frame-num) (-> this skel root-channel 0 frame-num)) + (joint-control-channel-group! a3-5 (the-as art-joint-anim (-> this draw art-group data v1-1)) num-func-chan) + ) + (none) + ) + +(defmethod bt-mh-flyer-method-51 ((this bt-mh-flyer)) + (let ((f30-0 0.3)) + (set! (-> (new 'stack-no-clear 'vector) quad) (-> this bob-vec quad)) + (set! (-> this xz-dir x) (-> this bobbers 0 current-speed)) + (set! (-> this xz-dir z) (* 0.25 (-> this bobbers 2 current-speed))) + (let ((f26-0 (lerp-scale 0.0 10922.667 (-> this xz-dir z) f30-0 1.0)) + (f24-0 (lerp-scale 0.0 -10922.667 (-> this xz-dir z) (- f30-0) -1.0)) + (f28-0 (lerp-scale 0.0 -10922.667 (-> this xz-dir x) f30-0 1.0)) + (f30-1 (lerp-scale 0.0 10922.667 (-> this xz-dir x) (- f30-0) -1.0)) + ) + (set! (-> this rotation-vec x) + (deg-seek (-> this rotation-vec x) (+ f26-0 f24-0) (* 4551.1113 (seconds-per-frame))) + ) + (set! (-> this rotation-vec z) + (deg-seek (-> this rotation-vec z) (+ f28-0 f30-1) (* 5461.3335 (seconds-per-frame))) + ) + ) + ) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (vector-normalize! s5-0 1.0) + (set! (-> this rotation-vec y) (vector-y-angle s5-0)) + ) + (let ((s5-1 (new 'stack-no-clear 'matrix))) + (new 'stack-no-clear 'vector) + (matrix-rotate-zxy! s5-1 (-> this rotation-vec)) + (matrix->quaternion (-> this root quat) s5-1) + ) + ) + +;; WARN: Return type mismatch symbol vs none. +;; WARN: new jak 2 until loop case, check carefully +(defbehavior bt-mh-flyer-flight-code bt-mh-flyer () + (until #f + (fly-anim self 1 (-> self xz-dir x) 5 4) + (fly-anim self 2 (-> self xz-dir z) 6 7) + (suspend) + (ja :num! (loop!)) + ) + #f + (none) + ) + +(defstate hovering (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code (behavior () + (ja-channel-push! 3 (seconds 0.2)) + (ja-no-eval :group! bt-wasp-idle-ja :num! (seek!) :frame-num 0.0) + (let ((a0-2 (-> self skel root-channel 1))) + (let ((f0-4 0.0)) + (set! (-> a0-2 frame-interp 1) f0-4) + (set! (-> a0-2 frame-interp 0) f0-4) + ) + (set! (-> a0-2 frame-group) (the-as art-joint-anim bt-wasp-idle-ja)) + (set! (-> a0-2 param 0) (the float (+ (-> (the-as art-joint-anim bt-wasp-idle-ja) frames num-frames) -1))) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim bt-wasp-idle-ja) num-func-seek!) + ) + (let ((a0-3 (-> self skel root-channel 2))) + (let ((f0-9 0.0)) + (set! (-> a0-3 frame-interp 1) f0-9) + (set! (-> a0-3 frame-interp 0) f0-9) + ) + (set! (-> a0-3 frame-group) (the-as art-joint-anim bt-wasp-idle-ja)) + (set! (-> a0-3 param 0) (the float (+ (-> (the-as art-joint-anim bt-wasp-idle-ja) frames num-frames) -1))) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim bt-wasp-idle-ja) num-func-seek!) + ) + (bt-mh-flyer-flight-code) + ) + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +(defstate charging (kg-flyer) + :virtual #t + :trans (behavior () + (sound-play "charge-loop" :id (-> self charge-sound) :position (-> self root trans)) + (let ((t9-2 (-> (find-parent-state) trans))) + (if t9-2 + (t9-2) + ) + ) + ) + ) + +(defstate charging (bt-mh-flyer) + :virtual #t + :trans (behavior () + (sound-play "charge-loop" :id (-> self charge-sound) :position (-> self root trans)) + (let ((t9-2 (-> (find-parent-state) trans))) + (if t9-2 + (t9-2) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code bt-mh-flyer-flight-code + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +(defstate fleeing (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code bt-mh-flyer-flight-code + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +(defstate firing (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code (behavior () + (sound-play "wasp-fire") + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-wasp-shoot0-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (bt-mh-flyer-flight-code) + ) + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +(defstate firing (kg-flyer) + :virtual #t + :enter (behavior () + (sound-play "charge-fire") + (let ((t9-3 (-> (find-parent-state) enter))) + (if t9-3 + (t9-3) + ) + ) + ) + ) + +;; WARN: Return type mismatch time-frame vs none. +(defmethod tower-flyer-bobber-method-10 ((this tower-flyer-bobber)) + (with-pp + (let* ((f1-2 (/ (the float (-> this current-time)) (the float (-> this total-time)))) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (set! (-> this time-scalar) (lerp (-> this start-time-scalar) (-> this desired-time-scalar) f30-0)) + (set! (-> this current-speed) (* (-> this dir) (cos (* 32768.0 f30-0)))) + (let ((f1-4 (sin (* 32768.0 f30-0)))) + (set! (-> this current-val) (+ (-> this start-val) (* (-> this current-size-scalar) f1-4 (-> this dir)))) + ) + ) + (set! (-> this output-val) (* (-> this output-scale) (-> this current-val))) + (when (< (-> this total-time) (-> this current-time)) + (set! (-> this start-val) (-> this current-val)) + (set! (-> this start-time-scalar) (-> this time-scalar)) + (set! (-> this current-time) 0) + (tower-flyer-bobber-method-11 this) + ) + (+! (-> this current-time) + (max 1 (the int (* (the float (- (current-time) (-> pp clock old-frame-counter))) (-> this time-scalar)))) + ) + (none) + ) + ) + +(defmethod init-fields ((this tower-flyer-bobber)) + (set! (-> this start-val) 0.0) + (set! (-> this current-val) 0.0) + (set! (-> this dir) 1.0) + (set! (-> this scale-min) 0.65) + (set! (-> this scale-max) 1.35) + (set! (-> this current-size-scalar) 1.0) + (set! (-> this num-iterations) 1.0) + (set! (-> this time-scalar) 1.0) + (set! (-> this start-time-scalar) 1.0) + (set! (-> this desired-time-scalar) 1.0) + (set! (-> this output-scale) 6144.0) + (set! (-> this time-min) 0.7) + (set! (-> this time-max) 0.8) + (set! (-> this base-time) 1.0) + (set! (-> this desired-time-scalar) 0.75) + (tower-flyer-bobber-method-11 this) + (none) + ) + +(defmethod tower-flyer-bobber-method-11 ((this tower-flyer-bobber)) + (set! (-> this dir) (* -1.0 (-> this dir))) + (let* ((f28-0 (if (< (-> this dir) 0.0) + (+ 1.0 (-> this current-val)) + (- 1.0 (-> this current-val)) + ) + ) + (f30-0 (fmin (-> this scale-min) f28-0)) + (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-6 (the-as number (logior #x3f800000 v1-5))) + ) + (set! (-> this current-size-scalar) + (+ f30-0 + (* (+ -1.0 (the-as float v1-6)) (- (fmin (-> this scale-max) f28-0) (fmin (-> this scale-min) f28-0))) + ) + ) + ) + (let ((f0-13 (-> this current-size-scalar))) + (set! (-> this total-time) + (the-as time-frame (the int (* 300.0 (-> this base-time) (-> this num-iterations) f0-13))) + ) + ) + (none) + ) + +(deftype bt-grunt (blow-tower-enemy) + ((target handle) + (last-parent-xform matrix :inline) + (idle-time time-frame) + (rider-index int16) + (start-pos vector :inline) + (jump-cursor blow-tower-path-cursor :inline) + (jump-start-pos vector :inline) + (jump-start-quat quaternion :inline) + (jump-end-pos vector :inline) + (jump-end-quat quaternion :inline) + (apex-height float) + (total-jump-time time-frame) + (jump-start-time time-frame) + (jump-height-percentage-start float) + (jump-height-percentage-end float) + (jump-time-offset float) + (ragdoll-proc handle) + (no-real-rider? symbol) + (jump-time-scalar float) + (start-ride-time time-frame) + (hit-sound sound-id) + (breathe-sound sound-id) + (landed-on-player? symbol) + ) + (:state-methods + waiting-to-jump + riding-land + (riding-idle symbol) + riding-attack + jumping + jumping-start + riding-idle-ship + ragdolled + ) + (:methods + (bt-grunt-method-46 (_type_) none) + (riding-trans (_type_) symbol) + (attack-vehicle (_type_ symbol) object) + (calculate-jump-trajectory (_type_) float) + (bt-grunt-method-50 (_type_) none) + (start-ragdoll (_type_) none) + (ragdoll-settled? (_type_) object) + (bt-grunt-method-53 (_type_) none) + (bt-grunt-method-54 (_type_ vector) vector) + ) + ) + + +(defbehavior bt-grunt-init-by-other bt-grunt ((arg0 tower-enemy-init-params)) + (set! (-> self level) (level-get *level* 'lblowtmh)) + (bt-grunt-method-46 self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self target) (-> arg0 target)) + (quaternion-identity! (-> self root quat)) + (set! (-> self jump-time-offset) (-> arg0 time-offset)) + (if (= (-> self jump-time-offset) 0.0) + (set! (-> self jump-time-offset) 1.0) + ) + (set! (-> self jump-time-scalar) 1.0) + (init self) + (go-virtual idle) + ) + +(defmethod init-from-entity! ((this bt-grunt) (arg0 entity-actor)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtmh)) + (bt-grunt-method-46 this) + (process-drawable-from-entity! this arg0) + (set! (-> this target) + (-> *blow-tower-targets* + target-handles + (res-lump-value arg0 'bt-target uint128 :default (the-as uint128 1) :time -1000000000.0) + ) + ) + (set! (-> this jump-time-offset) (res-lump-float arg0 'trig-dist :default 1.0)) + (set! (-> this jump-time-scalar) (res-lump-float arg0 'jump-time-scalar :default 1.0)) + (init this) + (go (method-of-object this idle)) + ) + ) + +;; WARN: Return type mismatch collide-shape-moving vs none. +(defmethod bt-grunt-method-46 ((this bt-grunt)) + (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 + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + flut-attack + board + mech-punch + dark-punch + dark-smack + flut + ) + ) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-7 prim-core collide-with) + (collide-spec backgnd jak bot crate civilian enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-7 prim-core action) (collide-action solid can-ride deadly no-standon)) + (set-vector! (-> v1-7 local-sphere) 0.0 6144.0 0.0 14336.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) 8192.0) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> s5-0 event-self) 'touched) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> this root) s5-0) + ) + (none) + ) + +;; WARN: Return type mismatch vector vs object. +(defmethod init ((this bt-grunt)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-grunt" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (call-parent-method this) + (set! (-> this landed-on-player?) #f) + (logclear! (-> this mask) (process-mask actor-pause)) + (blow-tower-enemy-method-35 this) + (set! (-> this hit-sound) (new-sound-id)) + (set! (-> this breathe-sound) (new-sound-id)) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1459) this)) + (let ((v0-8 (-> this start-pos))) + (set! (-> v0-8 quad) (-> this root trans quad)) + v0-8 + ) + ) + +;; WARN: Return type mismatch matrix vs none. +(defmethod blow-tower-enemy-method-36 ((this bt-grunt)) + (process-entity-status! this (entity-perm-status no-kill) #t) + (set! (-> this root trans quad) (-> this start-pos quad)) + (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) + (set! (-> this hit-points) 5.0) + (set! (-> this rider-index) -1) + (init-fields (-> this jump-cursor)) + (logclear! (-> this focus-status) (focus-status dead)) + (set! (-> this apex-height) 0.0) + (set! (-> this total-jump-time) 0) + (set! (-> this jump-start-time) 0) + (set! (-> this jump-height-percentage-start) 0.0) + (set! (-> this jump-height-percentage-end) 0.0) + (matrix-identity! (-> this last-parent-xform)) + (none) + ) + +;; WARN: Return type mismatch symbol vs none. +(defbehavior bt-grunt-idle-code bt-grunt () + (let ((gp-0 (+ (logand (rand-uint31-gen *random-generator*) 1) 1))) + (dotimes (s5-0 (the-as int gp-0)) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-grunt-idle-ja :num! (seek! max 6.0) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 6.0)) + ) + ) + ) + (let* ((v1-29 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 3) 1)) + (gp-2 (max 1 (+ v1-29 -1))) + ) + (dotimes (s5-1 gp-2) + (ja-channel-push! 1 (seconds 0.2)) + (let ((s4-0 (-> self skel root-channel 0))) + (set! (-> s4-0 frame-group) (the-as art-joint-anim bt-grunt-idle2-ja)) + (set! (-> s4-0 param 0) (the float (+ (-> (the-as art-joint-anim bt-grunt-idle2-ja) frames num-frames) -1))) + (let* ((f30-0 1.0) + (v1-44 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-45 (the-as number (logior #x3f800000 v1-44))) + ) + (set! (-> s4-0 param 1) (+ f30-0 (+ -1.0 (the-as float v1-45)))) + ) + (set! (-> s4-0 frame-num) 0.0) + (joint-control-channel-group! s4-0 (the-as art-joint-anim bt-grunt-idle2-ja) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 param 0) (the float (+ (-> s4-1 frame-group frames num-frames) -1))) + (let* ((f30-1 1.0) + (v1-58 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-59 (the-as number (logior #x3f800000 v1-58))) + ) + (set! (-> s4-1 param 1) (+ f30-1 (+ -1.0 (the-as float v1-59)))) + ) + (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (none) + ) + +(defstate idle (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + '() + ) + :trans (behavior () + (set-vector! (-> self root scale) 1.5 1.5 1.5 1.0) + (let ((gp-0 (the-as process-focusable (handle->process (-> self target))))) + (when gp-0 + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 root trans) (-> self root trans)))) + (set! (-> s5-1 y) 0.0) + (vector-normalize! s5-1 1.0) + (quaternion-look-at! (-> self root quat) s5-1 *up-vector*) + ) + (when (< (vector-vector-xz-distance (-> self root trans) (get-trans gp-0 0)) 491520.0) + (when (send-event (handle->process (-> self target)) 'predict-position (-> self jump-cursor) (-> self root trans)) + (let ((s5-3 (the int (* 300.0 (-> self jump-time-offset)))) + (gp-1 60) + ) + (let ((f0-9 122880.0)) + (when (= (-> self target) (-> *blow-tower-targets* pickup)) + (set! f0-9 143360.0) + (set! gp-1 0) + ) + (let ((f30-0 (/ f0-9 (-> self jump-time-scalar)))) + (blow-tower-path-cursor-method-9 + (-> self jump-cursor) + (+ gp-1 (- (-> self jump-cursor current-time) (the-as time-frame s5-3))) + ) + (let ((s4-1 (new 'stack 'blow-tower-path-cursor))) + (let ((s3-0 90)) + (if (= (-> self target) (-> *blow-tower-targets* pickup)) + (set! s3-0 75) + ) + (mem-copy! (the-as pointer s4-1) (the-as pointer (-> self jump-cursor)) 128) + (blow-tower-path-cursor-method-9 + s4-1 + (the-as int (- (-> self jump-cursor current-time) (the-as time-frame s3-0))) + ) + ) + (set! (-> self jump-cursor pos quad) (-> s4-1 pos quad)) + ) + (let ((s4-2 (new 'stack-no-clear 'vector))) + (set! (-> s4-2 quad) (-> self jump-cursor pos quad)) + (let ((f28-0 (-> s4-2 y))) + (set! (-> s4-2 y) (+ f28-0 (the-as float (send-event (handle->process (-> self target)) 'predict-height)))) + ) + (let ((f0-12 (vector-vector-distance s4-2 (-> self root trans)))) + (set! (-> self total-jump-time) (the-as time-frame (the int (* 300.0 (/ f0-12 f30-0))))) + (format + 0 + "Total jump time ~f, offset ~f, Dist ~m~%" + (* 0.0033333334 (the float (-> self total-jump-time))) + (* 0.0033333334 (the float s5-3)) + f0-12 + ) + ) + ) + ) + ) + (set! (-> self jump-start-time) (- (-> self jump-cursor current-time) (-> self total-jump-time))) + (set! (-> self jump-start-time) (- (-> self jump-start-time) (the-as time-frame gp-1))) + ) + (go-virtual waiting-to-jump) + ) + ) + ) + ) + ) + :code (behavior () + (until #f + (bt-grunt-idle-code) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defstate waiting-to-jump (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (set-vector! (-> self root scale) 1.5 1.5 1.5 1.0) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self jump-cursor pos) (-> self root trans)))) + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 1.0) + (quaternion-look-at! (-> self root quat) gp-1 *up-vector*) + ) + (when (and (>= (-> *blow-tower-targets* mission-time) (+ (-> self jump-start-time) (seconds -0.3))) + (>= (-> self jump-start-time) (-> *blow-tower-targets* mission-time)) + (not (-> *blow-tower-targets* debug?)) + ) + (set! (-> self rider-index) + (the-as int (send-event (handle->process (-> self target)) 'assign-rider (process->handle self))) + ) + (cond + ((>= (-> self rider-index) 0) + (set! (-> self no-real-rider?) #f) + (go-virtual jumping-start) + ) + (else + (set! (-> self rider-index) 0) + (set! (-> self no-real-rider?) #t) + (go-virtual jumping-start) + ) + ) + ) + ) + :code (behavior () + (until #f + (bt-grunt-idle-code) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(when (or (zero? *grunt-jump-curve*) (!= loading-level global)) + (set! *grunt-jump-curve* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *grunt-jump-curve* 3 'loading-level (the-as int #t)) + ) + +(set! (-> *grunt-jump-curve* pts data 0 first) 0.0) + +(set! (-> *grunt-jump-curve* pts data 0 second) 0.0) + +(set! (-> *grunt-jump-curve* pts data 1 first) 0.1) + +(set! (-> *grunt-jump-curve* pts data 1 second) 0.3) + +(set! (-> *grunt-jump-curve* pts data 2 first) 1.0) + +(set! (-> *grunt-jump-curve* pts data 2 second) 1.0) + +;; WARN: Return type mismatch object vs none. +(defmethod bt-grunt-method-50 ((this bt-grunt)) + (when (-> this no-real-rider?) + (set! (-> this rider-index) + (the-as int (send-event (handle->process (-> this target)) 'assign-rider (process->handle this))) + ) + (if (>= (-> this rider-index) 0) + (set! (-> this no-real-rider?) #f) + ) + ) + (let* ((f1-2 (/ (the float (- (-> *blow-tower-targets* mission-time) (-> this jump-start-time))) + (the float (-> this total-jump-time)) + ) + ) + (s5-0 (new 'stack-no-clear 'vector)) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (when (and (< 0.95 f30-0) (= (-> this target) (-> *blow-tower-targets* pickup))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'quaternion))) + (send-event (handle->process (-> this target)) 'get-rider-transform (-> this rider-index) s4-0 s3-0) + (quaternion-slerp! (-> this jump-end-quat) (-> this jump-end-quat) s3-0 (* 10.0 (seconds-per-frame))) + ) + (vector-lerp! (-> this jump-end-pos) (-> this jump-end-pos) s4-0 (* 10.0 (seconds-per-frame))) + ) + (let ((t9-4 vector-lerp!) + (a0-20 (-> this root scale)) + (a1-4 (-> this root scale)) + (a2-4 (new 'stack-no-clear 'vector)) + ) + (set! (-> a2-4 x) 1.1) + (set! (-> a2-4 y) 1.1) + (set! (-> a2-4 z) 1.1) + (set! (-> a2-4 w) 1.0) + (t9-4 a0-20 a1-4 a2-4 (* 10.0 (seconds-per-frame))) + ) + ) + (let ((f0-14 f30-0)) + (vector-! s5-0 (-> this jump-end-pos) (-> this jump-start-pos)) + (set! (-> s5-0 y) 0.0) + (vector+float*! (-> this root trans) (-> this jump-start-pos) s5-0 f0-14) + ) + (let ((f0-15 f30-0)) + 0.0 + (let* ((f0-16 (curve2d-method-9 *grunt-jump-curve* f0-15 3)) + (f0-17 (* f0-16 f0-16)) + (f0-18 (lerp (-> this jump-height-percentage-start) (-> this jump-height-percentage-end) f0-17)) + (f0-20 (- (* 2.0 f0-18) (* f0-18 f0-18))) + (f0-21 (* (-> this apex-height) f0-20)) + ) + (set! (-> this root trans y) (+ (-> this jump-start-pos y) f0-21)) + ) + ) + (let ((f28-0 f30-0)) + (when (< f28-0 0.75) + (let ((a1-11 (vector-normalize-copy! (new 'stack-no-clear 'vector) s5-0 1.0)) + (s5-1 (new 'stack-no-clear 'quaternion)) + ) + (quaternion-look-at! s5-1 a1-11 *up-vector*) + (quaternion-slerp! (-> this jump-start-quat) (-> this jump-start-quat) s5-1 (* 2.0 (seconds-per-frame))) + ) + ) + (let* ((f1-16 (lerp-scale 0.0 1.0 f28-0 0.75 1.0)) + (f0-27 (fmax 0.0 (fmin 1.0 f1-16))) + ) + (quaternion-slerp! (-> this root quat) (-> this jump-start-quat) (-> this jump-end-quat) f0-27) + ) + ) + (if (>= f30-0 1.0) + (go (method-of-object this riding-land)) + ) + ) + (none) + ) + +(defstate jumping-start (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (change-parent self (handle->process (-> self target))) + (sound-play "grunt-leap" :position (-> self root trans)) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-jump-wind-up-ja :num! (seek! max 2.0) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 2.0)) + ) + (go-virtual jumping) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defstate jumping (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (calculate-jump-trajectory self) + (if (or (< (-> self hit-points) 5.0) (< (-> self total-jump-time) (seconds 0.75))) + (set! (-> self hit-points) 1.0) + (set! (-> self hit-points) (fmin 2.0 (-> self hit-points))) + ) + ) + :trans (behavior () + (bt-grunt-method-50 self) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-jump-in-air-ja :num! (seek! max 0.5) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 0.5)) + ) + (sleep-code) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defmethod calculate-jump-trajectory ((this bt-grunt)) + (set! (-> this jump-start-pos quad) (-> this root trans quad)) + (quaternion-copy! (-> this jump-start-quat) (-> this root quat)) + (let ((f30-0 (-> this jump-cursor pos y))) + (set! (-> this jump-cursor pos y) + (+ f30-0 (the-as float (send-event (handle->process (-> this target)) 'predict-height))) + ) + ) + (quaternion-look-at! (-> this jump-end-quat) (-> this jump-cursor norm) *up-vector*) + (set! (-> this jump-end-pos quad) (-> this jump-cursor pos quad)) + (send-event + (handle->process (-> this target)) + 'rider-predict-transform + (-> this rider-index) + (-> this jump-end-pos) + (-> this jump-end-quat) + ) + (let* ((f1-1 (- (-> this jump-end-pos y) (-> this jump-start-pos y))) + (f0-4 (fmax 61440.0 (+ 12288.0 (fabs f1-1)))) + (f2-3 (/ (fabs f1-1) f0-4)) + ) + 0.0 + (set! (-> this apex-height) f0-4) + (let ((f0-5 -1.0) + (f3-2 2.0) + (f2-4 (- f2-3)) + ) + (cond + ((< 0.0 f1-1) + (set! (-> this jump-height-percentage-start) 0.0) + (set! (-> this jump-height-percentage-end) + (/ (- (- f3-2) (sqrtf (- (* f3-2 f3-2) (* 4.0 f2-4 f0-5)))) (* 2.0 f0-5)) + ) + ) + (else + (let ((f1-5 (-> this jump-end-pos y))) + (set! (-> this jump-end-pos y) (-> this jump-start-pos y)) + (set! (-> this jump-start-pos y) f1-5) + ) + (set! (-> this jump-height-percentage-start) + (/ (+ (- f3-2) (sqrtf (- (* f3-2 f3-2) (* 4.0 f2-4 f0-5)))) (* 2.0 f0-5)) + ) + (set! (-> this jump-height-percentage-end) 2.0) + ) + ) + ) + ) + ) + +(when (or (zero? *grunt-dists*) (!= loading-level global)) + (set! *grunt-dists* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *grunt-dists* 5 'loading-level (the-as int #t)) + ) + +(set! (-> *grunt-dists* pts data 0 first) 0.0) + +(set! (-> *grunt-dists* pts data 0 second) 0.0) + +(set! (-> *grunt-dists* pts data 1 first) 0.17) + +(set! (-> *grunt-dists* pts data 1 second) 0.0) + +(set! (-> *grunt-dists* pts data 2 first) 0.2) + +(set! (-> *grunt-dists* pts data 2 second) -4096.0) + +(set! (-> *grunt-dists* pts data 3 first) 0.66) + +(set! (-> *grunt-dists* pts data 3 second) -4096.0) + +(set! (-> *grunt-dists* pts data 4 first) 1.0) + +(set! (-> *grunt-dists* pts data 4 second) 0.0) + +(defstate riding-land (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-vector! (-> self root scale) 1.1 1.1 1.1 1.0) + (cond + ((= (-> self target) (-> *blow-tower-targets* hellcat)) + (activate! *camera-smush-control* 1638.4 90 150 1.0 0.9 (-> *display* camera-clock)) + (sound-play "grunt-land-ship") + ) + (else + (sound-play "grunt-land-ship") + ) + ) + (set! (-> self entity extra vis-dist) 40960000000000.0) + (let ((a0-13 (the-as process-focusable (handle->process (-> self target))))) + (when a0-13 + (let ((gp-3 (vector-! (new 'stack-no-clear 'vector) (get-trans a0-13 3) (get-trans self 3)))) + (vector-normalize! gp-3 12288.0) + (send-event (handle->process (-> self target)) 'bounce gp-3) + ) + ) + ) + (cond + ((-> self no-real-rider?) + (attack-vehicle self #f) + (on-death self) + ) + (else + (send-event (handle->process (-> self target)) 'grunt-rider-board) + ) + ) + ) + :trans (behavior () + (riding-trans self) + ) + :code (behavior () + (cond + ((= (-> self target) (-> *blow-tower-targets* pickup)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((f30-0 0.0)) + (ja-no-eval :group! bt-grunt-jump-land-ja :num! (seek! max 0.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-0 (ja-frame-num 0))) + (if (and (< f30-0 1.0) (>= f28-0 1.0)) + (attack-vehicle self #f) + ) + (set! f30-0 f28-0) + ) + (suspend) + (ja :num! (seek! max 0.5)) + ) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.01)) + (let ((f30-1 0.0)) + (ja-no-eval :group! bt-grunt-jump-land-ja :num! (seek! 0.2 0.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-1 (ja-frame-num 0))) + (let ((f26-0 (/ f28-1 (the float (ja-num-frames 0)))) + (gp-0 (new-stack-vector0)) + ) + 0.0 + (vector-float*! + gp-0 + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) + (curve2d-method-9 *grunt-dists* f26-0 3) + ) + (vector+float*! (-> self root trans) (-> self root trans) gp-0 1.0) + ) + (when (and (< f30-1 1.0) (>= f28-1 1.0)) + ) + (set! f30-1 f28-1) + ) + (suspend) + (ja :num! (seek! 0.2 0.5)) + ) + ) + (ja-channel-push! 1 (seconds 0.05)) + (let ((f30-2 0.0)) + (ja-no-eval :group! bt-grunt-close-attack1-ja :num! (seek! max 1.5) :frame-num 11.0) + (until (ja-done? 0) + (let* ((f26-1 (ja-frame-num 0)) + (f0-27 (/ f26-1 (the float (ja-num-frames 0)))) + (gp-1 (new-stack-vector0)) + (f28-2 (curve2d-method-9 *curve-linear-up-down* f0-27 3)) + ) + (vector-float*! gp-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! gp-1 gp-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! (-> self root trans) (-> self root trans) gp-1 f28-2) + (if (and (< f30-2 12.5) (>= f26-1 12.5)) + (attack-vehicle self #f) + ) + (set! f30-2 f26-1) + (suspend) + (ja :num! (seek! max (lerp 2.0 2.0 f28-2))) + ) + ) + ) + ) + ) + (cond + ((= (-> self target) (-> *blow-tower-targets* hellcat)) + (set! (-> self hit-points) 5.0) + (set! (-> self landed-on-player?) #t) + (go-virtual riding-idle #t) + ) + (else + (set! (-> self hit-points) 4.0) + (set-time! (-> self start-ride-time)) + (go-virtual riding-idle-ship) + ) + ) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defmethod attack-vehicle ((this bt-grunt) (arg0 symbol)) + (with-pp + (let ((f0-0 (if (= (-> this target) (-> *blow-tower-targets* hellcat)) + 8.0 + 1.5 + ) + ) + (a1-1 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-1 from) (process->ppointer pp)) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'attack) + (set! (-> a1-1 param 0) (the-as uint #f)) + (let ((v1-6 (new 'static 'attack-info + :mask (attack-mask trans mode control id damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-3 *game-info*) + (a2-1 (+ (-> a0-3 attack-id) 1)) + ) + (set! (-> a0-3 attack-id) a2-1) + (set! (-> v1-6 id) a2-1) + ) + (set! (-> v1-6 damage) f0-0) + (set! (-> v1-6 vehicle-damage-factor) 1.0) + (set! (-> v1-6 vehicle-impulse-factor) 1.0) + (set! (-> v1-6 mode) 'eco-dark) + (set! (-> v1-6 trans quad) (-> this root trans quad)) + (set! (-> v1-6 control) 0.0) + (set! (-> a1-1 param 1) (the-as uint v1-6)) + ) + (send-event-function (handle->process (-> this target)) a1-1) + ) + (cond + ((= (-> this target) (-> *blow-tower-targets* hellcat)) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.4)) + (let* ((a0-16 *screen-filter*) + (t9-2 (method-of-object a0-16 setup)) + (a1-3 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-3 x) 128.0) + (set! (-> a1-3 y) 0.0) + (set! (-> a1-3 z) 0.0) + (set! (-> a1-3 w) 128.0) + (let ((a2-4 (new 'stack-no-clear 'vector))) + (set! (-> a2-4 x) 128.0) + (set! (-> a2-4 y) 0.0) + (set! (-> a2-4 z) 0.0) + (set! (-> a2-4 w) 0.0) + (t9-2 a0-16 a1-3 a2-4 (* 2.0 (seconds-per-frame)) (bucket-id tex-hud-pris2) #x3fffff #x33001 #f) + ) + ) + (if arg0 + (activate! *camera-smush-control* 819.2 45 90 1.0 0.9 (-> *display* camera-clock)) + ) + ) + (else + (sound-play "gnt-attack-p") + ) + ) + ) + ) + +(defmethod bt-grunt-method-54 ((this bt-grunt) (arg0 vector)) + (let ((v1-2 (-> this node-list data 0 bone transform))) + (set! (-> arg0 quad) (-> this root trans quad)) + (vector+float*! arg0 arg0 (-> v1-2 uvec) 5324.8) + (vector+float*! arg0 arg0 (-> v1-2 fvec) 4915.2) + ) + arg0 + ) + +(defstate riding-idle-ship (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (riding-trans self) + (if (or (time-elapsed? (-> self start-ride-time) (seconds 10)) + (and (time-elapsed? (-> self start-ride-time) (seconds 1)) + (not (logtest? (-> self draw status) (draw-control-status on-screen))) + ) + ) + (on-death self) + ) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (let ((gp-0 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 3) 3))) + (dotimes (s5-0 gp-0) + (let ((v1-3 (mod (the-as int (rand-uint31-gen *random-generator*)) 6))) + -0.1 + (cond + ((zero? v1-3) + (ja-no-eval :group! bt-grunt-mech-head-butt-ja :num! (seek! max 0.4) :frame-num 0.0) + (until (ja-done? 0) + (if (>= (ja-frame-num 0) 4.0) + (spawn (-> self part) (bt-grunt-method-54 self (new 'stack-no-clear 'vector))) + ) + ;; og:preserve-this + ; (gpr->fpr ja-frame-num) + (suspend) + (ja :num! (seek! max 0.4)) + ) + ) + ((or (= v1-3 1) (= v1-3 2)) + (ja-no-eval :group! bt-grunt-mech-punch-left-ja :num! (seek! max 0.7) :frame-num 0.0) + (until (ja-done? 0) + (if (>= (ja-frame-num 0) 6.0) + (spawn (-> self part) (bt-grunt-method-54 self (new 'stack-no-clear 'vector))) + ) + ;; og:preserve-this + ; (gpr->fpr ja-frame-num) + (suspend) + (ja :num! (seek! max 0.7)) + ) + ) + ((or (= v1-3 3) (= v1-3 4) (= v1-3 5)) + (ja-no-eval :group! bt-grunt-mech-double-pound-ja :num! (seek! max 0.25) :frame-num 0.0) + (until (ja-done? 0) + (if (>= (ja-frame-num 0) 2.1) + (spawn (-> self part) (bt-grunt-method-54 self (new 'stack-no-clear 'vector))) + ) + ;; og:preserve-this + ; (gpr->fpr ja-frame-num) + (suspend) + (ja :num! (seek! max 0.25)) + ) + ) + ((or (= v1-3 6) (= v1-3 7) (= v1-3 8)) + (ja-no-eval :group! bt-grunt-mech-idle0-ja :num! (seek! max 0.2) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 0.2)) + ) + ) + ) + ) + (sound-play "grunt-punch" :position (-> self root trans)) + (attack-vehicle self #f) + ) + ) + (ja-channel-push! 1 (seconds 0.2)) + (dotimes (gp-1 1) + (ja-no-eval :group! bt-grunt-mech-idle0-ja :num! (seek! max 0.1) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 0.1)) + ) + ) + (go-virtual riding-idle-ship) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(if #t + (set! *grunt-idle-shift* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -0.3 :z -0.7 :w -1.0) + :ys (new 'static 'vector :y 1.0 :z 1.0) + :one-over-x-deltas (new 'static 'vector :x 3.3333333 :z -3.3333333 :w 1.0) + ) + ) + ) + +(defstate riding-idle (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior ((arg0 symbol)) + (if arg0 + (set! (-> self idle-time) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 451) 150)) + ) + (set! (-> self idle-time) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 451) 150)) + ) + ) + (set-time! (-> self state-time)) + ) + :exit (behavior () + (sound-stop (-> self breathe-sound)) + ) + :trans (behavior () + (sound-play "grunt-breath" :id (-> self breathe-sound) :position (-> self root trans)) + (riding-trans self) + (if (time-elapsed? (-> self state-time) (-> self idle-time)) + (go-virtual riding-attack) + ) + (let ((f0-2 (/ (* 0.0033333334 (the float (- (current-time) (-> self state-time)))) + (* 0.0033333334 (the float (-> self idle-time))) + ) + ) + ) + (+! (-> self root trans y) (* 409.6 (curve2d-method-9 *grunt-idle-shift* f0-2 3))) + ) + ) + :code (behavior ((arg0 symbol)) + (until #f + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-closeup-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defmethod bt-enemy-handler ((this bt-grunt) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('rider-eject) + (on-death this) + #t + ) + (('rider-eject-if-boarded) + (when (and (-> this next-state) (let ((v1-6 (-> this next-state name))) + (or (= v1-6 'riding) + (= v1-6 'ridle-idle-ship) + (= v1-6 'riding-land) + (= v1-6 'riding-idle) + (= v1-6 'riding-attack) + ) + ) + ) + (on-death this) + #t + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +(defmethod on-hit ((this bt-grunt) (arg0 float)) + (call-parent-method this arg0) + (sound-play "grunt-take-hit" :id (-> this hit-sound)) + 0 + (none) + ) + +(defstate riding-attack (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (riding-trans self) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (cond + ((zero? (mod (the-as int (rand-uint31-gen *random-generator*)) 3)) + (let ((f30-0 0.0)) + (ja-no-eval :group! bt-grunt-close-attack0-ja :num! (seek! max 1.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-0 (ja-frame-num 0))) + (when (and (< f30-0 11.0) (>= f28-0 11.0)) + (attack-vehicle self #t) + (sound-play "grunt-punch") + ) + (set! f30-0 f28-0) + ) + (suspend) + (ja :num! (seek! max 1.5)) + ) + ) + ) + (else + (let ((f30-1 0.0)) + (ja-no-eval :group! bt-grunt-close-attack1-ja :num! (seek! max 1.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-1 (ja-frame-num 0))) + (let* ((f0-15 (/ f28-1 (the float (ja-num-frames 0)))) + (gp-1 (new-stack-vector0)) + (f26-0 (curve2d-method-9 *curve-linear-up-down* f0-15 3)) + ) + (vector-float*! gp-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! gp-1 gp-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! (-> self root trans) (-> self root trans) gp-1 f26-0) + ) + (when (and (< f30-1 12.5) (>= f28-1 12.5)) + (attack-vehicle self #t) + (sound-play "grunt-bite") + ) + (set! f30-1 f28-1) + ) + (suspend) + (ja :num! (seek! max 1.5)) + ) + ) + ) + ) + (go-virtual riding-idle #f) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defmethod riding-trans ((this bt-grunt)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (cond + ((send-event (handle->process (-> this target)) 'get-rider-transform (-> this rider-index) s4-0 s5-0) + (set-vector! (-> this root scale) 1.1 1.1 1.1 1.0) + (set! (-> this root trans quad) (-> s4-0 quad)) + (quaternion-copy! (-> this root quat) s5-0) + ) + (else + (on-death this) + ) + ) + ) + (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)) + #f + ) + +(defmethod on-death ((this bt-grunt)) + (send-event (handle->process (-> this target)) 'kill-rider (process->handle this)) + (sound-play "grunt-die") + (if (nonzero? (-> this part)) + (kill-particles (-> this part)) + ) + (cond + ((and (and (-> this next-state) (= (-> this next-state name) 'jumping)) + (or (not (logtest? (-> *blow-tower-speech* 9 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 9 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 9 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 9 *blow-tower-speech-list* (target-pos 0)) + ) + ((and (or (not (logtest? (-> *blow-tower-speech* 18 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 18 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 18 play-time) (seconds 10)) + ) + ) + (-> this landed-on-player?) + ) + (speech-play *blow-tower-speech* 18 *blow-tower-speech-list* (target-pos 0)) + ) + ) + (let ((f30-0 (cond + ((and (-> this next-state) (let ((v1-49 (-> this next-state name))) + (or (= v1-49 'waiting-to-jump) (= v1-49 'jumping-start)) + ) + ) + 163840.0 + ) + ((and (-> this next-state) (= (-> this next-state name) 'jumping)) + 245760.0 + ) + ((and (-> this next-state) (= (-> this next-state name) 'riding-idle-ship)) + 204800.0 + ) + (else + 327680.0 + ) + ) + ) + ) + (if (and (= (-> this target) (-> *blow-tower-targets* hellcat)) + (and (-> this next-state) (let ((v1-63 (-> this next-state name))) + (or (= v1-63 'riding) (= v1-63 'riding-idle) (= v1-63 'riding-land)) + ) + ) + ) + (vector-float*! + (-> this last-attack-dir) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) + -1.0 + ) + ) + (let ((a0-39 (-> this last-attack-dir))) + (set! (-> a0-39 quad) (-> this last-attack-dir quad)) + (set! (-> a0-39 y) 0.0) + (vector-normalize! a0-39 1.0) + ) + (let ((f0-5 (cond + ((= (-> this target) (-> *blow-tower-targets* pickup)) + (+! (-> this last-attack-dir y) 0.75) + (* 0.75 f30-0) + ) + (else + (+! (-> this last-attack-dir y) 0.25) + (* 0.95 f30-0) + ) + ) + ) + ) + (vector-float*! (-> this root transv) (-> this last-attack-dir) f0-5) + ) + ) + (go (method-of-object this ragdolled)) + ) + +(defstate dormant (bt-grunt) + :virtual #t + :enter (behavior () + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + (set! (-> self root trans quad) (-> self start-pos quad)) + (set! (-> self entity extra vis-dist) 819200.0) + ) + :exit (behavior () + (initialize (-> self part) (-> *part-group-id-table* 1459) self) + ) + ) + +(defmethod deactivate ((this bt-grunt)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (set! (-> this entity extra vis-dist) 819200.0) + (sound-stop (-> this breathe-sound)) + (call-parent-method this) + (none) + ) + +(defstate ragdolled (bt-grunt) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + (start-ragdoll self) + ) + :exit (behavior () + (let ((a0-1 (handle->process (-> self ragdoll-proc)))) + (if a0-1 + (deactivate a0-1) + ) + ) + ) + :trans (behavior () + (if (time-elapsed? (-> self state-time) (seconds 0.2)) + (logior! (-> self focus-status) (focus-status dead)) + ) + ) + :code (behavior () + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.3)) + (suspend) + ) + ) + (until #f + (suspend) + (when (ragdoll-settled? self) + (if (-> self skel effect) + (logior! (-> self skel effect flags) (effect-control-flag ecf1)) + ) + (do-effect (-> self skel effect) "death-default" 0.0 -1) + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.3)) + (suspend) + ) + ) + (logior! (-> self draw status) (draw-control-status no-draw)) + (let ((gp-2 (current-time))) + (until (time-elapsed? gp-2 (seconds 0.8)) + (suspend) + ) + ) + (go-virtual dormant) + ) + ) + #f + ) + :post transform-post + ) + +(deftype bt-missile (blow-tower-enemy) + ((xforms xform 4 :inline) + (parent-xform xform :inline :overlay-at (-> xforms 0)) + (last-parent-quat quaternion :inline) + (local-xform xform :inline :overlay-at (-> xforms 1)) + (base-y float) + (bob-xform xform :inline :overlay-at (-> xforms 2)) + (bob-orient xform :inline :overlay-at (-> xforms 3)) + (bobbers tower-flyer-bobber 3 :inline) + (target handle) + (chase-start-time time-frame) + (chase-end-time time-frame) + (chase-start-dist float) + (preferred-height-offset float) + (particle-trail sparticle-subsampler) + (travel-sound uint32) + (dumb-fire? symbol) + (dumb-speed float) + (dumb-start vector :inline) + (dumb-dest vector :inline) + ) + (:state-methods + chasing + explode + ) + (:methods + (chase-trans (_type_) none) + ) + ) + + +(defbehavior bt-missile-init-by-other bt-missile ((arg0 tower-enemy-init-params)) + (let ((s5-0 (new 'process 'collide-shape self (collide-list-enum usually-hit-by-player)))) + (let ((v1-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-2 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-2 prim-core collide-with) (collide-spec obstacle)) + (set! (-> v1-2 prim-core action) (collide-action solid)) + (set-vector! (-> v1-2 local-sphere) 0.0 0.0 0.0 12288.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! (-> self root) s5-0) + ) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self target) (-> arg0 target)) + (set! (-> self chase-start-time) (-> arg0 activate-time)) + (set! (-> self dumb-fire?) (-> arg0 bool-userdata?)) + (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-14 (the-as number (logior #x3f800000 v1-13))) + (f30-0 (+ -1.0 (the-as float v1-14))) + ) + (set! (-> self chase-end-time) + (+ (-> self chase-start-time) (the int (* 300.0 (lerp 3.0 3.0 f30-0) (-> arg0 time-offset)))) + ) + (set! (-> self chase-start-dist) + (+ (* 122880.0 (sqrtf (-> arg0 time-offset))) (* (-> arg0 time-offset) (lerp 0.0 40960.0 f30-0))) + ) + ) + (when (-> self dumb-fire?) + (set! (-> self chase-end-time) (+ (-> self chase-start-time) (the int (* 300.0 (-> arg0 time-offset))))) + (let ((gp-1 (new 'stack 'blow-tower-path-cursor))) + (when (send-event (handle->process (-> self target)) 'predict-position gp-1 (-> self root trans)) + (blow-tower-path-cursor-method-9 gp-1 (the-as int (-> self chase-end-time))) + (set! (-> self dumb-dest quad) (-> gp-1 pos quad)) + (+! (-> self dumb-dest y) 8192.0) + (let ((f30-1 (-> self dumb-dest y))) + (set! (-> self dumb-dest y) + (+ f30-1 (the-as float (send-event (handle->process (-> self target)) 'predict-height))) + ) + ) + (set! (-> self dumb-start quad) (-> self root trans quad)) + ) + ) + ) + (let* ((f30-2 -10240.0) + (f28-2 22528.0) + (v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-50 (the-as number (logior #x3f800000 v1-49))) + ) + (set! (-> self preferred-height-offset) (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-50))))) + ) + (init self) + (go-virtual idle) + ) + +;; WARN: Return type mismatch sound-id vs object. +(defmethod init ((this bt-missile)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-missile" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (dotimes (s5-1 3) + (init-fields (-> this bobbers s5-1)) + ) + (dotimes (s5-2 4) + (reset (-> this xforms s5-2)) + ) + self + (set! (-> this particle-trail) + (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 4806) 4.0) + ) + (call-parent-method this) + (set! (-> this hit-points) 2.0) + (let ((v0-8 (new-sound-id))) + (set! (-> this travel-sound) (the-as uint v0-8)) + v0-8 + ) + ) + +(defstate idle (bt-missile) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (logior! (-> self draw status) (draw-control-status no-draw)) + ) + :trans (behavior () + (when (< (-> self chase-start-time) (-> *blow-tower-targets* mission-time)) + (logclear! (-> self draw status) (draw-control-status no-draw)) + (sound-play "missile-launch") + (go-virtual chasing) + ) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defstate chasing (bt-missile) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (let* ((gp-0 (handle->process (-> self target))) + (v1-3 (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + ) + (when v1-3 + (set! (-> self base-y) (-> v1-3 root trans y)) + (quaternion-copy! (-> self last-parent-quat) (-> v1-3 root quat)) + ) + ) + ) + :trans (behavior () + (sound-play "bt-missile" :id (the-as sound-id (-> self travel-sound)) :position (-> self root trans)) + (chase-trans self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +(defmethod deactivate ((this bt-missile)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (sound-stop (the-as sound-id (-> this travel-sound))) + (call-parent-method this) + (none) + ) + +;; WARN: Return type mismatch matrix vs none. +(defmethod chase-trans ((this bt-missile)) + (let ((f30-0 (/ (the float (- (-> *blow-tower-targets* mission-time) (-> this chase-start-time))) + (the float (- (-> this chase-end-time) (-> this chase-start-time))) + ) + ) + ) + (if (>= f30-0 1.0) + (go (method-of-object this explode)) + ) + (cond + ((-> this dumb-fire?) + (quaternion-identity! (-> this local-xform root quat)) + (set! (-> this local-xform root trans quad) (the-as uint128 0)) + (set! (-> this local-xform root trans w) 1.0) + (let ((s5-0 (-> this xforms)) + (s4-1 (vector-! (new 'stack-no-clear 'vector) (-> this dumb-dest) (-> this dumb-start))) + (s3-0 (new 'stack-no-clear 'matrix)) + ) + (vector-lerp! (the-as vector (-> s5-0 0)) (-> this dumb-start) (-> this dumb-dest) f30-0) + (vector-normalize! s4-1 1.0) + (matrix-f-u-compose s3-0 s4-1 *up-vector*) + (matrix->quaternion (-> s5-0 0 root quat) s3-0) + ) + ) + (else + (set! f30-0 (fmax 0.0 (fmin 1.0 f30-0))) + (set! (-> this local-xform root trans z) (- (lerp (-> this chase-start-dist) 16384.0 f30-0))) + (set! (-> this local-xform root trans y) (lerp (-> this preferred-height-offset) 0.0 f30-0)) + (set! (-> this local-xform root trans w) 1.0) + (let* ((s5-1 (-> this xforms)) + (s3-1 (handle->process (-> this target))) + (s4-2 (if (type? s3-1 process-focusable) + (the-as process-focusable s3-1) + ) + ) + ) + (when s4-2 + (set! (-> s5-1 0 root trans quad) (-> (get-trans s4-2 3) quad)) + (let ((s4-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-2 root quat)))) + (set! (-> s4-3 y) 0.0) + (vector-normalize! s4-3 1.0) + (quaternion-look-at! (-> s5-1 0 root quat) s4-3 *up-vector*) + ) + (let* ((f0-12 (lerp 8.0 8.0 f30-0)) + (f0-14 (fmin 1.0 (* f0-12 (seconds-per-frame)))) + ) + (quaternion-slerp! (-> s5-1 0 root quat) (-> this last-parent-quat) (-> s5-1 0 root quat) f0-14) + ) + (quaternion-copy! (-> this last-parent-quat) (-> s5-1 0 root quat)) + (set! (-> s5-1 0 root trans w) 1.0) + ) + ) + ) + ) + (set! (-> this bobbers 0 output-scale) 8192.0) + (set! (-> this bobbers 1 output-scale) 16384.0) + (set! (-> this bobbers 1 base-time) 0.95) + (set! (-> this bobbers 2 output-scale) 6144.0) + (set! (-> this bobbers 2 base-time) 1.1) + (dotimes (s5-2 3) + (tower-flyer-bobber-method-10 (-> this bobbers s5-2)) + ) + (let ((v1-42 (new 'stack-no-clear 'vector))) + (set! (-> v1-42 x) (-> this bobbers 0 output-val)) + (set! (-> v1-42 y) (-> this bobbers 1 output-val)) + (set! (-> v1-42 z) (-> this bobbers 2 output-val)) + (set! (-> v1-42 w) 1.0) + (set! (-> this bob-xform root trans quad) (-> v1-42 quad)) + ) + (when (= (-> this target) (-> *blow-tower-targets* hellcat)) + (let ((f0-26 (- 1.0 (* f30-0 f30-0)))) + (vector-float*! (the-as vector (-> this bob-xform)) (the-as vector (-> this bob-xform)) 2.0) + (vector-float*! (the-as vector (-> this bob-xform)) (the-as vector (-> this bob-xform)) f0-26) + ) + ) + ) + (let ((s5-3 (reset (new 'stack-no-clear 'xform)))) + (process-xform-list s5-3 s5-3 (-> this xforms) 2) + (when (not (-> this dumb-fire?)) + (set! (-> this base-y) (lerp (-> this base-y) (-> s5-3 root trans y) (* 2.0 (seconds-per-frame)))) + (set! (-> s5-3 root trans y) (-> this base-y)) + ) + (process-xform-list s5-3 s5-3 (the-as (inline-array xform) (-> this bob-xform)) 1) + (set! (-> this root trans quad) (-> s5-3 root trans quad)) + (let ((s3-3 (new 'stack-no-clear 'vector))) + (set! (-> s3-3 x) (-> this bobbers 0 current-speed)) + (set! (-> s3-3 y) (-> this bobbers 1 current-speed)) + (set! (-> s3-3 z) (-> this bobbers 2 current-speed)) + (set! (-> s3-3 w) 1.0) + (let ((s4-4 (new 'stack-no-clear 'quaternion))) + (vector-normalize! s3-3 1.0) + (+! (-> s3-3 y) 1.0) + (set! (-> s3-3 y) (* 0.5 (-> s3-3 y))) + (+! (-> s3-3 x) 1.0) + (set! (-> s3-3 x) (* 0.5 (-> s3-3 x))) + (quaternion-rotate-x! + s4-4 + (quaternion-identity! (new 'stack-no-clear 'quaternion)) + (lerp 3640.889 -3640.889 (-> s3-3 y)) + ) + (quaternion-rotate-local-y! s4-4 s4-4 (lerp 3640.889 -3640.889 (-> s3-3 x))) + (quaternion-slerp! + (-> this bob-orient root quat) + (-> this bob-orient root quat) + s4-4 + (* 2.0 (seconds-per-frame)) + ) + ) + ) + (quaternion*! (-> s5-3 root quat) (-> s5-3 root quat) (-> this bob-orient root quat)) + (quaternion-copy! (-> this root quat) (-> s5-3 root quat)) + ) + (let ((a1-28 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector+float*! (-> a1-28 trans) (-> this root trans) (-> a1-28 fvec) -10240.0) + (init-with-mat! (-> this particle-trail) a1-28) + ) + (none) + ) + +(defmethod relocate ((this bt-missile) (offset int)) + (if (nonzero? (-> this particle-trail)) + (&+! (-> this particle-trail) offset) + ) + (call-parent-method this offset) + ) + +(defstate explode (bt-missile) + :virtual #t + :enter (behavior () + (sound-stop (the-as sound-id (-> self travel-sound))) + (sound-play "missile-explode") + (let ((v1-3 (get-trans self 3))) + (cond + ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> v1-3 quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> v1-3 quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + ) + ) + (let ((f30-0 6.0)) + (when (= (-> self target) (-> *blow-tower-targets* hellcat)) + (sound-play "hellcat-hit") + (set! f30-0 (cond + ((not (time-elapsed? (-> *blow-tower-targets* last-player-attack-time) (seconds 0.75))) + 2.0 + ) + (else + (if (and (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + f30-0 + ) + ) + ) + (set-time! (-> *blow-tower-targets* last-player-attack-time)) + ) + (format 0 "Damage missile is ~f~%" f30-0) + (let ((a1-11 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-11 from) (process->ppointer self)) + (set! (-> a1-11 num-params) 2) + (set! (-> a1-11 message) 'attack) + (set! (-> a1-11 param 0) (the-as uint #f)) + (let ((v1-59 (new 'static 'attack-info + :mask (attack-mask trans mode id damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-35 *game-info*) + (a2-15 (+ (-> a0-35 attack-id) 1)) + ) + (set! (-> a0-35 attack-id) a2-15) + (set! (-> v1-59 id) a2-15) + ) + (set! (-> v1-59 damage) f30-0) + (set! (-> v1-59 vehicle-damage-factor) 1.0) + (set! (-> v1-59 vehicle-impulse-factor) 1.0) + (set! (-> v1-59 mode) 'eco-dark) + (set! (-> v1-59 trans quad) (-> self root trans quad)) + (set! (-> a1-11 param 1) (the-as uint v1-59)) + ) + (send-event-function (handle->process (-> self target)) a1-11) + ) + ) + ) + :code nothing + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod start-ragdoll ((this bt-grunt)) + (set! (-> this ragdoll-proc) + (ppointer->handle + (process-spawn ragdoll-proc *bt-grunt-ragdoll-info* :name "ragdoll-proc" :to this :stack-size #x5000) + ) + ) + (let ((s5-1 (handle->process (-> this ragdoll-proc)))) + (when s5-1 + (when (not s5-1) + (format 0 "deactivated ~A because a ragdoll allocate failed~%" (-> this name)) + (deactivate this) + ) + (if (-> (the-as ragdoll-proc s5-1) ragdoll) + (logior! (-> (the-as ragdoll-proc s5-1) ragdoll ragdoll-flags) (ragdoll-flag rf3 rf4)) + ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (vector-float*! s4-0 (-> this root transv) (seconds-per-frame)) + (ragdoll-proc-method-15 (the-as ragdoll-proc s5-1) #f (the-as vector #f) #t) + (ragdoll-method-23 (-> (the-as ragdoll-proc s5-1) ragdoll) (-> this root trans) s4-0 1.0 #t) + (set! (-> (the-as ragdoll-proc s5-1) ragdoll ragdoll-joints 0 velocity quad) (-> s4-0 quad)) + ) + ) + ) + (none) + ) + +(defmethod ragdoll-settled? ((this bt-grunt)) + (local-vars (f0-0 float)) + (let ((gp-0 (the-as ragdoll-proc (handle->process (-> this ragdoll-proc))))) + (or (not gp-0) + (or (ragdoll-proc-method-19 gp-0) + (and (time-elapsed? (-> this state-time) (seconds 0.5)) + (let ((f1-0 4096.0)) + (set! f0-0 364.0889) + (< (vector-length (-> gp-0 ragdoll ragdoll-joints 0 velocity)) (* f1-0 (seconds-per-frame))) + ) + (< (cos (* f0-0 (seconds-per-frame))) (-> gp-0 ragdoll rotate-vel w)) + ) + ) + ) + ) + ) + +(defmethod run-logic? ((this bt-grunt)) + "Should this process be run? Checked by execute-process-tree." + #t + ) + +;; WARN: Return type mismatch float vs none. +(defmethod bt-grunt-method-53 ((this bt-grunt)) + (fmax + 0.0 + (fmin + 1.0 + (lerp-scale-clamp 0.0 1.0 (vector-vector-distance (-> this root trans) (math-camera-pos)) 204800.0 532480.0) + ) + ) + (vector-vector-distance (-> this root trans) (math-camera-pos)) + (let ((f30-1 0.0)) + (set! (-> this draw color-mult x) (lerp 1.0 2.0 f30-1)) + (set! (-> this draw color-mult y) (lerp 1.0 0.5 f30-1)) + (set! (-> this draw color-mult z) (lerp 1.0 0.6999 f30-1)) + (set! (-> this draw color-emissive x) (* 1.7 f30-1)) + (set! (-> this draw color-emissive y) f30-1) + (set! (-> this draw color-emissive z) (* 0.6999 f30-1)) + ) + (none) + ) + +(defmethod blow-tower-enemy-method-34 ((this bt-grunt)) + (call-parent-method this) + (bt-grunt-method-53 this) + (none) + ) + +(defmethod blow-tower-enemy-method-34 ((this bt-mh-flyer)) + (logior! (-> this skel status) (joint-control-status sync-math)) + (sound-play "wasp-jets" :id (-> this buzz-sound) :position (-> this root trans)) + (call-parent-method this) + (none) + ) + +(defmethod bt-mh-flyer-method-52 ((this bt-mh-flyer)) + (local-vars (at-0 int) (at-1 int)) + (with-pp + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((a0-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 3))) + (v1-1 (new 'stack-no-clear 'vector)) + ) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (vector-! v1-1 a0-2 (the-as vector (-> this main-joint-movement))) + (let ((a2-1 v1-1)) + (.lvf vf1 (&-> v1-1 quad)) + (let ((f0-0 (-> pp clock frames-per-second))) + (.mov at-0 f0-0) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-1 quad) vf1) + ) + (vector-! a1-1 v1-1 (-> this main-joint-movement 1)) + (let ((a2-3 (-> this main-joint-movement 2))) + (.lvf vf1 (&-> a1-1 quad)) + (let ((f0-1 (-> pp clock frames-per-second))) + (.mov at-1 f0-1) + ) + (.mov vf2 at-1) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-3 quad) vf1) + ) + ) + (set! (-> this main-joint-movement 0 quad) (-> a0-2 quad)) + (set! (-> this main-joint-movement 1 quad) (-> v1-1 quad)) + ) + (let ((s4-0 (-> this main-joint-movement 1)) + (s5-0 (-> this main-joint-movement 2)) + (s3-0 + (lambda ((arg0 bt-mh-flyer) (arg1 cspace) (arg2 float) (arg3 float) (arg4 vector) (arg5 vector) (arg6 int)) + (local-vars (sv-192 float) (sv-208 quaternion) (sv-224 vector)) + (set! sv-192 arg2) + (let ((s0-0 arg3)) + (set! sv-224 arg4) + (let ((s1-0 arg5) + (s3-0 arg6) + (s4-0 (vector<-cspace! (new 'stack-no-clear 'vector) arg1)) + (s5-0 (new 'stack-no-clear 'matrix)) + (a1-3 (matrix-with-scale->quaternion (new 'stack-no-clear 'quaternion) (-> arg1 bone transform))) + ) + (set! sv-208 (new 'stack-no-clear 'quaternion)) + (let ((s2-1 (new 'stack-no-clear 'vector))) + 0.75 + (quaternion-rotate-local-z! sv-208 a1-3 sv-192) + (quaternion->matrix s5-0 sv-208) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) + (scale-matrix! s5-0 s2-1 s5-0) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) + (t9-6 vector-inv-orient-by-quat!) + (a0-10 (new 'stack-no-clear 'vector)) + (a2-4 (-> arg0 root quat)) + (v0-6 (t9-6 a0-10 sv-224 a2-4)) + (f30-0 (* 1638400.0 (seconds-per-frame))) + (f28-0 (seek + (-> arg0 thrust s3-0) + (+ (* 0.4 (fmax 0.0 (* (-> v0-6 x) s0-0))) + (fmax 0.0 (-> v0-6 y)) + (fabs (* 0.2 (-> v0-6 z))) + (fmax 0.0 (-> s1-1 y)) + ) + (* 0.2 f30-0) + ) + ) + ) + (let ((f20-0 (lerp-scale 819.2 4096.0 f28-0 1638.4 f30-0)) + (f26-0 (lerp-scale 4915.2 11468.8 f28-0 1638.4 f30-0)) + ) + (lerp-scale 0.0 -4915.2 f28-0 1638.4 f30-0) + (let ((f22-0 (lerp-scale 0.5 1.5 f28-0 1638.4 f30-0)) + (f24-0 (lerp-scale 0.1 1.0 f28-0 1638.4 f30-0)) + ) + (lerp-scale 0.1 1.0 f28-0 1638.4 f30-0) + (let ((f1-10 (lerp-scale 0.02 0.6 f28-0 1638.4 f30-0)) + (f2-6 (fmin 1.0 (-> s2-1 x))) + (f0-15 (fmin 1.0 (-> s2-1 y))) + ) + (set! (-> *part-id-table* 4817 init-specs 4 initial-valuef) (* f20-0 f2-6)) + (set! (-> *part-id-table* 4817 init-specs 5 initial-valuef) (* f26-0 f0-15)) + (set! (-> *part-id-table* 4821 init-specs 3 initial-valuef) (* f22-0 f2-6)) + (set! (-> *part-id-table* 4818 init-specs 1 initial-valuef) (* f24-0 f0-15)) + (set! (-> *part-id-table* 4819 init-specs 1 initial-valuef) (* f1-10 f0-15)) + (set! (-> *part-id-table* 4820 init-specs 0 initial-valuef) (* f24-0 f0-15)) + (set! (-> arg0 thrust s3-0) f28-0) + (let ((f0-16 (* f26-0 f0-15))) + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 uvec) (* 0.3 f0-16)) + ) + ) + ) + ) + (set! (-> s5-0 trans quad) (-> s4-0 quad)) + (spawn-from-mat (-> arg0 engine-part) s5-0) + (lerp-scale 0.75 1.0 f28-0 1638.4 f30-0) + ) + ) + ) + ) + 0 + (none) + ) + ) + ) + (s3-0 this (-> this node-list data 10) 16384.0 -1.0 s5-0 s4-0 0) + (s3-0 this (-> this node-list data 13) -16384.0 1.0 s5-0 s4-0 1) + ) + 0 + (none) + ) + ) + ) + +(defmethod blow-tower-enemy-method-34 ((this kg-flyer)) + (sound-play "f-turret-engine" :id (-> this buzz-sound) :position (-> this root trans)) + (call-parent-method this) + (none) + ) + +(defmethod on-death ((this bt-missile)) + (logior! (-> this focus-status) (focus-status dead)) + (cond + ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + ) + (sound-play "missile-explode") + (go empty-state) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod tower-flyer-method-46 ((this bt-mh-flyer)) + (call-parent-method this) + (set! (-> this main-joint-movement 0 quad) (-> this root trans quad)) + (set! (-> this main-joint-movement 1 quad) (the-as uint128 0)) + (set! (-> this main-joint-movement 2 quad) (the-as uint128 0)) + (none) + ) + +(defmethod deactivate ((this bt-mh-flyer)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this engine-part)) + (kill-particles (-> this engine-part)) + ) + (call-parent-method this) + (none) + ) + +(defmethod relocate ((this bt-mh-flyer) (offset int)) + (if (nonzero? (-> this engine-part)) + (&+! (-> this engine-part) offset) + ) + (call-parent-method this offset) + ) + +(deftype kg-bombbot (bombbot) + ((start-time time-frame) + ) + ) + + +(defmethod bombbot-method-207 ((this kg-bombbot)) + #f + ) + +(defmethod enemy-common-post ((this kg-bombbot)) + (if (< (seconds 20) (- (-> *blow-tower-targets* mission-time) (-> this start-time))) + (go empty-state) + ) + (call-parent-method this) + (none) + ) + +(defmethod init-enemy! ((this kg-bombbot)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtkg)) + (set! (-> this start-time) (-> *blow-tower-targets* mission-time)) + (call-parent-method this) + (none) + ) + ) + +(defun kg-bombbot-find-nearest-nav-mesh ((arg0 kg-bombbot) (arg1 float)) + (local-vars (v1-15 float) (sv-64 nav-poly) (sv-68 nav-mesh) (sv-72 float) (sv-76 kg-bombbot)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (set! sv-64 (new 'stack-no-clear 'nav-poly)) + (set! sv-68 (the-as nav-mesh #f)) + (set! sv-72 arg1) + (set! sv-76 arg0) + (set! (-> sv-64 data 20) (the-as uint 7)) + (dotimes (gp-0 (-> *level* length)) + (let ((v1-5 (-> *level* level gp-0))) + (when (= (-> v1-5 status) 'active) + (let ((s5-0 (-> v1-5 bsp nav-meshes))) + (when (nonzero? s5-0) + (dotimes (s4-0 (-> s5-0 length)) + (let ((s3-0 (-> s5-0 s4-0 nav-mesh))) + (when s3-0 + (vector-! (the-as vector (-> sv-64 vertex)) (the-as vector sv-76) (the-as vector (-> s3-0 bounds))) + (.lvf vf1 (&-> (-> sv-64 vertex) 0 quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-15 vf1) + (let ((f0-1 v1-15) + (f1-0 (-> s3-0 bounds r)) + ) + (when (< f0-1 (* f1-0 f1-0)) + (set! (-> sv-64 vertex1 x) 4096.0) + (nav-mesh-method-46 s3-0 sv-64) + (when (>= sv-72 (-> sv-64 vertex1 w)) + (set! sv-72 (-> sv-64 vertex1 w)) + (set! sv-68 s3-0) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + sv-68 + ) + ) + +(defmethod bombbot-method-205 ((this kg-bombbot)) + (when (= (-> this nav state mesh) *default-nav-mesh*) + (let ((a0-4 (kg-bombbot-find-nearest-nav-mesh (the-as kg-bombbot (-> this root trans)) (the-as float #x7f800000)))) + (when a0-4 + (change-to a0-4 this) + (dotimes (s5-0 4) + (let ((s4-0 (-> this feet s5-0))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (vector-orient-by-quat! s3-0 (-> s4-0 pos-offset) (-> this root quat)) + (vector+! s3-0 s3-0 (-> this root trans)) + (set! (-> s4-0 next-position quad) (-> s3-0 quad)) + (set! (-> s4-0 position quad) (-> s3-0 quad)) + ) + (set! (-> s4-0 delta-y) 0.0) + ) + (set! (-> this legs-strength s5-0) 1.0) + ) + ) + ) + ) + 0 + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod bombbot-method-196 ((this kg-bombbot) (arg0 vector)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let* ((s4-0 + (handle->process (-> *blow-tower-targets* target-handles (logand (rand-uint31-gen *random-generator*) 1))) + ) + (s5-0 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (cond + (s5-0 + (set! (-> this target-pos quad) (-> (get-trans s5-0 3) quad)) + (let ((v1-9 (-> this target-pos))) + (let ((a0-9 (-> s5-0 root trans))) + (let ((a1-5 (-> s5-0 root transv))) + (let ((a2-0 0.0)) + (.mov vf7 a2-0) + ) + (.lvf vf5 (&-> a1-5 quad)) + ) + (.lvf vf4 (&-> a0-9 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> v1-9 quad) vf6) + ) + (set! (-> this start-target-pos quad) (-> this target-pos quad)) + (set! (-> this start-target-vel quad) (-> s5-0 root transv quad)) + (try-update-focus (-> this focus) s5-0 this) + ) + (else + (clear-focused (-> this focus)) + ) + ) + ) + (none) + ) + ) + +(defstate hostile (kg-bombbot) + :virtual #t + :enter (behavior () + (set! (-> self hit-points) 10.0) + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + ) + ) + +(defstate die (kg-bombbot) + :virtual #t + :enter (behavior () + (sound-play "bb-explode") + (go-virtual explode) + ) + ) + +(defmethod on-hit ((this bt-mh-flyer) (arg0 float)) + ((method-of-type blow-tower-enemy on-hit) this arg0) + (none) + ) + +(defmethod on-death ((this bt-mh-flyer)) + (sound-play "wasp-die") + (sound-play "hc-target-hit") + ((method-of-type blow-tower-enemy on-death) this) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-part.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-part.gc index 6f03572351..cf909df5e2 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-part.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-part.gc @@ -5,5 +5,1284 @@ ;; name in dgo: blow-tower-part ;; dgos: LCTYBLOW +(define-extern *range-bt-roboguard-dust-scale-x* curve2d-fast) +(define-extern *range-bt-roboguard-dust-scale-y* curve2d-fast) + ;; DECOMP BEGINS +(defskelgroup skel-bt-roboguard bt-roboguard bt-roboguard-lod0-jg bt-roboguard-idle0-ja + ((bt-roboguard-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow bt-roboguard-shadow-mg + :origin-joint-index 3 + ) + +(defskelgroup skel-bt-grunt bt-grunt bt-grunt-lod0-jg -1 + ((bt-grunt-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :shadow bt-grunt-shadow-mg + :origin-joint-index 16 + ) + +(defskelgroup skel-kg-flyer kg-flying-turret kg-flying-turret-lod0-jg kg-flying-turret-idle-ja + ((kg-flying-turret-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) + +(defskelgroup skel-bt-mh-flyer bt-wasp bt-wasp-lod0-jg -1 + ((bt-wasp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7.5) + :shadow bt-wasp-shadow-mg + :origin-joint-index 3 + ) + +(defskelgroup skel-bt-barrel cty-explode-barrel cty-explode-barrel-lod0-jg cty-explode-barrel-idle-ja + ((cty-explode-barrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) + +(defskelgroup skel-bt-missile cty-homing-missile cty-homing-missile-lod0-jg cty-homing-missile-idle-ja + ((cty-homing-missile-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + :origin-joint-index 3 + ) + +(defskelgroup skel-bt-hellcat hellcat-tower hellcat-tower-lod0-jg hellcat-tower-idle-ja + ((hellcat-tower-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + :origin-joint-index 3 + ) + +(defskelgroup skel-bt-pickup kg-pickup kg-pickup-lod0-jg kg-pickup-idle-ja + ((kg-pickup-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :shadow kg-pickup-shadow-mg + :origin-joint-index 3 + ) + +(defskelgroup skel-bt-torn bt-torn bt-torn-lod0-jg bt-torn-idle-ja + ((bt-torn-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +(defskelgroup skel-bt-sig bt-sig bt-sig-lod0-jg bt-sig-idle-ja + ((bt-sig-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +(defskelgroup skel-bt-jinx bt-jinx bt-jinx-lod0-jg bt-jinx-idle-ja + ((bt-jinx-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +(defpartgroup group-barrel-damage + :id 1455 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4788 :flags (sp7)) + (sp-item 4789 :flags (sp3) :binding 4787) + (sp-item 4787 :flags (sp2) :period (seconds 4) :length (seconds 2)) + ) + ) + +(defpart 4788 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:num 1.0) + (:x (meters 0) (meters 0.5)) + (:y (meters 0.5)) + (:scale-x (meters 0.5) (meters 1)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0 30.0) + (:b 30.0) + (:a 128.0) + (:vel-y (meters 0.0033333334)) + (:scalevel-x (meters -0.0033333334) (meters -0.0033333334)) + (:scalevel-y (meters 0.0033333334) (meters 0.0033333334)) + (:fade-g -0.8) + (:fade-b -0.2) + (:fade-a -0.2 -0.6666667) + (:accel-y (meters 0.00033333333) (meters 0.00033333333)) + (:friction 0.99) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees -5) (degrees 10)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4789 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 15)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 200.0) + (:a 128.0) + (:vel-y (meters 0.2)) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:accel-y (meters -0.00066666666) (meters -0.00066666666)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 2)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4787 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:birth-func 'birth-func-inherit-size) + (:num 0.3) + (:scale-x (meters 0.00024414062) (meters 0.00012207031)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 32.0) + (:a 128.0) + (:fade-a -0.36571428 -0.36571428) + (:accel-y (meters 0) (meters -0.00033333333)) + (:timer (seconds 1.167)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +(defpartgroup group-flyer-shot-trail + :id 1456 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 4790 :flags (sp6)) (sp-item 4791 :flags (sp6)) (sp-item 4792 :flags (sp6))) + ) + +(defpart 4791 + :init-specs ((:texture (diamond-star level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2.25) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 4792 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 4790 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + ) + ) + +(defpartgroup group-bt-mh-flyer-explosion + :id 1457 + :duration (seconds 2) + :linger-duration (seconds 1) + :flags (sp0 sp5 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (0.25 0.25 0.25) + :parts ((sp-item 4793 :flags (sp6) :period (seconds 3) :length (seconds 0.017)) + (sp-item 4794 :flags (sp6) :period (seconds 3) :length (seconds 0.017)) + (sp-item 4795 :period (seconds 3) :length (seconds 0.05)) + (sp-item 4796 :fade-after (meters 200) :falloff-to (meters 200) :period (seconds 3) :length (seconds 0.085) :offset 20) + (sp-item 4797 :fade-after (meters 150) :falloff-to (meters 150) :period (seconds 3) :length (seconds 0.067) :offset 30) + ) + ) + +(defpart 4794 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0) + (:scalevel-x (meters 0.10666667)) + (:rotvel-z (degrees 0.3)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -4.266667) + (:fade-b -4.266667) + (:fade-a 0.0) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:next-time (seconds 0.25)) + (:next-launcher 4798) + ) + ) + +(defpart 4798 + :init-specs ((:scalevel-x (meters 0)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.85333335) + (:fade-g -1.7066667) + (:fade-b -1.7066667) + (:fade-a -0.64) + ) + ) + +(defpart 4797 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 2.0 0.2) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0) (degrees 3600) :store) + (:scale-y (meters 0.8) (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:scalevel-x (meters 0.01) (meters 0.13333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -0.36) + (:fade-b -4.24) + (:fade-a -0.22068965) + (:friction 0.95) + (:timer (seconds 3.335)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085)) + (:next-launcher 4799) + (:conerot-x '*sp-temp*) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4796 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 3.0) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters 0.02) (meters 0.01)) + (:scalevel-x (meters 0.01) (meters 0.13333334)) + (:rotvel-z (degrees -0.12) (degrees 0.24)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -0.36) + (:fade-b -4.24) + (:fade-a -0.22068965) + (:friction 0.95) + (:timer (seconds 3.335)) + (:flags (sp-cpuinfo-flag-2)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400700)) + (:next-time (seconds 0.085)) + (:next-launcher 4799) + (:conerot-x (degrees 0) (degrees 3600)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4799 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:next-time (seconds 0.017) (seconds 0.065)) (:next-launcher 4800)) + ) + +(defpart 4800 + :init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.44) + (:fade-g -2.36) + (:fade-b -2.64) + (:next-time (seconds 0.117) (seconds 0.047)) + (:next-launcher 4801) + ) + ) + +(defpart 4801 + :init-specs ((:scalevel-x (meters 0.008333334) (meters 0.008333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r -1.2944444) + (:fade-g -0.7111111) + (:fade-b -0.094444446) + (:fade-a -0.06545454 -0.06545454) + (:next-time (seconds 0.5) (seconds 0.097)) + (:next-launcher 4802) + ) + ) + +(defpart 4802 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.1125)) + ) + +(defpart 4793 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.5)) + (:rotvel-z (degrees 0.3)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -1.28) + (:fade-b -5.1) + (:fade-a 0.0) + (:timer (seconds 0.217)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:next-time (seconds 0.1)) + (:next-launcher 4803) + ) + ) + +(defpart 4803 + :init-specs ((:scalevel-x (meters -0.2857143)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -3.6571429) + (:fade-b 0.0) + (:fade-a -2.7428572) + ) + ) + +(defpart 4795 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 8.0 1.0) + (:x (meters 0) (meters 0.6)) + (:scale-x (meters 2.5) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 70.0 20.0) + (:g 70.0 20.0) + (:b 70.0 20.0) + (:a 0.0 40.0) + (:vel-y (meters 0) (meters 0.1)) + (:scalevel-x (meters 0.033333335) (meters 0.02)) + (:rotvel-z (degrees -0.12) (degrees 0.24)) + (:scalevel-y :copy scalevel-x) + (:fade-r 3.3) + (:fade-g 3.12) + (:fade-b 1.18) + (:fade-a 1.76) + (:friction 0.88) + (:timer (seconds 2.367)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:next-time (seconds 0.117) (seconds 0.047)) + (:next-launcher 4804) + (:conerot-x (degrees 0) (degrees 3600)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4804 + :init-specs ((:scalevel-x (meters 0.0033333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.53333336) + (:fade-g -1.9666667) + (:fade-b -2.2) + (:fade-a -0.41666666) + (:next-time (seconds 0.15) (seconds 0.047)) + (:next-launcher 4805) + ) + ) + +(defpart 4805 + :init-specs ((:scalevel-x (meters 0)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.38833332) + (:fade-g -0.21333334) + (:fade-b -0.028333334) + (:fade-a -0.38833332) + ) + ) + +(defpart 4806 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 150.0) + (:g 150.0) + (:b 150.0) + (:a 30.0 30.0) + (:scalevel-x (meters 0.01)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.1 -0.1) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 20 1 0 #x400000 #x405c00)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-bt-dummy + :id 1458 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4807 :flags (sp3 sp7))) + ) + +(defpart 4807 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 0.0) + (:b 0.0) + (:a 0.0) + (:timer (seconds 0.017)) + (:flags ()) + ) + ) + +(defpartgroup group-grunt-hit-pickup + :id 1459 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 500) + :parts ((sp-item 4808 :flags (sp7) :period (seconds 1) :length (seconds 0.067)) (sp-item 4809 :flags (is-3d sp7))) + ) + +(defpart 4808 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.3) (meters 0.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 120.0) + (:b 60.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.033333335)) + (:fade-a -0.425) + (:accel-y (meters -0.0026666666)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4809 + :init-specs ((:texture (crate-wood-01-splinter level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:scale-x (meters 0.5) (meters 1)) + (:scale-y (meters 0.5) (meters 1)) + (:r 20.0 50.0) + (:g :copy r) + (:b :copy r) + (:a 128.0) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:accel-y (meters -0.0016666667)) + (:timer (seconds 2.5)) + (:flags (launch-along-z left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #x400600 #x400500 #x40ae00 #x40a500 #x408800 #x405000) + ) + (:next-time (seconds 0.335)) + (:next-launcher 4810) + (:conerot-x (degrees 0) (degrees 90)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4810 + :init-specs ((:r 20.0 50.0) + (:g :copy r) + (:b :copy r) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:next-time (seconds 0.017) (seconds 0.997)) + (:next-launcher 4811) + ) + ) + +(defpart 4811 + :init-specs ((:r 255.0) + (:g :copy r) + (:b :copy r) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:next-time (seconds 0.017)) + (:next-launcher 4810) + ) + ) + +(defpart 4812 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-curve) + (:num 30.0) + (:scale-x (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 1.0) + (:g 1.0) + (:b 128.0) + (:a 128.0) + (:vel-y (meters 0.05)) + (:friction 0.97) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-13)) + (:userdata 0.0) + (:func 'live-func-curve) + (:conerot-x (degrees 0) (degrees 360)) + (:conerot-z (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(if #t + (set! *range-bt-roboguard-dust-scale-x* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0) + :ys (new 'static 'vector :x 4.0 :y 10.0 :z 11.0 :w 12.0) + :one-over-x-deltas (new 'static 'vector :x 6.0 :y 1.0 :z 1.0 :w 1.0) + ) + ) + ) + +(if #t + (set! *range-bt-roboguard-dust-scale-y* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0) + :ys (new 'static 'vector :x 4.0 :y 10.0 :z 11.0 :w 12.0) + :one-over-x-deltas (new 'static 'vector :x 6.0 :y 1.0 :z 1.0 :w 1.0) + ) + ) + ) + +(define *part-bt-roboguard-explosion-dust-in-curve-settings* (new 'static 'particle-curve-settings + :lifetime-base (seconds 0.5) + :lifetime-offset (seconds 1) + :flags (particle-curve-flags pcf0) + ) + ) + +(set! (-> *part-id-table* 4812 init-specs 14 initial-valuef) + (the-as float *part-bt-roboguard-explosion-dust-in-curve-settings*) + ) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* color-start) *range-kgpickup-dust-color*) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* alpha-start) *range-kgpickup-dust-alpha*) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-x-start) + *range-bt-roboguard-dust-scale-x* + ) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-y-start) + *range-bt-roboguard-dust-scale-y* + ) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* r-scalar) #f) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* g-scalar) #f) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* b-scalar) #f) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* a-scalar) *curve-kgpickup-dust-alpha*) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-x-scalar) *curve-kgpickup-dust-scale-x*) + +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-y-scalar) *curve-kgpickup-dust-scale-y*) + +(defpartgroup group-bt-roboguard-explode + :id 1460 + :duration (seconds 4) + :flags (sp0 sp5) + :bounds (static-bspherem 0 0 0 15) + :parts ((sp-item 1277 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 1279 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 4812 :period (seconds 30) :length (seconds 0.035)) + (sp-item 1282 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 1283 :period (seconds 30) :length (seconds 0.167)) + (sp-item 1285 :flags (sp3) :binding 1276) + (sp-item 1285 :flags (sp3) :binding 1276) + (sp-item 1276 :flags (sp2) :period (seconds 4) :length (seconds 2)) + (sp-item 1276 :flags (sp2) :period (seconds 4) :length (seconds 2)) + ) + ) + +(defpartgroup group-gun-hellcat-shot-hit + :id 1461 + :duration (seconds 0.017) + :flags (sp0) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4813 :flags (sp6) :period (seconds 2) :length (seconds 0.017)) + (sp-item 4814 :fade-after (meters 60) :falloff-to (meters 60) :period (seconds 2) :length (seconds 0.017)) + (sp-item 4815 :fade-after (meters 120) :falloff-to (meters 140) :period (seconds 2) :length (seconds 0.017)) + ) + ) + +(defpart 4815 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 8.0 16.0) + (:scale-x (meters 1.5)) + (:rot-x 4) + (:scale-y (meters 0.05) (meters 0.05)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 64.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.06666667) (meters 0.33333334)) + (:fade-r -0.053333335) + (:fade-g -2.55) + (:fade-b -5.1) + (:fade-a -0.42666668 -0.42666668) + (:accel-y (meters -0.0013333333) (meters -0.001)) + (:friction 0.875) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 80) (degrees 40)) + (:conerot-y (degrees 80) (degrees 40)) + (:conerot-z (degrees 80) (degrees 40)) + (:conerot-radius (meters 0) (meters 0.2)) + ) + ) + +(defpart 4814 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 8.0 16.0) + (:scale-x (meters 0.5) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 100.0) + (:b 80.0) + (:a 32.0 32.0) + (:vel-z (meters 0) (meters 0.016666668)) + (:scalevel-x (meters 0.0013333333) (meters 0.0033333334)) + (:rotvel-z (degrees -0.3) (degrees 0.6)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-x (degrees 90) (degrees 20)) + (:conerot-y (degrees 90) (degrees 20)) + (:conerot-z (degrees 90) (degrees 20)) + (:conerot-radius (meters 0) (meters 0.2)) + ) + ) + +(defpart 4813 + :init-specs ((:texture (hitspark level-default-sprite)) + (:num 1.0) + (:sound (static-sound-spec "blue-gun-rico" :group 0)) + (:scale-x (meters 0.4) (meters 2)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 230.0 25.0) + (:g 230.0 25.0) + (:b 230.0 25.0) + (:a 128.0) + (:fade-a -5.12) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:next-time (seconds 0.035)) + (:next-launcher 4816) + ) + ) + +(defpart 4816 + :init-specs ((:scalevel-x (meters 0.12) (meters 0.12)) (:scalevel-y :copy scalevel-x)) + ) + +(defpartgroup group-bt-mh-flyer-engine + :id 1462 + :duration (seconds 0.017) + :flags (sp0 sp7) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4817 :flags (is-3d sp7)) + (sp-item 4818 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7)) + (sp-item 4819 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7)) + (sp-item 4820 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7)) + (sp-item 4821 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7)) + ) + ) + +(defpart 4817 + :init-specs ((:texture (bt-wasp-flame lblowcst-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters -1.2) (meters 0.1)) + (:scale-x (meters 0.6)) + (:scale-y (meters 2.6)) + (:r 128.0 128.0) + (:g 64.0 64.0) + (:b :copy g) + (:a 128.0 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-x (degrees -90)) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0)) + ) + ) + +(defpart 4821 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.3)) + (:scale-x (meters 1.5) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 64.0 64.0) + (:b 0.0) + (:a 16.0 8.0) + (:omega (degrees 2718)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + ) + ) + +(defpart 4818 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.5) + (:y (meters 0) (meters -0.25)) + (:scale-x (meters 0.2) (meters 0.2)) + (:rot-z (degrees 0) 1 (degrees 180)) + (:scale-y (meters 1) (meters 0.6)) + (:r 192.0) + (:g 64.0) + (:b 0.0) + (:a 0.0 16.0) + (:vel-y (meters -0.1) (meters -0.016666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y (meters 0.006666667)) + (:fade-r -2.0) + (:fade-g 2.0) + (:fade-b 5.0) + (:fade-a 0.32) + (:accel-x (meters 0) (meters 0.0016666667)) + (:accel-y (meters 0.00016666666) (meters 0.00033333333)) + (:friction 0.94) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z)) + (:next-time (seconds 0.085)) + (:next-launcher 4822) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 4822 + :init-specs ((:r 64.0 64.0) + (:g 64.0 64.0) + (:b 64.0 64.0) + (:fade-r 0.0) + (:fade-g 0.0) + (:fade-b 0.0) + (:fade-a -0.064 -0.128) + ) + ) + +(defpart 4819 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.1 0.1) + (:y (meters 0.25) (meters -0.5)) + (:scale-x (meters 0.05)) + (:scale-y (meters 0.5)) + (:r 192.0 64.0) + (:g 0.0 128.0) + (:b 0.0) + (:a 128.0) + (:vel-y (meters -0.033333335) (meters -0.026666667)) + (:scalevel-x (meters 0.001)) + (:scalevel-y (meters -0.017)) + (:fade-g 0.0) + (:accel-x (meters 0) (meters 0.0016666667)) + (:accel-y (meters 0.00016666666) (meters 0.0005)) + (:friction 0.96) + (:timer (seconds 0.167) (seconds 0.247)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z)) + (:next-time (seconds 0.1)) + (:next-launcher 4823) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 4823 + :init-specs ((:scalevel-x (meters 0)) (:scalevel-y (meters 0))) + ) + +(defpart 4820 + :init-specs ((:num 1.0) + (:rot-x 8) + (:r 1638.4) + (:g 1331.2) + (:b 1433.6) + (:vel-y (meters -0.1) (meters -0.016666668)) + (:fade-r 32.768) + (:fade-g 26.623999) + (:fade-b 28.671999) + (:accel-x (meters 0) (meters 0.0016666667)) + (:friction 0.94) + (:timer (seconds 0.335)) + (:flags (distort launch-along-z)) + (:next-time (seconds 0.167)) + (:next-launcher 4824) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 4824 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b -4.096)) + ) + +(defpart 4825 + :init-specs ((:texture (gun-yellow-muzzleflash level-default-sprite)) + (:birth-func 'birth-func-set-quat) + (:num 1.0) + (:scale-x (meters 2)) + (:scale-y (meters 4)) + (: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)) + ) + ) + +(define *bt-grunt-ragdoll-info* (new 'static 'ragdoll-setup + :orient-tform (new 'static 'vector :x 1.0 :w 10625.897) + :scale (new 'static 'vector :x 0.6399 :y 0.6399 :z 0.6399) + :bg-collide-with (collide-spec backgnd player-list) + :joint-setup (new 'static 'boxed-array :type ragdoll-joint-setup + (new 'static 'ragdoll-joint-setup + :joint-index 3 + :parent-joint -1 + :geo-tform (new 'static 'vector :x -1.0 :w 1170.3455) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 2268.7744 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 4 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 4000.9365) + :geo-tform (new 'static 'vector :x 1.0 :w 12817.95) + :axial-slop 2169.078 + :max-angle 2296.8184 + :coll-rad 2867.2 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 5 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 10540.374) + :geo-tform (new 'static 'vector :x -1.0 :w 12551.108) + :axial-slop 2169.078 + :max-angle 2226.3489 + :coll-rad 2209.3823 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 6 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 13046.233) + :geo-tform (new 'static 'vector :x 1.0 :w 18078.088) + :axial-slop 2169.078 + :max-angle 3210.7178 + :coll-rad 1644.544 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 7 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.4178 :z -0.9083 :w 11487.004) + :geo-tform (new 'static 'vector :x -0.5907 :y -0.4565 :z 0.665 :w 25388.248) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1641.6768 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 8 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.1565 :z -0.9875 :w 12747.589) + :geo-tform (new 'static 'vector :x -0.0123 :y 0.7268 :z 0.6864 :w 28823.824) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1295.1552 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 9 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z 0.3463 :w 15464.585) + :geo-tform (new 'static 'vector :x 0.0404 :y 0.9991 :z 0.0016 :w 26660.428) + :axial-slop 2169.078 + :max-angle 2671.921 + :coll-rad 1899.3152 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 10 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z 0.346 :w 14.381512) + :geo-tform (new 'static 'vector :x 0.5827 :y 0.8005 :z 0.1389 :w 27752.074) + :axial-slop 2169.078 + :max-angle 2077.3455 + :coll-rad 1787.904 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 11 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.418 :z 0.9082 :w 11484.565) + :geo-tform (new 'static 'vector :x 0.5908 :y -0.4564 :z 0.665 :w 40148.812) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1563.8528 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 12 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.1563 :z 0.9875 :w 12751.085) + :geo-tform (new 'static 'vector :x 0.0122 :y 0.7266 :z 0.6866 :w 36713.688) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 13 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z -0.3461 :w 15469.664) + :geo-tform (new 'static 'vector :x -0.0404 :y 0.9991 :z 0.0015 :w 38877.887) + :axial-slop 2169.078 + :max-angle 2330.5876 + :coll-rad 1610.1376 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 14 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9377 :z -0.3468 :w 16.074524) + :geo-tform (new 'static 'vector :x -0.2371 :y 0.2169 :z -0.9468 :w 20556.623) + :axial-slop 2169.078 + :max-angle 1879.882 + :coll-rad 1629.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 15 + :parent-joint 3 + :pre-tform (new 'static 'vector :x 1.0 :w 42847.234) + :geo-tform (new 'static 'vector :x -1.0 :w 16468.232) + :axial-slop 2169.078 + :max-angle 2508.973 + :coll-rad 1812.0704 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 16 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 3567.2522) + :geo-tform (new 'static 'vector :x 1.0 :w 42973.14) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1858.3552 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 17 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.2349 :z -0.9718 :w 18020.252) + :geo-tform (new 'static 'vector :x 0.3808 :y 0.3151 :z 0.8691 :w 29486.395) + :axial-slop 2169.078 + :max-angle 3698.87 + :coll-rad 877.3632 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 18 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.9998 :z 0.0086 :w 4412.9214) + :geo-tform (new 'static 'vector :x 0.3995 :y -0.4805 :z 0.7804 :w 25729.781) + :axial-slop 2169.078 + :max-angle 3691.5154 + :coll-rad 1524.9408 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 19 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.7835 :z 0.621 :w 14960.958) + :geo-tform (new 'static 'vector :x 0.2887 :y 0.6587 :z 0.6945 :w 40555.97) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 20 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7644 :z -0.6445 :w 17272.176) + :geo-tform (new 'static 'vector :x 0.5513 :y 0.3614 :z 0.7516 :w 33063.24) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 44 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.9734 :z 0.2283 :w 7149.304) + :geo-tform (new 'static 'vector :x -0.7224 :y -0.6901 :z -0.0373 :w 15253.522) + :axial-slop 2169.078 + :max-angle 1294.1176 + :coll-rad 659.456 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 45 + :parent-joint 20 + :pre-tform (new 'static 'vector :x 0.4934 :z 0.8696 :w 6514.1875) + :geo-tform (new 'static 'vector :x -0.0332 :y 0.8825 :z 0.4687 :w 37613.457) + :axial-slop 2169.078 + :max-angle 1411.5544 + :coll-rad 605.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 21 + :parent-joint 16 + :pre-tform (new 'static 'vector :x -1.0 :w 9863.842) + :geo-tform (new 'static 'vector :x -1.0 :w 12698.965) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1488.0768 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 22 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -1.0 :w 1462.5452) + :geo-tform (new 'static 'vector :x 0.9995 :y -0.0161 :z -0.0185 :w 7921.737) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1285.7344 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 23 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9958 :z -0.09 :w 1956.7229) + :geo-tform (new 'static 'vector :x 0.9998 :y 0.0041 :z 0.0071 :w 33050.805) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1801.8304 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 24 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6114.891) + :geo-tform (new 'static 'vector :x 0.9998 :y -0.0127 :z 0.0043 :w 8018.73) + :axial-slop 2169.078 + :max-angle 2497.213 + :coll-rad 794.2144 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 25 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6305.8555) + :geo-tform (new 'static 'vector :x 0.9998 :y -0.0172 :z 0.0018 :w 6908.7324) + :axial-slop 2169.078 + :max-angle 1846.1127 + :coll-rad 556.2368 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 46 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6830.7266) + :geo-tform (new 'static 'vector :x 0.9993 :y -0.0365 :z -0.006 :w 3790.2383) + :axial-slop 2169.078 + :max-angle 1491.563 + :coll-rad 542.3104 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 26 + :parent-joint 16 + :pre-tform (new 'static 'vector :x -0.2352 :z 0.9718 :w 18022.729) + :geo-tform (new 'static 'vector :x -0.3537 :y 0.3542 :z 0.8654 :w 34566.508) + :axial-slop 2169.078 + :max-angle 3739.2292 + :coll-rad 1540.096 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 27 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8967 :z -0.4423 :w 5274.7744) + :geo-tform (new 'static 'vector :x -0.0105 :y 0.862 :z -0.5065 :w 24694.367) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 28 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8194 :z -0.573 :w 13110.112) + :geo-tform (new 'static 'vector :x -0.2576 :y 0.7211 :z 0.6428 :w 24504.475) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1751.4496 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 29 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.8027 :z 0.596 :w 15135.011) + :geo-tform (new 'static 'vector :x -0.5895 :y 0.2007 :z 0.7821 :w 36329.734) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 48 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8262 :z 0.5632 :w 7707.525) + :geo-tform (new 'static 'vector :x -0.6943 :y 0.7184 :z -0.0381 :w 14762.858) + :axial-slop 2169.078 + :max-angle 2015.6871 + :coll-rad 573.0304 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 49 + :parent-joint 29 + :pre-tform (new 'static 'vector :x 0.9975 :z -0.0684 :w 3277.692) + :geo-tform (new 'static 'vector :x -0.2795 :y 0.7979 :z 0.5336 :w 35258.77) + :axial-slop 2169.078 + :max-angle 1851.9927 + :coll-rad 468.992 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 41 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.5769 :z -0.8166 :w 8297.695) + :geo-tform (new 'static 'vector :x -0.6954 :y -0.0651 :z 0.7153 :w 9511.8955) + :axial-slop 2169.078 + :max-angle 2863.5044 + :coll-rad 1868.5952 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 42 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.5774 :z 0.8162 :w 8293.489) + :geo-tform (new 'static 'vector :x 0.948 :y -0.2986 :z 0.1083 :w 34953.68) + :axial-slop 2169.078 + :max-angle 2569.885 + :coll-rad 1893.9904 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 31 + :parent-joint 10 + :pre-tform (new 'static 'vector :x 0.3449 :z -0.9384 :w 16372.404) + :geo-tform (new 'static 'vector :x 0.088 :y -0.8342 :z 0.5442 :w 20057.604) + :axial-slop 2169.078 + :max-angle 3185.0312 + :coll-rad 1327.9232 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 32 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.6081 :z 0.7936 :w 10429.526) + :geo-tform (new 'static 'vector :x 0.213 :y -0.975 :z -0.061 :w 19499.654) + :axial-slop 2169.078 + :max-angle 2031.8344 + :coll-rad 423.1168 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 33 + :parent-joint 10 + :pre-tform (new 'static 'vector :x 0.9512 :z -0.3084 :w 2006.2573) + :geo-tform (new 'static 'vector :x -0.0464 :y 0.9956 :z 0.0799 :w 26746.152) + :axial-slop 2169.078 + :max-angle 2505.2957 + :coll-rad 533.7088 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 34 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7105 :z 0.7034 :w 3017.6597) + :geo-tform (new 'static 'vector :x 0.0381 :y 0.9847 :z -0.1692 :w 26846.422) + :axial-slop 2169.078 + :max-angle 2064.8572 + :coll-rad 408.3712 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 35 + :parent-joint 8 + :pre-tform (new 'static 'vector :x 0.9371 :z 0.3486 :w 15668.893) + :geo-tform (new 'static 'vector :x -0.2897 :y 0.1004 :z 0.9516 :w 31568.328) + :axial-slop 2169.078 + :max-angle 2784.2424 + :coll-rad 1593.7535 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 36 + :parent-joint 14 + :pre-tform (new 'static 'vector :x 0.3452 :z 0.9383 :w 16373.424) + :geo-tform (new 'static 'vector :x 0.1347 :y 0.823 :z -0.5515 :w 19233.342) + :axial-slop 2169.078 + :max-angle 2773.2288 + :coll-rad 1373.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 37 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.4593 :z -0.888 :w 10428.289) + :geo-tform (new 'static 'vector :x 0.1971 :y 0.977 :z 0.079 :w 17810.5) + :axial-slop 2169.078 + :max-angle 1984.8488 + :coll-rad 616.448 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 38 + :parent-joint 14 + :pre-tform (new 'static 'vector :x 0.9998 :z -0.0063 :w 3668.4868) + :geo-tform (new 'static 'vector :x 0.0529 :y 0.9969 :z 0.056 :w 38759.062) + :axial-slop 2169.078 + :max-angle 1981.1897 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 39 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7207 :z -0.6929 :w 3011.8708) + :geo-tform (new 'static 'vector :x -0.0298 :y 0.9808 :z -0.1918 :w 38536.098) + :axial-slop 2169.078 + :max-angle 2276.2654 + :coll-rad 534.528 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 40 + :parent-joint 12 + :pre-tform (new 'static 'vector :x 0.9375 :z -0.3477 :w 15673.973) + :geo-tform (new 'static 'vector :x 0.2894 :y 0.1005 :z 0.9517 :w 33957.168) + :axial-slop 2169.078 + :max-angle 2685.1372 + :coll-rad 1853.0304 + ) + ) + ) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-script.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-script.gc index 3066b11942..caef2d7df2 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-script.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-script.gc @@ -5,5 +5,885 @@ ;; name in dgo: blow-tower-script ;; dgos: LCTYBLOW +;; +++blow-tower-cmd-type +(defenum blow-tower-cmd-type + :type uint8 + (spawn) + (activate) + (rotate-view) + (lock-view) + (unlock-view) + (path-height) + (roll-amount) + (clock-scalar) + (advance) + (barrel-roll) + (constrain-angle) + (play-sound) + (cmd12) + (save-progress) + (look-at) + (look-at-track) + (look-at-ent) + (look-at-bombbot) + (cmd18) + (end) + ) +;; ---blow-tower-cmd-type + + +;; +++blow-tower-cmd-spawn-type +(defenum blow-tower-cmd-spawn-type + :type uint8 + (cmd0) + (cmd1) + (kg-flyer) + (mh-flyer) + (kg-flyer-ent) + (mh-flyer-ent) + (cmd6) + (cmd7) + (mh-grunt) + (missiles) + (missiles-ent) + (kg-bombbot) + (kg-bombbot-ent) + ) +;; ---blow-tower-cmd-spawn-type + + ;; DECOMP BEGINS +(deftype blow-tower-cmd (structure) + ((cmd-type blow-tower-cmd-type) + (spawn-type blow-tower-cmd-spawn-type) + (entity-name string) + (rotate-amount float) + (lock-min float) + (lock-max float) + (target uint8) + (path-height float) + (event-id uint32) + (time-offset float) + (clock-scalar float) + (entity-name2 string) + (snap-view? symbol) + (snd-name sound-name) + ) + ) + + +(deftype tower-event-group (structure) + ((event-id int32) + (command-list pair) + ) + ) + + +(defun get-blow-tower-target ((arg0 pair) (arg1 int) (arg2 int)) + (let ((a0-1 arg0)) + (cond + ((>= ((method-of-type (rtype-of a0-1) length) a0-1) (+ arg2 1)) + (case (ref arg0 arg2) + (('player) + 0 + ) + (('pickup) + 1 + ) + (else + (the-as int (logand (rand-uint31-gen *random-generator*) 1)) + ) + ) + ) + (else + (empty) + arg1 + ) + ) + ) + ) + +;; WARN: disable def twice: 179. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defun parse-blow-tower-command ((arg0 pair) (arg1 blow-tower-cmd)) + (local-vars (v0-8 object)) + (let ((a0-2 (ref arg0 0))) + (case a0-2 + (('spawn) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type spawn)) + (let ((v1-1 (ref arg0 1))) + (set! (-> arg1 entity-name) "") + (set! (-> arg1 spawn-type) (cond + ((= v1-1 'mh-flyer) + (blow-tower-cmd-spawn-type mh-flyer) + ) + ((= v1-1 'kg-flyer) + (blow-tower-cmd-spawn-type kg-flyer) + ) + ((= v1-1 'kg-flyer-ent) + (blow-tower-cmd-spawn-type kg-flyer-ent) + ) + ((= v1-1 'mh-flyer-ent) + (blow-tower-cmd-spawn-type mh-flyer-ent) + ) + ((= v1-1 'mh-grunt) + (blow-tower-cmd-spawn-type mh-grunt) + ) + ((= v1-1 'kg-bombbot) + (blow-tower-cmd-spawn-type kg-bombbot) + ) + ((= v1-1 'kg-bombbot-ent) + (blow-tower-cmd-spawn-type kg-bombbot-ent) + ) + ((= v1-1 'missiles) + (blow-tower-cmd-spawn-type missiles) + ) + ((= v1-1 'missiles-ent) + (blow-tower-cmd-spawn-type missiles-ent) + ) + (else + (blow-tower-cmd-spawn-type mh-flyer) + ) + ) + ) + ) + (set! (-> arg1 event-id) (the-as uint 0)) + (case (-> arg1 spawn-type) + (((blow-tower-cmd-spawn-type kg-bombbot)) + (set! (-> arg1 target) (the-as uint 0)) + (let ((a0-15 arg0)) + (if (>= ((method-of-type (rtype-of a0-15) length) a0-15) 3) + (set! (-> arg1 event-id) (the-as uint (command-get-int (ref arg0 2) 0))) + ) + ) + (let ((a0-18 arg0)) + (if (>= ((method-of-type (rtype-of a0-18) length) a0-18) 4) + (set! (-> arg1 entity-name) (the-as string (ref arg0 3))) + ) + ) + (let ((a0-20 arg0)) + (if (>= ((method-of-type (rtype-of a0-20) length) a0-20) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot-ent)) + (set! (-> arg1 target) (the-as uint 0)) + (let ((a0-24 arg0)) + (if (>= ((method-of-type (rtype-of a0-24) length) a0-24) 3) + (set! (-> arg1 entity-name) (the-as string (ref arg0 2))) + ) + ) + (let ((a0-26 arg0)) + (when (>= ((method-of-type (rtype-of a0-26) length) a0-26) 4) + (set! v0-8 (ref arg0 3)) + (set! (-> arg1 entity-name2) (the-as string v0-8)) + v0-8 + ) + ) + ) + (((blow-tower-cmd-spawn-type mh-flyer-ent) (blow-tower-cmd-spawn-type kg-flyer-ent)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! v0-8 (ref arg0 3)) + (set! (-> arg1 entity-name) (the-as string v0-8)) + v0-8 + ) + (((blow-tower-cmd-spawn-type missiles-ent)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 entity-name) (the-as string (ref arg0 3))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-35 arg0)) + (if (>= ((method-of-type (rtype-of a0-35) length) a0-35) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + (((blow-tower-cmd-spawn-type missiles)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-40 arg0)) + (if (>= ((method-of-type (rtype-of a0-40) length) a0-40) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (else + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 0.0) + (let ((a0-44 arg0)) + (if (>= ((method-of-type (rtype-of a0-44) length) a0-44) 4) + (set! (-> arg1 event-id) (the-as uint (command-get-int (ref arg0 3) 0))) + ) + ) + (let ((a0-47 arg0)) + (if (>= ((method-of-type (rtype-of a0-47) length) a0-47) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + ) + ) + (('advance) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type advance)) + (set! v0-8 (command-get-int (ref arg0 1) 0)) + (set! (-> arg1 event-id) (the-as uint v0-8)) + v0-8 + ) + (('activate) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type activate)) + (set! (-> arg1 entity-name) (the-as string (ref arg0 1))) + (set! v0-8 (get-blow-tower-target arg0 0 2)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('lock-view) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type lock-view)) + (set! (-> arg1 lock-min) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 lock-max) (* 182.04445 (command-get-float (ref arg0 2) 0.0))) + ) + (('play-sound) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type play-sound)) + (set! (-> arg1 time-offset) 0.0) + (let ((a0-58 arg0)) + (if (>= ((method-of-type (rtype-of a0-58) length) a0-58) 3) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 2) 0.0)) + ) + ) + (set! v0-8 (get-blow-tower-target arg0 0 1)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('stop-sound) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type play-sound)) + (set! v0-8 (get-blow-tower-target arg0 0 2)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('look-at) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 1))) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 2) 0.0)) + (set! (-> arg1 path-height) 1.0) + (let ((a0-66 arg0)) + (if (>= ((method-of-type (rtype-of a0-66) length) a0-66) 4) + (set! (-> arg1 path-height) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('speech) + (speech-play + *blow-tower-speech* + (symbol->blow-tower-speech (the-as symbol (ref arg0 1))) + *blow-tower-speech-list* + (target-pos 0) + ) + ) + (('look-at-ent 'look-at-track 'look-at-bombbot) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-track)) + (cond + ((= a0-2 'look-at-ent) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-ent)) + ) + ((= a0-2 'look-at-bombbot) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-bombbot)) + ) + ) + (set! (-> arg1 entity-name) (the-as string (ref arg0 1))) + (set! (-> arg1 path-height) 1.0) + (let ((a0-74 arg0)) + (if (>= ((method-of-type (rtype-of a0-74) length) a0-74) 3) + (set! (-> arg1 path-height) (command-get-float (ref arg0 2) 0.0)) + ) + ) + ) + (('barrel-roll) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type barrel-roll)) + (set! (-> arg1 path-height) (command-get-float (ref arg0 1) 0.0)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 2.0) + (let ((a0-82 arg0)) + (if (>= ((method-of-type (rtype-of a0-82) length) a0-82) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('roll-amount) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type roll-amount)) + (set! (-> arg1 path-height) (command-get-float (ref arg0 1) 0.0)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-90 arg0)) + (if (>= ((method-of-type (rtype-of a0-90) length) a0-90) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('clock-scalar) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type clock-scalar)) + (set! (-> arg1 clock-scalar) (command-get-float (ref arg0 1) 0.0)) + ) + (('path-height) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type path-height)) + (set! (-> arg1 path-height) (* 4096.0 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 3 2))) + (set! v0-8 (command-get-int (ref arg0 3) 0)) + (set! (-> arg1 event-id) (the-as uint v0-8)) + v0-8 + ) + (('unlock-view) + (set! v0-8 4) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('end) + (set! v0-8 19) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('save-progress) + (set! v0-8 13) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('constrain-angle) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type constrain-angle)) + (set! (-> arg1 rotate-amount) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + ) + (('rotate-view) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type rotate-view)) + (set! (-> arg1 rotate-amount) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 snap-view?) #f) + (let ((a0-117 arg0)) + (if (>= ((method-of-type (rtype-of a0-117) length) a0-117) 3) + (set! (-> arg1 snap-view?) (the-as symbol (ref arg0 2))) + ) + ) + (set! (-> arg1 time-offset) 360.0) + (let ((a0-119 arg0)) + (if (>= ((method-of-type (rtype-of a0-119) length) a0-119) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + ) + ) + ) + +(define *blow-tower-script* + (new 'static 'boxed-array :type tower-event-group + (new 'static 'tower-event-group + :event-id #x44c + :command-list '((speech mission-0) (look-at player (new 'static 'bfloat :data 1.5) (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x4b0 :command-list '()) + (new 'static 'tower-event-group :event-id #x578 :command-list '((spawn kg-flyer-ent player "bt-fliers-4"))) + (new 'static 'tower-event-group :event-id #x640 :command-list '()) + (new 'static 'tower-event-group :event-id #x76c :command-list '()) + (new 'static 'tower-event-group :event-id #x7d0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x898 + :command-list '((barrel-roll 80 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x8fc + :command-list '((play-sound pickup (new 'static 'bfloat :data 2.5)) + (barrel-roll -80 pickup (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x960 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x992 + :command-list '((path-height (new 'static 'bfloat :data 8.0) player 2500) (roll-amount (new 'static 'bfloat :data 20.0))) + ) + (new 'static 'tower-event-group + :event-id #x9c4 + :command-list '((path-height (new 'static 'bfloat :data 8.0) pickup 2900) + (path-height (new 'static 'bfloat :data 3.0) player 2700) + (roll-amount (new 'static 'bfloat :data -5.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xa8c + :command-list '((roll-amount (new 'static 'bfloat)) (path-height (new 'static 'bfloat) pickup 3000)) + ) + (new 'static 'tower-event-group + :event-id #xbb8 + :command-list '((speech mission-1) + (path-height (new 'static 'bfloat :data 8.0) player 3100) + (roll-amount (new 'static 'bfloat :data 10.0)) + (spawn kg-bombbot-ent "bbot-s-1" "bbots-e-5") + ) + ) + (new 'static 'tower-event-group + :event-id #xc1c + :command-list '((path-height (new 'static 'bfloat) player 3200)) + ) + (new 'static 'tower-event-group + :event-id #xc80 + :command-list '((play-sound player (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 10.0) player 3300) + (roll-amount (new 'static 'bfloat :data 30.0) player (new 'static 'bfloat :data 30.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xd48 + :command-list '((path-height (new 'static 'bfloat) player 3442) + (barrel-roll (new 'static 'bfloat) pickup (new 'static 'bfloat :data 2.0)) + (roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 30.0)) + ) + ) + (new 'static 'tower-event-group :event-id #xd54 :command-list '()) + (new 'static 'tower-event-group :event-id #xd60 :command-list '()) + (new 'static 'tower-event-group :event-id #xd6c :command-list '()) + (new 'static 'tower-event-group :event-id #xdac :command-list '((speech first-metalhead-pickup))) + (new 'static 'tower-event-group + :event-id #xe10 + :command-list '((play-sound pickup (new 'static 'bfloat :data 6.0))) + ) + (new 'static 'tower-event-group + :event-id #xe74 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat) player 3740) + (roll-amount (new 'static 'bfloat :data -10.0) player (new 'static 'bfloat :data 40.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xe9c + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group + :event-id #xec4 + :command-list '((look-at-track "bt-grunt-4" (new 'static 'bfloat :data 2.0)) (speech first-metalhead-player)) + ) + (new 'static 'tower-event-group + :event-id #xf14 + :command-list '((roll-amount (new 'static 'bfloat :data 20.0)) + (roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 40.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xf3c + :command-list '((path-height (new 'static 'bfloat) player 3980) + (look-at player (new 'static 'bfloat :data 3.0) (new 'static 'bfloat :data 0.75)) + ) + ) + (new 'static 'tower-event-group :event-id #xf64 :command-list '((roll-amount (new 'static 'bfloat)))) + (new 'static 'tower-event-group + :event-id #xf8c + :command-list '((look-at player (new 'static 'bfloat :data 0.5) (new 'static 'bfloat :data 0.5))) + ) + (new 'static 'tower-event-group + :event-id #xfb4 + :command-list '((look-at pickup (new 'static 'bfloat)) (sound-play pickup (new 'static 'bfloat :data 3.0))) + ) + (new 'static 'tower-event-group + :event-id #xfdc + :command-list '((barrel-roll -45 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x1004 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 1.0)) (spawn kg-flyer-ent player "bt-fliers-6")) + ) + (new 'static 'tower-event-group + :event-id #x102c + :command-list '((path-height (new 'static 'bfloat :data 8.0) pickup 4180) (look-at player (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group + :event-id #x10cc + :command-list '((speech missiles-pickup-1) + (sound-play player (new 'static 'bfloat :data 0.75)) + (look-at pickup (new 'static 'bfloat :data -1.0) (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.75)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1130 + :command-list '((path-height (new 'static 'bfloat) pickup) + (rotate-view (new 'static 'bfloat :data 180.0) #f (new 'static 'bfloat :data 180.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x125c + :command-list '((look-at pickup (new 'static 'bfloat :data 1.0) (new 'static 'bfloat :data 0.3))) + ) + (new 'static 'tower-event-group :event-id #x12c0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x1324 + :command-list '((look-at pickup (new 'static 'bfloat :data -1.0) (new 'static 'bfloat :data 2.0)) + (look-at-track "bt-grunt-7" (new 'static 'bfloat :data 2.0)) + (clock-scalar (new 'static 'bfloat :data 0.75)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1388 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0)) + (roll-amount (new 'static 'bfloat :data 20.0) player (new 'static 'bfloat :data 180.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1450 + :command-list '((roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 180.0))) + ) + (new 'static 'tower-event-group + :event-id #x14b4 + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0)) (spawn kg-bombbot-ent "bbot1-s-1" "bbots-e-1")) + ) + (new 'static 'tower-event-group + :event-id #x14e6 + :command-list '((look-at-track "bt-grunt-43" (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group :event-id #x1518 :command-list '()) + (new 'static 'tower-event-group + :event-id #x157c + :command-list '((play-sound player (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 20.0) player 5700) + (path-height (new 'static 'bfloat) pickup 5700) + (clock-scalar (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group :event-id #x1644 :command-list '((look-at-bombbot "bbot1-s-1"))) + (new 'static 'tower-event-group :event-id #x16a8 :command-list '()) + (new 'static 'tower-event-group + :event-id #x170c + :command-list '((speech missiles-player) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1838 + :command-list '((spawn kg-bombbot-ent "bbot-s-3" "bbots-e-7")) + ) + (new 'static 'tower-event-group + :event-id #x1900 + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x1964 :command-list '((look-at-bombbot "bbot-s-3"))) + (new 'static 'tower-event-group + :event-id #x1a2c + :command-list '((path-height (new 'static 'bfloat) player 6800) + (look-at-track "bt-grunt-10" (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1a90 + :command-list '((spawn kg-bombbot-ent "bbot5-s-1" "bt-roboguard-19")) + ) + (new 'static 'tower-event-group + :event-id #x1af4 + :command-list '((sound-play player (new 'static 'bfloat :data 1.0)) + (look-at player (new 'static 'bfloat :data 1.0) (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group :event-id #x1ce8 :command-list '((speech mission-2))) + (new 'static 'tower-event-group + :event-id #x1bbc + :command-list '((path-height (new 'static 'bfloat :data 17.0) player 7300)) + ) + (new 'static 'tower-event-group + :event-id #x1e14 + :command-list '((path-height (new 'static 'bfloat) player 7900)) + ) + (new 'static 'tower-event-group :event-id #x1edc :command-list '((speech mission-3))) + (new 'static 'tower-event-group + :event-id #x2134 + :command-list '((speech missiles-pickup-2) + (rotate-view (new 'static 'bfloat :data 90.0) #t (new 'static 'bfloat :data 180.0)) + (path-height (new 'static 'bfloat :data 2.5) pickup) + (path-height (new 'static 'bfloat :data 2.5) player) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2198 + :command-list '((look-at pickup (new 'static 'bfloat :data -1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x21fc + :command-list '((spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2260 + :command-list '((spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x22c4 + :command-list '((spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x238c + :command-list '((look-at pickup (new 'static 'bfloat) (new 'static 'bfloat :data 0.4))) + ) + (new 'static 'tower-event-group :event-id #x251c :command-list '((save-progress))) + (new 'static 'tower-event-group + :event-id #x2580 + :command-list '((look-at player (new 'static 'bfloat :data 1.5))) + ) + (new 'static 'tower-event-group + :event-id #x25e4 + :command-list '((path-height (new 'static 'bfloat :data 35.0) player 9900)) + ) + (new 'static 'tower-event-group + :event-id #x2648 + :command-list '((spawn kg-flyer-ent player "bt-fliers-1") + (spawn kg-flyer-ent player "bt-fliers-1") + (spawn kg-flyer-ent player "bt-fliers-1") + (roll-amount 30 player 60) + ) + ) + (new 'static 'tower-event-group + :event-id #x26ac + :command-list '((spawn mh-flyer-ent pickup "bt-fliers-2") (spawn mh-flyer-ent pickup "bt-fliers-2")) + ) + (new 'static 'tower-event-group + :event-id #x27d8 + :command-list '((spawn mh-flyer-ent pickup "bt-fliers-2") + (spawn mh-flyer-ent pickup "bt-fliers-2") + (spawn mh-flyer-ent player "bt-fliers-2") + (spawn mh-flyer-ent player "bt-fliers-2") + (path-height (new 'static 'bfloat :data 5.0) player 10400) + (roll-amount (new 'static 'bfloat) player 30) + ) + ) + (new 'static 'tower-event-group + :event-id #x28a0 + :command-list '((path-height (new 'static 'bfloat) player 11000) (spawn kg-bombbot-ent "bbot-s-4" "bbots-e-8")) + ) + (new 'static 'tower-event-group + :event-id #x2904 + :command-list '((spawn mh-flyer-ent player "bt-fliers-2") (spawn mh-flyer-ent player "bt-fliers-2")) + ) + (new 'static 'tower-event-group + :event-id #x2968 + :command-list '((path-height (new 'static 'bfloat :data 15.0) pickup 10800)) + ) + (new 'static 'tower-event-group + :event-id #x29cc + :command-list '((play-sound pickup (new 'static 'bfloat :data 4.0)) + (speech missiles-pickup-3) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (look-at pickup (new 'static 'bfloat :data -1.0)) + (path-height (new 'static 'bfloat :data 5.0) player 10800) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a36 + :command-list '((spawn kg-flyer-ent player "bt-roboguard-53") (spawn kg-flyer-ent player "bt-roboguard-52")) + ) + (new 'static 'tower-event-group :event-id #x2a38 :command-list '((look-at pickup (new 'static 'bfloat)))) + (new 'static 'tower-event-group :event-id #x2a3a :command-list '()) + (new 'static 'tower-event-group + :event-id #x2a3e + :command-list '((path-height (new 'static 'bfloat :data 10.0) pickup 10816) + (path-height (new 'static 'bfloat :data -2.0) player 10818) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a40 + :command-list '((play-sound pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a48 + :command-list '((play-sound player (new 'static 'bfloat :data 2.0)) + (play-sound pickup (new 'static 'bfloat :data 10.0)) + (path-height (new 'static 'bfloat :data 40.0) player 10830) + (path-height (new 'static 'bfloat :data 35.0) pickup 10830) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (look-at pickup (new 'static 'bfloat :data -1.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a54 + :command-list '((barrel-roll 45 pickup (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 76.0) player 10840) + (path-height (new 'static 'bfloat :data 73.0) pickup 10840) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a56 + :command-list '((look-at pickup (new 'static 'bfloat :data -0.5))) + ) + (new 'static 'tower-event-group + :event-id #x2a58 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x2a5a + :command-list '((play-sound pickup (new 'static 'bfloat :data 1.0)) + (look-at-track "bt-grunt-30" (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group :event-id #x2a5c :command-list '()) + (new 'static 'tower-event-group :event-id #x2a70 :command-list '((speech first-metalhead-player))) + (new 'static 'tower-event-group + :event-id #x2a60 + :command-list '((look-at player (new 'static 'bfloat :data 1.0)) + (speech mission-5) + (spawn missiles-ent player "bt-roboguard-52" (new 'static 'bfloat :data 2.0)) + (spawn missiles-ent player "bt-roboguard-52" (new 'static 'bfloat :data 2.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a62 + :command-list '((path-height (new 'static 'bfloat) pickup 10856) (spawn mh-flyer-ent player "bt-roboguard-58")) + ) + (new 'static 'tower-event-group + :event-id #x2a64 + :command-list '((path-height (new 'static 'bfloat :data 3.0) player 10856) + (spawn kg-bombbot-ent "bt-roboguard-56" "bt-roboguard-57") + (spawn mh-flyer-ent player "bt-roboguard-53") + (spawn mh-flyer-ent player "bt-roboguard-58") + ) + ) + (new 'static 'tower-event-group :event-id #x2a66 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2a68 + :command-list '((spawn mh-flyer-ent player "bt-roboguard-55") (spawn mh-flyer-ent player "bt-roboguard-55")) + ) + (new 'static 'tower-event-group + :event-id #x2a6c + :command-list '((spawn mh-flyer-ent player "bt-grunt-15") + (spawn mh-flyer-ent player "bt-grunt-16") + (path-height (new 'static 'bfloat :data 7.0) pickup 10862) + (look-at player (new 'static 'bfloat :data 1.0)) + (clock-scalar (new 'static 'bfloat :data 1.75)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a6e + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x2a70 :command-list '((roll-amount -10 player 30))) + (new 'static 'tower-event-group + :event-id #x2a72 + :command-list '((path-height (new 'static 'bfloat :data 3.0) pickup 10900)) + ) + (new 'static 'tower-event-group :event-id #x2a94 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2b5c + :command-list '((clock-scalar (new 'static 'bfloat :data 0.75)) + (spawn kg-bombbot-ent "bbot-e-1" "bbots-e-3") + (path-height (new 'static 'bfloat :data 10.0) player 11300) + (roll-amount 20 player 20) + (speech mission-6) + ) + ) + (new 'static 'tower-event-group + :event-id #x2c24 + :command-list '((sound-play pickup (new 'static 'bfloat :data 3.0))) + ) + (new 'static 'tower-event-group + :event-id #x2c88 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 1.0)) + (roll-amount 0 player 20) + (look-at player (new 'static 'bfloat :data 3.0)) + (speech mission-4) + ) + ) + (new 'static 'tower-event-group + :event-id #x2cec + :command-list '((barrel-roll -60 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group :event-id #x2d50 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2db4 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 2.0)) + (path-height (new 'static 'bfloat :data 8.0) pickup 11800) + ) + ) + (new 'static 'tower-event-group + :event-id #x2e18 + :command-list '((path-height (new 'static 'bfloat) pickup 11900)) + ) + (new 'static 'tower-event-group + :event-id #x2f44 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0)) (clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x30d4 :command-list '((look-at pickup (new 'static 'bfloat)))) + (new 'static 'tower-event-group :event-id #x3138 :command-list '()) + (new 'static 'tower-event-group + :event-id #x3200 + :command-list '((path-height (new 'static 'bfloat :data 2.0) player) (rotate-view (new 'static 'bfloat :data 30.0))) + ) + (new 'static 'tower-event-group + :event-id #x2c24 + :command-list '((path-height (new 'static 'bfloat) player 11700)) + ) + (new 'static 'tower-event-group :event-id #x32c8 :command-list '((spawn mh-flyer-ent player "bt-fliers-3"))) + (new 'static 'tower-event-group + :event-id #x3458 + :command-list '((path-height (new 'static 'bfloat :data 5.0) pickup 13600)) + ) + (new 'static 'tower-event-group :event-id #x3520 :command-list '((path-height (new 'static 'bfloat) pickup))) + (new 'static 'tower-event-group :event-id #x36b0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x3778 + :command-list '((speech missiles-pickup-4) + (path-height (new 'static 'bfloat) player 14300) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x3a98 + :command-list '((roll-amount (new 'static 'bfloat :data -20.0) player 10)) + ) + (new 'static 'tower-event-group :event-id #x3c8c :command-list '()) + (new 'static 'tower-event-group :event-id #x3e80 :command-list '((unlock-view))) + (new 'static 'tower-event-group + :event-id #x4010 + :command-list '((roll-amount (new 'static 'bfloat) player 20)) + ) + (new 'static 'tower-event-group :event-id #x413c :command-list '((end))) + ) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-shared.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-shared.gc index 52eaebb88c..c4259d3cd3 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-shared.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-shared.gc @@ -7,3 +7,764 @@ ;; DECOMP BEGINS +(deftype blow-tower-node-info (structure) + ((speed-scalar float) + (accum-dist float) + (accum-time float) + (accum-time-percentage float) + (event-id int32) + ) + ) + + +(deftype blow-tower-path (structure) + ((total-time time-frame) + (index int16) + (pts (inline-array vector)) + (node-info (inline-array blow-tower-node-info)) + (num-nodes int16) + ) + ) + + +(deftype surround-spot (structure) + ((y-rot float) + (x-rot float) + (offset-dir vector :inline) + (turret-pos vector :inline) + (rider-index int16) + (owner handle) + ) + ) + + +(deftype blow-tower-path-cursor (structure) + ((curve cubic-curve :inline) + (pos vector :inline) + (norm vector :inline) + (current-time time-frame) + (speed float) + (path blow-tower-path) + (current-tt float) + (interp-tt float) + (current-node-index int16) + (event-id uint32) + ) + (:methods + (blow-tower-path-cursor-method-9 (_type_ int) int) + (init-fields (_type_) none) + (blow-tower-path-cursor-method-11 (_type_ vector) none) + (blow-tower-path-cursor-method-12 (_type_ int) vector) + ) + ) + + +(defun find-event-id-index ((arg0 blow-tower-path-cursor) (arg1 int)) + (dotimes (v1-0 (-> arg0 path num-nodes)) + (if (= (-> arg0 path node-info v1-0 event-id) arg1) + (return v1-0) + ) + ) + -1 + ) + +(defun find-path-event-id-index ((arg0 blow-tower-path) (arg1 int)) + (dotimes (v1-0 (-> arg0 num-nodes)) + (if (= (-> arg0 node-info v1-0 event-id) arg1) + (return v1-0) + ) + ) + -1 + ) + +;; WARN: Return type mismatch float vs none. +(defmethod init-fields ((this blow-tower-path-cursor)) + (set! (-> this current-tt) 0.0) + (set! (-> this interp-tt) 0.0) + (set! (-> this current-node-index) -1) + (set! (-> this speed) 0.0) + (none) + ) + +(defun initialize-hermite-from-path ((arg0 cubic-curve) (arg1 blow-tower-path) (arg2 int)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + (cond + ((<= arg2 0) + (vector-! s5-0 (-> arg1 pts 1) (-> arg1 pts 0)) + (vector-! s4-0 (-> arg1 pts 1) (-> arg1 pts 0)) + ) + (else + (vector-! s5-0 (-> arg1 pts arg2) (-> arg1 pts (+ arg2 -1))) + (vector-! s4-0 (-> arg1 pts (+ arg2 1)) (-> arg1 pts arg2)) + ) + ) + (let ((f30-0 (vector-vector-distance (-> arg1 pts arg2) (-> arg1 pts (+ arg2 1)))) + (f28-0 (/ (-> arg1 node-info (+ arg2 1) speed-scalar) (-> arg1 node-info arg2 speed-scalar))) + ) + (vector-normalize! s5-0 f30-0) + (vector-normalize! s4-0 (* f30-0 f28-0)) + ) + (cubic-curve-method-9 arg0 (-> arg1 pts arg2) s5-0 (-> arg1 pts (+ arg2 1)) s4-0) + ) + (none) + ) + +(defmethod blow-tower-path-cursor-method-12 ((this blow-tower-path-cursor) (arg0 int)) + (set! (-> this speed) (lerp + (-> this path node-info arg0 speed-scalar) + (-> this path node-info (+ arg0 1) speed-scalar) + (-> this interp-tt) + ) + ) + (set! (-> this event-id) (the-as uint (-> this path node-info arg0 event-id))) + (when (!= (-> this current-node-index) arg0) + (set! (-> this current-node-index) arg0) + (initialize-hermite-from-path (-> this curve) (-> this path) (-> this current-node-index)) + ) + (cubic-curve-method-10 (-> this curve) (-> this pos) (-> this interp-tt)) + (cubic-curve-method-11 (-> this curve) (-> this norm) (-> this interp-tt)) + (vector-normalize! (-> this norm) 1.0) + ) + +(defmethod blow-tower-path-cursor-method-9 ((this blow-tower-path-cursor) (arg0 int)) + (let* ((f1-2 (/ (the float arg0) (the float (-> this path total-time)))) + (f0-3 (fmax 0.0 (fmin f1-2 (-> this path node-info (+ (-> this path num-nodes) -1) accum-time-percentage)))) + ) + (dotimes (v1-7 (+ (-> this path num-nodes) -1)) + (when (< f0-3 (-> this path node-info (+ v1-7 1) accum-time-percentage)) + (let ((f1-6 (- (-> this path node-info (+ v1-7 1) accum-time-percentage) + (-> this path node-info v1-7 accum-time-percentage) + ) + ) + ) + 0.0 + (set! (-> this interp-tt) (/ (- f0-3 (-> this path node-info v1-7 accum-time-percentage)) f1-6)) + ) + (set! (-> this current-time) (the-as time-frame arg0)) + (set! (-> this current-tt) f0-3) + (blow-tower-path-cursor-method-12 this v1-7) + (return 0) + ) + ) + ) + (the-as int #f) + ) + +(defmethod blow-tower-path-cursor-method-11 ((this blow-tower-path-cursor) (arg0 vector)) + (local-vars (f1-5 number) (f2-4 float) (sv-32 number) (sv-40 int) (sv-48 vector) (sv-52 number)) + (set! sv-32 40960000.0) + (set! sv-40 -1) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! sv-52 0.0) + (dotimes (s4-0 (+ (-> this path num-nodes) -1)) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this path pts s4-0))) + (s3-1 (vector-! (new 'stack-no-clear 'vector) (-> this path pts (+ s4-0 1)) (-> this path pts s4-0))) + ) + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + (set! (-> s2-1 y) 0.0) + (set! (-> s3-1 y) 0.0) + (let ((f1-0 (vector-normalize-ret-len! s3-1 1.0)) + (f0-10 (vector-dot s2-1 s3-1)) + ) + (cond + ((< f0-10 0.0) + (set! f2-4 (sqrtf (+ (* (-> s2-1 x) (-> s2-1 x)) (* (-> s2-1 z) (-> s2-1 z))))) + (set! f1-5 0.0) + ) + ((< f1-0 f0-10) + (let ((v1-11 s2-1)) + (set! f2-4 (sqrtf (+ (* (-> v1-11 x) (-> v1-11 x)) (* (-> v1-11 z) (-> v1-11 z))))) + ) + (set! f1-5 1.0) + ) + (else + (let ((f2-9 (vector-dot s2-1 s2-1)) + (f3-2 f0-10) + ) + (set! f2-4 (sqrtf (- f2-9 (* f3-2 f3-2)))) + ) + (set! f1-5 (/ f0-10 f1-0)) + ) + ) + (when (< f2-4 (the-as float sv-32)) + (set! sv-32 f2-4) + (set! sv-40 s4-0) + (set! sv-52 f1-5) + (vector+float*! sv-48 (-> this path pts s4-0) s3-1 f0-10) + ) + ) + ) + ) + (set! (-> this interp-tt) (the-as float sv-52)) + (set! (-> this current-tt) + (lerp + (-> this path node-info sv-40 accum-time-percentage) + (-> this path node-info (+ sv-40 1) accum-time-percentage) + (-> this interp-tt) + ) + ) + (blow-tower-path-cursor-method-12 this sv-40) + (set! (-> this current-time) + (the-as time-frame (the int (* (-> this current-tt) (the float (-> this path total-time))))) + ) + (none) + ) + +(deftype xform (structure) + ((root transformq :inline) + ) + (:methods + (reset (_type_) xform) + ) + ) + + +(defun process-xform-list ((arg0 xform) (arg1 xform) (arg2 (inline-array xform)) (arg3 int)) + (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (-> arg1 root)))) + (dotimes (s2-0 arg3) + (let ((a1-3 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> arg2 s2-0))))) + (matrix*! s5-0 a1-3 s5-0) + ) + ) + (matrix->quaternion (-> arg0 root quat) s5-0) + (set! (-> arg0 root trans quad) (-> s5-0 trans quad)) + (set-vector! + (-> arg0 root scale) + (vector-length (-> s5-0 rvec)) + (vector-length (-> s5-0 uvec)) + (vector-length (-> s5-0 fvec)) + 1.0 + ) + ) + arg0 + ) + +(defmethod reset ((this xform)) + (quaternion-identity! (-> this root quat)) + (set! (-> this root trans quad) (the-as uint128 0)) + (set-vector! (-> this root scale) 1.0 1.0 1.0 1.0) + this + ) + +(deftype blow-tower-clock (structure) + ((elapsed-clock-time time-frame) + (debug? symbol) + (debug-lock-view? symbol) + ) + ) + + +(deftype blow-tower-global-target-info (structure) + ((target-handles handle 2) + (hellcat handle :overlay-at (-> target-handles 0)) + (pickup handle :overlay-at (-> target-handles 1)) + (mission-time time-frame) + (debug? symbol) + (difficulty-scalar float) + (last-player-attack-time time-frame) + (clock-scalar float) + ) + ) + + +(define *blow-tower-targets* (new 'static 'blow-tower-global-target-info)) + +(set! (-> *blow-tower-targets* hellcat) (the-as handle #f)) + +(set! (-> *blow-tower-targets* pickup) (the-as handle #f)) + +(set! (-> *blow-tower-targets* mission-time) 0) + +(set! (-> *blow-tower-targets* debug?) #f) + +(set! (-> *blow-tower-targets* difficulty-scalar) 1.0) + +(set! (-> *blow-tower-targets* last-player-attack-time) 0) + +(define *blow-tower-speech-list* (new 'static 'inline-array talker-speech-class 60 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "sig141" + :channel (gui-channel rider) + :speech #x1 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "tor026" + :channel (gui-channel rider) + :speech #x2 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "tor023" + :channel (gui-channel rider) + :speech #x3 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx126" + :channel (gui-channel rider) + :speech #x4 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx127" + :channel (gui-channel rider) + :speech #x5 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx122" + :channel (gui-channel rider) + :speech #x6 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx123" + :channel (gui-channel rider) + :speech #x7 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig115" + :channel (gui-channel rider) + :speech #x8 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx128" + :channel (gui-channel rider) + :speech #x9 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx129" + :channel (gui-channel rider) + :speech #xa + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx130" + :channel (gui-channel rider) + :speech #xb + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx131" + :channel (gui-channel rider) + :speech #xc + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig131" + :channel (gui-channel sig) + :speech #xd + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn205" + :channel (gui-channel voicebox) + :speech #xe + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn198" + :channel (gui-channel voicebox) + :speech #xf + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn194" + :channel (gui-channel rider) + :speech #x10 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig150" + :channel (gui-channel sig) + :speech #x11 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig132" + :channel (gui-channel sig) + :speech #x12 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig109" + :channel (gui-channel sig) + :speech #x13 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig110" + :channel (gui-channel sig) + :speech #x14 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig120" + :channel (gui-channel sig) + :speech #x15 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig119" + :channel (gui-channel sig) + :speech #x16 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig138" + :channel (gui-channel sig) + :speech #x17 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig113" + :channel (gui-channel sig) + :speech #x18 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig133" + :channel (gui-channel sig) + :speech #x19 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig137" + :channel (gui-channel sig) + :speech #x1a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig258" + :channel (gui-channel sig) + :speech #x1b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig183" + :channel (gui-channel sig) + :speech #x1c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig198" + :channel (gui-channel sig) + :speech #x1d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig135" + :channel (gui-channel sig) + :speech #x1e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig148" + :channel (gui-channel sig) + :speech #x1f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig136" + :channel (gui-channel sig) + :speech #x20 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig255" + :channel (gui-channel sig) + :speech #x21 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig153" + :channel (gui-channel sig) + :speech #x22 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig157" + :channel (gui-channel sig) + :speech #x23 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig192" + :channel (gui-channel sig) + :speech #x24 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig134" + :channel (gui-channel sig) + :speech #x25 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig103" + :channel (gui-channel sig) + :speech #x26 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig106" + :channel (gui-channel sig) + :speech #x27 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig105" + :channel (gui-channel sig) + :speech #x28 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig118" + :channel (gui-channel sig) + :speech #x29 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig128" + :channel (gui-channel sig) + :speech #x2a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig127" + :channel (gui-channel sig) + :speech #x2b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig101" + :channel (gui-channel sig) + :speech #x2c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig151" + :channel (gui-channel sig) + :speech #x2d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig159" + :channel (gui-channel sig) + :speech #x2e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig160" + :channel (gui-channel sig) + :speech #x2f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig161" + :channel (gui-channel sig) + :speech #x30 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig162" + :channel (gui-channel sig) + :speech #x31 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig163" + :channel (gui-channel sig) + :speech #x32 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig164" + :channel (gui-channel sig) + :speech #x33 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig165" + :channel (gui-channel sig) + :speech #x34 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig166" + :channel (gui-channel sig) + :speech #x35 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig167" + :channel (gui-channel sig) + :speech #x36 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig168" + :channel (gui-channel sig) + :speech #x37 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig169" + :channel (gui-channel sig) + :speech #x38 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig170" + :channel (gui-channel sig) + :speech #x39 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig171" + :channel (gui-channel sig) + :speech #x3a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig172" + :channel (gui-channel sig) + :speech #x3b + :neg #x1 + :on-close #f + :camera #f + ) + ) + ) + +(deftype blow-tower-speech-instance (speech-instance) + () + ) diff --git a/goal_src/jak3/levels/city/blow-tower/blow-tower-speech.gc b/goal_src/jak3/levels/city/blow-tower/blow-tower-speech.gc index edeca7d5fe..86a0b5b5d4 100644 --- a/goal_src/jak3/levels/city/blow-tower/blow-tower-speech.gc +++ b/goal_src/jak3/levels/city/blow-tower/blow-tower-speech.gc @@ -7,3 +7,193 @@ ;; DECOMP BEGINS +(defun symbol->blow-tower-speech ((arg0 symbol)) + (case arg0 + (('flyers) + 0 + ) + (('missiles-player) + 1 + ) + (('missiles-pickup-1) + 2 + ) + (('missiles-pickup-2) + 3 + ) + (('missiles-pickup-3) + 4 + ) + (('missiles-pickup-4) + 5 + ) + (('first-metalhead-pickup) + 6 + ) + (('first-metalhead-player) + 7 + ) + (('encouragement) + 8 + ) + (('sniper-shot) + 9 + ) + (('mission-intro) + 10 + ) + (('mission-0) + 11 + ) + (('mission-1) + 12 + ) + (('mission-2) + 13 + ) + (('mission-3) + 14 + ) + (('mission-4) + 15 + ) + (('mission-5) + 16 + ) + (('mission-6) + 17 + ) + (('grunt-land) + 18 + ) + (('hurt) + 19 + ) + (else + 0 + ) + ) + ) + +(define *blow-tower-speech* + (new 'static 'boxed-array :type speech-info + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xd :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x1 :probability 1.0)) + :flags (speech-info-flag si0) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xe :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x3 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xf :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x10 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x11 :probability 1.0) + (new 'static 'speech-instance :speech #x12 :probability 1.0) + ) + :flags (speech-info-flag si4 si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x13 :probability 1.0) + (new 'static 'speech-instance :speech #x14 :probability 1.0) + (new 'static 'speech-instance :speech #x15 :probability 1.0) + (new 'static 'speech-instance :speech #x16 :probability 1.0) + (new 'static 'speech-instance :speech #x17 :probability 1.0) + (new 'static 'speech-instance :speech #x18 :probability 1.0) + (new 'static 'speech-instance :speech #x19 :probability 1.0) + (new 'static 'speech-instance :speech #x1a :probability 1.0) + (new 'static 'speech-instance :speech #x1b :probability 1.0) + (new 'static 'speech-instance :speech #x1c :probability 1.0) + (new 'static 'speech-instance :speech #x1d :probability 1.0) + (new 'static 'speech-instance :speech #x4 :probability 1.0) + ) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x1e :probability 1.0) + (new 'static 'speech-instance :speech #x1f :probability 1.0) + (new 'static 'speech-instance :speech #x20 :probability 1.0) + (new 'static 'speech-instance :speech #x21 :probability 1.0) + (new 'static 'speech-instance :speech #x22 :probability 1.0) + (new 'static 'speech-instance :speech #x23 :probability 1.0) + (new 'static 'speech-instance :speech #x5 :probability 1.0) + (new 'static 'speech-instance :speech #x24 :probability 1.0) + (new 'static 'speech-instance :speech #x25 :probability 1.0) + ) + :flags (speech-info-flag si4 si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x26 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x27 :probability 1.0) + (new 'static 'speech-instance :speech #x28 :probability 1.0) + ) + :flags (speech-info-flag si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x29 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2a :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x6 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x7 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2b :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2c :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x8 :probability 1.0) + (new 'static 'speech-instance :speech #x2d :probability 1.0) + (new 'static 'speech-instance :speech #x9 :probability 1.0) + ) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x2e :probability 1.0) + (new 'static 'speech-instance :speech #x2f :probability 1.0) + (new 'static 'speech-instance :speech #x30 :probability 1.0) + (new 'static 'speech-instance :speech #x31 :probability 1.0) + (new 'static 'speech-instance :speech #x32 :probability 1.0) + (new 'static 'speech-instance :speech #x33 :probability 1.0) + (new 'static 'speech-instance :speech #x34 :probability 1.0) + (new 'static 'speech-instance :speech #x35 :probability 1.0) + (new 'static 'speech-instance :speech #x36 :probability 1.0) + (new 'static 'speech-instance :speech #x37 :probability 1.0) + (new 'static 'speech-instance :speech #x38 :probability 1.0) + (new 'static 'speech-instance :speech #x39 :probability 1.0) + (new 'static 'speech-instance :speech #x3a :probability 1.0) + (new 'static 'speech-instance :speech #x3b :probability 1.0) + (new 'static 'speech-instance :speech #xa :probability 1.0) + (new 'static 'speech-instance :speech #xb :probability 1.0) + (new 'static 'speech-instance :speech #xc :probability 1.0) + ) + ) + ) + ) diff --git a/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc b/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc index c44945c228..94e7b2628a 100644 --- a/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc +++ b/goal_src/jak3/levels/city/blow-tower/cty-blow-tower.gc @@ -5,5 +5,4592 @@ ;; name in dgo: cty-blow-tower ;; dgos: LCTYBLOW +(declare-type bt-vehicle process-focusable) +(declare-type bt-hellcat bt-vehicle) + +(define-extern *bt-height-adjust* curve2d-piecewise) +(define-extern *bt-clamp-curve-x* curve2d-piecewise) +(define-extern *bt-accel-curve* curve2d-piecewise) + ;; DECOMP BEGINS +(define *blow-tower-bombbat-path-cache* + (new 'static 'boxed-array :type bombbot-path :length 0 :allocated-length 8) + ) + +(dotimes (v1-1 8) + (set! (-> *blow-tower-bombbat-path-cache* v1-1) + (new 'static 'bombbot-path + :node-count #x2 + :node (new 'static 'inline-array bombbot-node 2 (new 'static 'bombbot-node) (new 'static 'bombbot-node)) + ) + ) + ) + +(deftype bombbot-spawn-record (structure) + ((hand handle) + (ent-name string) + ) + ) + + +(deftype task-manager-blow-tower (task-manager) + ((dest-pos vector :inline) + (target-handles handle 2) + (hellcat handle :overlay-at (-> target-handles 0)) + (pickup handle :overlay-at (-> target-handles 1)) + (hellcat-turret handle) + (mission-elapsed-clock time-frame) + (debug-lock-viewport? symbol) + (debug-run-events? symbol) + (script (array tower-event-group)) + (script-index int16) + (cmd blow-tower-cmd :inline) + (event-cursor blow-tower-path-cursor :inline) + (last-missile-spawn-time time-frame) + (dest-clock-scalar float) + (clock-scalar float) + (bombbot-path-index int8) + (hud-arrows handle) + (hud-arrow-state uint32) + (left-arrow-last-time time-frame) + (right-arrow-last-time time-frame) + (show-skill-time time-frame) + (bombbot-records bombbot-spawn-record 3 :inline) + (bombbot-record-index int32) + (last-missile-ent string) + (missile-dir-vec vector :inline) + ) + (:state-methods + mission-play + mission-debug + wait-for-exit + wait-fail + wind-down-mission + ) + (:methods + (task-manager-blow-tower-method-37 (_type_ symbol) symbol) + (handle-bt-command (_type_ blow-tower-cmd) object) + (advance (_type_ time-frame) none) + ) + ) + + +(deftype bt-gun-manager-target (structure) + ((hand handle) + (transformed-pos vector4w :inline) + (size float) + (hit? symbol) + (alpha float) + (target-pers-index int32) + (num-overlap int32) + ) + ) + + +(deftype bt-hud-target-pers (structure) + ((hand handle) + (rotate float) + (alpha float) + (size-scalar float) + (outer-alpha float) + (outer-rotate float) + (hold-start-time time-frame) + ) + :allow-misaligned + ) + + +(deftype bt-gun-manager (process) + ((root collide-shape) + (parent-vehicle handle) + (params target-turret-params) + (roty degrees) + (rotyv degrees) + (rotyvv degrees) + (roty-min degrees) + (roty-max degrees) + (rotx degrees) + (rotxv degrees) + (rotxvv degrees) + (rotx-min degrees) + (rotx-max degrees) + (dest-roty degrees) + (dest-rotx degrees) + (aim-quat quaternion :inline) + (parent-quat quaternion :inline) + (last-parent-xform matrix :inline) + (hit-pos vector :inline) + (aim-dir vector :inline) + (found-target? symbol) + (target-hand handle) + (target-start-find-time time-frame) + (hud-aim hud-sprite :inline) + (hud-target hud-sprite :inline) + (hud-target-inner hud-sprite :inline) + (rot-y-shift float) + (dest-rot-y-shift float) + (enable-controls? symbol) + (lock-control-time time-frame) + (fire-index uint32) + (last-fire-time time-frame) + (can-exit? symbol) + (is-snapping? symbol) + (onscreen-targets bt-gun-manager-target 32 :inline) + (num-onscreen-targets int32) + (hud-pers bt-hud-target-pers 32 :inline) + (rot-y-seek-rate float) + (cam-quat quaternion :inline) + (dest-roty-max float) + (dest-roty-min float) + (use-roty-min float) + (use-roty-max float) + (x-boost-scalar float) + (y-boost-scalar float) + (servo-sound sound-id) + (servo-sound-state uint64) + (servo-state-time time-frame) + (aim-pos vector :inline) + (look-cursor blow-tower-path-cursor :inline :offset 4288) + (look-time-offset time-frame) + (look-time-scalar float) + (look-mode uint8) + (look-ent entity-actor) + (look-proc handle) + (last-beep-time time-frame) + ) + (:state-methods + idle + setup + active + ) + (:methods + (bt-gun-manager-method-17 (_type_) none) + (bt-gun-manager-method-18 (_type_ float) none) + (bt-gun-manager-method-19 (_type_) none) + (find-target (_type_) object) + (fire-shot (_type_) none) + (bt-gun-handler (_type_ process int symbol event-message-block) object) + (bt-gun-manager-method-23 (_type_) symbol) + (bt-gun-manager-method-24 (_type_ quaternion) float) + ) + ) + + +(defmethod relocate ((this bt-gun-manager) (offset int)) + (if (nonzero? (-> this root)) + (&+! (-> this root) offset) + ) + (call-parent-method this offset) + ) + +(deftype bt-obj-init-params (structure) + ((pos vector :inline) + (quat quaternion :inline) + (path blow-tower-path) + (task-man handle) + ) + ) + + +(deftype cast-rider-spot (structure) + ((rider handle) + (offset-pos vector :inline) + ) + ) + + +(deftype cast-rider-array (inline-array-class) + ((data cast-rider-spot :inline :dynamic) + ) + ) + + +(set! (-> cast-rider-array heap-base) (the-as uint 32)) + +(deftype bt-bouncer (structure) + ((mag-scalar float) + (duration time-frame) + (num-bounces float) + ) + ) + + +(deftype bt-vehicle-damage-info (structure) + ((segd uint64) + (seg0 uint64) + (seg1 uint64) + (hp-threshold0 float) + (hp-threshold1 float) + ) + ) + + +(deftype bt-vehicle (process-focusable) + ((path-cursor blow-tower-path-cursor :inline) + (task-man handle) + (max-hit-points float) + (hit-points float) + (last-attack-id uint32) + (path-height-offset float) + (start-path-height-offset float) + (dest-path-height-offset float) + (path-height-start uint64) + (path-height-end uint64) + (path-pos vector :inline) + (rider-spots cast-rider-array) + (hud-health handle) + (path-height-vel float) + (inited? symbol) + (pre-bounce-pos vector :inline) + (bouncers bt-bouncer 3 :inline) + (bounce-start-time time-frame) + (barrel-roll-amount float) + (barrel-roll-quat quaternion :inline) + (barrel-roll-rate-scalar float) + (last-speed float) + (last-vel vector :inline) + (damage-info (array bt-vehicle-damage-info)) + (damage-state float 4) + (mission-fail? symbol) + (whoosh-sound sound-id) + (boost-thruster? symbol) + (sound-play-end time-frame) + ) + (:state-methods + die + ) + (:methods + (bt-vehicle-event-handler (_type_ process int symbol event-message-block) object) + (init-collision! (_type_) none) + (bt-vehicle-method-31 (_type_) none) + (on-attacked (_type_ float attack-info process-focusable) none) + (bt-vehicle-method-33 (_type_ handle) int) + (bt-vehicle-method-34 (_type_ handle) symbol) + (bt-vehicle-method-35 (_type_ int vector quaternion) none) + (bt-vehicle-method-36 (_type_ int vector quaternion) object) + (bt-vehicle-method-37 (_type_) symbol) + (init-params (_type_) none) + (init-hud (_type_) none) + (bt-vehicle-method-40 (_type_ int) float) + (bt-vehicle-method-41 (_type_ vector vector) symbol) + (bounce (_type_ vector) symbol) + (draw-thruster (_type_) object) + ) + ) + + +(defmethod bounce ((this bt-vehicle) (arg0 vector)) + (set-time! (-> this bounce-start-time)) + (dotimes (s4-0 3) + (let ((s3-0 (-> this bouncers s4-0))) + (set! (-> s3-0 duration) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 61) 120)) + ) + (set! (-> s3-0 mag-scalar) (-> arg0 data s4-0)) + (let* ((f30-0 1.0) + (f28-0 0.5) + (v1-12 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-13 (the-as number (logior #x3f800000 v1-12))) + ) + (set! (-> s3-0 num-bounces) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-13))))) + ) + ) + ) + #f + ) + +(defmethod bt-vehicle-method-41 ((this bt-vehicle) (arg0 vector) (arg1 vector)) + (set! (-> arg0 quad) (the-as uint128 0)) + (set! (-> arg1 quad) (the-as uint128 0)) + (dotimes (s3-0 3) + (let ((v1-4 (-> this bouncers s3-0))) + (when (not (time-elapsed? (-> this bounce-start-time) (-> v1-4 duration))) + (let* ((f0-2 (/ (the float (- (current-time) (-> this bounce-start-time))) (the float (-> v1-4 duration)))) + (f30-0 (* 65536.0 f0-2 (-> v1-4 num-bounces))) + (f28-0 (* (-> v1-4 mag-scalar) (- 1.0 f0-2))) + ) + (set! (-> arg0 data s3-0) (* f28-0 (sin f30-0))) + (set! (-> arg1 data s3-0) (* f28-0 (cos f30-0))) + ) + ) + ) + ) + #f + ) + +;; WARN: Return type mismatch int vs object. +(defmethod draw-thruster ((this bt-vehicle)) + (when (-> this boost-thruster?) + (if (and (> (-> this sound-play-end) 0) (< (-> this sound-play-end) (-> *blow-tower-targets* mission-time))) + (set! (-> this boost-thruster?) #f) + ) + ) + (let ((a1-3 0) + (a2-0 0) + ) + (dotimes (v1-7 4) + (cond + ((>= (-> this damage-state v1-7) (-> this damage-info v1-7 hp-threshold1)) + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 seg1))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg0)) (-> this damage-info v1-7 segd))) + ) + ((>= (-> this damage-state v1-7) (-> this damage-info v1-7 hp-threshold0)) + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 seg0))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg1)) (-> this damage-info v1-7 segd))) + ) + (else + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 segd))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg0)) (-> this damage-info v1-7 seg1))) + ) + ) + ) + (let ((a2-4 (logclear a2-0 a1-3))) + (setup-masks (-> this draw) a1-3 a2-4) + ) + ) + 0 + ) + +(defmethod init-params ((this bt-vehicle)) + (set! (-> this path-pos quad) (-> this root trans quad)) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this root penetrated-by) (penetrate)) + (set! (-> this mission-fail?) #f) + 0 + (none) + ) + +(defmethod relocate ((this bt-vehicle) (offset int)) + (if (nonzero? (-> this rider-spots)) + (&+! (-> this rider-spots) offset) + ) + (call-parent-method this offset) + ) + +(defmethod bt-vehicle-method-37 ((this bt-vehicle)) + (dotimes (s5-0 (-> this rider-spots length)) + (let* ((s3-0 (handle->process (-> this rider-spots data s5-0 rider))) + (s4-0 (if (type? s3-0 process-focusable) + (the-as process-focusable s3-0) + ) + ) + ) + (when s4-0 + (let ((a2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat))) + (s3-1 (-> s4-0 root trans)) + ) + (vector-matrix*! + s3-1 + (the-as vector (+ (the-as uint (-> this rider-spots data 0 offset-pos)) (* s5-0 32))) + a2-0 + ) + (vector+! s3-1 s3-1 (-> this root trans)) + ) + (quaternion-copy! (-> s4-0 root quat) (-> this root quat)) + ) + ) + ) + #f + ) + +(defmethod init-hud ((this bt-vehicle)) + 0 + (none) + ) + +(defmethod bt-vehicle-method-33 ((this bt-vehicle) (arg0 handle)) + -1 + ) + +(defmethod bt-vehicle-method-35 ((this bt-vehicle) (arg0 int) (arg1 vector) (arg2 quaternion)) + (set! (-> arg1 quad) (-> this root trans quad)) + (quaternion-copy! arg2 (-> this root quat)) + (bt-vehicle-method-36 this arg0 arg1 arg2) + 0 + (none) + ) + +;; WARN: Return type mismatch int vs object. +(defmethod bt-vehicle-method-36 ((this bt-vehicle) (arg0 int) (arg1 vector) (arg2 quaternion)) + 0 + ) + +(defbehavior bt-vehicle-handler bt-vehicle ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-vehicle-event-handler self arg0 arg1 arg2 arg3) + ) + +(defmethod init-collision! ((this bt-vehicle)) + 0 + (none) + ) + +(defmethod bt-vehicle-method-31 ((this bt-vehicle)) + (bt-vehicle-method-37 this) + 0 + (none) + ) + +(defstate die (bt-vehicle) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + (logior! (-> self draw status) (draw-control-status no-draw)) + (let ((v1-4 (-> self root root-prim))) + (set! (-> v1-4 prim-core collide-as) (collide-spec)) + (set! (-> v1-4 prim-core collide-with) (collide-spec)) + ) + 0 + (sound-play "snd-ship-explod") + (cond + ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + ) + ) + (send-event (handle->process (-> self task-man)) 'vehicle-explode) + (dotimes (gp-3 (-> self rider-spots length)) + (let* ((s5-1 (handle->process (-> self rider-spots data gp-3 rider))) + (a0-26 (if (type? s5-1 process-focusable) + s5-1 + ) + ) + ) + (if a0-26 + (send-event a0-26 'die) + ) + ) + ) + ) + :code sleep-code + ) + +(defmethod on-attacked ((this bt-vehicle) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (local-vars + (sv-64 vector) + (sv-68 vector) + (sv-72 vector) + (sv-76 float) + (sv-80 (pointer float)) + (sv-88 int) + (sv-96 vector) + (sv-100 float) + ) + (set! sv-64 (new 'stack-no-clear 'vector)) + (set! sv-68 (-> this root trans)) + (set! sv-72 (new 'stack-no-clear 'vector)) + (set! sv-76 (the-as float 0.0)) + (set! sv-80 (new 'static 'array float 4 0.0 0.0 0.0 0.0)) + (set! sv-88 0) + (set! sv-96 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-100 (the-as float 0.0)) + (let ((s2-0 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 arg1 s2-0 arg2 this) + (set! (-> sv-64 quad) (-> s2-0 intersection quad)) + ) + (let ((a0-6 (if (type? arg2 process-focusable) + arg2 + ) + ) + ) + (if a0-6 + (set! (-> sv-64 quad) (-> (get-trans a0-6 3) quad)) + ) + ) + (vector-! sv-72 sv-64 sv-68) + (set! (-> sv-72 y) 0.0) + (let ((a0-8 sv-96)) + (set! (-> a0-8 quad) (-> sv-96 quad)) + (set! (-> a0-8 y) 0.0) + (vector-normalize! a0-8 1.0) + ) + (set! sv-100 (* 0.6 (-> this root root-prim local-sphere w))) + (vector-float*! sv-96 sv-96 sv-100) + (let ((s4-3 (vector-rotate-around-y! (new 'stack-no-clear 'vector) sv-96 8192.0)) + (f30-0 0.0) + ) + (dotimes (s3-1 4) + (set! (-> sv-80 s3-1) (/ (vector-vector-distance s4-3 sv-72) sv-100)) + (set! (-> sv-80 s3-1) (fmax 0.0 (fmin 1.0 (-> sv-80 s3-1)))) + (set! (-> sv-80 s3-1) (- 1.0 (-> sv-80 s3-1))) + (set! (-> sv-80 s3-1) (* (-> sv-80 s3-1) (-> sv-80 s3-1))) + (+! f30-0 (-> sv-80 s3-1)) + (vector-rotate-around-y! s4-3 s4-3 -16384.0) + ) + (when (< 0.1 f30-0) + (dotimes (v1-46 4) + (set! (-> sv-80 v1-46) (/ (-> sv-80 v1-46) f30-0)) + ) + (dotimes (v1-49 4) + (+! (-> this damage-state v1-49) (* (-> sv-80 v1-49) arg0)) + ) + ) + ) + 0 + (none) + ) + +(when (or (zero? *bt-height-adjust*) (!= loading-level global)) + (set! *bt-height-adjust* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-height-adjust* 4 'loading-level (the-as int #t)) + ) + +(set! (-> *bt-height-adjust* pts data 0 first) 0.0) + +(set! (-> *bt-height-adjust* pts data 0 second) 0.0) + +(set! (-> *bt-height-adjust* pts data 1 first) 0.7) + +(set! (-> *bt-height-adjust* pts data 1 second) 1.0) + +(set! (-> *bt-height-adjust* pts data 2 first) 0.8) + +(set! (-> *bt-height-adjust* pts data 2 second) 1.07) + +(set! (-> *bt-height-adjust* pts data 3 first) 1.0) + +(set! (-> *bt-height-adjust* pts data 3 second) 1.0) + +(defmethod bt-vehicle-method-40 ((this bt-vehicle) (arg0 int)) + (with-pp + (let* ((f1-0 (lerp-scale + 0.0 + 1.0 + (the float arg0) + (the float (-> this path-height-start)) + (the float (-> this path-height-end)) + ) + ) + (f0-7 (fmax 0.0 (fmin 1.0 f1-0))) + ) + (cond + ((< (-> this start-path-height-offset) (-> this dest-path-height-offset)) + ) + (else + (set! f0-7 (* f0-7 f0-7)) + ) + ) + (let* ((f0-8 (curve2d-method-9 *bt-height-adjust* f0-7 3)) + (f0-9 (lerp (-> this start-path-height-offset) (-> this dest-path-height-offset) f0-8)) + ) + (set! (-> this path-height-vel) (* (- f0-9 (-> this path-height-offset)) (-> pp clock frames-per-second))) + (set! (-> this path-height-offset) f0-9) + f0-9 + ) + ) + ) + ) + +(defmethod bt-vehicle-event-handler ((this bt-vehicle) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('boost-thruster) + (set! (-> this boost-thruster?) #t) + (let ((f0-0 (the-as float (-> arg3 param 0)))) + (cond + ((< 0.0 f0-0) + (set! v0-0 (+ (-> *blow-tower-targets* mission-time) (the int (* 300.0 f0-0)))) + (set! (-> this sound-play-end) (the-as time-frame v0-0)) + v0-0 + ) + (else + (set! (-> this sound-play-end) 0) + 0 + ) + ) + ) + ) + (('stop-sound) + (set! (-> this boost-thruster?) #f) + (sound-stop (-> this whoosh-sound)) + ) + (('bt-roboguard-attack?) + #t + ) + (('mission-fail) + (set! v0-0 #t) + (set! (-> this mission-fail?) (the-as symbol v0-0)) + v0-0 + ) + (('exit) + (go empty-state) + ) + (('notify-danger) + (send-event (handle->process (-> this task-man)) 'notify-danger (-> arg3 param 0)) + ) + (('barrel-roll) + (set! (-> this barrel-roll-amount) (* 182.04445 (the-as float (-> arg3 param 0)))) + (set! (-> this barrel-roll-rate-scalar) (the-as float (-> arg3 param 1))) + ) + (('get-path) + (-> this path-cursor path) + ) + (('bounce) + (bounce this (the-as vector (-> arg3 param 0))) + ) + (('rider-predict-transform) + (bt-vehicle-method-36 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (('predict-height) + (-> this dest-path-height-offset) + ) + (('predict-position) + (let ((a0-23 (the-as blow-tower-path-cursor (-> arg3 param 0)))) + (set! (-> a0-23 path) (-> this path-cursor path)) + (blow-tower-path-cursor-method-11 a0-23 (the-as vector (-> arg3 param 1))) + ) + #t + ) + (('assign-rider) + (bt-vehicle-method-33 this (the-as handle (-> arg3 param 0))) + ) + (('kill-rider) + (bt-vehicle-method-34 this (the-as handle (-> arg3 param 0))) + ) + (('get-rider-transform) + (bt-vehicle-method-35 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + #t + ) + (('set-path-height) + (set! (-> this dest-path-height-offset) (the-as float (-> arg3 param 0))) + (set! (-> this start-path-height-offset) (-> this path-height-offset)) + (set! (-> this path-height-start) (the-as uint (-> *blow-tower-targets* mission-time))) + (set! v0-0 (-> arg3 param 1)) + (set! (-> this path-height-end) (the-as uint v0-0)) + v0-0 + ) + (('attack) + (let ((s4-0 (the-as object (-> arg3 param 1)))) + (when (!= (-> (the-as attack-info s4-0) id) (-> this last-attack-id)) + (set! (-> this last-attack-id) (-> (the-as attack-info s4-0) id)) + (let ((f30-0 (if (logtest? (attack-mask damage) (-> (the-as attack-info s4-0) mask)) + (-> (the-as attack-info s4-0) damage) + (penetrate-using->damage (-> (the-as attack-info s4-0) penetrate-using)) + ) + ) + ) + (if (not (-> *blow-tower-targets* debug?)) + (set! (-> this hit-points) (- (-> this hit-points) (* f30-0 (-> *blow-tower-targets* difficulty-scalar)))) + ) + (when (and (type? arg0 projectile) (= (-> this type) bt-hellcat)) + (if (and (zero? (mod (the-as int (rand-uint31-gen *random-generator*)) 7)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + (set! f30-0 (* 2.0 f30-0)) + ) + (if (>= 0.0 (-> this hit-points)) + (go (method-of-object this die)) + (on-attacked this f30-0 (the-as attack-info s4-0) (the-as process-focusable arg0)) + ) + ) + ) + ) + ) + (else + #f + ) + ) + ) + +(define *bt-pickup-damage-info* + (new 'static 'boxed-array :type bt-vehicle-damage-info + (new 'static 'bt-vehicle-damage-info :segd #x20 :seg0 #x2 :seg1 #x2 :hp-threshold0 10.0 :hp-threshold1 10.0) + (new 'static 'bt-vehicle-damage-info :segd #x80 :seg0 #x8 :seg1 #x8 :hp-threshold0 10.0 :hp-threshold1 10.0) + (new 'static 'bt-vehicle-damage-info + :segd #x100 + :seg0 #x10 + :seg1 #x10 + :hp-threshold0 10.0 + :hp-threshold1 10.0 + ) + (new 'static 'bt-vehicle-damage-info :segd #x40 :seg0 #x4 :seg1 #x4 :hp-threshold0 10.0 :hp-threshold1 10.0) + ) + ) + +(deftype bt-pickup (bt-vehicle) + ((spots surround-spot 4 :inline) + (riders handle 2) + (quat-before-roll quaternion :inline) + (start-hit-time time-frame) + (roboguard-attackers handle 2) + (desired-thruster-length float) + (pickup-barrels handle 2) + ) + (:state-methods + wait-for-player + path-follow + ) + (:methods + (retrieve-spot (_type_ int vector quaternion) none) + (assign-spot (_type_ handle) none) + (bt-pickup-method-48 (_type_) none) + (update-barrel-pos (_type_ vector vector quaternion) quaternion) + (bt-pickup-method-50 (_type_ int vector) vector) + ) + ) + + +(defmethod update-barrel-pos ((this bt-pickup) (arg0 vector) (arg1 vector) (arg2 quaternion)) + (let ((v1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (set! (-> arg0 quad) (-> this root trans quad)) + (vector+float*! arg0 arg0 (-> v1-1 uvec) 819.2) + (vector+float*! arg0 arg0 (-> v1-1 rvec) 4096.0) + (cond + ((zero? arg2) + (vector+float*! arg0 arg0 (-> v1-1 fvec) -16384.0) + ) + ((= arg2 1) + (vector+float*! arg0 arg0 (-> v1-1 fvec) -2048.0) + ) + ) + ) + (quaternion-copy! (the-as quaternion arg1) (-> this root quat)) + ) + +(defmethod bt-vehicle-event-handler ((this bt-pickup) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('update-barrel-pos) + (update-barrel-pos + this + (the-as vector (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (('bt-roboguard-release) + (dotimes (v1-2 2) + (when (= (handle->process (-> this roboguard-attackers v1-2)) arg0) + (set! (-> this roboguard-attackers v1-2) (the-as handle #f)) + (return 0) + ) + ) + #f + ) + (('bt-roboguard-attack?) + (dotimes (v1-6 2) + (when (not (handle->process (-> this roboguard-attackers v1-6))) + (set! (-> this roboguard-attackers v1-6) (process->handle arg0)) + (return #t) + ) + ) + #f + ) + (('get-attack-pos) + (let ((v0-0 (the-as object (-> arg3 param 0)))) + (set! (-> (the-as vector v0-0) quad) (-> this root trans quad)) + v0-0 + ) + ) + (('assign-spot) + (assign-spot this (the-as handle (-> arg3 param 0))) + ) + (('retrieve-spot) + (retrieve-spot + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; WARN: Return type mismatch symbol vs none. +(defmethod bt-pickup-method-48 ((this bt-pickup)) + (dotimes (v1-0 4) + (set! (-> this spots v1-0 owner) (the-as handle #f)) + ) + (dotimes (v1-3 2) + (set! (-> this riders v1-3) (the-as handle #f)) + ) + (none) + ) + +;; WARN: Function (method 47 bt-pickup) has a return type of none, but the expression builder found a return statement. +(defmethod assign-spot ((this bt-pickup) (arg0 handle)) + (let ((a1-1 0)) + (let ((v1-0 4)) + (dotimes (a0-1 4) + (when (handle->process (-> this spots a0-1 owner)) + (set! a1-1 (logior a1-1 (ash 1 a0-1))) + (+! v1-0 -1) + ) + ) + (if (zero? v1-0) + (return -1) + ) + ) + (set! (-> this spots (rand-vu-int-count-excluding 4 a1-1) owner) arg0) + ) + (none) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod retrieve-spot ((this bt-pickup) (arg0 int) (arg1 vector) (arg2 quaternion)) + (quaternion-look-at! arg2 *x-vector* *up-vector*) + (quaternion-rotate-local-y! arg2 arg2 (* 16384.0 (the float arg0))) + (quaternion-rotate-local-x! arg2 arg2 -9102.223) + (set! (-> arg1 quad) (the-as uint128 0)) + (none) + ) + +(defmethod bt-vehicle-method-34 ((this bt-pickup) (arg0 handle)) + (dotimes (v1-0 2) + (if (= arg0 (-> this riders v1-0)) + (set! (-> this riders v1-0) (the-as handle #f)) + ) + ) + #f + ) + +(defmethod bt-vehicle-method-33 ((this bt-pickup) (arg0 handle)) + (dotimes (v1-0 2) + (when (not (handle->process (-> this riders v1-0))) + (set! (-> this riders v1-0) arg0) + (return v1-0) + ) + ) + -1 + ) + +;; WARN: Return type mismatch structure vs object. +(defmethod bt-vehicle-method-36 ((this bt-pickup) (arg0 int) (arg1 vector) (arg2 quaternion)) + (cond + ((zero? arg0) + (+! (-> arg1 y) -2457.6) + (vector+float*! arg1 arg1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) 4096.0) + ) + (else + (+! (-> arg1 y) -2457.6) + (vector+float*! arg1 arg1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) -6963.2) + (vector+float*! arg1 arg1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) -6144.0) + (quaternion-rotate-local-y! arg2 arg2 -16384.0) + ) + ) + ) + +(define *bt-hellcat-gun-nodes* (new 'static 'boxed-array :type int32 9 12 8 11)) + +(define *bt-hellcat-damage-info* + (new 'static 'boxed-array :type bt-vehicle-damage-info + (new 'static 'bt-vehicle-damage-info :segd #x400 :seg0 #x40 :seg1 #x4 :hp-threshold0 5.0 :hp-threshold1 7.5) + (new 'static 'bt-vehicle-damage-info + :segd #x1000 + :seg0 #x100 + :seg1 #x10 + :hp-threshold0 5.0 + :hp-threshold1 7.5 + ) + (new 'static 'bt-vehicle-damage-info + :segd #x2000 + :seg0 #x200 + :seg1 #x20 + :hp-threshold0 5.0 + :hp-threshold1 7.5 + ) + (new 'static 'bt-vehicle-damage-info :segd #x800 :seg0 #x80 :seg1 #x8 :hp-threshold0 5.0 :hp-threshold1 7.5) + ) + ) + +(deftype bt-hellcat (bt-vehicle) + ((jmod-turret-guns joint-mod-rotate-world :inline) + (child-turret handle) + (spots surround-spot 12 :inline) + (assigned-spots handle 2) + (grunt-rider handle) + (grunt-rider-boarded? handle) + (rider-pitch float) + (pitch-quat quaternion :inline) + (roll-amount float) + (dest-roll-amount float) + (roll-amount-seek-rate float) + (quat-before-bounce quaternion :inline) + (quat-grunt-tilt quaternion :inline) + (jmod-lgun joint-mod-rotate-local :inline) + (jmod-rgun joint-mod-rotate-local :inline) + (jmod-barrels joint-mod-add-local 4 :inline) + (barrel-fire-state symbol 4) + (engine-sound sound-id) + (thrust-sound sound-id) + (land-grunt-offset float) + ) + (:state-methods + wait-for-player + player-riding + ) + (:methods + (bt-hellcat-method-46 (_type_ vector quaternion) quaternion) + (bt-hellcat-method-47 (_type_ int vector quaternion symbol) int) + (bt-hellcat-method-48 (_type_ handle quaternion) none) + (init-spots (_type_) symbol) + (bt-hellcat-method-50 (_type_ int quaternion vector vector) int) + (bt-hellcat-method-51 (_type_) symbol) + ) + ) + + +(defmethod bt-vehicle-method-34 ((this bt-hellcat) (arg0 handle)) + (when (= arg0 (-> this grunt-rider)) + (set! (-> this grunt-rider) (the-as handle #f)) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + #f + ) + ) + +(defmethod bt-vehicle-method-33 ((this bt-hellcat) (arg0 handle)) + (when (not (handle->process (-> this grunt-rider))) + (set! (-> this grunt-rider) arg0) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + (return 0) + ) + -1 + ) + +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; WARN: Return type mismatch quaternion vs object. +(defmethod bt-vehicle-method-36 ((this bt-hellcat) (arg0 int) (arg1 vector) (arg2 quaternion)) + (local-vars (sv-176 float)) + (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) arg2))) + (quaternion-rotate-local-y! arg2 arg2 32768.0) + (let ((f30-0 0.7) + (f28-0 -1.1) + ) + (let ((v1-2 1)) + (cond + ((= v1-2 2) + (set! f30-0 1.1) + (set! f28-0 -1.57) + ) + ((zero? v1-2) + (set! f30-0 1.1) + (set! f28-0 -1.59) + ) + ((= v1-2 1) + (set! f30-0 1.1) + (set! f28-0 -1.3) + ) + ) + ) + (let ((v1-13 (new 'stack-no-clear 'vector))) + (vector-float*! v1-13 (-> s3-0 uvec) (* 4096.0 f30-0)) + (vector+float*! v1-13 v1-13 (-> s3-0 fvec) (* 4096.0 f28-0)) + ) + (when (handle->process (-> this child-turret)) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (let ((s0-0 (new 'stack-no-clear 'vector))) + (bt-hellcat-method-46 this s1-0 (new 'stack-no-clear 'quaternion)) + (vector-! s1-0 s1-0 (-> this root trans)) + (vector-float*! s0-0 (-> s3-0 uvec) (* 4096.0 f30-0)) + (vector+float*! s0-0 s0-0 (-> s3-0 fvec) (* 4096.0 f28-0)) + (vector-! s2-0 s0-0 s1-0) + ) + (let ((f30-1 (-> this land-grunt-offset))) + (let ((s4-1 vector-rotate-around-axis!) + (s3-1 s2-0) + (s0-1 s2-0) + ) + (set! sv-176 f30-1) + (let ((a3-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) arg2))) + (s4-1 s3-1 (the-as quaternion s0-1) sv-176 a3-1) + ) + ) + (vector+! s2-0 s2-0 s1-0) + (vector+! arg1 arg1 s2-0) + (quaternion-rotate-local-y! arg2 arg2 f30-1) + ) + ) + ) + ) + ) + ) + +(defmethod on-attacked ((this bt-hellcat) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (sound-play "snd-hellcat-hit") + (cond + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (if (logtest? (-> arg1 mask) (attack-mask control)) + (set! arg0 (-> arg1 control)) + ) + (let ((f28-0 (* 409.6 arg0)) + (f30-0 (lerp 0.05 1.0 (* 0.2 arg0))) + ) + (activate! *camera-smush-control* f28-0 45 (the int (* 300.0 f30-0)) 1.0 0.9 (-> *display* camera-clock)) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (the-as time-frame (the int (* 150.0 f30-0)))) + ) + (call-parent-method this arg0 arg1 arg2) + 0 + (none) + ) + +(defmethod bt-hellcat-method-50 ((this bt-hellcat) (arg0 int) (arg1 quaternion) (arg2 vector) (arg3 vector)) + (local-vars (sv-48 vector) (sv-56 int) (sv-64 number) (sv-68 quaternion)) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! sv-56 -1) + (set! sv-64 -1.0) + (set! sv-68 (new 'stack-no-clear 'quaternion)) + (quaternion-copy! sv-68 arg1) + (let ((v1-5 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (quaternion-copy! sv-68 (-> v1-5 cam-quat)) + ) + (vector-z-quaternion! sv-48 sv-68) + (let ((a0-8 sv-48)) + (set! (-> a0-8 quad) (-> sv-48 quad)) + (set! (-> a0-8 y) 0.0) + (vector-normalize! a0-8 1.0) + ) + (dotimes (s2-0 12) + (when (= (-> this spots s2-0 rider-index) arg0) + (let ((a0-9 (new 'stack-no-clear 'vector))) + (set! (-> a0-9 quad) (-> this spots s2-0 offset-dir quad)) + (set! (-> a0-9 y) 0.0) + (let ((v1-18 (vector-normalize! a0-9 1.0))) + 0.0 + (let ((f0-5 (vector-dot v1-18 sv-48))) + (when (< (the-as float sv-64) f0-5) + (set! sv-64 f0-5) + (set! sv-56 s2-0) + (if arg3 + (set! (-> arg3 quad) (-> v1-18 quad)) + ) + ) + ) + ) + ) + ) + ) + (if arg2 + (set! (-> arg2 quad) (-> sv-48 quad)) + ) + sv-56 + ) + +(defmethod init-spots ((this bt-hellcat)) + (dotimes (v1-0 12) + (set! (-> this spots v1-0 rider-index) -1) + ) + (dotimes (v1-3 2) + (set! (-> this assigned-spots v1-3) (the-as handle #f)) + ) + (let* ((f30-0 5461.3335) + (s5-0 (the int (/ 65536.0 f30-0))) + (f28-0 (* 0.5 f30-0)) + ) + (dotimes (s4-0 s5-0) + (vector-rotate-around-y! + (the-as vector (+ (the-as uint (-> this spots 0 offset-dir)) (* s4-0 64))) + *x-vector* + f28-0 + ) + (+! f28-0 f30-0) + (set! (-> this spots s4-0 owner) (the-as handle #f)) + (set! (-> this spots s4-0 rider-index) (logand s4-0 1)) + (let* ((f26-0 364.0889) + (f24-0 -4915.2) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + ) + (set! (-> this spots s4-0 y-rot) (+ f26-0 (* f24-0 (+ -1.0 (the-as float v1-17))))) + ) + ) + ) + #f + ) + +(defmethod bt-hellcat-method-48 ((this bt-hellcat) (arg0 handle) (arg1 quaternion)) + (local-vars (s3-0 int) (sv-16 int) (sv-24 int) (sv-64 number) (sv-72 int) (sv-80 vector) (sv-84 vector)) + (set! sv-16 0) + (set! sv-24 2) + (dotimes (v1-1 2) + (when (handle->process (-> this assigned-spots v1-1)) + (set! sv-16 (logior sv-16 (ash 1 v1-1))) + (set! sv-24 (+ sv-24 -1)) + ) + ) + (when (zero? sv-24) + (set! s3-0 -1) + (goto cfg-26) + ) + (set! sv-64 -1.0) + (set! sv-72 -1) + (set! sv-80 (new 'stack-no-clear 'vector)) + (set! sv-84 (new 'stack-no-clear 'vector)) + (dotimes (s3-1 2) + (when (not (logtest? sv-16 (ash 1 s3-1))) + (bt-hellcat-method-50 this s3-1 arg1 sv-80 sv-84) + 0.0 + (let ((f0-3 (vector-dot sv-80 sv-84))) + (when (< (the-as float sv-64) f0-3) + (set! sv-72 s3-1) + (set! sv-64 f0-3) + ) + ) + ) + ) + (set! s3-0 sv-72) + (set! (-> this assigned-spots s3-0) arg0) + (set! (-> this spots (bt-hellcat-method-50 this s3-0 arg1 (the-as vector #f) (the-as vector #f)) owner) arg0) + (label cfg-26) + (none) + ) + +;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3] +;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4] +;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] +(defmethod bt-hellcat-method-47 ((this bt-hellcat) (arg0 int) (arg1 vector) (arg2 quaternion) (arg3 symbol)) + (local-vars + (f0-4 float) + (sv-176 symbol) + (sv-192 int) + (sv-208 vector) + (sv-224 quaternion) + (sv-240 vector) + (sv-256 matrix) + ) + (set! sv-176 arg3) + (set! sv-192 0) + (while (< sv-192 12) + (when (and (= arg0 (-> this spots sv-192 rider-index)) (handle->process (-> this spots sv-192 owner))) + (let ((s0-0 (-> this spots sv-192))) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! sv-208 (new 'stack-no-clear 'vector)) + (let ((s1-0 (new 'stack-no-clear 'vector))) + (bt-hellcat-method-46 this s2-0 (the-as quaternion sv-208)) + (when sv-176 + (set! sv-224 (quaternion-copy! (new 'stack-no-clear 'quaternion) (the-as quaternion sv-208))) + (set! sv-240 (new 'stack-no-clear 'vector)) + (let ((v1-21 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (quaternion-copy! sv-224 (-> v1-21 cam-quat)) + ) + (vector-z-quaternion! sv-240 sv-224) + (let ((a0-14 sv-240)) + (set! (-> a0-14 quad) (-> sv-240 quad)) + (set! (-> a0-14 y) 0.0) + (vector-normalize! a0-14 1.0) + ) + (acos (vector-dot sv-240 (the-as vector (+ (the-as uint (-> this spots 0 offset-dir)) (* sv-192 64))))) + (let ((f30-0 4551.1113) + (t9-6 acos) + ) + ;; og:preserve-this + (let* ((v1-29 (-> this spots sv-192 offset-dir)) + ; (v1-29 (the-as object (+ (the-as uint (-> this spots 0 offset-dir)) (* sv-192 64)))) + ; (f0-3 (-> sv-240 x)) + ; (f1-0 (-> sv-240 y)) + ; (f2-0 (-> sv-240 z)) + ; (f3-0 (-> (the-as vector v1-29) x)) + ; (f4-0 (-> (the-as vector v1-29) y)) + ; (f5-0 (-> (the-as vector v1-29) z)) + ) + ; (.mula.s f0-3 f3-0) + ; (.madda.s f1-0 f4-0) + ; (.madd.s f0-4 f2-0 f5-0) + (set! f0-4 (vector-dot sv-240 v1-29)) + ) + (when (< f30-0 (t9-6 f0-4)) + (let ((v1-33 (bt-hellcat-method-50 this arg0 (-> this root quat) (the-as vector #f) (the-as vector #f)))) + (let ((a0-25 (-> s0-0 owner))) + (set! (-> s0-0 owner) (the-as handle #f)) + (set! (-> this spots v1-33 owner) a0-25) + ) + (set! s0-0 (-> this spots v1-33)) + ) + ) + ) + ) + (let ((v1-38 (handle->process (-> this child-turret)))) + (when v1-38 + (let ((s3-1 matrix-u-f-compose)) + (set! sv-256 (new 'stack-no-clear 'matrix)) + (let* ((a1-15 (vector-y-quaternion! (new 'stack-no-clear 'vector) (the-as quaternion (&-> v1-38 stack 4064)))) + (a2-3 (-> s0-0 offset-dir)) + (a1-16 (s3-1 sv-256 a1-15 a2-3)) + ) + (matrix->quaternion arg2 a1-16) + ) + ) + (quaternion-rotate-local-x! arg2 arg2 (* 0.5 (-> this roll-amount))) + ) + ) + (vector-! s1-0 s2-0 (-> this root trans)) + (vector+! arg1 arg1 s1-0) + ) + ) + (quaternion-rotate-local-x! arg2 arg2 (-> s0-0 y-rot)) + ) + (return 0) + ) + (set! sv-192 (+ sv-192 1)) + ) + 0 + ) + +(define *bt-turret-params* (new 'static 'target-turret-params + :fire-interval (seconds 0.1) + :max-health 16.0 + :roty-accel -118328.89 + :roty-friction 0.8 + :rotyv-max 98304.0 + :rotx-accel -81920.0 + :rotx-friction 0.8 + :rotxv-max 10922.667 + :rotx-min -6371.5557 + :rotx-max 2184.5334 + ) + ) + +(defbehavior bt-gun-manager-init-by-other bt-gun-manager ((arg0 target-turret-params)) + (stack-size-set! (-> self main-thread) 256) + (set! (-> self parent-vehicle) (the-as handle arg0)) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> (target-pos 0) quad)) + (quaternion-identity! (-> self root quat)) + (matrix-identity! (-> self last-parent-xform)) + (set! (-> self params) *bt-turret-params*) + (set! (-> self rotx-min) (-> self params rotx-min)) + (set! (-> self rotx-max) (-> self params rotx-max)) + (set! (-> self dest-roty-min) -20024.889) + (set! (-> self dest-roty-max) 20024.889) + (set! (-> self roty-min) (-> self dest-roty-min)) + (set! (-> self roty-max) (-> self dest-roty-max)) + (set! (-> self enable-controls?) #t) + (set! (-> self can-exit?) #f) + (set! (-> self target-hand) (the-as handle #f)) + (set! (-> self is-snapping?) #f) + (set! (-> self servo-sound) (new-sound-id)) + (set! (-> self look-cursor path) (-> *blow-tower-paths* 0)) + (set! (-> self look-time-offset) (seconds 0.5)) + (set! (-> self look-time-scalar) 1.0) + (set! (-> self rotx) 0.5) + (set! (-> self roty) 0.5) + (dotimes (v1-19 32) + (set! (-> self hud-pers v1-19 hand) (the-as handle #f)) + ) + (go-virtual idle) + ) + +(defstate idle (bt-gun-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('pickup) + (go-virtual setup) + ) + ) + ) + :code sleep-code + ) + +(defbehavior bt-gun-manager-handler bt-gun-manager ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-gun-handler self arg0 arg1 arg2 arg3) + ) + +(defmethod bt-gun-handler ((this bt-gun-manager) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('turret-type) + 'hellcat + ) + (('allow-exit) + (set! v0-0 #t) + (set! (-> this can-exit?) (the-as symbol v0-0)) + v0-0 + ) + (('trans 'player-pos) + (let ((v1-1 (new 'stack-no-clear 'vector))) + (set! (-> v1-1 quad) (-> this root trans quad)) + (set! v0-0 (-> arg3 param 0)) + (set! (-> (the-as vector v0-0) quad) (-> v1-1 quad)) + ) + v0-0 + ) + (('snap-forward) + (set! (-> this roty) 0.0) + (set! (-> this rotx) 0.0) + (set! (-> this rotyv) 0.0) + (set! (-> this rotxv) 0.0) + ) + (('cam-post-update) + (when (not (paused?)) + (find-target this) + (bt-gun-manager-method-19 this) + (fire-shot this) + ) + ) + (('look-at-restore) + (case (-> this look-mode) + ((2 1) + (let ((v1-10 (entity-by-name (the-as string (-> this look-ent))))) + (when v1-10 + (when (and (-> v1-10 extra process) (= (process->handle (-> v1-10 extra process)) (-> arg3 param 0))) + (set! (-> this look-mode) (the-as uint 0)) + (set! (-> this look-time-scalar) 1.0) + ) + ) + ) + ) + ) + ) + (('look-at-ent) + (set! (-> this look-mode) (the-as uint 1)) + (set! (-> this look-ent) (the-as entity-actor (-> arg3 param 0))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + ) + (('look-at-track) + (set! (-> this look-mode) (the-as uint 2)) + (set! (-> this look-ent) (the-as entity-actor (-> arg3 param 0))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + ) + (('look-at-proc) + (set! (-> this look-mode) (the-as uint 3)) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + (set! v0-0 (-> arg3 param 0)) + (set! (-> this look-proc) (the-as handle v0-0)) + v0-0 + ) + (('look-at) + (set! (-> this look-cursor path) (-> *blow-tower-paths* (-> arg3 param 0))) + (set! (-> this look-time-offset) (the-as time-frame (-> arg3 param 1))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 2))) + (set! (-> this look-mode) (the-as uint 0)) + 0 + ) + (('aim-quat) + (quaternion-copy! (the-as quaternion (-> arg3 param 0)) (-> this aim-quat)) + ) + (('hit-pos) + (set! v0-0 (-> arg3 param 0)) + (set! (-> (the-as vector v0-0) quad) (-> this hit-pos quad)) + v0-0 + ) + (('quat 'player-quat) + (quaternion-copy! (the-as quaternion (-> arg3 param 0)) (-> this root quat)) + ) + (('exit-valid) + (set! (-> (the-as vector (-> arg3 param 0)) quad) (-> this root trans quad)) + (-> this can-exit?) + ) + (('exit) + #f + ) + (('use-camera) + (if (-> arg3 param 0) + (set-setting! 'mode-name 'cam-bt-gun 0.0 0) + (remove-setting! 'mode-name) + ) + ) + (('get-cam-info) + (set! (-> (the-as vector (-> arg3 param 0)) quad) (-> this root trans quad)) + (quaternion-copy! (the-as quaternion (-> arg3 param 1)) (-> this root quat)) + (add-debug-quaternion #t (bucket-id debug-no-zbuf1) (-> this root trans) (-> this root quat)) + (quaternion-copy! (the-as quaternion (-> arg3 param 1)) (-> this cam-quat)) + #t + ) + ) + ) + +(defstate active (bt-gun-manager) + :virtual #t + :event bt-gun-manager-handler + :enter (behavior () + (send-event (handle->process (-> self parent-vehicle)) 'player-board) + (add-connection + *cam-post-hook-engine* + self + (lambda ((arg0 process)) (send-event arg0 'cam-post-update)) + #f + #f + #f + ) + ) + :trans (behavior () + (bt-gun-manager-method-17 self) + (bt-gun-manager-method-18 self 0.33) + ) + :code sleep-code + ) + +(defstate setup (bt-gun-manager) + :virtual #t + :event bt-gun-manager-handler + :code (behavior () + (set-blackout-frames (seconds 1)) + (until (and (-> *target* next-state) (= (-> *target* next-state name) 'target-turret-stance)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (let ((v1-0 (process->ppointer self))) + (set! (-> a1-0 from) v1-0) + ) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'change-mode) + (set! (-> a1-0 param 0) (the-as uint 'turret)) + (set! (-> a1-0 param 1) (the-as uint self)) + (send-event-function *target* a1-0) + ) + (suspend) + ) + (send-event self 'use-camera #t) + (set-setting! 'interp-time 'abs 0.0 0) + (go-virtual active) + ) + ) + +(define *fov-to-use* 13653.333) + +(defstate cam-bt-gun (camera-slave) + :event cam-standard-event-handler + :enter (behavior () + (when (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + (set! (-> self blend-from-type) (camera-blend-from-type unknown-1)) + (set! (-> self blend-to-type) (camera-blend-to-type unknown-0)) + 0 + ) + ) + :trans (behavior () + (seek! (-> self fov) *fov-to-use* (* 8192.0 (seconds-per-frame))) + (if (not (logtest? (-> *camera* master-options) (cam-master-options-u32 HAVE_TARGET))) + (cam-slave-go cam-free-floating) + ) + ) + :code (behavior () + (until #f + (when (not (paused?)) + (let ((a0-1 (handle->process (-> *camera* focus handle)))) + (when a0-1 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) (process->ppointer self)) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'get-turret) + (let ((a0-5 (handle->process (send-event-function a0-1 a1-1)))) + (when a0-5 + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (if (send-event a0-5 'get-cam-info (-> self trans) gp-0) + (forward-up->inv-matrix + (the-as matrix (-> self tracking)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) gp-0) + (vector-y-quaternion! (new 'stack-no-clear 'vector) gp-0) + ) + ) + ) + ) + ) + ) + ) + ) + ) + (suspend) + ) + #f + ) + ) + +(defmethod bt-gun-manager-method-23 ((this bt-gun-manager)) + (let ((v1-1 (the-as uint #xffffffff))) + (dotimes (a1-0 (-> this num-onscreen-targets)) + (set! (-> this onscreen-targets a1-0 target-pers-index) -1) + (let ((a2-3 (-> this onscreen-targets a1-0 hand))) + (dotimes (a3-2 32) + (when (logtest? v1-1 (ash 1 a3-2)) + (when (= a2-3 (-> this hud-pers a3-2 hand)) + (set! v1-1 (logclear v1-1 (ash 1 a3-2))) + (set! (-> this onscreen-targets a1-0 target-pers-index) a3-2) + ) + ) + ) + ) + ) + (dotimes (a1-3 (-> this num-onscreen-targets)) + (when (= (-> this onscreen-targets a1-3 target-pers-index) -1) + (dotimes (a2-9 32) + (when (logtest? v1-1 (ash 1 a2-9)) + (set! (-> this hud-pers a2-9 hand) (-> this onscreen-targets a1-3 hand)) + (set! (-> this hud-pers a2-9 alpha) 0.0) + (set! (-> this hud-pers a2-9 rotate) 0.0) + (set! (-> this hud-pers a2-9 size-scalar) 4.0) + (set! (-> this hud-pers a2-9 outer-rotate) 0.0) + (set! (-> this hud-pers a2-9 outer-alpha) 0.0) + (set! (-> this onscreen-targets a1-3 target-pers-index) a2-9) + (set! v1-1 (logclear v1-1 (ash 1 a2-9))) + 0 + (goto cfg-30) + ) + ) + ) + (label cfg-30) + ) + ) + #f + ) + +;; WARN: Return type mismatch symbol vs none. +;; ERROR: Function may read a register that is not set: s4 +(defmethod bt-gun-manager-method-19 ((this bt-gun-manager)) + (local-vars + (v1-17 symbol) + ;; og:preserve-this + (s4-0 object) + (f28-0 float) + (f30-0 float) + (sv-64 vector) + (sv-68 bt-hud-target-pers) + (sv-96 vector) + (sv-100 vector) + (sv-112 process) + (sv-128 vector) + (sv-144 vector) + ) + (bt-gun-manager-method-23 this) + (set! (-> this hud-target tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle-fancy-01" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (set! (-> this hud-target-inner tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle-fancy-02" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (dotimes (v1-1 (-> this num-onscreen-targets)) + (set! (-> this onscreen-targets v1-1 num-overlap) 0) + ) + (dotimes (s5-0 (-> this num-onscreen-targets)) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (let ((s2-0 transform-point-vector!) + (s1-0 s3-0) + (s0-0 (handle->process (-> this onscreen-targets s5-0 hand))) + ) + (s2-0 s1-0 (get-trans + (the-as process-focusable (if (type? s0-0 process-focusable) + (the-as process-focusable s0-0) + ) + ) + 3 + ) + ) + ) + (let ((s2-1 (+ s5-0 1)) + (s1-1 (+ (-> this num-onscreen-targets) -1)) + ) + (while (>= s1-1 s2-1) + (set! sv-128 (new 'stack-no-clear 'vector)) + (let ((s0-1 transform-point-vector!)) + (set! sv-144 sv-128) + (let ((v1-15 (-> this onscreen-targets s2-1 hand))) + (set! s4-0 (and (nonzero? (l32-false-check v1-15)) (begin + (set! sv-112 (the-as process s4-0)) + (let ((a0-15 (-> v1-15 process 0))) + (set! v1-17 (when (= (-> v1-15 pid) (-> a0-15 pid)) + (set! sv-112 (the-as process v1-17)) + (set! sv-112 a0-15) + v1-17 + ) + ) + ) + sv-112 + s4-0 + ) + ) + ) + ) + (let ((a1-9 (get-trans + (the-as process-focusable (if (type? sv-112 process-focusable) + (the-as process-focusable sv-112) + ) + ) + 3 + ) + ) + ) + (s0-1 sv-144 a1-9) + ) + ) + (let ((t9-9 vector-vector-distance) + (a1-10 s3-0) + ) + (when (< (t9-9 sv-128 a1-10) (+ (-> this onscreen-targets s5-0 size) (-> this onscreen-targets s2-1 size))) + (+! (-> this onscreen-targets s5-0 num-overlap) 1) + (+! (-> this onscreen-targets s2-1 num-overlap) 1) + ) + ) + (+! s2-1 1) + ) + ) + ) + ) + (dotimes (s5-1 (-> this num-onscreen-targets)) + (set! sv-64 (new 'stack-no-clear 'vector)) + (set! sv-68 (-> this hud-pers (-> this onscreen-targets s5-1 target-pers-index))) + (when (and (< (-> this onscreen-targets s5-1 size) 256.0) + (!= (-> (handle->process (-> this onscreen-targets s5-1 hand)) type) bt-barrel) + ) + (set! sv-96 (new 'stack-no-clear 'vector)) + (let ((s4-1 (handle->process (-> this onscreen-targets s5-1 hand)))) + (set! sv-100 (get-trans + (the-as process-focusable (if (type? s4-1 process-focusable) + (the-as process-focusable s4-1) + ) + ) + 3 + ) + ) + ) + (transform-point-vector! sv-96 sv-100) + (+! (-> sv-96 x) -1792.0) + (+! (-> sv-96 y) -1840.0) + (when (and (>= (-> sv-96 x) 0.0) (>= 2048.0 (-> sv-96 x)) (>= (-> sv-96 y) 0.0) (>= 2048.0 (-> sv-96 y))) + (cond + ((-> this onscreen-targets s5-1 hit?) + (seek! (-> sv-68 rotate) 16384.0 (* 65536.0 (seconds-per-frame))) + (seek! (-> sv-68 size-scalar) 1.0 (* 16.0 (seconds-per-frame))) + (set! (-> sv-68 alpha) 1.0) + ) + (else + (seek! (-> sv-68 size-scalar) 4.0 (* 8.0 (seconds-per-frame))) + (seek! (-> sv-68 rotate) 0.0 (* 65536.0 (seconds-per-frame))) + (seek! (-> sv-68 alpha) 0.0 (* 3.0 (seconds-per-frame))) + (set! (-> sv-68 outer-rotate) (- (-> sv-68 outer-rotate) (* 32768.0 (seconds-per-frame)))) + ) + ) + 0.0 + 0.0 + (set! f28-0 (cond + ((-> this onscreen-targets s5-1 hit?) + (set! (-> this hud-target color x) 127) + (set! (-> this hud-target color y) 75) + (set! (-> this hud-target color z) 0) + (set! f30-0 (* 80.0 (-> this onscreen-targets s5-1 alpha))) + (set! (-> this hud-target-inner color x) 127) + (set! (-> this hud-target-inner color y) 40) + (set! (-> this hud-target-inner color z) 0) + (set! f28-0 (* 80.0 (-> this onscreen-targets s5-1 alpha))) + (when (= (current-time) (-> sv-68 hold-start-time)) + (set! (-> this hud-target color x) 128) + (set! (-> this hud-target color y) 128) + (set! (-> this hud-target color z) 128) + (set! f30-0 64.0) + (set! (-> this hud-target-inner color x) 255) + (set! (-> this hud-target-inner color y) 0) + (set! (-> this hud-target-inner color z) 0) + (set! f28-0 64.0) + ) + f28-0 + ) + (else + (set! (-> this hud-target color x) 127) + (set! (-> this hud-target color y) 40) + (set! (-> this hud-target color z) 0) + (set! f30-0 (* 45.0 (-> this onscreen-targets s5-1 alpha))) + (* 80.0 (-> sv-68 alpha) (-> this onscreen-targets s5-1 alpha)) + ) + ) + ) + (let ((f0-40 (vector-vector-distance sv-100 (camera-pos)))) + 0.0 + (let* ((f0-41 (lerp-scale-clamp 1.0 0.1 f0-40 327680.0 819200.0)) + (f1-22 (* f30-0 f0-41)) + (f0-42 (* f28-0 f0-41)) + ) + (set! (-> this hud-target color w) (the int f1-22)) + (set! (-> this hud-target-inner color w) (the int f0-42)) + ) + ) + (set! (-> this hud-target angle) 0.0) + (set! (-> this hud-target flags) (hud-sprite-flags hsf3)) + (set! (-> this hud-target-inner flags) (hud-sprite-flags hsf3)) + (let* ((f0-46 (* 0.03125 (-> this onscreen-targets s5-1 size))) + (f0-48 (fmax 0.4 (fmin 2.0 f0-46))) + (f0-49 (* 2.0 f0-48)) + ) + (set! (-> this hud-target scale-x) f0-49) + (set! (-> this hud-target scale-y) f0-49) + (set! (-> this hud-target-inner scale-x) (* (-> sv-68 size-scalar) f0-49)) + (set! (-> this hud-target-inner scale-y) (* (-> sv-68 size-scalar) f0-49)) + ) + (set! (-> this hud-target pos x) (the int (the float (the int (-> sv-96 x))))) + (set! (-> this hud-target pos y) (the int (the float (the int (-> sv-96 y))))) + (set! (-> this hud-target pos z) 0) + (set! (-> this hud-target-inner pos x) (the int (the float (the int (-> sv-96 x))))) + (set! (-> this hud-target-inner pos y) (the int (the float (the int (-> sv-96 y))))) + (set! (-> this hud-target-inner pos z) 0) + (set! (-> this hud-target-inner angle) (-> sv-68 rotate)) + (set! (-> this hud-target angle) (-> sv-68 outer-rotate)) + (with-dma-buffer-add-bucket ((s3-2 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-target) s3-2 (-> *level* level-default) #f) + ) + (with-dma-buffer-add-bucket ((s3-3 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-target-inner) s3-3 (-> *level* level-default) #f) + ) + ) + ) + ) + (none) + ) + +(when (or (zero? *bt-clamp-curve-x*) (!= loading-level global)) + (set! *bt-clamp-curve-x* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-clamp-curve-x* 7 'loading-level (the-as int #t)) + ) + +(set! (-> *bt-clamp-curve-x* pts data 0 first) 0.0) + +(set! (-> *bt-clamp-curve-x* pts data 0 second) -1.0) + +(set! (-> *bt-clamp-curve-x* pts data 1 first) 25.0) + +(set! (-> *bt-clamp-curve-x* pts data 1 second) -5.5) + +(set! (-> *bt-clamp-curve-x* pts data 2 first) 35.0) + +(set! (-> *bt-clamp-curve-x* pts data 2 second) -8.5) + +(set! (-> *bt-clamp-curve-x* pts data 3 first) 50.0) + +(set! (-> *bt-clamp-curve-x* pts data 3 second) -5.0) + +(set! (-> *bt-clamp-curve-x* pts data 4 first) 65.0) + +(set! (-> *bt-clamp-curve-x* pts data 4 second) -9.0) + +(set! (-> *bt-clamp-curve-x* pts data 5 first) 90.0) + +(set! (-> *bt-clamp-curve-x* pts data 5 second) -10.0) + +(set! (-> *bt-clamp-curve-x* pts data 6 first) 180.0) + +(set! (-> *bt-clamp-curve-x* pts data 6 second) -10.0) + +(when (or (zero? *bt-accel-curve*) (!= loading-level global)) + (set! *bt-accel-curve* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-accel-curve* 4 'loading-level (the-as int #t)) + ) + +(set! (-> *bt-accel-curve* pts data 0 first) 0.0) + +(set! (-> *bt-accel-curve* pts data 0 second) 1.0) + +(set! (-> *bt-accel-curve* pts data 1 first) 1.0) + +(set! (-> *bt-accel-curve* pts data 1 second) 1.5) + +(set! (-> *bt-accel-curve* pts data 2 first) 1.5) + +(set! (-> *bt-accel-curve* pts data 2 second) 1.5) + +(set! (-> *bt-accel-curve* pts data 3 first) 2.5) + +(set! (-> *bt-accel-curve* pts data 3 second) 2.0) + +(defmethod bt-gun-manager-method-17 ((this bt-gun-manager)) + (send-event + (handle->process (-> this parent-vehicle)) + 'get-turret-pos + (-> this root trans) + (-> this parent-quat) + ) + (let ((a0-6 (new 'stack-no-clear 'vector))) + (transform-point-vector! a0-6 (-> this aim-pos)) + ) + (let ((f30-0 -1.0)) + (if (-> *setting-control* cam-current flip-vertical) + (set! f30-0 (* -1.0 f30-0)) + ) + (set! (-> this rotyv) (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 120.0 1.0)) + (set! (-> this rotxv) + (* f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 32.0 120.0 1.0)) + ) + ) + (let ((f0-4 0.6)) + (if (-> this found-target?) + (set! f0-4 (* 0.7 f0-4)) + ) + (set! (-> this rotyv) (* (-> this rotyv) f0-4)) + (set! (-> this rotxv) (* 1.2307693 f0-4 (-> this rotxv))) + 0.0 + 0.0 + (let ((f1-8 (-> this rotyv)) + (f2-1 (-> this rotxv)) + ) + 0.0 + (let* ((f1-10 (/ (fabs f1-8) f0-4)) + (f2-3 (/ (fabs f2-1) (* 1.2307693 f0-4))) + (f0-6 (* f1-10 f1-10)) + (f28-0 (* f2-3 f2-3)) + (f1-11 f28-0) + (f1-13 (* f1-11 f1-11)) + (f2-4 f0-6) + (f30-1 (sqrtf (+ f1-13 (* f2-4 f2-4)))) + ) + (let ((f26-0 0.0) + (f24-0 0.0) + ) + (cond + ((or (< 0.9 f0-6) (< 0.95 f30-1)) + (set! f26-0 2.5) + (set! f24-0 (* 6.0 (seconds-per-frame))) + ) + (else + (set! f26-0 + (cond + ((< 0.75 f0-6) + (if (-> this found-target?) + (seek! (-> this y-boost-scalar) 0.0 (* 6.0 (seconds-per-frame))) + ) + (cond + ((and (< 1.0 (-> this y-boost-scalar)) (< f30-1 0.95)) + (seek! (-> this y-boost-scalar) (fmin 1.0 (-> this y-boost-scalar)) (* 12.0 (seconds-per-frame))) + ) + (else + ) + ) + f26-0 + ) + (else + (set! f24-0 (* 60.0 (seconds-per-frame))) + 0.0 + ) + ) + ) + ) + ) + (seek! (-> this y-boost-scalar) f26-0 f24-0) + ) + (let ((f26-1 0.0) + (f24-1 0.0) + ) + (cond + ((or (< 0.9 f28-0) (< 0.95 f30-1)) + (set! f26-1 2.5) + (set! f24-1 (* 6.0 (seconds-per-frame))) + ) + (else + (set! f26-1 + (cond + ((< 0.75 f28-0) + (if (-> this found-target?) + (seek! (-> this x-boost-scalar) 0.0 (* 6.0 (seconds-per-frame))) + ) + (cond + ((and (< 1.0 (-> this x-boost-scalar)) (< f30-1 0.95)) + (seek! (-> this x-boost-scalar) (fmin 1.0 (-> this x-boost-scalar)) (* 12.0 (seconds-per-frame))) + ) + (else + ) + ) + f26-1 + ) + (else + (set! f24-1 (* 60.0 (seconds-per-frame))) + 0.0 + ) + ) + ) + ) + ) + (seek! (-> this x-boost-scalar) f26-1 f24-1) + ) + ) + ) + ) + (set! (-> this y-boost-scalar) (fmax 0.0 (fmin 2.5 (-> this y-boost-scalar)))) + (set! (-> this x-boost-scalar) (fmax 0.0 (fmin 2.5 (-> this x-boost-scalar)))) + (set! (-> this rotyv) (* (-> this rotyv) (curve2d-method-9 *bt-accel-curve* (-> this y-boost-scalar) 2))) + (set! (-> this rotxv) (* (-> this rotxv) (curve2d-method-9 *bt-accel-curve* (-> this x-boost-scalar) 2))) + (set! (-> this rotxv) (* 0.8 (-> this rotxv))) + (+! (-> this roty) (* (-> this rotyv) (seconds-per-frame))) + (+! (-> this rotx) (* (-> this rotxv) (seconds-per-frame))) + (set! (-> this roty-min) 0.0) + (set! (-> this roty-max) 1.0) + (set! (-> this rotx-min) 0.0) + (set! (-> this rotx-max) 1.0) + (when (or (>= (-> this roty-min) (-> this roty)) (>= (-> this roty) (-> this roty-max))) + (set! (-> this roty) (fmax (fmin (-> this roty) (-> this roty-max)) (-> this roty-min))) + (set! (-> this rotyv) 0.0) + ) + (when (or (>= (-> this rotx-min) (-> this rotx)) (>= (-> this rotx) (-> this rotx-max))) + (set! (-> this rotx) (fmax (fmin (-> this rotx) (-> this rotx-max)) (-> this rotx-min))) + (set! (-> this rotxv) 0.0) + ) + (let ((f0-74 (-> this rotyv))) + (-> this rotxv) + 0.0 + (cond + ((< 0.5 f0-74) + (let ((v1-106 (-> this servo-sound-state))) + (cond + ((or (zero? v1-106) (= v1-106 2) (= v1-106 4)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ((or (= v1-106 1) (= v1-106 3)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ) + ) + (set! (-> this servo-sound-state) (the-as uint 2)) + ) + ((< f0-74 -0.5) + (let ((v1-116 (-> this servo-sound-state))) + (cond + ((or (zero? v1-116) (= v1-116 1) (= v1-116 4)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ((or (= v1-116 2) (= v1-116 3)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ) + ) + (set! (-> this servo-sound-state) (the-as uint 1)) + ) + (else + (case (-> this servo-sound-state) + ((1 2) + (set! (-> this servo-sound-state) (the-as uint 3)) + (set-time! (-> this servo-state-time)) + ) + ((3) + (when (time-elapsed? (-> this servo-state-time) (seconds 0.05)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-servo-end") + (set! (-> this servo-sound-state) (the-as uint 4)) + ) + ) + ) + ) + ) + ) + (none) + ) + +(defmethod bt-gun-manager-method-18 ((this bt-gun-manager) (arg0 float)) + (local-vars (sv-80 vector) (sv-84 vector) (sv-88 vector) (sv-92 vector)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 x) (lerp 0.0 512.0 (-> this roty))) + (set! (-> s5-0 y) (lerp 0.0 416.0 (-> this rotx))) + (set! (-> s5-0 z) 0.0) + (set! (-> s5-0 w) 1.0) + (set! sv-80 s5-0) + ) + (set! sv-84 (new 'stack-no-clear 'vector)) + (set! sv-88 (new 'stack-no-clear 'vector)) + (set! sv-92 (new 'stack-no-clear 'vector)) + (set! (-> this hud-aim pos x) (the int (-> sv-80 x))) + (set! (-> this hud-aim pos y) (the int (-> sv-80 y))) + (set! (-> this hud-aim pos z) 0) + (set! (-> this hud-aim flags) (hud-sprite-flags hsf3)) + (set! (-> this hud-aim scale-x) 1.0) + (set! (-> this hud-aim scale-y) 1.0) + (let ((v1-9 (-> this hud-aim color-ptr))) + (set! (-> v1-9 0) 231) + (set! (-> v1-9 1) 168) + (set! (-> v1-9 2) 0) + (set! (-> v1-9 3) 128) + ) + (set! (-> this hud-aim tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-aim) s4-0 (-> *level* level-default) #f) + ) + (send-event (handle->process (-> this parent-vehicle)) 'get-turret-pos sv-88 sv-84) + (vector+float*! sv-88 (camera-pos) (-> (camera-matrix) fvec) 40960.0) + (+! (-> sv-80 x) -256.0) + (+! (-> sv-80 y) -208.0) + (reverse-transform-point! + sv-92 + sv-88 + (vector-float*! (new 'stack-no-clear 'vector) (-> (camera-matrix) fvec) 1.0) + sv-80 + ) + (set! (-> this aim-pos quad) (-> sv-92 quad)) + (vector-! (-> this aim-dir) sv-92 (-> this root trans)) + (vector-normalize! (-> this aim-dir) 1.0) + (quaternion-look-at! (-> this root quat) (-> this aim-dir) *up-vector*) + (blow-tower-path-cursor-method-9 + (-> this look-cursor) + (the-as int (+ (-> this look-time-offset) (-> *blow-tower-targets* mission-time))) + ) + (let ((s5-5 (new 'stack-no-clear 'quaternion))) + (send-event (handle->process (-> this parent-vehicle)) 'get-turret-pos (new 'stack-no-clear 'vector) s5-5) + (when (or (= (-> this look-mode) 2) (= (-> this look-mode) 1)) + (let ((v1-64 (entity-by-name (the-as string (-> this look-ent))))) + (when v1-64 + (cond + ((= (-> this look-mode) 2) + (let* ((s4-4 (-> v1-64 extra process)) + (a0-37 (if (type? s4-4 process-focusable) + s4-4 + ) + ) + ) + (cond + ((and a0-37 + (not (logtest? (-> (the-as process-focusable a0-37) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (set! (-> this look-cursor pos quad) (-> (get-trans (the-as process-focusable a0-37) 3) quad)) + ) + (else + (set! (-> this look-mode) (the-as uint 0)) + (set! (-> this look-time-scalar) 1.0) + ) + ) + ) + ) + (else + (set! (-> this look-cursor pos quad) (-> v1-64 extra trans quad)) + ) + ) + ) + ) + ) + (when (= (-> this look-mode) 3) + (let* ((s4-8 (handle->process (-> this look-proc))) + (a0-43 (if (type? s4-8 process-focusable) + s4-8 + ) + ) + ) + (if (and a0-43 + (not (logtest? (-> (the-as process-focusable a0-43) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (set! (-> this look-cursor pos quad) (-> (get-trans (the-as process-focusable a0-43) 3) quad)) + ) + ) + ) + (let ((s4-12 (vector-! (new 'stack-no-clear 'vector) (-> this look-cursor pos) (-> this root trans))) + (s3-1 (new 'stack-no-clear 'matrix)) + ) + 2.0 + 0.0 + (let ((s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat)))) + (cond + ((zero? (-> this look-mode)) + (let ((a0-47 s2-2)) + (set! (-> a0-47 quad) (-> s2-2 quad)) + (set! (-> a0-47 y) 0.0) + (vector-normalize! a0-47 1.0) + ) + (let ((a0-48 s4-12)) + (set! (-> a0-48 quad) (-> s4-12 quad)) + (set! (-> a0-48 y) 0.0) + (vector-normalize! a0-48 1.0) + ) + ) + (else + (vector-normalize! s4-12 1.0) + ) + ) + (let* ((f0-24 (vector-dot s4-12 s2-2)) + (f0-25 (+ 1.0 f0-24)) + (f0-26 (* 0.5 f0-25)) + (f0-27 (* f0-26 f0-26)) + (f0-28 (lerp 0.0 2.0 f0-27)) + (f30-0 (fmax 0.3 (fmin 2.0 f0-28))) + ) + (let ((s1-0 (the-as bt-hellcat (handle->process (-> this parent-vehicle))))) + (when s1-0 + (when (handle->process (-> s1-0 grunt-rider-boarded?)) + (let ((s2-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s1-0 root quat)))) + (let ((a0-59 s2-3)) + (set! (-> a0-59 quad) (-> s2-3 quad)) + (set! (-> a0-59 y) 0.0) + (vector-normalize! a0-59 1.0) + ) + (vector-rotate-around-y! s2-3 s2-3 (-> s1-0 land-grunt-offset)) + (let ((f0-33 (vector-dot s4-12 s2-3))) + (when (< 0.2 f0-33) + (set! (-> s4-12 quad) (-> s2-3 quad)) + (set! f30-0 6.0) + ) + ) + ) + ) + ) + ) + (let ((f30-1 (* f30-0 (-> this look-time-scalar)))) + (if (zero? (-> this look-mode)) + (matrix-u-f-compose s3-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) s5-5) s4-12) + (matrix-f-u-compose s3-1 s4-12 (vector-y-quaternion! (new 'stack-no-clear 'vector) s5-5)) + ) + (matrix->quaternion s5-5 s3-1) + (quaternion-slerp! (-> this cam-quat) (-> this cam-quat) s5-5 (* f30-1 (seconds-per-frame))) + ) + ) + ) + ) + ) + (quaternion-copy! (-> this aim-quat) (-> this cam-quat)) + (let ((s5-6 (the-as bt-hellcat (handle->process (-> this parent-vehicle))))) + (if s5-6 + (set! (-> this dest-rot-y-shift) + (- (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat))) + (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s5-6 root quat))) + ) + ) + ) + ) + 0 + (none) + ) + +(defbehavior bt-hellcat-init-by-other bt-hellcat ((arg0 bt-obj-init-params)) + (init-collision! self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-hellcat" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-fields (-> self path-cursor)) + (set! (-> self path-cursor path) (-> arg0 path)) + (set! (-> self task-man) (-> arg0 task-man)) + (init-params self) + (go-virtual wait-for-player) + ) + +(defmethod bt-hellcat-method-46 ((this bt-hellcat) (arg0 vector) (arg1 quaternion)) + (set! (-> arg0 quad) (-> this root trans quad)) + (quaternion-copy! arg1 (-> this root quat)) + (vector<-cspace! arg0 (-> this node-list data 5)) + (vector+float*! arg0 arg0 (-> this node-list data 5 bone transform uvec) 8192.0) + (matrix->quaternion arg1 (-> this node-list data 5 bone transform)) + ) + +(defmethod bt-gun-manager-method-24 ((this bt-gun-manager) (arg0 quaternion)) + (let* ((f0-1 (- (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat))) + (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) arg0)) + ) + ) + (f0-2 (* 0.000061035156 f0-1)) + (f0-3 (+ 0.5 f0-2)) + (f0-4 (floor f0-3)) + ) + (* 16384.0 f0-4) + ) + ) + +(defmethod bt-vehicle-event-handler ((this bt-hellcat) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('lock-view 'rotate-view 'unlock-view) + #f + ) + (('fire) + (let ((v0-0 (the-as object #t))) + (set! (-> this barrel-fire-state (-> arg3 param 0)) (the-as symbol v0-0)) + v0-0 + ) + ) + (('grunt-rider-board) + (set! (-> this grunt-rider-boarded?) (process->handle arg0)) + (let ((a0-11 (handle->process (-> this child-turret)))) + (if a0-11 + (set! (-> this land-grunt-offset) + (bt-gun-manager-method-24 (the-as bt-gun-manager a0-11) (-> this root quat)) + ) + ) + ) + (send-event (handle->process (-> this child-turret)) 'snap-to-center) + (send-event (handle->process (-> this child-turret)) 'look-at-restore (-> this grunt-rider)) + ) + (('roll-amount) + (set! (-> this dest-roll-amount) (* 182.04445 (the-as float (-> arg3 param 0)))) + (set! (-> this roll-amount-seek-rate) (* 182.04445 (the-as float (-> arg3 param 1)))) + ) + (('kill-rider) + (send-event (handle->process (-> this child-turret)) 'look-at-restore (process->handle arg0)) + (call-parent-method this arg0 arg1 arg2 arg3) + ) + (('unlock-view) + (send-event (handle->process (-> this child-turret)) 'unlock-view) + ) + (('get-attack-pos) + (bt-hellcat-method-46 this (the-as vector (-> arg3 param 0)) (new 'stack-no-clear 'quaternion)) + ) + (('assign-spot) + (let ((s4-1 (new 'stack-no-clear 'quaternion))) + (let ((a1-12 (-> arg3 param 1))) + (if a1-12 + (quaternion-copy! s4-1 (the-as quaternion a1-12)) + ) + ) + (bt-hellcat-method-48 this (the-as handle (-> arg3 param 0)) s4-1) + ) + ) + (('retrieve-spot) + (bt-hellcat-method-47 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + (the-as symbol (-> arg3 param 3)) + ) + ) + (('get-turret-pos) + (bt-hellcat-method-46 this (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +(defstate wait-for-player (bt-hellcat) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (send-event (handle->process (-> self task-man)) 'player-board) + (go-virtual player-riding) + ) + (else + (bt-vehicle-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self child-turret) + (ppointer->handle (process-spawn bt-gun-manager (process->handle self) :name "bt-gun-manager" :to self)) + ) + ) + :trans (behavior () + '() + ) + :code sleep-code + :post transform-post + ) + +(defmethod bt-hellcat-method-51 ((this bt-hellcat)) + (dotimes (s5-0 4) + (let ((f30-0 -2048.0)) + (if (= (logand s5-0 1) 1) + (set! f30-0 (* -1.0 f30-0)) + ) + (cond + ((-> this barrel-fire-state s5-0) + (seek! (-> this jmod-barrels s5-0 transform trans z) f30-0 (* 28672.0 (seconds-per-frame))) + (if (= (-> this jmod-barrels s5-0 transform trans z) f30-0) + (set! (-> this barrel-fire-state s5-0) #f) + ) + ) + (else + (seek! (-> this jmod-barrels s5-0 transform trans z) 0.0 (* 7168.0 (seconds-per-frame))) + ) + ) + ) + ) + #f + ) + +(defstate player-riding (bt-hellcat) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + (set-blackout-frames 0) + (send-event (handle->process (-> self task-man)) 'set-turret (-> self child-turret)) + (set-time! (-> self state-time)) + ) + :exit (behavior () + '() + ) + :trans (behavior () + (let ((gp-0 (if (handle->process (-> self grunt-rider)) + (-> self grunt-rider) + (send-event (handle->process (-> self task-man)) 'get-vehicle 1) + ) + ) + ) + (dotimes (s5-0 (-> self rider-spots length)) + (send-event (handle->process (-> self rider-spots data s5-0 rider)) 'set-track gp-0) + ) + ) + (if (not (-> self mission-fail?)) + (bt-vehicle-method-31 self) + ) + (bt-hellcat-method-51 self) + (set! (-> *game-info* health-bar-vehicle) (/ (-> self hit-points) (-> self max-hit-points))) + ) + :code sleep-code + :post (behavior () + (draw-thruster self) + (logior! (-> self skel status) (joint-control-status sync-math)) + (transform-post) + ) + ) + +(defmethod init-collision! ((this bt-hellcat)) + (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 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 26624.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 2048.0 -409.6 6144.0) + (set! (-> v1-15 nav-radius) 24576.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> v1-17 prim-core action) (collide-action solid)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 4096.0 -10240.0 8192.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-21 prim-core action) (collide-action solid)) + (set! (-> v1-21 transform-index) 0) + (set-vector! (-> v1-21 local-sphere) -10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-23 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-23 prim-core action) (collide-action solid rideable)) + (set! (-> v1-23 transform-index) 3) + (set-vector! (-> v1-23 local-sphere) 0.0 0.0 0.0 26624.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-25 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> this root) s5-0) + ) + (iterate-prims + (-> this root) + (lambda ((arg0 collide-shape-prim)) + (let ((v1-0 (-> arg0 prim-core prim-type))) + (cond + ((= v1-0 -1) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere)) + ) + ((= v1-0 1) + (set! (-> arg0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-mesh)) + ) + ((zero? v1-0) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + ) + ) + ) + (none) + ) + ) + 0 + (none) + ) + +(defmethod find-target ((this bt-gun-manager)) + (local-vars + (sv-16 float) + (sv-20 process-drawable) + (sv-24 int) + (sv-32 process-drawable) + (sv-80 vector) + (sv-84 vector) + (sv-88 float) + (sv-128 vector) + (sv-132 vector) + (sv-136 float) + (sv-208 vector) + (sv-212 vector) + (sv-216 vector) + (sv-220 vector) + (sv-224 float) + (sv-228 bt-gun-manager-target) + (sv-784 process-drawable) + (sv-832 vector) + (sv-836 vector) + (sv-840 float) + (sv-880 vector) + (sv-884 vector) + (sv-888 float) + (sv-960 vector) + (sv-964 vector) + (sv-968 vector) + (sv-972 vector) + (sv-976 float) + (sv-980 bt-gun-manager-target) + (sv-1536 process-drawable) + (sv-1584 vector) + (sv-1588 vector) + (sv-1592 float) + (sv-1632 vector) + (sv-1636 vector) + (sv-1640 float) + (sv-1712 vector) + (sv-1716 vector) + (sv-1720 vector) + (sv-1724 vector) + (sv-1728 float) + (sv-1732 bt-gun-manager-target) + ) + (set! (-> this num-onscreen-targets) 0) + (set! sv-16 (the-as float 18.0)) + (set! sv-20 (the-as process-drawable #f)) + (set! sv-24 -1) + (when #f + (let ((v1-4 (-> *collide-player-list* alive-list next0))) + *collide-player-list* + (let ((s5-0 (-> v1-4 next0))) + (while (!= v1-4 (-> *collide-player-list* alive-list-end)) + (let* ((v1-5 (the-as collide-shape (-> (the-as connection v1-4) param1))) + (s4-0 (-> v1-5 root-prim)) + ) + (when (logtest? (-> s4-0 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-0 (-> v1-5 process))) + (set! sv-32 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (when (and sv-32 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-32) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-1 (new 'stack-no-clear 'vector))) + (set! (-> s3-1 quad) (-> (get-trans (the-as process-focusable sv-32) 3) quad)) + (set! sv-80 s3-1) + ) + (set! sv-84 (new 'stack-no-clear 'vector)) + (set! sv-88 (the-as float 0.0)) + (set! sv-88 (vector-vector-distance (-> this root trans) sv-80)) + (vector-! sv-84 sv-80 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-84 (-> (camera-matrix) fvec))) (< sv-88 819200.0)) + (set! sv-128 (new 'stack-no-clear 'vector)) + (set! sv-132 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-136 (the-as float 0.0)) + (set-vector! sv-132 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-132 x) -256.0) + (+! (-> sv-132 y) -208.0) + (+! (-> sv-132 x) 2048.0) + (+! (-> sv-132 y) 2048.0) + (transform-point-vector! sv-128 sv-80) + (set! (-> sv-128 z) 0.0) + (set! sv-208 (new 'stack-no-clear 'vector)) + (set! sv-212 (new 'stack-no-clear 'vector)) + (set! sv-216 (new 'stack-no-clear 'vector)) + (set! sv-220 (new 'stack-no-clear 'vector)) + (vector+float*! sv-208 sv-80 (-> (camera-matrix) rvec) (* 0.6 (-> s4-0 prim-core world-sphere w))) + (vector+float*! sv-212 sv-80 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-0 prim-core world-sphere w)))) + (transform-point-vector! sv-216 sv-208) + (transform-point-vector! sv-220 sv-212) + (set! (-> sv-216 z) 0.0) + (set! (-> sv-220 z) 0.0) + (set! sv-224 (* 0.5 (vector-vector-distance sv-216 sv-220))) + (set! sv-228 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-136 (vector-vector-distance sv-132 sv-128)) + (set! sv-136 (- sv-136 sv-224)) + (let ((a1-11 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-11 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-11 move-dist) sv-80 (-> a1-11 start-pos)) + (let ((v1-57 a1-11)) + (set! (-> v1-57 radius) 40.96) + (set! (-> v1-57 collide-with) (collide-spec backgnd)) + (set! (-> v1-57 ignore-process0) #f) + (set! (-> v1-57 ignore-process1) #f) + (set! (-> v1-57 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-57 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-11) 0.0) + (when (< sv-136 sv-16) + (set! sv-20 sv-32) + (set! sv-16 sv-136) + (set! (-> this hit-pos quad) (-> sv-80 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-228 transformed-pos) sv-80) + (set! (-> sv-228 hit?) #f) + (set! (-> sv-228 hand) (process->handle sv-32)) + (set! (-> sv-228 size) sv-224) + (set! (-> sv-228 alpha) (lerp-scale-clamp 0.0 1.0 sv-88 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-4 s5-0) + *collide-player-list* + (set! s5-0 (-> s5-0 next0)) + ) + ) + ) + ) + (when #t + (when #f + (let ((v1-80 (-> *collide-hit-by-player-list* alive-list next0))) + *collide-hit-by-player-list* + (let ((s5-1 (-> v1-80 next0))) + (while (!= v1-80 (-> *collide-hit-by-player-list* alive-list-end)) + (let* ((v1-81 (the-as collide-shape (-> (the-as connection v1-80) param1))) + (s4-1 (-> v1-81 root-prim)) + ) + (when (logtest? (-> s4-1 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-9 (-> v1-81 process))) + (set! sv-784 (if (type? s3-9 process-focusable) + s3-9 + ) + ) + ) + (when (and sv-784 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-784) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-10 (new 'stack-no-clear 'vector))) + (set! (-> s3-10 quad) (-> (get-trans (the-as process-focusable sv-784) 3) quad)) + (set! sv-832 s3-10) + ) + (set! sv-836 (new 'stack-no-clear 'vector)) + (set! sv-840 (the-as float 0.0)) + (set! sv-840 (vector-vector-distance (-> this root trans) sv-832)) + (vector-! sv-836 sv-832 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-836 (-> (camera-matrix) fvec))) (< sv-840 819200.0)) + (set! sv-880 (new 'stack-no-clear 'vector)) + (set! sv-884 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-888 (the-as float 0.0)) + (set-vector! sv-884 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-884 x) -256.0) + (+! (-> sv-884 y) -208.0) + (+! (-> sv-884 x) 2048.0) + (+! (-> sv-884 y) 2048.0) + (transform-point-vector! sv-880 sv-832) + (set! (-> sv-880 z) 0.0) + (set! sv-960 (new 'stack-no-clear 'vector)) + (set! sv-964 (new 'stack-no-clear 'vector)) + (set! sv-968 (new 'stack-no-clear 'vector)) + (set! sv-972 (new 'stack-no-clear 'vector)) + (vector+float*! sv-960 sv-832 (-> (camera-matrix) rvec) (* 0.6 (-> s4-1 prim-core world-sphere w))) + (vector+float*! sv-964 sv-832 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-1 prim-core world-sphere w)))) + (transform-point-vector! sv-968 sv-960) + (transform-point-vector! sv-972 sv-964) + (set! (-> sv-968 z) 0.0) + (set! (-> sv-972 z) 0.0) + (set! sv-976 (* 0.5 (vector-vector-distance sv-968 sv-972))) + (set! sv-980 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-888 (vector-vector-distance sv-884 sv-880)) + (set! sv-888 (- sv-888 sv-976)) + (let ((a1-25 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-25 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-25 move-dist) sv-832 (-> a1-25 start-pos)) + (let ((v1-133 a1-25)) + (set! (-> v1-133 radius) 40.96) + (set! (-> v1-133 collide-with) (collide-spec backgnd)) + (set! (-> v1-133 ignore-process0) #f) + (set! (-> v1-133 ignore-process1) #f) + (set! (-> v1-133 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-133 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-25) 0.0) + (when (< sv-888 sv-16) + (set! sv-20 sv-784) + (set! sv-16 sv-888) + (set! (-> this hit-pos quad) (-> sv-832 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-980 transformed-pos) sv-832) + (set! (-> sv-980 hit?) #f) + (set! (-> sv-980 hand) (process->handle sv-784)) + (set! (-> sv-980 size) sv-976) + (set! (-> sv-980 alpha) (lerp-scale-clamp 0.0 1.0 sv-840 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-80 s5-1) + *collide-hit-by-player-list* + (set! s5-1 (-> s5-1 next0)) + ) + ) + ) + ) + (when #t + (let ((v1-155 (-> *collide-hit-by-others-list* alive-list next0))) + *collide-hit-by-others-list* + (let ((s5-2 (-> v1-155 next0))) + (while (!= v1-155 (-> *collide-hit-by-others-list* alive-list-end)) + (let* ((v1-156 (the-as collide-shape (-> (the-as connection v1-155) param1))) + (s4-2 (-> v1-156 root-prim)) + ) + (when (logtest? (-> s4-2 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-18 (-> v1-156 process))) + (set! sv-1536 (if (type? s3-18 process-focusable) + s3-18 + ) + ) + ) + (when (and sv-1536 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-1536) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-19 (new 'stack-no-clear 'vector))) + (set! (-> s3-19 quad) (-> (get-trans (the-as process-focusable sv-1536) 3) quad)) + (set! sv-1584 s3-19) + ) + (set! sv-1588 (new 'stack-no-clear 'vector)) + (set! sv-1592 (the-as float 0.0)) + (set! sv-1592 (vector-vector-distance (-> this root trans) sv-1584)) + (vector-! sv-1588 sv-1584 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-1588 (-> (camera-matrix) fvec))) (< sv-1592 819200.0)) + (set! sv-1632 (new 'stack-no-clear 'vector)) + (set! sv-1636 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-1640 (the-as float 0.0)) + (set-vector! sv-1636 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-1636 x) -256.0) + (+! (-> sv-1636 y) -208.0) + (+! (-> sv-1636 x) 2048.0) + (+! (-> sv-1636 y) 2048.0) + (transform-point-vector! sv-1632 sv-1584) + (set! (-> sv-1632 z) 0.0) + (set! sv-1712 (new 'stack-no-clear 'vector)) + (set! sv-1716 (new 'stack-no-clear 'vector)) + (set! sv-1720 (new 'stack-no-clear 'vector)) + (set! sv-1724 (new 'stack-no-clear 'vector)) + (vector+float*! sv-1712 sv-1584 (-> (camera-matrix) rvec) (* 0.6 (-> s4-2 prim-core world-sphere w))) + (vector+float*! sv-1716 sv-1584 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-2 prim-core world-sphere w)))) + (transform-point-vector! sv-1720 sv-1712) + (transform-point-vector! sv-1724 sv-1716) + (set! (-> sv-1720 z) 0.0) + (set! (-> sv-1724 z) 0.0) + (set! sv-1728 (* 0.5 (vector-vector-distance sv-1720 sv-1724))) + (set! sv-1732 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-1640 (vector-vector-distance sv-1636 sv-1632)) + (set! sv-1640 (- sv-1640 sv-1728)) + (let ((a1-39 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-39 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-39 move-dist) sv-1584 (-> a1-39 start-pos)) + (let ((v1-208 a1-39)) + (set! (-> v1-208 radius) 40.96) + (set! (-> v1-208 collide-with) (collide-spec backgnd)) + (set! (-> v1-208 ignore-process0) #f) + (set! (-> v1-208 ignore-process1) #f) + (set! (-> v1-208 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-208 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-39) 0.0) + (when (< sv-1640 sv-16) + (set! sv-20 sv-1536) + (set! sv-16 sv-1640) + (set! (-> this hit-pos quad) (-> sv-1584 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-1732 transformed-pos) sv-1584) + (set! (-> sv-1732 hit?) #f) + (set! (-> sv-1732 hand) (process->handle sv-1536)) + (set! (-> sv-1732 size) sv-1728) + (set! (-> sv-1732 alpha) (lerp-scale-clamp 0.0 1.0 sv-1592 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-155 s5-2) + *collide-hit-by-others-list* + (set! s5-2 (-> s5-2 next0)) + ) + ) + ) + ) + ) + (cond + (sv-20 + (let ((s5-3 (process->handle sv-20))) + (when (or (!= (-> this target-hand) s5-3) (not (-> this found-target?))) + (let ((s4-3 (-> this hud-pers (-> this onscreen-targets sv-24 target-pers-index)))) + (set! (-> s4-3 alpha) 0.0) + (set! (-> s4-3 rotate) 0.0) + (when (time-elapsed? (-> this last-beep-time) (seconds 0.1)) + (sound-play "tracking-beep1" :vol 90) + (set-time! (-> this last-beep-time)) + ) + (set! (-> s4-3 size-scalar) 4.0) + (set-time! (-> s4-3 hold-start-time)) + ) + ) + (set! (-> this target-hand) (the-as handle s5-3)) + ) + (set! (-> this found-target?) #t) + (let ((v0-53 (the-as object #t))) + (set! (-> this onscreen-targets sv-24 hit?) (the-as symbol v0-53)) + v0-53 + ) + ) + (else + (set! (-> this found-target?) #f) + (vector+float*! (-> this hit-pos) (-> this root trans) (-> this aim-dir) 327680.0) + ) + ) + ) + +;; WARN: Return type mismatch uint vs none. +(defmethod fire-shot ((this bt-gun-manager)) + (when (and (cpad-hold? 0 r1) (time-elapsed? (-> this last-fire-time) (seconds 0.1))) + (set-time! (-> this last-fire-time)) + (new 'stack 'projectile-init-by-other-params) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (new 'stack-no-clear 'vector) + 491520.0 + (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)) + (let* ((s4-0 (handle->process (-> this parent-vehicle))) + (v1-22 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (when v1-22 + (vector<-cspace! s5-0 (-> v1-22 node-list data (-> *bt-hellcat-gun-nodes* (-> this fire-index)))) + (send-event (handle->process (-> this parent-vehicle)) 'fire (-> this fire-index)) + ) + ) + (sound-play "hc-gun-fire" :position (-> this root trans)) + (let ((s4-2 (new 'stack-no-clear 'collide-query))) + (set! (-> s4-2 start-pos quad) (-> this root trans quad)) + (vector-! (-> s4-2 move-dist) (-> this hit-pos) (-> s4-2 start-pos)) + (let ((v1-35 s4-2)) + (set! (-> v1-35 radius) 1228.8) + (set! (-> v1-35 collide-with) (collide-spec backgnd civilian enemy obstacle hit-by-others-list)) + (set! (-> v1-35 ignore-process0) (handle->process (-> this parent-vehicle))) + (set! (-> v1-35 ignore-process1) (handle->process (-> *blow-tower-targets* pickup))) + (set! (-> v1-35 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-35 action-mask) (collide-action solid)) + ) + (let ((f0-2 (fill-and-probe-using-line-sphere *collide-cache* s4-2))) + (when (>= f0-2 0.0) + (vector-float*! (-> s4-2 move-dist) (-> s4-2 move-dist) f0-2) + (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)))) + (sound-play "hellcat-riccos" :position s3-2) + (cond + ((logtest? (-> *part-group-id-table* 1461 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) + (-> (vector+! + (new 'stack-no-clear 'vector) + s3-2 + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) + ) + quad + ) + ) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1461)) + ) + (else + (set! (-> *launch-matrix* trans quad) + (-> (vector+! + (new 'stack-no-clear 'vector) + s3-2 + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) + ) + quad + ) + ) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1461)) + ) + ) + ) + (when (and (-> s4-2 best-other-tri collide-ptr) (let ((s3-5 (-> s4-2 best-other-tri collide-ptr))) + (if (type? s3-5 collide-shape-prim-sphere) + s3-5 + ) + ) + ) + (let* ((s3-6 (-> s4-2 best-other-tri collide-ptr)) + (a0-50 (-> (the-as collide-shape-prim-sphere (if (type? s3-6 collide-shape-prim-sphere) + (the-as collide-shape-prim-sphere s3-6) + ) + ) + cshape + process + ) + ) + ) + (if a0-50 + (send-event + a0-50 + 'attack + #f + (static-attack-info + :mask (vehicle-impulse-factor) + ((id (new-attack-id)) + (damage 1.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (mode 'eco-blue) + (attacker-velocity (vector-! (new 'stack-no-clear 'vector) (-> this hit-pos) (-> s4-2 start-pos))) + ) + ) + ) + ) + ) + ) + ) + ) + (let ((s3-8 (vector-! + (new 'stack-no-clear 'vector) + (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)) + s5-0 + ) + ) + ) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 76 (seconds 0.05)) + (draw-beam (-> *part-id-table* 231) s5-0 s3-8 #t) + (draw-beam (-> *part-id-table* 364) s5-0 s3-8 #f) + ) + ) + ) + (+! (-> this fire-index) 1) + (logand! (-> this fire-index) 3) + ) + (none) + ) + +(defun draw-path-blow-curve ((arg0 cubic-curve) (arg1 vector)) + (let ((s4-0 (new 'stack-no-clear 'matrix)) + (s3-0 10) + ) + (cubic-curve-method-10 arg0 (-> s4-0 uvec) 0.0) + (add-debug-x #t (bucket-id debug-no-zbuf1) (-> s4-0 uvec) (the-as rgba arg1)) + (dotimes (s2-0 s3-0) + (set! (-> s4-0 rvec quad) (-> s4-0 uvec quad)) + (let ((f0-2 (/ (+ 1.0 (the float s2-0)) (the float s3-0)))) + (cubic-curve-method-10 arg0 (-> s4-0 uvec) f0-2) + ) + (add-debug-line + #t + (bucket-id debug-no-zbuf1) + (-> s4-0 rvec) + (-> s4-0 uvec) + (the-as rgba arg1) + #f + (the-as rgba -1) + ) + ) + ) + #f + ) + +(defmethod bt-vehicle-method-31 ((this bt-hellcat)) + (local-vars (f30-2 float) (sv-256 vector) (sv-260 vector) (sv-264 vector) (sv-268 vector)) + (set-vector! (-> this rider-spots data 0 offset-pos) 0.0 0.0 0.0 1.0) + (set-vector! (-> this rider-spots data 1 offset-pos) 0.0 0.0 0.0 1.0) + (let ((s5-0 (new 'stack 'blow-tower-clock))) + (set! (-> s5-0 debug?) #f) + (send-event (handle->process (-> this task-man)) 'get-clock s5-0) + (blow-tower-path-cursor-method-9 (-> this path-cursor) (the-as int (-> s5-0 elapsed-clock-time))) + (if (-> s5-0 debug-lock-view?) + (send-event (handle->process (-> this child-turret)) 'snap-forward) + ) + (let ((f0-9 (* 3.0 (seconds-per-frame)))) + (if (-> s5-0 debug?) + (set! f0-9 1.0) + ) + (when (not (-> this inited?)) + (set! (-> this inited?) #t) + (set! f0-9 1.0) + ) + (vector-lerp! (-> this path-pos) (-> this path-pos) (-> this path-cursor pos) f0-9) + ) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s2-0 quad) (-> this pre-bounce-pos quad)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + 0.0 + (set! (-> this pre-bounce-pos quad) (-> this path-pos quad)) + (bt-vehicle-method-40 this (the-as int (-> s5-0 elapsed-clock-time))) + (+! (-> this pre-bounce-pos y) (-> this path-height-offset)) + (vector-! s4-0 s2-0 (-> this pre-bounce-pos)) + (let ((f30-0 (/ (vector-length s4-0) (seconds-per-frame)))) + (vector-! s3-0 s4-0 (-> this last-vel)) + (vector-length s3-0) + (let ((f28-0 (lerp-scale-clamp 0.0 1.0 f30-0 81920.0 163840.0))) + (sound-play-by-name + (static-sound-name "hc-engine") + (-> this engine-sound) + 1024 + (the int (* 1524.0 (lerp 0.0 0.25 f28-0))) + 0 + (sound-group) + (-> this root trans) + ) + (sound-play-by-name + (static-sound-name "hc-thrust") + (-> this thrust-sound) + (the int (* 1024.0 (lerp 0.5 1.0 f28-0))) + 0 + 0 + (sound-group) + (-> this root trans) + ) + ) + (set! (-> this last-vel quad) (-> s4-0 quad)) + (set! (-> this last-speed) f30-0) + ) + ) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (let ((a2-8 (new 'stack-no-clear 'vector))) + (bt-vehicle-method-41 this s4-1 a2-8) + ) + (vector+! (-> this root trans) (-> this pre-bounce-pos) s4-1) + ) + (let ((v1-58 (new 'stack-no-clear 'vector))) + (set! (-> v1-58 quad) (-> this path-cursor norm quad)) + (set! sv-256 v1-58) + ) + (set! sv-260 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-264 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-268 (new 'stack-no-clear 'vector)) + (set! (-> sv-260 y) 0.0) + (vector-normalize! sv-260 1.0) + (set! (-> sv-264 y) 0.0) + (vector-normalize! sv-264 1.0) + (set! (-> sv-256 y) 0.0) + (vector-normalize! sv-256 1.0) + (seek! + (-> this roll-amount) + (-> this dest-roll-amount) + (* (-> this roll-amount-seek-rate) (seconds-per-frame)) + ) + (let ((s4-2 (quaternion-look-at! (new 'stack-no-clear 'quaternion) sv-256 *up-vector*)) + (f30-1 (seconds-per-frame)) + ) + 0.0 + (let ((v1-68 (the-as bt-gun-manager (handle->process (-> this child-turret)))) + (s3-3 (-> this pitch-quat)) + ) + (let ((f28-1 (-> this roll-amount))) + (vector-rotate-around-axis! sv-268 (the-as quaternion sv-260) (-> v1-68 rot-y-shift) *up-vector*) + (quaternion-vector-angle! s3-3 sv-268 f28-1) + ) + (quaternion*! s4-2 s3-3 s4-2) + ) + (let* ((f0-33 (vector-dot sv-256 sv-264)) + (f1-5 (* 2.5 (- 1.0 f0-33))) + (f0-36 (- 1.0 (* (- 1.0 f1-5) (- 1.0 f1-5)))) + ) + (if (< 0.0 (vector-dot sv-256 sv-260)) + (set! f0-36 (* -1.0 f0-36)) + ) + (quaternion-rotate-local-z! s4-2 s4-2 (* 8192.0 f0-36)) + ) + (if (-> s5-0 debug?) + (set! f30-1 1.0) + ) + (let ((f0-38 (-> this path-height-vel))) + 0.0 + (let ((f0-41 (fmax -1.0 (fmin 1.0 (* 0.000024414063 f0-38))))) + (quaternion-rotate-local-x! s4-2 s4-2 (* -4551.1113 f0-41)) + ) + ) + (quaternion-slerp! (-> this quat-before-bounce) (-> this quat-before-bounce) s4-2 f30-1) + ) + ) + (quaternion-copy! (-> this root quat) (-> this quat-before-bounce)) + (let ((s5-1 (new 'stack-no-clear 'quaternion))) + 1.0 + (set! f30-2 (cond + ((handle->process (-> this grunt-rider-boarded?)) + (quaternion-vector-angle! s5-1 sv-268 1820.4445) + 5.0 + ) + (else + (set! f30-2 1.0) + (quaternion-identity! s5-1) + f30-2 + ) + ) + ) + (quaternion-slerp! (-> this quat-grunt-tilt) (-> this quat-grunt-tilt) s5-1 (* f30-2 (seconds-per-frame))) + ) + (quaternion*! (-> this root quat) (-> this quat-grunt-tilt) (-> this quat-before-bounce)) + (when (time-elapsed? (-> this state-time) (seconds 0.2)) + (let ((s5-2 (new 'stack-no-clear 'quaternion)) + (f30-3 (fmin 1.0 (* 20.0 (seconds-per-frame)))) + ) + (let ((s4-3 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> this child-turret)) 'aim-quat s5-2) + (send-event (handle->process (-> this child-turret)) 'hit-pos s4-3) + ) + (new 'stack-no-clear 'vector) + (quaternion-vector-angle! (-> this jmod-rgun rotation) *up-vector* -2730.6667) + (quaternion-vector-angle! (-> this jmod-lgun rotation) *up-vector* -2730.6667) + (quaternion-rotate-local-x! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) -1456.3556) + (quaternion-rotate-local-x! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) -1456.3556) + (let ((v1-129 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (when v1-129 + (let* ((f1-16 (-> v1-129 rotx)) + (f0-47 (-> v1-129 roty)) + (f1-17 (* 2.0 f1-16)) + (f0-48 (* 2.0 f0-47)) + (f26-2 (+ -1.0 f1-17)) + (f28-2 (+ -1.0 f0-48)) + ) + (quaternion-rotate-local-x! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) (* 2730.6667 f26-2)) + (quaternion-rotate-local-x! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) (* 2730.6667 f26-2)) + (quaternion-rotate-local-y! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) 546.13336) + (quaternion-rotate-local-y! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) 546.13336) + (quaternion-rotate-local-y! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) (* -1820.4445 f28-2)) + (quaternion-rotate-local-y! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) (* 1820.4445 f28-2)) + ) + ) + ) + (logclear! (-> this draw status) (draw-control-status force-fade)) + (set! (-> this draw force-fade) (the-as uint 32)) + (let ((s4-4 (new 'stack-no-clear 'vector))) + (vector-z-quaternion! s4-4 s5-2) + (vector-normalize! s4-4 1.0) + (let ((s5-3 (quaternion-look-at! (new 'stack-no-clear 'quaternion) s4-4 *up-vector*))) + (let ((s2-3 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (s3-4 (new 'stack-no-clear 'vector)) + ) + (vector-x-quaternion! s3-4 s5-3) + (let ((a0-101 s3-4)) + (set! (-> a0-101 quad) (-> s3-4 quad)) + (set! (-> a0-101 y) 0.0) + (vector-normalize! a0-101 1.0) + ) + (let ((f0-59 (vector-dot s3-4 s2-3))) + (vector+float*! s3-4 s3-4 s2-3 (- f0-59)) + ) + (let* ((f28-3 (atan (-> s3-4 y) 1.0)) + (f1-19 (atan (-> s4-4 y) 1.0)) + (f0-65 (lerp f28-3 0.0 (fmax 0.0 (fmin 1.0 (* 0.0002746582 f1-19))))) + ) + (quaternion-rotate-local-z! s5-3 s5-3 f0-65) + ) + ) + (quaternion-slerp! (-> this jmod-turret-guns rotation) (-> this jmod-turret-guns rotation) s5-3 f30-3) + ) + ) + ) + (when (and (handle->process (-> this grunt-rider)) (handle->process (-> this grunt-rider-boarded?))) + (let ((a0-118 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (when a0-118 + (if (!= (the float (sar (shl (the int (bt-gun-manager-method-24 a0-118 (-> this root quat))) 48) 48)) + (the float (sar (shl (the int (-> this land-grunt-offset)) 48) 48)) + ) + (send-event (handle->process (-> this grunt-rider)) 'rider-eject) + ) + ) + ) + ) + ) + (call-parent-method this) + (none) + ) + +(defbehavior bt-pickup-init-by-other bt-pickup ((arg0 bt-obj-init-params)) + (init-collision! self) + (set-vector! (-> self root scale) 2.2 2.0 1.75 1.0) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-pickup" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-fields (-> self path-cursor)) + (set! (-> self path-cursor path) (-> arg0 path)) + (set! (-> self task-man) (-> arg0 task-man)) + (init-params self) + (go-virtual wait-for-player) + ) + +(defmethod init-collision! ((this bt-pickup)) + (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 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 34816.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-12 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-12 prim-core action) (collide-action solid)) + (set! (-> v1-12 transform-index) 0) + (set-vector! (-> v1-12 local-sphere) 3686.4 0.0 12288.0 8192.0) + ) + (let ((v1-14 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-14 prim-core action) (collide-action solid)) + (set! (-> v1-14 transform-index) 0) + (set-vector! (-> v1-14 local-sphere) -3686.4 0.0 12288.0 8192.0) + ) + (let ((v1-16 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 5)))) + (set! (-> v1-16 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-16 transform-index) 0) + (set-vector! (-> v1-16 local-sphere) 0.0 819.2 5734.4 9830.4) + (set! (-> v1-16 nav-radius) 14336.0) + ) + (let ((v1-18 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 144)))) + (set! (-> v1-18 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-18 transform-index) 0) + (set-vector! (-> v1-18 local-sphere) 0.0 2048.0 -4096.0 11468.8) + (set! (-> v1-18 nav-radius) 14336.0) + ) + (let ((v1-20 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-20 prim-core action) (collide-action solid)) + (set! (-> v1-20 transform-index) 0) + (set-vector! (-> v1-20 local-sphere) 4915.2 0.0 -11468.8 8192.0) + ) + (let ((v1-22 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-22 prim-core action) (collide-action solid)) + (set! (-> v1-22 transform-index) 0) + (set-vector! (-> v1-22 local-sphere) -4915.2 0.0 -11468.8 8192.0) + ) + (let ((v1-24 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-24 prim-core action) (collide-action solid rideable)) + (set! (-> v1-24 transform-index) 3) + (set-vector! (-> v1-24 local-sphere) 0.0 0.0 0.0 34816.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-26 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-26 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> this root) s5-0) + ) + (iterate-prims + (-> this root) + (lambda ((arg0 collide-shape-prim)) + (let ((v1-0 (-> arg0 prim-core prim-type))) + (cond + ((= v1-0 -1) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere)) + ) + ((= v1-0 1) + (set! (-> arg0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-mesh)) + ) + ((zero? v1-0) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + ) + ) + ) + (none) + ) + ) + 0 + (none) + ) + +(defstate wait-for-player (bt-pickup) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (go-virtual path-follow) + ) + (else + (bt-vehicle-handler proc argc message block) + ) + ) + ) + :trans (behavior () + '() + ) + :code sleep-code + :post transform-post + ) + +(defstate path-follow (bt-pickup) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + '() + ) + :trans (behavior () + (set! (-> *game-info* bot-health 0) (* 100.0 (/ (-> self hit-points) (-> self max-hit-points)))) + (bt-vehicle-method-31 self) + (let ((gp-0 (new 'stack 'blow-tower-path-cursor))) + (set! (-> gp-0 path) (-> self path-cursor path)) + (blow-tower-path-cursor-method-9 gp-0 (the-as int (+ (-> self path-cursor current-time) (seconds 1.5)))) + (dotimes (s5-0 (-> self rider-spots length)) + (send-event (handle->process (-> self rider-spots data s5-0 rider)) 'set-track-pos (-> gp-0 pos)) + ) + ) + ) + :code sleep-code + :post (behavior () + (draw-thruster self) + (transform-post) + ) + ) + +(defmethod bt-vehicle-method-31 ((this bt-pickup)) + (set-vector! (-> this rider-spots data 0 offset-pos) 0.0 0.0 0.0 1.0) + (let ((s5-0 (new 'stack 'blow-tower-clock))) + (set! (-> s5-0 debug?) #f) + (send-event (handle->process (-> this task-man)) 'get-clock s5-0) + (blow-tower-path-cursor-method-9 (-> this path-cursor) (the-as int (-> s5-0 elapsed-clock-time))) + (set! (-> this root trans quad) (-> this path-cursor pos quad)) + (let ((f0-5 (* 4.0 (seconds-per-frame)))) + (if (-> s5-0 debug?) + (set! f0-5 1.0) + ) + (when (not (-> this inited?)) + (set! (-> this inited?) #t) + (set! f0-5 1.0) + ) + (vector-lerp! (-> this path-pos) (-> this path-pos) (-> this path-cursor pos) f0-5) + ) + (set! (-> this pre-bounce-pos quad) (-> this path-pos quad)) + (bt-vehicle-method-40 this (the-as int (-> s5-0 elapsed-clock-time))) + (+! (-> this pre-bounce-pos y) (-> this path-height-offset)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((a2-2 (new 'stack-no-clear 'vector))) + (bt-vehicle-method-41 this s4-0 a2-2) + ) + (vector+! (-> this root trans) (-> this pre-bounce-pos) s4-0) + ) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 quad) (-> this path-cursor norm quad)) + (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (set! (-> s2-0 y) 0.0) + (vector-normalize! s2-0 1.0) + (vector-normalize! s3-0 1.0) + (let ((s4-1 (quaternion-look-at! (new 'stack-no-clear 'quaternion) s3-0 *up-vector*)) + (f30-0 (* 2.0 (seconds-per-frame))) + ) + 0.0 + (let* ((f0-12 (vector-dot s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (f1-4 (* 2.5 (- 1.0 f0-12))) + (f0-15 (- 1.0 (* (- 1.0 f1-4) (- 1.0 f1-4)))) + ) + (if (< 0.0 (vector-dot s3-0 s2-0)) + (set! f0-15 (* -1.0 f0-15)) + ) + (quaternion-rotate-local-z! s4-1 s4-1 (* 8192.0 f0-15)) + ) + (let ((f0-17 (-> this path-height-vel))) + 0.0 + (let ((f0-20 (fmax -1.0 (fmin 1.0 (* 0.000024414063 f0-17))))) + (quaternion-rotate-local-x! s4-1 s4-1 (* -4551.1113 f0-20)) + ) + ) + (if (-> s5-0 debug?) + (set! f30-0 1.0) + ) + (when (< 5461.3335 (-> this barrel-roll-amount)) + (dotimes (s5-1 2) + (send-event (handle->process (-> this riders s5-1)) 'rider-eject-if-boarded) + ) + ) + (quaternion-slerp! (-> this quat-before-roll) (-> this quat-before-roll) s4-1 f30-0) + ) + ) + ) + ) + (let ((a2-9 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) *z-vector* (-> this barrel-roll-amount)))) + (quaternion-slerp! + (-> this barrel-roll-quat) + (-> this barrel-roll-quat) + a2-9 + (* (-> this barrel-roll-rate-scalar) (seconds-per-frame)) + ) + ) + (quaternion*! (-> this root quat) (-> this quat-before-roll) (-> this barrel-roll-quat)) + (call-parent-method this) + (none) + ) + +(defun bt-force-show-hud ((arg0 symbol)) + (when (and *target* (or (not *progress-process*) (gone? (-> *progress-process* 0)))) + (let ((v1-7 (-> *hud-engine* alive-list next0))) + *hud-engine* + (let ((s5-0 (-> v1-7 next0))) + (while (!= v1-7 (-> *hud-engine* alive-list-end)) + (if (or (not arg0) (= arg0 (-> (the-as connection v1-7) param2))) + (send-event (the-as process (-> (the-as connection v1-7) param1)) 'force-show) + ) + (set! v1-7 s5-0) + *hud-engine* + (set! s5-0 (-> s5-0 next0)) + ) + ) + ) + ) + 0 + (none) + ) + +(defmethod taskman-event-handler ((this task-manager-blow-tower) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('vehicle-explode) + (if (= (-> arg0 type) bt-hellcat) + (go (method-of-object this wait-fail)) + (go (method-of-object this wind-down-mission)) + ) + ) + (('show-skill) + (bt-force-show-hud 'hud-skill) + (set! v0-0 (current-time)) + (set! (-> this show-skill-time) (the-as time-frame v0-0)) + v0-0 + ) + (('get-vehicle) + (-> this target-handles (-> arg3 param 0)) + ) + (('set-turret) + (set! v0-0 (-> arg3 param 0)) + (set! (-> this hellcat-turret) (the-as handle v0-0)) + v0-0 + ) + (('get-clock) + (let ((v1-10 (the-as blow-tower-clock (-> arg3 param 0)))) + (set! (-> v1-10 elapsed-clock-time) (-> this mission-elapsed-clock)) + (set! (-> v1-10 debug?) + (the-as symbol (and (-> this next-state) (= (-> this next-state name) 'mission-debug))) + ) + (set! (-> v1-10 debug-lock-view?) (and (-> v1-10 debug?) (-> this debug-lock-viewport?))) + ) + #t + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +(defstate mission-debug (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> *blow-tower-targets* debug?) #t) + ) + :exit (behavior () + (set! (-> *blow-tower-targets* debug?) #f) + (iterate-process-tree + *active-pool* + (lambda ((arg0 process)) (send-event arg0 'blow-tower-debug-end) #t) + *null-kernel-context* + ) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + (dotimes (v1-2 2) + (set! (-> *blow-tower-targets* target-handles v1-2) (-> self target-handles v1-2)) + ) + (set! (-> self script) *blow-tower-script*) + (format *stdebug* "========= Blow tower - Debug mode =========~%") + (let ((t9-2 format) + (a0-4 *stdebug*) + (a1-3 "Current time (~d:~d) [mission-percentage ~f~%") + (a2-1 (the int (* 0.00005555556 (the float (-> self mission-elapsed-clock))))) + (f0-4 (* 0.0033333334 (the float (-> self mission-elapsed-clock)))) + ) + (t9-2 a0-4 a1-3 a2-1 (the int (- f0-4 (* (the float (the int (/ f0-4 60.0))) 60.0)))) + ) + (format + *stdebug* + "Current event-id ~d | Next event-id ~d~%" + (-> self event-cursor event-id) + (-> self event-cursor path node-info (+ (-> self event-cursor current-node-index) 1) event-id) + ) + (dotimes (gp-0 (-> self script length)) + (when (= (-> self script gp-0 event-id) (-> self event-cursor event-id)) + (let* ((a0-11 (-> self script gp-0 command-list)) + (s5-0 ((method-of-type (rtype-of a0-11) length) a0-11)) + ) + (when (> s5-0 0) + (format *stdebug* "Commands are: ") + (dotimes (s4-0 s5-0) + (let ((a2-3 (ref (-> self script gp-0 command-list) s4-0))) + (format *stdebug* "~s " a2-3) + ) + (if (= (logand s4-0 1) 1) + (format *stdebug* "~%") + ) + ) + (format *stdebug* "~%") + ) + ) + ) + ) + (format + *stdebug* + "Events? ~s (triangle) | Lock view? ~s (circle)~%" + (-> self debug-run-events?) + (-> self debug-lock-viewport?) + ) + (if (cpad-pressed? 1 triangle) + (set! (-> self debug-run-events?) (not (-> self debug-run-events?))) + ) + (if (cpad-pressed? 1 circle) + (set! (-> self debug-lock-viewport?) (not (-> self debug-lock-viewport?))) + ) + (when (cpad-pressed? 1 square) + (let ((v1-58 (handle->process (-> self hellcat)))) + (if v1-58 + (set! (-> (the-as bt-hellcat v1-58) hit-points) (-> (the-as bt-hellcat v1-58) max-hit-points)) + ) + ) + (let ((v1-61 (the-as bt-pickup (handle->process (-> self pickup))))) + (if v1-61 + (set! (-> v1-61 hit-points) (-> v1-61 max-hit-points)) + ) + ) + ) + (when (cpad-pressed? 1 r3) + (send-event (handle->process (-> self hellcat-turret)) 'look-at 0 450 #x41200000) + (send-event (handle->process (-> self hellcat)) 'set-path-height 0 (-> self mission-elapsed-clock)) + (send-event (handle->process (-> self pickup)) 'set-path-height 0 (-> self mission-elapsed-clock)) + (send-event (handle->process (-> self hellcat)) 'roll-amount 0 #x43b40000) + (set! (-> self clock-scalar) 1.0) + (set! (-> self dest-clock-scalar) 1.0) + ) + (let ((f0-11 (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 -1.0))) + (+! (-> self mission-elapsed-clock) (the int (* 3000.0 f0-11 (seconds-per-frame)))) + (if (< 0.9 f0-11) + (+! (-> self mission-elapsed-clock) (the int (* 1500.0 (seconds-per-frame)))) + ) + (set! (-> self mission-elapsed-clock) + (the-as + time-frame + (max + 0 + (min + (-> self mission-elapsed-clock) + (the int + (fmax + (* (the float (-> *blow-tower-paths* 0 total-time)) + (-> *blow-tower-paths* 0 node-info (+ (-> *blow-tower-paths* 0 num-nodes) -1) accum-time-percentage) + ) + (* (the float (-> *blow-tower-paths* 1 total-time)) + (-> *blow-tower-paths* 1 node-info (+ (-> *blow-tower-paths* 1 num-nodes) -1) accum-time-percentage) + ) + ) + ) + ) + ) + ) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (if (< 0.0 f0-11) + (task-manager-blow-tower-method-37 self (if (-> self debug-run-events?) + 'all + 'debug + ) + ) + ) + ) + (if (and (time-elapsed? (-> self state-time) (seconds 0.1)) (or (cpad-pressed? 1 start) (cpad-pressed? 1 select))) + (go-virtual mission-play) + ) + ) + :code sleep-code + ) + +(define *blow-tower-kg-squad-member-settings* (new 'static 'inline-array kg-squad-member-settings 4 + (new 'static 'kg-squad-member-settings + :object-type (traffic-type roboguard) + :max-target-count #x7f + :enemy-type (traffic-type guard-a) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type roboguard) + :max-target-count #x7f + :enemy-type (traffic-type guard-b) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type flying-turret) + :max-target-count #x7f + :enemy-type (traffic-type metalhead-grunt) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type spydroid) + :max-target-count #x7f + :target-count 10 + :enemy-type (traffic-type metalhead-flitter) + ) + ) + ) + +(defstate mission-play (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-blackout-frames 0) + (speech-play *blow-tower-speech* 10 *blow-tower-speech-list* (target-pos 0)) + (set! (-> self last-missile-spawn-time) 0) + (set-time! (-> self state-time)) + (set-setting! 'kg-enemy-settings #f 0.0 *blow-tower-kg-squad-member-settings*) + (set-setting! 'minimap 'clear 0.0 (minimap-flag minimap)) + (talker-spawn-func (-> *talker-speech* 362) *entity-pool* (target-pos 0) (the-as region #f)) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + (format *stdebug* "Event ID: ~d~%" (-> self event-cursor event-id)) + (when (and (> (-> self show-skill-time) 0) (time-elapsed? (-> self show-skill-time) (seconds 2))) + (set! (-> self show-skill-time) 0) + (hide-hud 'hud-skill) + ) + (set! (-> *ACTOR-bank* birth-max) 1000) + (seek! (-> self clock-scalar) (-> self dest-clock-scalar) (* 0.5 (seconds-per-frame))) + (set! (-> *blow-tower-targets* clock-scalar) (-> self clock-scalar)) + (dotimes (v1-13 2) + (set! (-> *blow-tower-targets* target-handles v1-13) (-> self target-handles v1-13)) + ) + (+! (-> self mission-elapsed-clock) + (the int (* (the float (- (current-time) (-> self clock old-frame-counter))) (-> self clock-scalar))) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (task-manager-blow-tower-method-37 self 'all) + ) + :code sleep-code + ) + +(defstate wait-for-exit (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-blackout-frames (seconds 1)) + (send-event (handle->process (-> self hellcat-turret)) 'allow-exit) + (send-event *target* 'end-mode 'turret) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code (behavior () + (while (let ((gp-0 'turret)) + (= (send-event *target* 'query 'mode) gp-0) + ) + (suspend) + ) + (send-event (handle->process (-> self hellcat)) 'exit) + (send-event (handle->process (-> self pickup)) 'exit) + (send-event self 'complete) + (sleep-code) + ) + ) + +(defmethod task-manager-method-25 ((this task-manager-blow-tower)) + (send-event (ppointer->process *time-of-day*) 'change 'ratio 1.0) + (call-parent-method this) + (none) + ) + +(defstate active (task-manager-blow-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (set! (-> self mission-elapsed-clock) 0) + (send-event (handle->process (-> self pickup)) 'player-board) + (if (task-node-closed? (game-task-node city-blow-tower-phase-1)) + (advance self (seconds 31.667)) + ) + (go-virtual mission-play) + ) + (else + (task-manager-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (let ((f0-1 (the float (-> *game-info* sub-task-list (game-task-node city-protect-hq-resolution) death-count)))) + (set! (-> *blow-tower-targets* difficulty-scalar) (lerp-scale-clamp 1.0 0.5 f0-1 3.0 10.0)) + ) + (speeches-reset *blow-tower-speech*) + (set-setting! 'rain 'abs 0.0 0) + (set-setting! 'disable-parking-spots? #t 0.0 0) + (set! (-> self dest-clock-scalar) 1.0) + (set! (-> self clock-scalar) 1.0) + (set-setting! 'music 'destower 0.0 0) + (set! (-> self last-missile-ent) "") + (set-setting! 'lock-sound-camera-to-target #t 0.0 0) + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'hide-crates? #t 0.0 0) + (set! (-> self debug-lock-viewport?) #f) + (set! (-> self debug-run-events?) #f) + (send-event (ppointer->process *time-of-day*) 'change 'hour 14) + (send-event (ppointer->process *time-of-day*) 'change 'ratio 0.1) + (set-cloud-and-fog-interp! *mood-control* 0.0 0.0 0.0 0.0) + (set-time-for-random-weather! *mood-control* 100000000.0 100000000.0) + (set! (-> self script) *blow-tower-script*) + (set-setting! 'city-sound '(blow1 blow2 blow3h) 0.0 2) + (dotimes (v1-44 3) + (set! (-> self bombbot-records v1-44 hand) (the-as handle #f)) + (set! (-> self bombbot-records v1-44 ent-name) "") + ) + (let ((v1-48 (new 'stack 'blow-tower-path-cursor))) + 60.0 + 60.0 + (let ((f0-7 0.75)) + (set! (-> v1-48 path) (-> *blow-tower-paths* 0)) + (let ((f28-0 + (/ (-> *blow-tower-paths* 0 node-info (+ (-> *blow-tower-paths* 0 num-nodes) -2) accum-dist) + (* 104448.0 f0-7) + ) + ) + (f30-0 + (/ (-> *blow-tower-paths* 1 node-info (+ (-> *blow-tower-paths* 1 num-nodes) -2) accum-dist) + (* 104448.0 f0-7) + ) + ) + ) + (let ((gp-1 + (vector-! (new 'stack-no-clear 'vector) (-> *blow-tower-paths* 0 pts 1) (-> *blow-tower-paths* 0 pts 0)) + ) + ) + (vector-normalize! gp-1 1.0) + (set! (-> *blow-tower-paths* 0 total-time) (the-as time-frame (the int (* 300.0 f28-0)))) + (set! (-> self event-cursor path) (-> *blow-tower-paths* 0)) + (init-fields (-> self event-cursor)) + (let ((s5-0 (new 'stack 'bt-obj-init-params))) + (set! (-> s5-0 pos quad) (-> *blow-tower-paths* 0 pts 0 quad)) + (quaternion-copy! (-> s5-0 quat) (quaternion-look-at! (new 'stack-no-clear 'quaternion) gp-1 *up-vector*)) + (set! (-> s5-0 path) (-> *blow-tower-paths* 0)) + (set! (-> s5-0 task-man) (process->handle self)) + (set! (-> self hellcat) (ppointer->handle (process-spawn bt-hellcat s5-0 :name "bt-hellcat" :to self))) + ) + ) + (let ((gp-4 + (vector-! (new 'stack-no-clear 'vector) (-> *blow-tower-paths* 1 pts 1) (-> *blow-tower-paths* 1 pts 0)) + ) + ) + (vector-normalize! gp-4 1.0) + (set! (-> *blow-tower-paths* 1 total-time) (the-as time-frame (the int (* 300.0 f30-0)))) + (let ((s5-1 (new 'stack 'bt-obj-init-params))) + (set! (-> s5-1 pos quad) (-> *blow-tower-paths* 1 pts 0 quad)) + (quaternion-copy! (-> s5-1 quat) (quaternion-look-at! (new 'stack-no-clear 'quaternion) gp-4 *up-vector*)) + (set! (-> s5-1 path) (-> *blow-tower-paths* 1)) + (set! (-> s5-1 task-man) (process->handle self)) + (set! (-> self pickup) (ppointer->handle (process-spawn bt-pickup s5-1 :name "bt-pickup" :to self))) + ) + ) + ) + ) + ) + (set! (-> self hud-arrows) + (ppointer->handle + (process-spawn hud-pickup-arrows :init hud-init-by-other :name "hud-pickup-arrows" :to self) + ) + ) + (send-event (handle->process (-> self hud-arrows)) 'force-show) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code sleep-code + ) + +(defun clamp-to-ground ((arg0 vector)) + (let ((s5-0 (new 'stack-no-clear 'collide-query))) + (vector+float*! (-> s5-0 start-pos) arg0 *up-vector* 24576.0) + (set! (-> s5-0 move-dist quad) (the-as uint128 0)) + (set! (-> s5-0 move-dist y) -81920.0) + (let ((v1-4 s5-0)) + (set! (-> v1-4 radius) 409.6) + (set! (-> v1-4 collide-with) (collide-spec backgnd)) + (set! (-> v1-4 ignore-process0) #f) + (set! (-> v1-4 ignore-process1) #f) + (set! (-> v1-4 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-4 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) + (set! (-> arg0 y) (fmax 0.0 (-> s5-0 best-other-tri intersect y))) + ) + ) + ) + +(defmethod handle-bt-command ((this task-manager-blow-tower) (arg0 blow-tower-cmd)) + (local-vars (v0-3 object) (s4-8 int)) + (case (-> arg0 cmd-type) + (((blow-tower-cmd-type spawn)) + (case (-> arg0 spawn-type) + (((blow-tower-cmd-spawn-type kg-flyer) (blow-tower-cmd-spawn-type kg-flyer-ent)) + (let ((s4-0 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-0 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-0 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-0 entity-name) (-> arg0 entity-name)) + (set! (-> s4-0 time-offset) (-> arg0 time-offset)) + (if (= (-> s4-0 time-offset) 0.0) + (set! (-> s4-0 time-offset) 3.0) + ) + (process-spawn + kg-flyer + :init tower-flyer-init-by-other + s4-0 + :name "kg-flyer" + :to (handle->process (-> s4-0 target)) + ) + ) + ) + (((blow-tower-cmd-spawn-type mh-flyer) (blow-tower-cmd-spawn-type mh-flyer-ent)) + (let ((s4-1 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-1 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-1 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-1 entity-name) (-> arg0 entity-name)) + (set! (-> s4-1 time-offset) (-> arg0 time-offset)) + (if (= (-> s4-1 time-offset) 0.0) + (set! (-> s4-1 time-offset) 3.0) + ) + (process-spawn + bt-mh-flyer + :init tower-flyer-init-by-other + s4-1 + :name "bt-mh-flyer" + :to (handle->process (-> s4-1 target)) + ) + ) + ) + (((blow-tower-cmd-spawn-type missiles)) + (let ((s4-2 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-2 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-2 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-2 entity-name) "") + (set! (-> s4-2 activate-time) + (the-as + time-frame + (max (-> this mission-elapsed-clock) (+ (-> this last-missile-spawn-time) + (seconds 0.3) + (mod (the-as int (rand-uint31-gen *random-generator*)) 211) + ) + ) + ) + ) + (set! (-> this last-missile-spawn-time) (-> s4-2 activate-time)) + (set! (-> s4-2 time-offset) (-> arg0 time-offset)) + (set! (-> s4-2 bool-userdata?) #f) + (process-spawn bt-missile s4-2 :name "bt-missile" :to (handle->process (-> s4-2 target))) + ) + ) + (((blow-tower-cmd-spawn-type missiles-ent)) + (let ((s4-3 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-3 target) (-> this target-handles (-> arg0 target))) + (let ((a0-30 (entity-by-name (-> arg0 entity-name)))) + (if a0-30 + (set! (-> s4-3 pos quad) (-> a0-30 extra trans quad)) + ) + ) + (set! (-> s4-3 entity-name) "") + (set! (-> s4-3 activate-time) + (the-as + time-frame + (max (-> this mission-elapsed-clock) (+ (-> this last-missile-spawn-time) + (seconds 0.3) + (mod (the-as int (rand-uint31-gen *random-generator*)) 211) + ) + ) + ) + ) + (let ((s3-5 (new 'stack 'blow-tower-path-cursor))) + (when (send-event (handle->process (-> s4-3 target)) 'predict-position s3-5 (new 'stack-no-clear 'vector)) + (blow-tower-path-cursor-method-9 s3-5 (the-as int (-> s4-3 activate-time))) + (let ((s3-6 (-> s3-5 pos))) + (cond + ((string= (-> this last-missile-ent) (-> arg0 entity-name)) + (let ((v1-78 (vector-! (new 'stack-no-clear 'vector) s3-6 (-> this missile-dir-vec)))) + (set! (-> v1-78 y) 0.0) + (vector+! (-> s4-3 pos) (-> s4-3 pos) v1-78) + ) + ) + (else + (set! (-> this missile-dir-vec quad) (-> s3-6 quad)) + (set! (-> this last-missile-ent) (-> arg0 entity-name)) + ) + ) + ) + ) + ) + (set! (-> this last-missile-spawn-time) (-> s4-3 activate-time)) + (set! (-> s4-3 time-offset) (-> arg0 time-offset)) + (set! (-> s4-3 bool-userdata?) #t) + (process-spawn bt-missile s4-3 :name "bt-missile" :to (handle->process (-> s4-3 target))) + ) + ) + (((blow-tower-cmd-spawn-type mh-grunt)) + (let ((s4-4 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-4 target) (-> this target-handles (-> arg0 target))) + (let ((v1-93 (+ (-> this event-cursor current-node-index) 5))) + (if (> (-> arg0 event-id) 0) + (set! v1-93 (find-event-id-index (-> this event-cursor) (the-as int (-> arg0 event-id)))) + ) + (set! (-> s4-4 pos quad) (-> *blow-tower-paths* 0 pts v1-93 quad)) + ) + (set! (-> s4-4 entity-name) "") + (set! (-> s4-4 time-offset) (-> arg0 time-offset)) + (process-spawn bt-grunt s4-4 :name "bt-grunt" :to (handle->process (-> s4-4 target))) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot) (blow-tower-cmd-spawn-type kg-bombbot-ent)) + (let ((s4-5 (new 'stack 'bombbot-spawn-params))) + (let ((s2-2 (new 'stack-no-clear 'vector)) + (s3-7 (new 'stack-no-clear 'vector)) + ) + (let ((s0-0 (entity-by-name (-> arg0 entity-name))) + (s1-0 (new 'stack 'blow-tower-path-cursor)) + ) + (set! (-> s1-0 path) (-> *blow-tower-paths* (-> arg0 target))) + (cond + (s0-0 + (set! (-> s2-2 quad) (-> s0-0 extra trans quad)) + ) + (else + (blow-tower-path-cursor-method-9 + s1-0 + (the-as int (+ (-> this mission-elapsed-clock) (the int (* 300.0 (-> arg0 time-offset))))) + ) + (set! (-> s2-2 quad) (-> s1-0 pos quad)) + ) + ) + ) + (case (-> arg0 spawn-type) + (((blow-tower-cmd-spawn-type kg-bombbot)) + (let ((a0-79 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int (-> arg0 event-id))))) + (if (>= a0-79 0) + (set! (-> s3-7 quad) (-> *blow-tower-paths* (-> arg0 target) pts a0-79 quad)) + (set! (-> s3-7 quad) (-> s2-2 quad)) + ) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot-ent)) + (let ((a0-87 (entity-by-name (-> arg0 entity-name2)))) + (if a0-87 + (set! (-> s3-7 quad) (-> a0-87 extra trans quad)) + ) + ) + ) + ) + (clamp-to-ground s2-2) + (clamp-to-ground s3-7) + (set! (-> s4-5 path) (-> *blow-tower-bombbat-path-cache* (-> this bombbot-path-index))) + (set! (-> this bombbot-path-index) (logand (+ (-> this bombbot-path-index) 1) 7)) + (set! (-> s4-5 first-node) (the-as uint 0)) + (set! (-> s4-5 stop-offset) 36000.0) + (set! (-> s4-5 path node 0 position quad) (-> s2-2 quad)) + (set! (-> s4-5 path node 1 position quad) (-> s3-7 quad)) + ) + (set! (-> s4-5 path node 0 nav-mesh-id) (the-as uint -1)) + (set! (-> s4-5 path node 1 nav-mesh-id) (the-as uint -1)) + (quaternion-identity! (-> s4-5 quat)) + (let ((s3-8 (get-process *default-dead-pool* kg-bombbot #x4000 1))) + (set! (-> this bombbot-records (-> this bombbot-record-index) hand) + (ppointer->handle + (-> (ppointer->handle (when s3-8 + (let ((t9-41 (method-of-type kg-bombbot activate))) + (t9-41 (the-as kg-bombbot s3-8) this "kg-bombbot" (the-as pointer #x70004000)) + ) + (run-now-in-process s3-8 bombbot-init-by-other s4-5) + (-> s3-8 ppointer) + ) + ) + process + ) + ) + ) + ) + ) + (set! (-> this bombbot-records (-> this bombbot-record-index) ent-name) (-> arg0 entity-name)) + (set! v0-3 (mod (+ (-> this bombbot-record-index) 1) 3)) + (set! (-> this bombbot-record-index) (the-as int v0-3)) + v0-3 + ) + ) + ) + (((blow-tower-cmd-type end)) + (go (method-of-object this wait-for-exit)) + ) + (((blow-tower-cmd-type activate)) + (let ((v1-151 (entity-by-name (-> arg0 entity-name)))) + (if v1-151 + (send-event + (if v1-151 + (-> v1-151 extra process) + ) + 'activate + (-> this target-handles (-> arg0 target)) + ) + ) + ) + ) + (((blow-tower-cmd-type lock-view)) + (send-event (handle->process (-> this hellcat-turret)) 'lock-view (-> arg0 lock-min) (-> arg0 lock-max)) + (send-event (handle->process (-> this hellcat)) 'lock-view) + ) + (((blow-tower-cmd-type unlock-view)) + (send-event (handle->process (-> this hellcat-turret)) 'unlock-view) + (send-event (handle->process (-> this hellcat)) 'unlock-view) + ) + (((blow-tower-cmd-type constrain-angle)) + (send-event (handle->process (-> this hellcat-turret)) 'constrain-angle (-> arg0 rotate-amount)) + ) + (((blow-tower-cmd-type rotate-view)) + (send-event + (handle->process (-> this hellcat-turret)) + 'rotate-view + (-> arg0 rotate-amount) + (-> arg0 snap-view?) + (* 182.04445 (-> arg0 time-offset)) + ) + (send-event (handle->process (-> this hellcat)) 'rotate-view) + ) + (((blow-tower-cmd-type roll-amount)) + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'roll-amount + (-> arg0 path-height) + (-> arg0 time-offset) + ) + ) + (((blow-tower-cmd-type barrel-roll)) + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'barrel-roll + (-> arg0 path-height) + (-> arg0 time-offset) + ) + ) + (((blow-tower-cmd-type advance)) + (advance this (the-as time-frame (-> arg0 event-id))) + ) + (((blow-tower-cmd-type look-at-bombbot)) + (dotimes (s4-6 3) + (when (and (string= (-> this bombbot-records s4-6 ent-name) (-> arg0 entity-name)) + (handle->process (-> this bombbot-records s4-6 hand)) + ) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-proc + (-> this bombbot-records s4-6 hand) + (-> arg0 path-height) + ) + (set! v0-3 0) + (goto cfg-205) + ) + ) + (set! v0-3 #f) + (label cfg-205) + v0-3 + ) + (((blow-tower-cmd-type look-at)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at + (-> arg0 target) + (the int (* 300.0 (-> arg0 time-offset))) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type look-at-ent)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-ent + (-> arg0 entity-name) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type look-at-track)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-track + (-> arg0 entity-name) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type clock-scalar)) + (set! (-> this dest-clock-scalar) (-> arg0 clock-scalar)) + ) + (((blow-tower-cmd-type play-sound)) + (let* ((s3-9 (handle->process (-> this target-handles (-> arg0 target)))) + (s4-7 (if (type? s3-9 process-focusable) + (the-as process-focusable s3-9) + ) + ) + ) + (when s4-7 + (send-event (handle->process (-> this target-handles (-> arg0 target))) 'boost-thruster (-> arg0 time-offset)) + (sound-play "hc-whoosh" :position (-> s4-7 root trans)) + ) + ) + ) + (((blow-tower-cmd-type cmd12)) + (send-event (handle->process (-> this target-handles (-> arg0 target))) 'stop-sound) + ) + (((blow-tower-cmd-type save-progress)) + (task-node-close! (game-task-node city-blow-tower-phase-1) 'event) + ) + (((blow-tower-cmd-type path-height)) + (let ((v1-299 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int (-> arg0 event-id))))) + 0 + (if (>= v1-299 0) + (set! s4-8 (the int (* (-> *blow-tower-paths* 0 node-info v1-299 accum-time-percentage) + (the float (-> *blow-tower-paths* 0 total-time)) + ) + ) + ) + (set! s4-8 (the-as int (+ (-> this mission-elapsed-clock) (seconds 2)))) + ) + ) + (case (-> arg0 target) + ((3) + (dotimes (s3-10 2) + (send-event (handle->process (-> this target-handles s3-10)) 'set-path-height (-> arg0 path-height) s4-8) + ) + #f + ) + (else + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'set-path-height + (-> arg0 path-height) + s4-8 + ) + ) + ) + ) + ) + ) + +(defmethod advance ((this task-manager-blow-tower) (arg0 time-frame)) + (let ((v1-1 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int arg0)))) + 0 + (if (>= v1-1 0) + (set! (-> this mission-elapsed-clock) + (the-as time-frame (the int (* (-> *blow-tower-paths* 0 node-info v1-1 accum-time-percentage) + (the float (-> *blow-tower-paths* 0 total-time)) + ) + ) + ) + ) + ) + ) + (none) + ) + +(defmethod task-manager-blow-tower-method-37 ((this task-manager-blow-tower) (arg0 symbol)) + (let ((s4-0 (-> this event-cursor current-node-index))) + (blow-tower-path-cursor-method-9 (-> this event-cursor) (the-as int (-> this mission-elapsed-clock))) + (when (!= s4-0 (-> this event-cursor current-node-index)) + (dotimes (s4-1 (-> this script length)) + (when (= (-> this script s4-1 event-id) (-> this event-cursor event-id)) + (let* ((a0-7 (-> this script s4-1 command-list)) + (s3-0 ((method-of-type (rtype-of a0-7) length) a0-7)) + ) + (dotimes (s2-0 s3-0) + (let ((s1-0 (ref (-> this script s4-1 command-list) s2-0))) + (parse-blow-tower-command (the-as pair s1-0) (-> this cmd)) + (when (or (= arg0 'all) (or (and (= arg0 'debug) (case (-> this cmd cmd-type) + (((blow-tower-cmd-type lock-view) + (blow-tower-cmd-type unlock-view) + (blow-tower-cmd-type rotate-view) + (blow-tower-cmd-type roll-amount) + (blow-tower-cmd-type path-height) + (blow-tower-cmd-type look-at) + ) + #t + ) + ) + ) + (and (= arg0 'fail) (case (-> this cmd cmd-type) + (((blow-tower-cmd-type path-height)) + #t + ) + ) + ) + ) + ) + (handle-bt-command this (-> this cmd)) + (format 0 "Command is ~s~%" s1-0) + ) + ) + ) + ) + ) + ) + #f + ) + ) + ) + +(defmethod get-trans ((this bt-hellcat) (arg0 int)) + "Get the `trans` for this process." + (case arg0 + ((3) + (vector<-cspace! (new 'static 'vector) (-> this node-list data 6)) + ) + (else + (call-parent-method this arg0) + ) + ) + ) + +(defpart 4826 + :init-specs ((:texture (gun-blue-beam level-default-sprite)) + (:birth-func 'birth-func-setup-beam) + (:num 1.0) + (:scale-x (meters 0.3) (meters 0.1)) + (:scale-y (meters 100) (meters 20)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 16.0) + (:fade-a 0.8) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-14 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 30 0 0 #x401000 #x401200)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.05)) + (:next-launcher 4827) + ) + ) + +(defpart 4827 + :init-specs ((:scalevel-x (meters 0.033333335)) + (:scalevel-y (meters -0.13333334)) + (:fade-r 0.85333335) + (:fade-g 0.85333335) + (:fade-b 0.85333335) + (:fade-a -0.21333334 -0.42666668) + (:accel-y (meters 0.000033333334)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 left-multiply-quat)) + (:next-time (seconds 0.5)) + (:next-launcher 4828) + ) + ) + +(defpart 4828 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0)) + ) + +;; WARN: Return type mismatch (array bt-vehicle-damage-info) vs none. +(defmethod init-params ((this bt-hellcat)) + (set! (-> this whoosh-sound) (new-sound-id)) + (set! (-> this boost-thruster?) #f) + (set! (-> this inited?) #f) + (set! (-> this rider-spots) (new 'process 'cast-rider-array 2)) + (set! (-> this rider-spots data 0 rider) + (ppointer->handle + (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-jinx" (the-as (pointer level) #f)) + 4 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (set! (-> this rider-spots data 1 rider) + (ppointer->handle (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-sig" (the-as (pointer level) #f)) + 7 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (setup-masks (-> this draw) -1 1022) + (init (-> this jmod-turret-guns) this (the-as uint 6) (joint-mod-base-flags attached)) + (init (-> this jmod-lgun) this (the-as uint 7) (joint-mod-base-flags attached)) + (init (-> this jmod-rgun) this (the-as uint 10) (joint-mod-base-flags attached)) + (dotimes (s5-2 4) + (init + (-> this jmod-barrels s5-2) + this + (the-as uint (-> *bt-hellcat-gun-nodes* s5-2)) + (joint-mod-base-flags attached trans) + ) + (set! (-> this barrel-fire-state s5-2) #f) + ) + (set! (-> this grunt-rider) (the-as handle #f)) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + (init-spots this) + (set! (-> this mission-fail?) #f) + (set! (-> this max-hit-points) 40.0) + (set! (-> this hit-points) (-> this max-hit-points)) + (init-hud this) + (set! (-> this dest-roll-amount) 0.0) + (quaternion-copy! (-> this quat-before-bounce) (-> this root quat)) + (quaternion-identity! (-> this quat-grunt-tilt)) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this engine-sound) (new-sound-id)) + (set! (-> this thrust-sound) (new-sound-id)) + (set! (-> this damage-info) *bt-hellcat-damage-info*) + (none) + ) + +;; WARN: Return type mismatch symbol vs none. +(defmethod init-params ((this bt-pickup)) + (set! (-> this whoosh-sound) (new-sound-id)) + (set! (-> this boost-thruster?) #f) + (set! (-> this inited?) #f) + (set! (-> this rider-spots) (new 'process 'cast-rider-array 1)) + (set! (-> this rider-spots data 0 rider) + (ppointer->handle (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-torn" (the-as (pointer level) #f)) + 3 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (setup-masks (-> this draw) -1 30) + (set! (-> this max-hit-points) 75.0) + (set! (-> this hit-points) (-> this max-hit-points)) + (bt-pickup-method-48 this) + (init-hud this) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this damage-info) *bt-pickup-damage-info*) + (dotimes (v1-15 2) + (set! (-> this roboguard-attackers v1-15) (the-as handle #f)) + ) + (dotimes (s5-1 2) + (set! (-> this pickup-barrels s5-1) + (ppointer->handle (process-spawn bt-pickup-barrel s5-1 :name "bt-pickup-barrel" :to this)) + ) + ) + (none) + ) + +(defmethod init-hud ((this bt-pickup)) + (set! (-> this hud-health) + (ppointer->handle (process-spawn hud-pickup :init hud-init-by-other :name "hud-pickup" :to this)) + ) + (none) + ) + +(defmethod init-hud ((this bt-hellcat)) + (set! (-> this hud-health) + (ppointer->handle (process-spawn hud-hellcat :init hud-init-by-other :name "hud-hellcat" :to this)) + ) + (none) + ) + +(defmethod bounce ((this bt-pickup) (arg0 vector)) + (set! (-> arg0 y) (* 2.0 (-> arg0 y))) + (vector-float*! arg0 arg0 0.4) + (call-parent-method this arg0) + ) + +(defmethod on-attacked ((this bt-pickup) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (send-event (handle->process (-> this hud-health)) 'hit) + (set-time! (-> this start-hit-time)) + (sound-play "snd-pickup-hit") + (cond + ((not (logtest? (-> arg1 mask) (attack-mask control))) + (let ((s2-1 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 arg1 s2-1 arg2 this) + (let* ((s1-1 arg2) + (a0-11 (if (type? s1-1 process-focusable) + s1-1 + ) + ) + ) + (if a0-11 + (set! (-> s2-1 intersection quad) (-> (get-trans a0-11 3) quad)) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> s2-1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> s2-1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (let ((s1-7 (vector-! (new 'stack-no-clear 'vector) (get-trans this 3) (-> s2-1 intersection)))) + (vector-normalize! s1-7 (fmax 5324.8 (fmin 16384.0 (* 4096.0 arg0)))) + (bounce this s1-7) + ) + ) + ) + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (call-parent-method this arg0 arg1 arg2) + (none) + ) + +(defstate wind-down-mission (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set! (-> self dest-clock-scalar) 0.0) + (format 0 "Self scalsr ~f~%" (-> self clock-scalar)) + (if *target* + (logior! (-> *target* draw status) (draw-control-status no-draw)) + ) + ) + :trans (behavior () + (seek! (-> self clock-scalar) (-> self dest-clock-scalar) (seconds-per-frame)) + (dotimes (v1-1 2) + (set! (-> *blow-tower-targets* target-handles v1-1) (-> self target-handles v1-1)) + ) + (+! (-> self mission-elapsed-clock) + (the int (* (the float (- (current-time) (-> self clock old-frame-counter))) (-> self clock-scalar))) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (task-manager-blow-tower-method-37 self 'fail) + (if (>= 0.0 (-> self clock-scalar)) + (go-virtual wait-fail) + ) + ) + :code sleep-code + ) + +(defstate wait-fail (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :code (behavior () + (dotimes (gp-0 2) + (send-event (handle->process (-> self target-handles gp-0)) 'mission-fail) + ) + (if *target* + (logior! (-> *target* draw status) (draw-control-status no-draw)) + ) + (send-event self 'fail) + (sleep-code) + ) + ) + +(defmethod bt-pickup-method-50 ((this bt-pickup) (arg0 int) (arg1 vector)) + (set! (-> arg1 quad) (-> this root trans quad)) + (let ((v1-2 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector+float*! arg1 arg1 (-> v1-2 fvec) -21708.8) + (vector+float*! arg1 arg1 (-> v1-2 uvec) -2457.6) + (cond + ((zero? arg0) + (vector+float*! arg1 arg1 (-> v1-2 rvec) 4096.0) + ) + ((= arg0 1) + (vector+float*! arg1 arg1 (-> v1-2 rvec) -4096.0) + ) + ) + ) + arg1 + ) + +;; WARN: Return type mismatch symbol vs object. +(defmethod draw-thruster ((this bt-pickup)) + (call-parent-method this) + (if (-> this boost-thruster?) + (seek! + (-> this desired-thruster-length) + (* 28672.0 (fmax 1.0 (* (-> this path-cursor speed) (-> *blow-tower-targets* clock-scalar)))) + (* 16384.0 (seconds-per-frame)) + ) + (seek! + (-> this desired-thruster-length) + (* 16384.0 (-> *blow-tower-targets* clock-scalar) (-> this path-cursor speed)) + (* 16384.0 (seconds-per-frame)) + ) + ) + (dotimes (s5-0 2) + (let ((s4-0 (bt-pickup-method-50 this s5-0 (new 'stack-no-clear 'vector)))) + (let* ((f30-0 (-> this desired-thruster-length)) + (f28-0 -1228.8) + (f26-0 2457.6) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + (f0-18 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-17))) f30-0)) + ) + (set! (-> *part-id-table* 4825 init-specs 4 initial-valuef) f0-18) + (set! (-> *part-id-table* 4825 init-specs 3 initial-valuef) (* 0.5 f0-18)) + ) + (draw-beam + (-> *part-id-table* 4825) + s4-0 + (vector-float*! + (new 'stack-no-clear 'vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) + -20480.0 + ) + #f + ) + ) + ) + #f + ) + +(defstate die (bt-pickup) + :virtual #t + :enter (behavior () + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + (dotimes (gp-0 2) + (send-event (handle->process (-> self pickup-barrels gp-0)) 'die) + ) + ) + ) diff --git a/goal_src/jak3/levels/city/generic/ctygenb-part.gc b/goal_src/jak3/levels/city/generic/ctygenb-part.gc index add807e55f..947cf1778b 100644 --- a/goal_src/jak3/levels/city/generic/ctygenb-part.gc +++ b/goal_src/jak3/levels/city/generic/ctygenb-part.gc @@ -7,3 +7,1497 @@ ;; DECOMP BEGINS +(defpartgroup group-ctygenb-barrel-fire + :id 929 + :bounds (static-bspherem 0 3 0 4) + :parts ((sp-item 3326 :fade-after (meters 50) :falloff-to (meters 80)) + (sp-item 3327 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 0.335) :length (seconds 0.167)) + (sp-item 3328 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 0.4) :length (seconds 0.185) :offset 20) + (sp-item 3329 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 0.535) :length (seconds 0.1) :offset 35) + (sp-item 3327 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 0.85) :length (seconds 0.2) :offset 65) + (sp-item 3328 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.25) :length (seconds 0.135) :offset 15) + (sp-item 3329 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 1.435) :length (seconds 0.167) :offset 85) + (sp-item 3327 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2) :length (seconds 0.235) :offset 100) + (sp-item 3328 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 4.167) :length (seconds 0.15) :offset 450) + (sp-item 3329 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 5) :length (seconds 0.085) :offset 115) + (sp-item 3327 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 7) :length (seconds 0.185) :offset 80) + (sp-item 3330 :fade-after (meters 20) :falloff-to (meters 10) :binding 3325) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3331 :fade-after (meters 50) :falloff-to (meters 50)) + (sp-item 3332 :fade-after (meters 30) :falloff-to (meters 30)) + (sp-item 3333 :fade-after (meters 70) :flags (sp6)) + ) + ) + +(defpart 3333 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 128.0) + (:b 0.0) + (:a 12.0) + (:fade-a -0.4) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 10240.0) + ) + ) + +(defpart 3330 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.8) + (:sound (static-sound-spec "fire-pop" :group 0 :volume 10000.0)) + (:x (meters -0.3) (meters 0.6)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 256.0) + (:g 0.0) + (:b 0.0) + (:a 0.0) + (:vel-y (meters 0.013333334) (meters 0.026666667)) + (:accel-y (meters -0.000033333334) (meters -0.00006666667)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-3)) + (:conerot-x (degrees -20) (degrees 40)) + (:conerot-y (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 3325 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:x (meters 0) (meters 16)) + (:y (meters 0) (meters 16)) + (:z (meters 0.1) (meters 0.3)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 256.0) + (:g 128.0) + (:b 128.0) + (:a 96.0 32.0) + (:omega (degrees 0) (degrees 360)) + (:vel-x (meters -0.026666667) (meters 0.053333335)) + (:vel-y (meters 0)) + (:vel-z (meters -0.0013333333) (meters 0.0026666666)) + (:fade-r 0.0) + (:fade-g -0.7111111) + (:fade-b -0.7111111) + (:fade-a -0.42666668) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)) + (:next-time (seconds 0.6)) + (:next-launcher 3334) + ) + ) + +(defpart 3334 + :init-specs ((:fade-r -1.0666667) (:fade-g 1.0666667) (:fade-b 1.0666667)) + ) + +(defpart 3327 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 0) (degrees 87)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +(defpart 3328 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 120) (degrees 90)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +(defpart 3329 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 240) (degrees 110)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +(defpart 3335 + :init-specs ((:b 0.0) + (:fade-r 0.0) + (:fade-g 0.0) + (:fade-b 0.0) + (:fade-a -0.4 -0.2) + (:next-time (seconds 0.135) (seconds 0.03)) + (:next-launcher 3336) + ) + ) + +(defpart 3336 + :init-specs ((:fade-r -0.125) (:fade-g 0.4) (:fade-b 0.4)) + ) + +(defpart 3326 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0 4.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.5) (meters 0.3)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 32.0) + (:g 128.0) + (:b 128.0) + (:a 16.0 16.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-a -0.16 -0.16) + (:accel-y (meters -0.0001)) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 0) (degrees 360)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +(defpart 3331 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.4) + (:x (meters -0.25) (meters 0.5)) + (:scale-x (meters 1) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 196.0) + (:g 128.0) + (:b 128.0) + (:a 8.0 8.0) + (:vel-y (meters 0.01) (meters 0.01)) + (:scalevel-x (meters 0.006666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.64) + (:fade-g -0.32) + (:fade-b -0.32) + (:fade-a -0.017777778 -0.026666667) + (:accel-y (meters -0.000006666667)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.5) (seconds 0.165)) + (:next-launcher 3337) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 3337 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0)) + ) + +(defpart 3332 + :init-specs ((:num 0.4) + (:x (meters 0) (meters 0.2)) + (:rot-x 8) + (:r 1638.4) + (:g 1331.2) + (:b 1433.6) + (:vel-x (meters 0) (meters 0.006666667)) + (:vel-y (meters 0.02) (meters 0.013333334)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (distort)) + (:next-time (seconds 0.5)) + (:next-launcher 3338) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +(defpart 3338 + :init-specs ((:fade-b -0.68266666)) + ) + +(defpartgroup group-ctygenb-ground-vent-base + :id 930 + :flags (sp4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3339 :fade-after (meters 100) :falloff-to (meters 100) :flags (sp7))) + ) + +(defpart 3339 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.5 0.5) + (:x (meters -1) (meters 2)) + (:y (meters 0)) + (:scale-x (meters 0.5) (meters 0.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 0.0) + (:vel-z (meters 0.006666667) (meters 0.0033333334)) + (:scalevel-x (meters 0.0016666667) (meters 0.0033333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.64) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 3340) + (:launchrot-x (degrees -5) (degrees 10)) + (:launchrot-y (degrees -5) (degrees 10)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3340 + :init-specs ((:fade-a -0.10666667 -0.10666667)) + ) + +(defpartgroup group-ctygenb-ground-light + :id 931 + :flags (sp4) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3341 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3342 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3343 :fade-after (meters 80) :flags (sp6 sp7)) + ) + ) + +(defpart 3341 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0.8)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3342 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -1)) + (:z (meters 0)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3343 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 1)) + (:z (meters 0)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-red-light-small + :id 932 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3344 :fade-after (meters 80) :flags (sp6)) (sp-item 3345 :fade-after (meters 120) :flags (sp6))) + ) + +(defpart 3344 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.7) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 24.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +(defpart 3345 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 32.0) + (:b 0.0) + (:a 8.0) + (:omega (degrees 2715.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +(defpartgroup group-ctygenb-blue-light-wall + :id 933 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3346 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3347 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3348 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3349 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +(defpart 3346 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3347 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.7)) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3348 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters -0.7)) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3349 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 32.0) + (:b 255.0) + (:a 12.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-blue-street-lamp + :id 934 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3350 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3351 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3352 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3353 :fade-after (meters 220) :flags (sp6 sp7)) + ) + ) + +(defpart 3350 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:z (meters -0.325)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3351 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:z (meters 0.5)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3352 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.25)) + (:z (meters -1.25)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3353 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 32.0) + (:b 255.0) + (:a 12.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-steady-street-lamp + :id 935 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3354 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + (sp-item 3355 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3354 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 40.0 4.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3355 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 200.0) + (:g 200.0) + (:b 200.0) + (:a 20.0 4.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-flickering-street-lamp + :id 936 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 8 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + (sp-item 9 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + ) + ) + +(defpart 8 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 9 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 200.0) + (:g 200.0) + (:b 200.0) + (:a 32.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-blue-vents-pipe-bent + :id 937 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 12) + :rotate ((degrees 0) (degrees -90) (degrees 0)) + :parts ((sp-item 3356 :fade-after (meters 200) :falloff-to (meters 250) :flags (sp7))) + ) + +(defpart 3356 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:x (meters -0.5) (meters 1)) + (:y (meters -0.5) (meters 2)) + (:z (meters -0.5)) + (:scale-x (meters 2) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 0.0) + (:vel-y (meters -0.033333335) (meters -0.006666667)) + (:vel-z (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0.01) (meters 0.013333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r 1.7) + (:fade-g 1.28) + (:fade-a 0.48) + (:accel-y (meters 0.00083333335) (meters 0.00083333335)) + (:friction 0.95 0.025) + (:timer (seconds 0.835)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 3357) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3357 + :init-specs ((:fade-a -0.12 -0.16)) + ) + +(defpartgroup group-ctygenb-blue-vents-wall + :id 938 + :flags (sp4) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 3358 :fade-after (meters 200) :falloff-to (meters 250) :flags (sp7))) + ) + +(defpart 3358 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 3.0) + (:x (meters -2) (meters 4)) + (:y (meters -0.5) (meters 1)) + (:z (meters -1)) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0) + (:g 64.0 64.0) + (:b 128.0) + (:a 16.0 16.0) + (:vel-z (meters 0.033333335) (meters 0.02)) + (:scalevel-x (meters 0.01) (meters 0.013333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.42666668) + (:fade-g 0.42666668) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters 0.00083333335) (meters 0.00083333335)) + (:friction 0.95 0.025) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-sign-8x4 + :id 939 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3359 :flags (is-3d sp3 sp7)) + (sp-item 3360 :flags (is-3d sp3 sp7)) + (sp-item 3361 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3361 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 48) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 32) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3359 + :init-specs ((:texture (sign-ctygenb-praxis-banner ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 16)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00400 -2139062144 0 1 #xde00400 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3360 + :init-specs ((:texture (sign-ctygenb-praxis-banner ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 16)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00400 -2139062144 0 1 #xde00400 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-sign-4x8 + :id 940 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3362 :flags (is-3d sp3 sp7)) + (sp-item 3363 :flags (is-3d sp3 sp7)) + (sp-item 3364 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3364 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 32) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 48) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3362 + :init-specs ((:texture (sign-ctygenb-erol ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 16)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00300 -2139062144 0 1 #xde00300 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3363 + :init-specs ((:texture (sign-ctygenb-erol ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 16)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00300 -2139062144 0 1 #xde00300 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-sign-4x4 + :id 941 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3365 :flags (is-3d sp3 sp7)) + (sp-item 3366 :flags (is-3d sp3 sp7)) + (sp-item 3367 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3367 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 32) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 32) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3365 + :init-specs ((:texture (sign-ctygenb-arrows ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00200 -2139062144 0 1 #xde00200 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3366 + :init-specs ((:texture (sign-ctygenb-arrows ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00200 -2139062144 0 1 #xde00200 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-ctygenb-ticker-horizontal + :id 942 + :flags (sp4) + :bounds (static-bspherem 0 0 0 64) + :parts ((sp-item 3368 :flags (is-3d sp6 sp7)) (sp-item 3369 :flags (is-3d sp6 sp7))) + ) + +(defpart 3369 + :init-specs ((:texture (ctygenb-ticker-backing ctygenb-sprite)) + (:num 1.0) + (:y (meters -0.5)) + (:scale-x (meters 21)) + (:scale-y (meters 1.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 0.0 16.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-x (degrees 90)) + ) + ) + +(defpart 3368 + :init-specs ((:texture (ticker-e ctywide-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.16) + (:x (meters -10.5)) + (:y (meters -0.5)) + (:scale-x (meters 1)) + (:scale-y (meters 1.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 0.0 16.0) + (:a 128.0) + (:vel-x (meters 0.02625)) + (:timer (seconds 2.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 40 1 0 #x7b00a00 #x7b00b00 #x7b00c00 #x7b00d00 #xde00100) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3370) + (:rotate-x (degrees 90)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3370 + :init-specs ((:r 64.0 16.0) (:g 64.0 64.0) (:b 0.0 16.0) (:a 128.0) (:next-time (seconds 0.017)) (:next-launcher 3370)) + ) + +(defpartgroup group-ctygenb-ticker-vertical + :id 943 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3371 :flags (is-3d sp6 sp7)) (sp-item 3372 :flags (is-3d sp6 sp7))) + ) + +(defpart 3372 + :init-specs ((:texture (ctygenb-ticker-backing ctygenb-sprite)) + (:num 1.0) + (:scale-x (meters 15)) + (:scale-y (meters 2.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 96.0 16.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-x (degrees 90)) + (:rotate-z (degrees 90)) + ) + ) + +(defpart 3371 + :init-specs ((:texture (ticker-e ctywide-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:z (meters -7.75)) + (:scale-x (meters 1.8)) + (:scale-y (meters 1)) + (:r 0.0 16.0) + (:g 64.0 64.0) + (:b 96.0 16.0) + (:a 128.0) + (:vel-z (meters 0.0190625)) + (:timer (seconds 2.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 40 1 0 #x7b00a00 #x7b00b00 #x7b00c00 #x7b00d00 #xde00100) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3373) + (:rotate-x (degrees 90)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3373 + :init-specs ((:r 0.0 16.0) (:g 64.0 64.0) (:b 96.0 16.0) (:a 128.0) (:next-time (seconds 0.017)) (:next-launcher 3373)) + ) + +(defpartgroup group-ctygenb-ground-vent-square + :id 944 + :flags (sp4) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3374 :fade-after (meters 200) :flags (sp6)) + (sp-item 3375 :fade-after (meters 100) :falloff-to (meters 100) :flags (sp7)) + ) + ) + +(defpart 3374 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 67.5)) + (:scale-y (meters 18)) + (:r 128.0 32.0) + (:g 255.0) + (:b 0.0) + (:a 8.0) + (:omega (degrees 4515.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpart 3375 + :init-specs ((:num 0.5) + (:x (meters -3) (meters 6)) + (:y (meters -3) (meters 6)) + (:rot-x 7) + (:r 4096.0) + (:g 3072.0) + (:b 2867.2) + (:vel-z (meters 0.016666668) (meters 0.006666667)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (distort)) + (:next-time (seconds 0.5)) + (:next-launcher 3376) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3376 + :init-specs ((:fade-b 1.3653333)) + ) + +(defpartgroup group-ctygenb-under-bridge-light + :id 945 + :bounds (static-bspherem 0 0 0 5) + :parts ((sp-item 3377 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + (sp-item 3378 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3377 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 2) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 20.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 3378 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 6) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0 255.0) + (:b 255.0) + (:a 8.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpartgroup group-ctygenb-flickering-under-bridge-light + :id 946 + :bounds (static-bspherem 0 0 0 5) + :parts ((sp-item 10 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + (sp-item 11 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 10 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 1.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 20.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 11 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 80.0) + (:a 16.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpartgroup group-ctygenb-rubble-smoke + :id 947 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3379 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))) + ) + +(defpart 3379 + :init-specs ((:texture (topglow level-default-sprite)) + (:num 0.1) + (:z (meters 0) (meters 6)) + (:scale-x (meters 4) (meters 4)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 0.0) + (:vel-y (meters 0.033333335)) + (:scalevel-x (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00066666666)) + (:friction 0.96 0.02) + (:timer (seconds 5.167)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:next-time (seconds 1)) + (:next-launcher 3380) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3380 + :init-specs ((:fade-a -0.11636364)) + ) + +(defpartgroup group-ctygenb-rubble-crater-smoke + :id 948 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3381 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))) + ) + +(defpart 3381 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:num 0.1) + (:z (meters 0) (meters 1)) + (:scale-x (meters 0.3) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 32.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:vel-y (meters 0.005925926)) + (:scalevel-x (meters 0.001) (meters 0.0033333334)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334) + (:accel-x (meters -0.000033333334) (meters 0.00006666667)) + (:accel-y (meters 0.00033333333) (meters 0.000033333334)) + (:accel-z (meters -0.000033333334) (meters 0.00006666667)) + (:friction 0.94) + (:timer (seconds 10.167)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:next-time (seconds 1)) + (:next-launcher 3382) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3382 + :init-specs ((:fade-a -0.024615385 -0.024615385)) + ) + +(defpartgroup group-ctygenb-sparks + :id 949 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3383 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3384 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + (sp-item 3384 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + ) + ) + +(defpart 3383 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0 128.0) + (:a 128.0 128.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:next-time (seconds 1)) + (:next-launcher 3385) + (:conerot-y (degrees -30) (degrees 60)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3385 + :init-specs ((:fade-a -0.85333335 -0.85333335)) + ) + +(defpart 3384 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 0.1) + (:x (meters -0.5) (meters 1)) + (:y (meters -0.5) (meters 1)) + (:z (meters 1)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-rubble-sparks-large + :id 950 + :duration (seconds 1) + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 3386 :flags (sp7)) (sp-item 3387 :flags (sp7)) (sp-item 3387 :flags (sp7))) + ) + +(defpart 3386 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 1.0) + (:scale-x (meters 0.1) (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a 255.0) + (:omega (degrees 0.0675)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:fade-r -0.10666667) + (:fade-g -0.10666667) + (:fade-a -0.21333334) + (:accel-y (meters -0.0016666667)) + (:friction 0.94 0.04) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 0) (degrees 180)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3387 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 0.1) + (:x (meters -2) (meters 4)) + (:y (meters -2) (meters 4)) + (:z (meters 1)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.1)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 40960.0) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) diff --git a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-h.gc b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-h.gc index 2d548c8d7b..1ec48b319a 100644 --- a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-h.gc +++ b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-h.gc @@ -628,7 +628,7 @@ (vehicle-method-65 (_type_) int) (vehicle-method-66 (_type_ vector int) none) (get-rider-in-seat (_type_ int) process) - (vehicle-method-68 (_type_) process) + (find-rider (_type_) process) (put-rider-in-seat (_type_ int process) none) (vehicle-method-70 (_type_) uint) (get-best-seat (_type_ vector vehicle-seat-flag int) int) diff --git a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc index 0b7469c9f0..9ecd83f3bb 100644 --- a/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc +++ b/goal_src/jak3/levels/city/traffic/vehicle/vehicle-util.gc @@ -437,7 +437,7 @@ ) ) -(defmethod vehicle-method-68 ((this vehicle)) +(defmethod find-rider ((this vehicle)) (let ((gp-0 (the-as process #f))) (countdown (s4-0 (-> this info rider seat-count)) (when (logtest? (-> this info rider seat-array s4-0 flags) (vehicle-seat-flag vsf0)) diff --git a/goal_src/jak3/levels/city/vinroom/power-game.gc b/goal_src/jak3/levels/city/vinroom/power-game.gc index 79d7ca8499..367a29566a 100644 --- a/goal_src/jak3/levels/city/vinroom/power-game.gc +++ b/goal_src/jak3/levels/city/vinroom/power-game.gc @@ -5,5 +5,3566 @@ ;; name in dgo: power-game ;; dgos: VIN +(declare-type power-game-player process-focusable) + ;; DECOMP BEGINS +(defpartgroup group-switcher-charge + :id 907 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3231 :flags (sp3 sp7))) + ) + +(defpart 3231 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 100.0) + (:z (meters 20)) + (:scale-x (meters 0.5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:omega (degrees 0.45)) + (:accel-z (meters -0.002)) + (:friction 0.92) + (:timer (seconds 2.835)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-switcher-die + :id 908 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3232 :flags (sp7) :period (seconds 20) :length (seconds 0.335)) + (sp-item 3233 :flags (sp7) :period (seconds 20) :length (seconds 0.335)) + ) + ) + +(defpart 3232 + :init-specs ((:texture (common-white common)) + (:num 0.5) + (:scale-x (meters 2)) + (:scale-y (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters 0.33333334)) + (:scalevel-x (meters 0.1)) + (:scalevel-y (meters 0.0016666667)) + (:fade-g -1.275) + (:fade-b -2.55) + (:fade-a -0.64) + (:friction 0.97) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3233 + :init-specs ((:texture (common-white common)) + (:num 0.5) + (:scale-x (meters 2)) + (:scale-y (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters -0.33333334)) + (:scalevel-x (meters 0.1)) + (:scalevel-y (meters 0.0016666667)) + (:fade-g -1.275) + (:fade-b -2.55) + (:fade-a -0.64) + (:friction 0.97) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-glyph-charge + :id 909 + :duration (seconds 218.45) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3234 :flags (sp7))) + ) + +(defpart 3234 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 0.2) + (:scale-x (meters 1)) + (:rot-x (degrees 45)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 80.0) + (:b 128.0) + (:a 0.0) + (:omega (degrees 9011.25)) + (:scalevel-x (meters 0.1) (meters 0.1)) + (:scalevel-y :copy scalevel-x) + (:fade-a 1.0) + (:timer (seconds 0.667)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:next-time (seconds 0.335)) + (:next-launcher 3235) + ) + ) + +(defpart 3235 + :init-specs ((:fade-a -2.0)) + ) + +(defpartgroup group-glyph-die + :id 910 + :linger-duration (seconds 10) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3236 :flags (is-3d sp7) :period (seconds 20) :length (seconds 1))) + ) + +(defpart 3236 + :init-specs ((:texture (ring level-default-sprite)) + (:num 0.25) + (:y (meters 1)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:scalevel-x (meters 0.33333334)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-3)) + (:next-time (seconds 0.035)) + (:next-launcher 3237) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3237 + :init-specs ((:r 0.0 4.0 64.0) (:g 0.0 4.0 64.0) (:b 0.0 4.0 64.0) (:next-time (seconds 0.035)) (:next-launcher 3237)) + ) + +(defpartgroup group-player-die + :id 911 + :linger-duration (seconds 10) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3238 :flags (sp3 sp7)) (sp-item 3239 :flags (sp3 sp6 sp7))) + ) + +(defpart 3238 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 100)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:fade-a -6.375) + (:timer (seconds 0.135)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + ) + ) + +(defpart 3239 + :init-specs ((:texture (middot level-default-sprite)) + (:num 300.0) + (:scale-x (meters 0.8)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:vel-z (meters 0.16666667) (meters 0.12207031)) + (:fade-a -0.21333334) + (:friction 0.93) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085)) + (:next-launcher 3240) + (:conerot-x (degrees -360) (degrees 720)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3240 + :init-specs ((:r 0.0 2.0 128.0) + (:g 0.0 2.0 128.0) + (:b 0.0 2.0 128.0) + (:friction 0.95) + (:next-time (seconds 0.035)) + (:next-launcher 3240) + ) + ) + +(defpart 3241 + :init-specs ((:texture (time-bubble-orbiter powergd-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 1.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +(defpartgroup group-power-scoreboard-points + :id 912 + :duration (seconds 0.017) + :linger-duration (seconds 2) + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 3242 :flags (is-3d sp7)) + (sp-item 3243 :flags (is-3d sp7)) + (sp-item 3244 :flags (is-3d sp7)) + (sp-item 3245 :flags (is-3d sp7)) + (sp-item 3246 :flags (is-3d sp3 sp6 sp7) :period (seconds 0.267) :length (seconds 0.03)) + (sp-item 3247 :flags (sp6)) + ) + ) + +(defun birth-func-power-score ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-0 (the-as object (-> arg1 user-float)))) + (when (nonzero? (the-as float v1-0)) + (+ (-> (the-as (pointer int32) v1-0) 0) -3) + (let* ((a0-4 (-> (the-as (pointer int32) v1-0) 3)) + (v1-2 (-> (the-as (pointer int32) (+ (* (+ (mod + (the int (/ (-> *game-info* score) (cond + ((= a0-4 1) + 10.0 + ) + ((= a0-4 2) + 100.0 + ) + ((= a0-4 3) + 1000.0 + ) + (else + 1.0 + ) + ) + ) + ) + 10 + ) + 3 + ) + 4 + ) + (the-as int v1-0) + ) + ) + 3 + ) + ) + ) + (if (nonzero? v1-2) + (particle-adgif-callback (-> arg1 adgif) (the-as texture-id v1-2)) + ) + ) + ) + ) + 0 + (none) + ) + +(defpart 3242 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters -5)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 3 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3243 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters -1.7)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 2 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3244 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters 1.7)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 1 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3245 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters 5)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 0 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(deftype power-game-cell (structure) + ((up uint8) + (right uint8) + (down uint8) + (left uint8) + ) + :pack-me + ) + + +(define *power-game-track* (new 'static 'inline-array power-game-cell 256 + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell) + ) + ) + +(deftype power-game-cam-info (structure) + ((cam-pos vector :inline) + (cam-pos-x-angle degrees) + (cam-dist meters) + (cam-x-angle degrees) + (cam-y-angle degrees) + (cam-y-angle-dest degrees) + (cam-y-angle-speed degrees) + ) + ) + + +(deftype power-game (process-drawable) + ((self power-game :override) + (root collide-shape-moving :override) + (task game-task-control) + (lentity entity-actor) + (hud-score handle) + (hud-goal handle) + (base-score float) + (score float) + (score-time time-frame) + (score-met symbol) + (game (inline-array power-game-cell)) + (blockers (array uint8)) + (dots (array uint8)) + (miss-max int32) + (miss-count int32) + (miss-time time-frame) + (point-win float) + (game-start-time time-frame) + (wave-start-time time-frame) + (wave-index int32) + (difficulty int32) + (speech-time time-frame) + (speech-count int32) + (speech-last int32 8) + (spawn-time time-frame) + (center vector :inline) + (corner vector 2 :inline) + (cam-targ power-game-cam-info :inline) + (cam-cur power-game-cam-info :inline) + (player handle) + (chaser handle) + (zapper handle 5) + (switcher handle) + (switcher-time time-frame) + (glyph handle) + (score-part sparticle-launch-control 1) + ) + (:state-methods + idle + hide + wait-for-start + (active symbol) + (lose symbol) + (win symbol) + ) + (:methods + (power-game-active-post (_type_) none) + (update-score-and-give-orbs (_type_) none) + (spawn-switcher (_type_) none) + (update-score-text (_type_) none) + (update-cam (_type_) none) + (get-center-pos! (_type_ vector float float) vector) + (power-game-method-32 (_type_ float float) int) + (power-game-method-33 (_type_ float float int) uint) + (power-game-method-34 (_type_ float float) int) + (power-game-method-35 (_type_ float float int) int) + (power-game-method-36 (_type_ float float int float float) float) + (power-game-method-37 (_type_ float float int) float) + (power-game-method-38 (_type_ vector int) vector) + (power-game-method-39 (_type_ int) int) + (power-game-method-40 (_type_ int) symbol) + (power-game-method-41 (_type_ vector) power-game-cell) + (power-game-method-42 (_type_ vector int int) symbol) + (power-game-method-43 (_type_ int) rgba) + (power-game-method-44 (_type_ float float int int) none) + (set-last-speech (_type_ int int) int) + ) + ) + + +(define-perm *power-game* (pointer power-game) #f) + +(define *power-game-speech-list* (new 'static 'inline-array talker-speech-class 50 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "powgame1" + :channel (gui-channel message) + :speech #x1 + :text-duration (seconds 5) + :neg #x1 + :text-message (text-id text-07b9) + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax766" + :channel (gui-channel daxter) + :flags (talker-flags tf0) + :speech #x2 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax767" + :channel (gui-channel daxter) + :flags (talker-flags tf0) + :speech #x3 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax775" + :channel (gui-channel daxter) + :speech #x4 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax776" + :channel (gui-channel daxter) + :speech #x5 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax768" + :channel (gui-channel daxter) + :speech #x6 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax769" + :channel (gui-channel daxter) + :speech #x7 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax770" + :channel (gui-channel daxter) + :speech #x8 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax771" + :channel (gui-channel daxter) + :speech #x9 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax772" + :channel (gui-channel daxter) + :speech #xa + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax773" + :channel (gui-channel daxter) + :speech #xb + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin117" + :channel (gui-channel daxter) + :speech #xc + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin137" + :channel (gui-channel daxter) + :speech #xd + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin103" + :channel (gui-channel daxter) + :speech #xe + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin104" + :channel (gui-channel daxter) + :speech #xf + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin105" + :channel (gui-channel daxter) + :speech #x10 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin106" + :channel (gui-channel daxter) + :speech #x11 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin116" + :channel (gui-channel daxter) + :speech #x12 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin129" + :channel (gui-channel daxter) + :speech #x13 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin130" + :channel (gui-channel daxter) + :speech #x14 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin107" + :channel (gui-channel daxter) + :speech #x15 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin108" + :channel (gui-channel daxter) + :speech #x16 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin135" + :channel (gui-channel daxter) + :speech #x17 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin101" + :channel (gui-channel daxter) + :speech #x18 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin124" + :channel (gui-channel daxter) + :speech #x19 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin125" + :channel (gui-channel daxter) + :speech #x1a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin126" + :channel (gui-channel daxter) + :speech #x1b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin127" + :channel (gui-channel daxter) + :speech #x1c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin128" + :channel (gui-channel daxter) + :speech #x1d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin109" + :channel (gui-channel daxter) + :speech #x1e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin110" + :channel (gui-channel daxter) + :speech #x1f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin111" + :channel (gui-channel daxter) + :speech #x20 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin112" + :channel (gui-channel daxter) + :speech #x21 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin113" + :channel (gui-channel daxter) + :speech #x22 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin115" + :channel (gui-channel daxter) + :speech #x23 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin118" + :channel (gui-channel daxter) + :speech #x24 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin119" + :channel (gui-channel daxter) + :speech #x25 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin120" + :channel (gui-channel daxter) + :speech #x26 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin121" + :channel (gui-channel daxter) + :speech #x27 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin122" + :channel (gui-channel daxter) + :speech #x28 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin123" + :channel (gui-channel daxter) + :speech #x29 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin134" + :channel (gui-channel daxter) + :speech #x2a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin131" + :channel (gui-channel daxter) + :speech #x2b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin132" + :channel (gui-channel daxter) + :speech #x2c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin133" + :channel (gui-channel daxter) + :speech #x2d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin136" + :channel (gui-channel daxter) + :speech #x2e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin140" + :channel (gui-channel daxter) + :speech #x2f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin141" + :channel (gui-channel daxter) + :speech #x30 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin139" + :channel (gui-channel daxter) + :speech #x31 + :neg #x1 + :on-close #f + :camera #f + ) + ) + ) + +(defmethod init-from-entity! ((this power-game) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) cshape-reaction-default) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((v1-6 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec obstacle obstacle-for-jak)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 0.0 0.0 4096.0) + (set! (-> s4-0 total-prims) (the-as uint 1)) + (set! (-> s4-0 root-prim) v1-6) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-9 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-sidekick" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this hud-score) (the-as handle #f)) + (set! (-> this hud-goal) (the-as handle #f)) + (set! (-> this player) (the-as handle #f)) + (set! (-> this chaser) (the-as handle #f)) + (dotimes (v1-16 5) + (set! (-> this zapper v1-16) (the-as handle #f)) + ) + (set! (-> this switcher) (the-as handle #f)) + (set! (-> this glyph) (the-as handle #f)) + (set! (-> *game-info* goal) 252.0) + (dotimes (v1-21 4) + (set! (-> this speech-last v1-21) 0) + ) + (set! (-> this task) + (new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0)) + ) + (set! (-> this game) *power-game-track*) + (set! (-> this blockers) (new 'process 'boxed-array uint8 2)) + (set! (-> this dots) (new 'process 'boxed-array uint8 255)) + (set-vector! (-> this center) 4587520.0 -819200.0 4587520.0 1.0) + (set! (-> this miss-max) 5) + (set! (-> this point-win) 252.0) + (set! (-> *game-info* score) 0.0) + (set! (-> *game-info* goal) (-> this point-win)) + (set! (-> *game-info* miss) 0.0) + (set! (-> *game-info* miss-max) (the float (-> this miss-max))) + (set! (-> this score-met) #f) + (set! (-> this score-part 0) (create-launch-control (-> *part-group-id-table* 912) this)) + (let ((v1-41 (-> this root root-prim))) + (set! (-> v1-41 prim-core collide-as) (collide-spec)) + (set! (-> v1-41 prim-core collide-with) (collide-spec)) + ) + 0 + (set! *power-game* (the-as (pointer power-game) (process->ppointer this))) + (go (method-of-object this hide)) + ) + +;; WARN: Return type mismatch process-drawable vs power-game. +(defmethod relocate ((this power-game) (offset int)) + (if (nonzero? (-> this task)) + (&+! (-> this task) offset) + ) + (if (nonzero? (-> this blockers)) + (&+! (-> this blockers) offset) + ) + (if (nonzero? (-> this dots)) + (&+! (-> this dots) offset) + ) + (dotimes (v1-12 1) + (if (nonzero? (-> this score-part v1-12)) + (&+! (-> this score-part v1-12) offset) + ) + ) + (the-as power-game ((method-of-type process-drawable relocate) this offset)) + ) + +(defmethod deactivate ((this power-game)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (dotimes (s5-0 1) + (if (nonzero? (-> this score-part s5-0)) + (kill-particles (-> this score-part s5-0)) + ) + ) + (set! *power-game* (the-as (pointer power-game) #f)) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +(defmethod set-last-speech ((this power-game) (arg0 int) (arg1 int)) + (let ((v0-1 (mod (+ (-> this speech-last arg0) (rand-vu-int-range 1 2)) arg1))) + (set! (-> this speech-last arg0) v0-1) + v0-1 + ) + ) + +(defmethod power-game-method-32 ((this power-game) (arg0 float) (arg1 float)) + (min (min (min (the int arg0) (the int arg1)) (- 14 (the int arg1))) (- 16 (the int arg0))) + ) + +(defmethod get-center-pos! ((this power-game) (arg0 vector) (arg1 float) (arg2 float)) + (set! (-> arg0 quad) (-> this corner 0 quad)) + (+! (-> arg0 x) (* 16384.0 arg1)) + (+! (-> arg0 z) (* 16384.0 arg2)) + arg0 + ) + +(defmethod power-game-method-33 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (let ((v1-1 (the int (fmax 0.0 (fmin 16.0 arg0)))) + (a1-2 (the int (fmax 0.0 (fmin 14.0 arg1)))) + ) + (if (>= arg2 0) + (set! (-> this dots (+ v1-1 (* 17 a1-2))) (the-as uint arg2)) + ) + (-> this dots (+ v1-1 (* 17 a1-2))) + ) + ) + +(defmethod power-game-method-34 ((this power-game) (arg0 float) (arg1 float)) + (cond + ((>= 7.0 arg1) + (cond + ((< arg0 arg1) + 3 + ) + ((< (- 16.0 arg0) arg1) + 1 + ) + (else + 0 + ) + ) + ) + ((< arg1 (- 14.0 arg0)) + 3 + ) + ((< arg1 (+ -2.0 arg0)) + 1 + ) + (else + 2 + ) + ) + ) + +(defmethod power-game-method-35 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (let ((v1-1 (power-game-method-34 this arg0 arg1))) + (cond + ((or (zero? v1-1) (= v1-1 1)) + (if (or (= arg2 1) (= arg2 2)) + 1 + -1 + ) + ) + (else + (let ((v1-5 arg2)) + (if (or (zero? v1-5) (= v1-5 3)) + 1 + -1 + ) + ) + ) + ) + ) + ) + +(defmethod power-game-method-36 ((this power-game) (arg0 float) (arg1 float) (arg2 int) (arg3 float) (arg4 float)) + (local-vars (v1-33 symbol)) + (the int arg0) + (the int arg1) + (let ((s4-0 (the int arg3)) + (s3-0 (the int arg4)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s2-0 x) (the float (the int arg0))) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (the float (the int arg1))) + (set! (-> s2-0 w) 1.0) + (let ((f30-0 0.0)) + (until v1-33 + (cond + ((power-game-method-42 this s2-0 arg2 arg2) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ((power-game-method-42 this s2-0 arg2 (logand (+ arg2 1) 3)) + (set! arg2 (logand (+ arg2 1) 3)) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ((power-game-method-42 this s2-0 arg2 (logand (+ arg2 3) 3)) + (set! arg2 (logand (+ arg2 3) 3)) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ) + (set! v1-33 (or (and (= (the int (-> s2-0 x)) s4-0) (= (the int (-> s2-0 z)) s3-0)) (>= f30-0 200.0))) + ) + f30-0 + ) + ) + ) + +(defmethod power-game-method-37 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (the int arg0) + (the int arg1) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (set! (-> s4-0 x) (the float (the int arg0))) + (set! (-> s4-0 y) 0.0) + (set! (-> s4-0 z) (the float (the int arg1))) + (set! (-> s4-0 w) 1.0) + (let ((f30-0 0.0)) + (while (and (power-game-method-42 this s4-0 arg2 arg2) (< f30-0 200.0)) + (vector+! s4-0 s4-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + f30-0 + ) + ) + ) + +(defmethod power-game-method-38 ((this power-game) (arg0 vector) (arg1 int)) + (local-vars (v0-0 vector)) + (let ((v1-0 arg1)) + (cond + ((zero? v1-0) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :z -1.0 :w 1.0) quad)) + ) + ((= v1-0 1) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :x 1.0 :w 1.0) quad)) + ) + ((= v1-0 2) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :z 1.0 :w 1.0) quad)) + ) + (else + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :x -1.0 :w 1.0) quad)) + ) + ) + ) + v0-0 + ) + +(defmethod power-game-method-39 ((this power-game) (arg0 int)) + (let ((v1-0 arg0)) + (if (or (zero? v1-0) (= v1-0 2)) + 2 + 0 + ) + ) + ) + +(defmethod power-game-method-41 ((this power-game) (arg0 vector)) + (let ((v1-0 (the int (-> arg0 x))) + (a1-1 (the int (-> arg0 z))) + ) + (-> this game (+ (* 17 a1-1) v1-0)) + ) + ) + +(defmethod power-game-method-42 ((this power-game) (arg0 vector) (arg1 int) (arg2 int)) + (let ((v1-0 (new 'stack-no-clear 'vector))) + (set! (-> v1-0 quad) (-> arg0 quad)) + (let ((f0-0 0.0) + (f1-0 16.0) + (f2-0 (-> v1-0 x)) + ) + (set! (-> v1-0 x) (fmax f0-0 (fmin f1-0 (the float (the int (+ 0.5 f2-0)))))) + ) + (let ((f0-2 0.0) + (f1-2 14.0) + (f2-5 (-> v1-0 z)) + ) + (set! (-> v1-0 z) (fmax f0-2 (fmin f1-2 (the float (the int (+ 0.5 f2-5)))))) + ) + (let ((v1-1 (power-game-method-41 this v1-0))) + (zero? (-> this blockers (-> (the-as (pointer uint8) (+ arg2 (the-as int v1-1)))))) + ) + ) + ) + +(defmethod power-game-method-40 ((this power-game) (arg0 int)) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (let ((s2-0 (new 'stack-no-clear 'matrix))) + (set! (-> s3-0 x) (sin (-> *cpad-list* cpads 0 stick0-dir))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (cos (-> *cpad-list* cpads 0 stick0-dir))) + (set! (-> s3-0 w) 0.0) + (let* ((s1-0 s2-0) + (a2-0 (matrix-local->world #t #f)) + (v1-4 (-> a2-0 rvec quad)) + (a0-4 (-> a2-0 uvec quad)) + (a1-2 (-> a2-0 fvec quad)) + (a2-1 (-> a2-0 trans quad)) + ) + (set! (-> s1-0 rvec quad) v1-4) + (set! (-> s1-0 uvec quad) a0-4) + (set! (-> s1-0 fvec quad) a1-2) + (set! (-> s1-0 trans quad) a2-1) + ) + (vector-matrix*! s3-0 s3-0 s2-0) + (warp-vector-into-surface! gp-0 s3-0 *up-vector* s2-0) + ) + (vector-float*! gp-0 gp-0 (-> *cpad-list* cpads 0 stick0-speed)) + (let ((v1-8 (power-game-method-38 this (new 'stack-no-clear 'vector) arg0))) + (< 0.5 (vector-dot gp-0 v1-8)) + ) + ) + ) + +;; WARN: Return type mismatch uint vs rgba. +(defmethod power-game-method-43 ((this power-game) (arg0 int)) + (let ((v1-0 arg0)) + (the-as rgba (cond + ((zero? v1-0) + (the-as uint #x8000ff00) + ) + ((= v1-0 1) + (the-as uint #x800000ff) + ) + (else + (the-as uint #x80ffffff) + ) + ) + ) + ) + ) + +(defmethod update-score-and-give-orbs ((this power-game)) + (set! (-> this score) -3.0) + (dotimes (v1-1 (-> this dots length)) + (if (zero? (-> this dots v1-1)) + (+! (-> this score) 1.0) + ) + ) + (let ((f30-0 (+ (-> this base-score) (-> this score)))) + (cond + ((>= (-> *game-info* score) f30-0) + (set! (-> *game-info* score) f30-0) + ) + ((and (< (-> *game-info* score) f30-0) (time-elapsed? (-> this score-time) (seconds 0.1))) + (sound-play "point-increase") + (seek! (-> *game-info* score) f30-0 1.0) + (set-time! (-> this score-time)) + ) + ) + (cond + ((not (task-node-closed? (game-task-node city-power-game-resolution))) + ) + ((not (task-node-closed? (game-task-node city-power-game-bronze))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 1)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-bronze) 'event) + ) + ) + ((not (task-node-closed? (game-task-node city-power-game-silver))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 2)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-silver) 'event) + ) + ) + ((not (task-node-closed? (game-task-node city-power-game-gold))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 3)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-gold) 'event) + ) + ) + ) + ) + (when (and (!= (-> *game-info* miss) (the float (-> this miss-count))) + (time-elapsed? (-> this miss-time) (seconds 0.25)) + ) + (sound-play "point-decrease") + (seek! (-> *game-info* miss) (the float (-> this miss-count)) 1.0) + (set-time! (-> this miss-time)) + ) + 0 + (none) + ) + +(defmethod power-game-method-44 ((this power-game) (arg0 float) (arg1 float) (arg2 int) (arg3 int)) + (local-vars (sv-128 int) (sv-144 vector)) + (the int arg0) + (the int arg1) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 x) (the float (the int arg0))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (the float (the int arg1))) + (set! (-> s3-0 w) 1.0) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s2-0 x) (the float (the int arg0))) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (the float (the int arg1))) + (set! (-> s2-0 w) 1.0) + (while (> arg3 0) + (cond + ((power-game-method-42 this s3-0 arg2 arg2) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ((power-game-method-42 this s3-0 arg2 (logand (+ arg2 1) 3)) + (set! arg2 (logand (+ arg2 1) 3)) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ((power-game-method-42 this s3-0 arg2 (logand (+ arg2 3) 3)) + (set! arg2 (logand (+ arg2 3) 3)) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ) + (let ((s1-3 add-debug-line) + (s0-6 #t) + ) + (set! sv-128 577) + (set! sv-144 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s2-0 x) (-> s2-0 z))) + (let ((a3-6 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s3-0 x) (-> s3-0 z))) + (t0-1 (the-as uint #x800000ff)) + (t1-0 #f) + (t2-0 -1) + ) + (s1-3 s0-6 (the-as bucket-id sv-128) sv-144 a3-6 (the-as rgba t0-1) t1-0 (the-as rgba t2-0)) + ) + ) + (set! (-> s2-0 quad) (-> s3-0 quad)) + (+! arg3 -1) + ) + ) + ) + 0 + (none) + ) + +(defmethod power-game-active-post ((this power-game)) + (set! (-> this game) *power-game-track*) + (spawn-switcher this) + (update-score-and-give-orbs this) + (update-cam this) + (update-score-text this) + 0 + (none) + ) + +(defmethod update-cam ((this power-game)) + (local-vars (sv-48 vector) (sv-52 vector) (sv-56 power-game-cam-info)) + (let ((s4-0 (the-as power-game-player (handle->process (-> this player))))) + (when s4-0 + (let ((s5-0 (get-trans s4-0 9)) + (s4-1 (the int (-> (get-trans s4-0 2) x))) + ) + (set! sv-48 (vector-! (new 'stack-no-clear 'vector) s5-0 (new 'static 'vector :x 8.0 :z 7.0 :w 1.0))) + (set! sv-52 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s5-0 x) (-> s5-0 z))) + (set! sv-56 (-> this cam-targ)) + (* 16384.0 (the float (logand (- 6 (power-game-method-34 this (-> s5-0 x) (-> s5-0 z))) 3))) + (let ((f30-1 (if (cpad-hold? 0 x) + 131072.0 + 65536.0 + ) + ) + ) + (power-game-method-32 this (-> s5-0 x) (-> s5-0 z)) + (power-game-method-35 this (-> s5-0 x) (-> s5-0 z) s4-1) + (cond + ((not (time-elapsed? (-> this game-start-time) (seconds 0.1))) + (set! (-> sv-56 cam-pos quad) (-> sv-52 quad)) + ) + (else + (if (< (fabs (-> sv-48 x)) 4.0) + (set! (-> sv-56 cam-pos x) (-> sv-52 x)) + ) + (if (< -1.0 (-> sv-48 z)) + (set! (-> sv-56 cam-pos z) (-> sv-52 z)) + ) + ) + ) + (let ((f0-21 (fabs (deg-diff (-> sv-56 cam-y-angle-dest) (-> sv-56 cam-y-angle))))) + (if (cpad-hold? 0 x) + (set! (-> sv-56 cam-y-angle-speed) (fmax 12743.111 (fmin 65536.0 f0-21))) + (set! (-> sv-56 cam-y-angle-speed) (fmax 12743.111 (fmin 32768.0 f0-21))) + ) + ) + (set! (-> sv-56 cam-y-angle) (-> sv-56 cam-y-angle-dest)) + (set! (-> sv-56 cam-x-angle) (lerp-scale 13653.333 7281.778 (-> s5-0 z) 0.0 14.0)) + (set! (-> sv-56 cam-pos-x-angle) (lerp-scale 13653.333 10012.444 (-> s5-0 z) 0.0 14.0)) + (if (= (-> *setting-control* user-default aspect-ratio) 'aspect16x9) + (set! (-> sv-56 cam-dist) (lerp-scale 266240.0 225280.0 (-> s5-0 z) 0.0 14.0)) + (set! (-> sv-56 cam-dist) (lerp-scale 204800.0 163840.0 (-> s5-0 z) 0.0 14.0)) + ) + (let ((s5-1 (-> this cam-cur))) + (cond + ((not (time-elapsed? (-> this game-start-time) (seconds 0.1))) + (mem-copy! (the-as pointer (-> this cam-cur)) (the-as pointer sv-56) 40) + ) + (else + (seek! (-> s5-1 cam-pos x) (-> sv-56 cam-pos x) (* f30-1 (seconds-per-frame))) + (seek! (-> s5-1 cam-pos z) (-> sv-56 cam-pos z) (* f30-1 (seconds-per-frame))) + (seek! (-> s5-1 cam-y-angle) (-> sv-56 cam-y-angle) (* (-> sv-56 cam-y-angle-speed) (seconds-per-frame))) + (seek! (-> s5-1 cam-x-angle) (-> sv-56 cam-x-angle) (* 1820.4445 (seconds-per-frame))) + (seek! (-> s5-1 cam-pos-x-angle) (-> sv-56 cam-pos-x-angle) (* 1820.4445 (seconds-per-frame))) + (seek! (-> s5-1 cam-dist) (-> sv-56 cam-dist) (* 40960.0 (seconds-per-frame))) + ) + ) + ) + ) + ) + ) + ) + 0 + (none) + ) + +(defmethod update-score-text ((this power-game)) + (if (and *cheat-mode* (-> this next-state) (= (-> this next-state name) 'active)) + (format *stdcon* "press L1 to fail, R1 to complete~%") + ) + (let ((v1-7 (-> this center))) + (vector+! (the-as vector (-> this corner)) v1-7 (new 'static 'vector :x -131072.0 :z -114688.0 :w 1.0)) + (vector+! (-> this corner 1) v1-7 (new 'static 'vector :x 131072.0 :z 114688.0 :w 1.0)) + ) + (dotimes (s5-0 17) + (dotimes (s4-0 15) + (let ((v1-9 (get-center-pos! this (new 'stack-no-clear 'vector) (the float s5-0) (the float s4-0)))) + (if (nonzero? (-> this dots (+ s5-0 (* 17 s4-0)))) + (launch-particles (-> *part-id-table* 3241) v1-9) + ) + ) + ) + ) + (if (task-node-closed? (game-task-node city-power-game-resolution)) + (spawn + (-> this score-part 0) + (vector+! (new 'stack-no-clear 'vector) (-> this center) (new 'static 'vector :y 16384.0 :w 1.0)) + ) + ) + 0 + (none) + ) + +(deftype power-game-object (process-focusable) + ((parent (pointer power-game) :override) + (local vector :inline) + (dir int8) + (next-dir int8) + (slide-dir int8) + (speed float) + (slide-dist int32) + (slide-speed float) + (slide-count int32) + (slide-lock symbol) + (slide-dest vector :inline) + (turn-pos vector :inline) + (target handle) + (start-time time-frame) + ) + (:state-methods + active + die + ) + (:methods + (power-game-object-method-30 (_type_) none) + (power-game-object-method-31 (_type_) none) + ) + ) + + +(defstate active (power-game-object) + :virtual #t + :code sleep-code + ) + +(defstate die (power-game-object) + :virtual #t + :code sleep-code + ) + +(defmethod get-trans ((this power-game-object) (arg0 int)) + "Get the `trans` for this process." + (case arg0 + ((9) + (-> this local) + ) + ((2) + (let ((v0-0 (new 'static 'vector))) + (set! (-> v0-0 x) (the float (-> this dir))) + (set! (-> v0-0 y) 0.0) + (set! (-> v0-0 z) 0.0) + (set! (-> v0-0 w) 1.0) + v0-0 + ) + ) + (else + (-> this root trans) + ) + ) + ) + +(defmethod power-game-object-method-30 ((this power-game-object)) + (let ((v1-0 (-> this dir))) + (cond + ((zero? v1-0) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 32768.0) + ) + ((= v1-0 1) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 16384.0) + ) + ((= v1-0 2) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 0.0) + ) + ((= v1-0 3) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* -16384.0) + ) + ) + ) + (let ((s5-0 (ppointer->process (-> this parent)))) + (let ((v1-13 (power-game-method-38 s5-0 (new 'stack-no-clear 'vector) (-> this dir))) + (s4-0 (-> this local)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s2-0 quad) (-> this local quad)) + (vector+float*! (-> this local) (-> this local) v1-13 (* (-> this speed) (seconds-per-frame))) + (cond + ((power-game-method-42 s5-0 s2-0 (-> this dir) (-> this dir)) + (set! (-> this next-dir) (-> this dir)) + ) + ((power-game-method-42 s5-0 s2-0 (-> this dir) (logand (+ (-> this dir) 1) 3)) + (set! (-> this next-dir) (logand (+ (-> this dir) 1) 3)) + ) + ((power-game-method-42 s5-0 s2-0 (-> this dir) (logand (+ (-> this dir) 3) 3)) + (set! (-> this next-dir) (logand (+ (-> this dir) 3) 3)) + ) + ) + (let ((s1-0 #f) + (s3-0 (power-game-method-39 s5-0 (-> this dir))) + ) + (let ((v1-35 (-> this dir))) + (cond + ((or (zero? v1-35) (= v1-35 3)) + (if (or (< (-> s4-0 data s3-0) 0.0) (< (-> s4-0 data s3-0) (floor (-> s2-0 data s3-0)))) + (set! s1-0 #t) + ) + ) + ((= v1-35 1) + (if (or (>= (-> s4-0 data s3-0) 16.0) (>= (-> s4-0 data s3-0) (the float (+ (the int (-> s2-0 data s3-0)) 1)))) + (set! s1-0 #t) + ) + ) + (else + (if (or (>= (-> s4-0 data s3-0) 14.0) (>= (-> s4-0 data s3-0) (the float (+ (the int (-> s2-0 data s3-0)) 1)))) + (set! s1-0 #t) + ) + ) + ) + ) + (when (and s1-0 (!= (-> this dir) (-> this next-dir))) + (set! (-> this dir) (-> this next-dir)) + (let ((f0-9 (-> s4-0 data s3-0))) + (set! (-> s4-0 data s3-0) (the float (the int (+ 0.5 f0-9)))) + ) + (set! (-> this turn-pos quad) (-> this local quad)) + (set! (-> this slide-lock) #f) + ) + ) + ) + (when (>= (-> this slide-dir) 0) + (let ((s5-1 (power-game-method-39 s5-0 (-> this slide-dir)))) + (seek! (-> this local data s5-1) (-> this slide-dest data s5-1) (* (-> this slide-speed) (seconds-per-frame))) + (when (= (-> this local data s5-1) (-> this slide-dest data s5-1)) + (set! (-> this slide-dir) -1) + (when (>= (-> this slide-count) (-> this slide-dist)) + (set! (-> this turn-pos quad) (-> this local quad)) + (set! (-> this slide-count) 0) + (set! (-> this slide-lock) #f) + ) + ) + ) + ) + ) + (set! (-> this local x) (fmax 0.0 (fmin 16.0 (-> this local x)))) + (set! (-> this local z) (fmax 0.0 (fmin 14.0 (-> this local z)))) + 0 + (none) + ) + +(defmethod power-game-object-method-31 ((this power-game-object)) + (if (nonzero? (-> this sound)) + (update! (-> this sound)) + ) + (get-center-pos! + (ppointer->process (-> this parent)) + (-> this root trans) + (-> this local x) + (-> this local z) + ) + (+! (-> this root trans y) 4096.0) + (cond + ((= (-> this dir) 3) + (let ((a0-4 (-> this node-list data 2))) + (set! (-> a0-4 param0) (the-as (function cspace transformq none) cspace<-parented-matrix-joint-flip-z!)) + (set! (-> a0-4 param1) #f) + (set! (-> a0-4 param2) #f) + ) + ) + (else + (let ((a0-5 (-> this node-list data 2))) + (set! (-> a0-5 param0) (the-as (function cspace transformq none) cspace<-parented-matrix-joint!)) + (set! (-> a0-5 param1) #f) + (set! (-> a0-5 param2) #f) + ) + ) + ) + (ja-post) + 0 + (none) + ) + +(defskelgroup skel-power-game-player daxter-pac-man daxter-pac-man-lod0-jg -1 + ((daxter-pac-man-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) + +(deftype power-game-player (power-game-object) + ((slide-rel-dir int32) + ) + ) + + +(defbehavior power-game-player-post power-game-player () + (cond + ((cpad-hold? 0 x) + (set! (-> self speed) 8.0) + (set! (-> self slide-dist) 1) + ) + (else + (set! (-> self speed) 4.0) + (set! (-> self slide-dist) 2) + ) + ) + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +(defstate active (power-game-player) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :trans (behavior () + (if (or (= (-> *cpad-list* cpads 0 stick0-speed) 0.0) (zero? (-> self slide-count))) + (set! (-> self slide-lock) #f) + ) + (let ((gp-0 (ppointer->process (-> self parent)))) + (when (and (< (-> self slide-dir) 0) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 gp-0 (-> self local) (-> self dir) (-> self dir)) + ) + ) + ) + (let ((s5-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((and *cheat-mode* (cpad-pressed? 0 triangle)) + (sound-play "change-directn") + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((-> self slide-lock) + ) + ((power-game-method-40 gp-0 s5-0) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) 8.0) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s5-0) + (power-game-method-39 gp-0 (-> self dir)) + (sound-play "change-track") + (set! (-> self slide-dir) s5-0) + (set! (-> self slide-rel-dir) 1) + (+! (-> self slide-count) 1) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s5-0) + 1.0 + ) + ) + ) + ((power-game-method-40 gp-0 s4-0) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) 8.0) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s4-0) + (power-game-method-39 gp-0 (-> self dir)) + (sound-play "change-track") + (set! (-> self slide-dir) s4-0) + (set! (-> self slide-rel-dir) -1) + (+! (-> self slide-count) 1) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + (let ((s5-4 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) -1))) + (if (!= s5-4 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) 0)) + (sound-play "pickup-fruit") + ) + ) + ) + ) + :code (behavior () + (let ((f30-0 0.0)) + 1.0 + (until #f + (label cfg-1) + (let ((v1-3 (ja-group))) + (cond + ((and v1-3 (or (= v1-3 daxter-pac-man-zip-down-ja) (= v1-3 daxter-pac-man-zip-up-ja))) + (ja-no-eval :num! (seek!)) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + ) + ((and (>= (-> self slide-dir) 0) (> (-> self slide-rel-dir) 0)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! daxter-pac-man-zip-down-ja :num! (seek! (ja-aframe 2.0 0)) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! (ja-aframe 2.0 0))) + ) + (while (>= (-> self slide-dir) 0) + (suspend) + ) + ) + ((and (>= (-> self slide-dir) 0) (< (-> self slide-rel-dir) 0)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! daxter-pac-man-zip-up-ja :num! (seek! (ja-aframe 2.0 0)) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! (ja-aframe 2.0 0))) + ) + (while (>= (-> self slide-dir) 0) + (suspend) + ) + (goto cfg-1) + ) + ) + ) + (let ((v1-58 (ja-group))) + (when (not (and v1-58 (= v1-58 daxter-pac-man-idle-ja))) + (ja-channel-push! 2 (seconds 0.05)) + (ja :group! daxter-pac-man-idle-ja) + (ja :chan 1 :group! daxter-pac-man-idle-fast-ja) + (set! f30-0 0.0) + ) + ) + (suspend) + (let ((f28-0 (lerp-scale 1.0 2.0 (-> self speed) 4.0 8.0))) + (set! f30-0 (seek f30-0 (lerp-scale 0.0 1.0 (-> self speed) 4.0 8.0) (* 4.0 (seconds-per-frame)))) + (ja :num! (loop! f28-0)) + ) + (ja :chan 1 :num! (chan 0) :frame-interp0 f30-0 :frame-interp1 f30-0) + ) + ) + #f + ) + :post (behavior () + (power-game-player-post) + ) + ) + +(defstate die (power-game-player) + :virtual #t + :code (behavior () + (sound-play "dax-die") + (send-event (ppointer->process (-> self parent)) 'die) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (cond + ((rand-vu-percent? 0.5) + (ja-no-eval :group! daxter-pac-man-death-1-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + (else + (ja-no-eval :group! daxter-pac-man-death-2-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 911 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 911)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 911)) + ) + ) + (sound-play "magic-poof-die") + (ja-channel-set! 0) + (send-event (ppointer->process (-> self parent)) 'fail) + (sleep-code) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +(defbehavior power-game-player-init power-game-player ((arg0 vector) (arg1 entity-actor)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-player" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logior! (-> self skel status) (joint-control-status sync-math blend-shape eye-anim)) + (set-vector! (-> self root scale) 8.0 8.0 8.0 1.0) + (set-vector! (-> self local) 8.0 0.0 5.0 1.0) + (set! (-> self dir) 1) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self target) (the-as handle #f)) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (if (zero? (set-last-speech (-> self parent 0) 4 2)) + (talker-spawn-func (-> *power-game-speech-list* 12) *entity-pool* (target-pos 0) (the-as region #f)) + (talker-spawn-func (-> *power-game-speech-list* 13) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (let ((v1-27 (-> (process->handle self) process))) + (set-setting! 'sound-ear v1-27 0.0 (-> v1-27 0 pid)) + ) + (go-virtual active) + ) + +(defskelgroup skel-power-game-chaser flitter flitter-lod0-jg -1 + ((flitter-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + :shadow flitter-shadow-mg + :origin-joint-index 3 + ) + +(deftype power-game-chaser (power-game-object) + ((targ-dist float) + ) + ) + + +(defbehavior power-game-chaser-post power-game-chaser () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +(defstate active (power-game-chaser) + :virtual #t + :trans (behavior () + (let* ((s5-0 (handle->process (-> self target))) + (gp-0 (if (type? s5-0 power-game-object) + (the-as power-game-object s5-0) + ) + ) + (s5-1 (ppointer->process (-> self parent))) + ) + (when (and gp-0 (not (logtest? (-> gp-0 focus-status) (focus-status dead)))) + (let ((s3-0 (power-game-method-32 s5-1 (-> gp-0 local x) (-> gp-0 local z))) + (s2-0 (power-game-method-32 s5-1 (-> self local x) (-> self local z))) + (s0-0 (power-game-method-35 s5-1 (-> self local x) (-> self local z) (-> self dir))) + ) + (when (and (= (-> self slide-dir) -1) + (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 s5-1 (-> self local) (-> self dir) (-> self dir)) + ) + ) + (let ((s1-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((!= s0-0 (power-game-method-35 s5-1 (-> gp-0 local x) (-> gp-0 local z) (-> gp-0 dir))) + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((= s3-0 s2-0) + ) + ((or (and (> s0-0 0) (< s2-0 s3-0)) (and (< s0-0 0) (< s3-0 s2-0))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s4-1 (-> self slide-dist)) + (when (power-game-method-42 s5-1 (-> self slide-dest) -1 s1-0) + (power-game-method-39 s5-1 (-> self dir)) + (set! (-> self slide-dir) s1-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s5-1 (new 'stack-no-clear 'vector) s1-0) + 1.0 + ) + ) + ) + ) + ((or (and (> s0-0 0) (< s3-0 s2-0)) (and (< s0-0 0) (< s2-0 s3-0))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-3 (-> self slide-dist)) + (when (power-game-method-42 s5-1 (-> self slide-dest) -1 s4-0) + (power-game-method-39 s5-1 (-> self dir)) + (set! (-> self slide-dir) s4-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s5-1 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + ) + ) + (set! (-> self targ-dist) + (lerp-scale 10.0 0.0 (the float (- (current-time) (-> self start-time))) 0.0 18000.0) + ) + (let* ((f0-23 (- (power-game-method-36 + s5-1 + (-> self local x) + (-> self local z) + (-> self dir) + (-> gp-0 local x) + (-> gp-0 local z) + ) + (-> self targ-dist) + ) + ) + (f0-24 (if (>= f0-23 0.0) + (lerp-scale 4.0 24.0 f0-23 0.0 5.0) + (lerp-scale 2.0 4.0 f0-23 -5.0 0.0) + ) + ) + ) + (seek! (-> self speed) f0-24 (* 128.0 (seconds-per-frame))) + ) + (if (< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 1.0) + (send-event gp-0 'die) + ) + ) + ) + ) + :code (behavior () + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! flitter-walk-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (power-game-chaser-post) + ) + ) + +(defbehavior power-game-chaser-init power-game-chaser ((arg0 vector) (arg1 entity-actor) (arg2 handle)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-chaser" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self local) 0.0 0.0 10.0 1.0) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 4.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (go-virtual active) + ) + +(defskelgroup skel-power-game-switcher switcher switcher-lod0-jg -1 + ((switcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + :origin-joint-index 3 + ) + +(deftype power-game-switcher (power-game-object) + ((targ-dist float) + (turn-time time-frame) + ) + (:state-methods + idle + ) + ) + + +(defbehavior power-game-switcher-post power-game-switcher () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +(defstate idle (power-game-switcher) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (if (time-elapsed? (-> self state-time) (seconds 4)) + (go-virtual active) + ) + (let* ((gp-0 (handle->process (-> self target))) + (v1-10 (if (type? gp-0 power-game-object) + (the-as power-game-object gp-0) + ) + ) + ) + (when (and v1-10 (not (logtest? (-> v1-10 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-10 local)) 1.0) + (go-virtual die) + ) + ) + ) + ) + :code (behavior () + (sound-play "switcher-appear") + (if (logtest? (-> *part-group-id-table* 907 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to self + :group (-> *part-group-id-table* 907) + :duration (seconds 4) + :target self + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to self + :group (-> *part-group-id-table* 907) + :duration (seconds 4) + :target self + :mat-joint (the-as object 0) + ) + ) + (let ((v1-32 (set-last-speech (-> self parent 0) 6 3))) + (cond + ((zero? v1-32) + (talker-spawn-func (-> *power-game-speech-list* 47) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-32 1) + (talker-spawn-func (-> *power-game-speech-list* 46) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 48) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! switcher-charge-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post power-game-switcher-post + ) + +(defstate active (power-game-switcher) + :virtual #t + :event (-> (method-of-type power-game-switcher idle) event) + :trans (behavior () + (let ((gp-0 (ppointer->process (-> self parent)))) + (when (and (= (-> self slide-dir) -1) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 gp-0 (-> self local) (-> self dir) (-> self dir)) + (time-elapsed? (-> self turn-time) (seconds 2)) + ) + ) + ) + (let ((s5-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((rand-vu-percent? 0.01) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s4-1 (-> self slide-dist)) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s5-0) + (power-game-method-39 gp-0 (-> self dir)) + (set-time! (-> self turn-time)) + (set! (-> self slide-dir) s5-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s5-0) + 1.0 + ) + ) + ) + ) + ((rand-vu-percent? 0.01) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s5-1 (-> self slide-dist)) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s4-0) + (power-game-method-39 gp-0 (-> self dir)) + (set-time! (-> self turn-time)) + (set! (-> self slide-dir) s4-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + ) + (let* ((s5-2 (handle->process (-> self target))) + (v1-53 (if (type? s5-2 power-game-object) + (the-as power-game-object s5-2) + ) + ) + ) + (when (and v1-53 (not (logtest? (-> v1-53 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-53 local)) 1.0) + (go-virtual die) + ) + ) + ) + (when (not (and (>= (-> self local z) 7.0) + (< (-> self local z) 8.0) + (>= (-> self local x) 7.0) + (>= 9.0 (-> self local x)) + ) + ) + (let ((s5-3 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) -1))) + (if (!= s5-3 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) 1)) + (sound-play "switch-fruit") + ) + ) + ) + ) + ) + :code (behavior () + (set! (-> self speed) 3.0) + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! switcher-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post power-game-switcher-post + ) + +(defstate die (power-game-switcher) + :virtual #t + :code (behavior () + (sound-play "switcher-kill") + (let ((v1-4 (set-last-speech (-> self parent 0) 5 4))) + (cond + ((zero? v1-4) + (talker-spawn-func (-> *power-game-speech-list* 21) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-4 1) + (talker-spawn-func (-> *power-game-speech-list* 22) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-4 2) + (talker-spawn-func (-> *power-game-speech-list* 23) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 24) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 908)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 908)) + ) + ) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! switcher-die-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +(defbehavior power-game-switcher-init power-game-switcher ((arg0 vector) (arg1 entity-actor) (arg2 handle)) + (local-vars (v1-11 symbol)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-switcher" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 1.3 1.3 1.3 1.0) + (until (not v1-11) + (set-vector! (-> self local) (the float (rand-vu-int-count 17)) 0.0 (the float (rand-vu-int-count 15)) 1.0) + (set! v1-11 (and (>= (-> self local z) 6.0) + (>= 8.0 (-> self local z)) + (>= (-> self local x) 6.0) + (>= 10.0 (-> self local x)) + ) + ) + ) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 0.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (set! (-> self sound) (new 'process 'ambient-sound "switcher-drone" (-> self root trans) 0.0)) + (go-virtual idle) + ) + +(defskelgroup skel-power-game-zapper grunt-head grunt-head-lod0-jg -1 + ((grunt-head-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) + +(defskelgroup skel-power-game-rings pow-rings pow-rings-lod0-jg pow-rings-idle-ja + ((pow-rings-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) + +(deftype power-game-zapper (power-game-object) + ((change-time time-frame) + (close-time time-frame) + (switch-duration time-frame) + (lane-time time-frame) + (lane-target int32) + (lane-target-old int32) + (lane-old int32) + (rings (pointer manipy)) + ) + ) + + +(defbehavior power-game-zapper-post power-game-zapper () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + (let ((v1-6 (power-game-method-32 (-> self parent 0) (-> self local x) (-> self local z)))) + (cond + ((= v1-6 6) + (send-event (ppointer->process (-> self rings)) 'segment 8 1008) + ) + ((= v1-6 5) + (send-event (ppointer->process (-> self rings)) 'segment 16 1000) + ) + ((= v1-6 4) + (send-event (ppointer->process (-> self rings)) 'segment 32 984) + ) + ((= v1-6 3) + (send-event (ppointer->process (-> self rings)) 'segment 64 952) + ) + ((= v1-6 2) + (send-event (ppointer->process (-> self rings)) 'segment 128 888) + ) + ((= v1-6 1) + (send-event (ppointer->process (-> self rings)) 'segment 256 760) + ) + ((zero? v1-6) + (send-event (ppointer->process (-> self rings)) 'segment 512 504) + ) + ) + ) + 0 + (none) + ) + +(defstate active (power-game-zapper) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :trans (behavior () + (let* ((s5-0 (handle->process (-> self target))) + (gp-0 (if (type? s5-0 power-game-object) + (the-as power-game-zapper s5-0) + ) + ) + (s4-0 (ppointer->process (-> self parent))) + ) + (when (and gp-0 (not (logtest? (-> gp-0 focus-status) (focus-status dead)))) + (let ((s5-1 (power-game-method-32 s4-0 (-> self local x) (-> self local z)))) + (let ((s3-0 (power-game-method-35 s4-0 (-> self local x) (-> self local z) (-> self dir)))) + (when (time-elapsed? (-> self lane-time) (-> self switch-duration)) + (set! (-> self lane-target) (-> self lane-target-old)) + (set-time! (-> self lane-time)) + (set! (-> self lane-target-old) (power-game-method-32 s4-0 (-> gp-0 local x) (-> gp-0 local z))) + ) + (when (and (= (-> self slide-dir) -1) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 s4-0 (-> self local) (-> self dir) (-> self dir)) + (time-elapsed? (-> self change-time) (seconds 2)) + ) + ) + ) + (let ((s1-0 (logand (+ (-> self dir) 1) 3)) + (s2-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((= s3-0 (power-game-method-35 s4-0 (-> gp-0 local x) (-> gp-0 local z) (-> gp-0 dir))) + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((= (-> self lane-target) s5-1) + ) + ((or (and (> s3-0 0) (< s5-1 (-> self lane-target))) (and (< s3-0 0) (< (-> self lane-target) s5-1))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-1 (-> self slide-dist)) + (when (power-game-method-42 s4-0 (-> self slide-dest) -1 s1-0) + (power-game-method-39 s4-0 (-> self dir)) + (set! (-> self slide-dir) s1-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s4-0 (new 'stack-no-clear 'vector) s1-0) + 1.0 + ) + (set-time! (-> self change-time)) + ) + ) + ) + ((or (and (> s3-0 0) (< (-> self lane-target) s5-1)) (and (< s3-0 0) (< s5-1 (-> self lane-target)))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-2 (-> self slide-dist)) + (when (power-game-method-42 s4-0 (-> self slide-dest) -1 s2-0) + (power-game-method-39 s4-0 (-> self dir)) + (set! (-> self slide-dir) s2-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s4-0 (new 'stack-no-clear 'vector) s2-0) + 1.0 + ) + (set-time! (-> self change-time)) + ) + ) + ) + ) + ) + ) + ) + (cond + ((and (!= (-> self lane-old) s5-1) + (= s5-1 (power-game-method-32 s4-0 (-> gp-0 local x) (-> gp-0 local z))) + (rand-vu-percent? 0.3) + ) + (let ((v1-89 (set-last-speech s4-0 3 3))) + (cond + ((zero? v1-89) + (talker-spawn-func (-> *power-game-speech-list* 4) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-89 1) + (talker-spawn-func (-> *power-game-speech-list* 5) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 6) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + ((< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 2.0) + (when (time-elapsed? (-> self close-time) (seconds 3)) + (let ((v1-103 (set-last-speech s4-0 7 3))) + (cond + ((zero? v1-103) + (talker-spawn-func (-> *power-game-speech-list* 43) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-103 1) + (talker-spawn-func (-> *power-game-speech-list* 44) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-103 2) + (talker-spawn-func (-> *power-game-speech-list* 45) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 46) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + (set-time! (-> self close-time)) + ) + ) + (set! (-> self lane-old) s5-1) + ) + (if (< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 1.0) + (send-event gp-0 'die) + ) + ) + ) + ) + :code (behavior () + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! grunt-head-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (power-game-zapper-post) + ) + ) + +(defstate die (power-game-zapper) + :virtual #t + :code (behavior () + (if (logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to self + :group (-> *part-group-id-table* 908) + :target self + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to self + :group (-> *part-group-id-table* 908) + :target self + :mat-joint (the-as object 0) + ) + ) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! grunt-head-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +(defbehavior power-game-zapper-init power-game-zapper ((arg0 vector) (arg1 entity-actor) (arg2 handle) (arg3 int)) + (let ((f30-0 (you-suck-scale *game-info* #f 175))) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-zapper" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 2.5 2.5 2.5 1.0) + (set! (-> self switch-duration) (the-as time-frame (the int (+ 300.0 (* 900.0 f30-0))))) + (cond + ((= arg3 1) + (set-vector! (-> self local) 1.0 0.0 10.0 1.0) + (set! (-> self speed) 3.0) + ) + ((= arg3 2) + (set-vector! (-> self local) 2.0 0.0 10.0 1.0) + (set! (-> self speed) 2.0) + ) + ((= arg3 3) + (set-vector! (-> self local) 2.0 0.0 10.0 1.0) + (set! (-> self speed) 5.0) + ) + ((= arg3 4) + (set-vector! (-> self local) 3.0 0.0 10.0 1.0) + (set! (-> self speed) 1.0) + ) + ((begin + (set-vector! (-> self local) 0.0 0.0 10.0 1.0) + (task-node-closed? (game-task-node city-power-game-resolution)) + ) + (set! (-> self speed) 4.0) + ) + (else + (set! (-> self speed) (- 4.0 (* 2.0 f30-0))) + ) + ) + ) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (set! (-> self rings) + (process-spawn + manipy + :init manipy-init + (vector+! (new 'stack-no-clear 'vector) (-> self parent 0 center) (new 'static 'vector :y 204.8 :w 1.0)) + (-> self entity) + (art-group-get-by-name *level* "skel-power-game-rings" (the-as (pointer level) #f)) + #f + 0 + :name "pow-rings" + :to self + :stack-size #x20000 + ) + ) + (set! (-> self sound) (new 'process 'ambient-sound "zapper-drone" (-> self root trans) 0.0)) + (go-virtual active) + ) + +(defskelgroup skel-power-game-glyph cipher cipher-lod0-jg cipher-idle-ja + ((cipher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +(deftype power-game-glyph (power-game-object) + ((pickup-type int32) + (angle degrees) + ) + (:methods + (power-game-glyph-method-32 (_type_) none) + ) + ) + + +(defmethod power-game-object-method-31 ((this power-game-glyph)) + (get-center-pos! + (ppointer->process (-> this parent)) + (-> this root trans) + (-> this local x) + (-> this local z) + ) + (+! (-> this root trans y) 4096.0) + (let ((t9-1 quaternion-rotate-y!) + (a0-2 (-> this root quat)) + (a1-1 *unity-quaternion*) + (f0-5 (+ (-> this angle) (* 40049.777 (seconds-per-frame)))) + ) + (set! (-> this angle) f0-5) + (t9-1 a0-2 a1-1 f0-5) + ) + (ja-post) + (none) + ) + +(defbehavior power-game-glyph-post power-game-glyph () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +(defstate active (power-game-glyph) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self target))) + (v1-3 (if (type? gp-0 power-game-object) + (the-as power-game-object gp-0) + ) + ) + ) + (when (and v1-3 (not (logtest? (-> v1-3 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-3 local)) 1.0) + (go-virtual die) + ) + ) + ) + ) + :code sleep-code + :post power-game-glyph-post + ) + +(defstate die (power-game-glyph) + :virtual #t + :code (behavior () + (cond + ((logtest? (-> *part-group-id-table* 910 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 910)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 910)) + ) + ) + (sound-play "glyph-kill") + (logior! (-> self focus-status) (focus-status dead)) + (send-event (ppointer->process (-> self parent)) 'win) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +(defbehavior power-game-glyph-init power-game-glyph ((arg0 vector) (arg1 entity-actor) (arg2 handle) (arg3 int)) + (set! (-> self pickup-type) arg3) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (if (zero? arg3) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-glyph" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-skill" (the-as (pointer level) #f))) + (the-as pair 0) + ) + ) + (set-vector! (-> self root scale) 10.0 10.0 10.0 1.0) + (set-vector! (-> self local) 8.0 0.0 8.0 1.0) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 0.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (sound-play "glyph-appear") + (get-center-pos! + (ppointer->process (-> self parent)) + (-> self root trans) + (-> self local x) + (-> self local z) + ) + (cond + ((logtest? (-> *part-group-id-table* 909 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 909)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 909)) + ) + ) + (go-virtual active) + ) + +(defstate hide (power-game) + :virtual #t + :trans (behavior () + (when (= (status-of-level-and-borrows *level* 'powergd #f) 'active) + (case (-> (get-current-task-event (-> self task)) action) + (((game-task-action idle) (game-task-action talk)) + (go-virtual idle) + ) + (((game-task-action play)) + (go-virtual wait-for-start) + ) + ) + ) + ) + :code (behavior () + (set! (-> self difficulty) 0) + (ja-channel-set! 0) + (ja-post) + (sleep-code) + ) + ) + +(defstate idle (power-game) + :virtual #t + :trans (behavior () + (case (-> (get-current-task-event (-> self task)) action) + (((game-task-action hide)) + (go-virtual hide) + ) + (((game-task-action play)) + (go-virtual wait-for-start) + ) + (((game-task-action talk)) + (let ((a0-5 (-> self root trans))) + (when (and (time-elapsed? (-> self state-time) (seconds 3)) + (and (and *target* (and (>= 40960.0 (vector-vector-distance a0-5 (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) + ) + (not (focus-test? *target* in-head pole flut light board pilot dark)) + (can-display-query? self "game" -99.0) + ) + ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-22 gp-0)) + (set! (-> v1-22 width) (the float 340)) + ) + (let ((v1-23 gp-0)) + (set! (-> v1-23 height) (the float 80)) + ) + (let ((v1-24 gp-0) + (a0-15 (-> *setting-control* user-default language)) + ) + (set! (-> v1-24 scale) (if (or (= a0-15 (language-enum korean)) (= a0-15 (language-enum russian))) + 0.9 + 0.7 + ) + ) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning large)) + (print-game-text + (lookup-text! *common-text* (text-id text-0087) #f) + gp-0 + #f + 44 + (bucket-id hud-draw-hud-alpha) + ) + ) + (if (cpad-pressed? 0 triangle) + (go-virtual wait-for-start) + ) + ) + ) + ) + ) + ) + :code (behavior () + (set! (-> self difficulty) 0) + (sleep-code) + ) + :post ja-post + ) + +(defstate wait-for-start (power-game) + :virtual #t + :code (behavior () + (set! (-> self difficulty) 0) + (while (or (not *target*) (not (process-grab? *target* #f))) + (suspend) + ) + (send-event *target* 'draw #f) + (go-virtual active #t) + ) + ) + +(defstate active (power-game) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('done) + (set-time! (-> self miss-time)) + (let ((v0-0 (the-as object (+ (-> self miss-count) 1)))) + (set! (-> self miss-count) (the-as int v0-0)) + v0-0 + ) + ) + (('fail) + (go-virtual lose #f) + ) + (('win) + (go-virtual win #f) + ) + (('die) + (let ((v1-9 (set-last-speech self 1 12))) + (cond + ((zero? v1-9) + (talker-spawn-func (-> *power-game-speech-list* 30) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 1) + (talker-spawn-func (-> *power-game-speech-list* 31) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 2) + (talker-spawn-func (-> *power-game-speech-list* 32) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 3) + (talker-spawn-func (-> *power-game-speech-list* 33) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 4) + (talker-spawn-func (-> *power-game-speech-list* 34) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 5) + (talker-spawn-func (-> *power-game-speech-list* 35) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 6) + (talker-spawn-func (-> *power-game-speech-list* 36) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 7) + (talker-spawn-func (-> *power-game-speech-list* 37) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 8) + (talker-spawn-func (-> *power-game-speech-list* 38) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 9) + (talker-spawn-func (-> *power-game-speech-list* 39) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 10) + (talker-spawn-func (-> *power-game-speech-list* 40) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 11) + (talker-spawn-func (-> *power-game-speech-list* 41) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 42) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + ) + ) + :enter (behavior ((arg0 symbol)) + (when arg0 + (if (zero? (-> self wave-index)) + (talker-spawn-func (-> *power-game-speech-list* 1) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (set! (-> self score) 0.0) + (set! (-> self score-met) #f) + (set! (-> self lentity) (entity-actor-from-level-name 'powergd)) + (dotimes (v1-4 (-> self blockers length)) + (set! (-> self blockers v1-4) (the-as uint 0)) + ) + (set! (-> self blockers 1) (the-as uint 1)) + (dotimes (v1-8 (-> self dots length)) + (set! (-> self dots v1-8) (the-as uint 1)) + ) + (power-game-method-33 self 7.0 7.0 0) + (power-game-method-33 self 8.0 7.0 0) + (power-game-method-33 self 9.0 7.0 0) + (send-event *target* 'draw #f) + (sound-play "zoom-in") + (add-connection + *task-manager-engine* + self + nothing + self + (-> *game-info* sub-task-list (game-task-node city-power-game-resolution)) + #f + ) + (add-setting! 'music 'waspgame 0.0 0) + (set-setting! 'mode-name 'cam-power-game 0.0 0) + (set! (-> self cam-targ cam-pos-x-angle) 13653.333) + (set! (-> self cam-targ cam-dist) 204800.0) + (set! (-> self cam-targ cam-x-angle) 13653.333) + (set! (-> self cam-targ cam-y-angle) 0.0) + (set! (-> self cam-targ cam-y-angle-speed) 12743.111) + (mem-copy! (the-as pointer (-> self cam-cur)) (the-as pointer (-> self cam-targ)) 40) + (set-setting! 'interp-time 'abs 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (set-setting! 'minimap 'clear 0.0 (minimap-flag minimap)) + (set-setting! 'extra-bank '((vinroomh vinroomh powergd1)) 0.0 0) + (set-setting! + 'faction-command + '((faction-spawn mh-guard off) + (faction-spawn mh-ped off) + (faction-spawn ff-guard off) + (faction-spawn ff-ped off) + (faction-spawn kg-guard off) + (faction-spawn kg-ped off) + (faction-strength kg -5) + (faction-strength mh -5) + (faction-strength ff -5) + ) + 0.0 + 0 + ) + (set-time! (-> self game-start-time)) + (set-time! (-> self wave-start-time)) + (send-event *target* 'draw #f) + (set-setting! 'gun #f 0.0 0) + (set-setting! 'calm #t 0.0 0) + (set-setting! 'gem #f 0.0 0) + (set! (-> self player) (ppointer->handle (process-spawn + power-game-player + :init power-game-player-init + (-> self center) + (-> self lentity) + :name "power-game-player" + :to self + ) + ) + ) + (dotimes (gp-3 (min 5 (+ (/ (-> self difficulty) 3) 1))) + (set! (-> self zapper gp-3) (ppointer->handle (process-spawn + power-game-zapper + :init power-game-zapper-init + (-> self center) + (-> self lentity) + (-> self player) + gp-3 + :name "power-game-zapper" + :to self + ) + ) + ) + ) + (set-time! (-> self switcher-time)) + ) + ) + :exit (behavior () + (when (not (and (-> self next-state) (let ((v1-3 (-> self next-state name))) + (or (= v1-3 'win) (= v1-3 'lose)) + ) + ) + ) + (when (not (and (-> self next-state) (= (-> self next-state name) 'active))) + (format #t "score of ~f~%" (+ (-> self base-score) (-> self score))) + (game-info-method-27 *game-info* (game-score gs14) (+ (-> self base-score) (-> self score))) + ) + (remove-from-process *task-manager-engine* self) + (remove-setting! 'music) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + (remove-setting! 'entity-name) + (remove-setting! 'mode-name) + (if (and *target* (focus-test? *target* grabbed)) + (process-release? *target*) + ) + (remove-setting! 'airlock) + (remove-setting! 'borrow) + (remove-setting! 'minimap) + (remove-setting! 'gun) + (remove-setting! 'calm) + (remove-setting! 'gem) + (persist-with-delay *setting-control* 'gun (seconds 0.5) 'gun #f 0.0 0) + (remove-setting! 'extra-bank) + (remove-setting! 'faction-command) + (remove-setting! 'interp-time) + (persist-with-delay *setting-control* 'interp-time (seconds 0.1) 'interp-time 'abs 0.0 0) + (send-event *target* 'draw #t) + (let ((a0-37 (handle->process (-> self player)))) + (if a0-37 + (deactivate a0-37) + ) + ) + (let ((a0-41 (handle->process (-> self chaser)))) + (if a0-41 + (deactivate a0-41) + ) + ) + (dotimes (gp-0 5) + (let ((a0-45 (handle->process (-> self zapper gp-0)))) + (if a0-45 + (deactivate a0-45) + ) + ) + ) + (let ((a0-49 (handle->process (-> self switcher)))) + (if a0-49 + (deactivate a0-49) + ) + ) + (let ((a0-53 (handle->process (-> self glyph)))) + (if a0-53 + (deactivate a0-53) + ) + ) + (send-event *target* 'draw #t) + (logclear! + (-> *cpad-list* cpads 0 button0-abs 0) + (pad-buttons up right down left l1 r1 triangle circle x square) + ) + (logclear! + (-> *cpad-list* cpads 0 button0-rel 0) + (pad-buttons up right down left l1 r1 triangle circle x square) + ) + ) + ) + :trans (behavior () + (cond + ((or (and *cheat-mode* (cpad-pressed? 0 l1)) (>= (-> self miss-count) (-> self miss-max))) + (go-virtual lose #t) + ) + ((and (>= (-> self score) (-> self point-win)) (not (-> self score-met))) + (cond + ((not (task-node-closed? (game-task-node city-power-game-resolution))) + (let ((v1-13 (set-last-speech self 0 2))) + (cond + ((zero? v1-13) + (talker-spawn-func (-> *power-game-speech-list* 9) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-13 1) + (talker-spawn-func (-> *power-game-speech-list* 10) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 11) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (set! (-> self score-met) #t) + (set! (-> self glyph) (ppointer->handle (process-spawn + power-game-glyph + :init power-game-glyph-init + (-> self center) + (-> self lentity) + (-> self player) + 0 + :name "power-game-glyph" + :to self + ) + ) + ) + ) + (else + (+! (-> self wave-index) 1) + (+! (-> self difficulty) 1) + (sound-play "glyph-kill") + (+! (-> self base-score) (-> self score)) + (go-virtual active #t) + ) + ) + ) + ((and *cheat-mode* (cpad-pressed? 0 r1)) + (go-virtual win #t) + ) + ) + ) + :code (behavior ((arg0 symbol)) + (sleep-code) + ) + :post (behavior () + (power-game-active-post self) + (ja-post) + ) + ) + +(defstate lose (power-game) + :virtual #t + :exit (-> (method-of-type power-game active) exit) + :code (behavior ((arg0 symbol)) + (when (not arg0) + (let ((gp-0 (lookup-gui-connection-id *gui-control* (the-as string #f) (gui-channel daxter) (gui-action none))) + (s5-0 (current-time)) + ) + (while (or (nonzero? (get-status *gui-control* gp-0)) (not (time-elapsed? s5-0 (seconds 2)))) + (suspend) + ) + ) + ) + (let* ((v1-12 (-> *game-info* sub-task-list (game-task-node city-power-game-resolution))) + (gp-1 (if (-> v1-12 manager) + (-> v1-12 manager manager) + (the-as handle #f) + ) + ) + ) + (cond + ((handle->process gp-1) + (send-event (handle->process gp-1) 'fail) + (while (handle->process gp-1) + (suspend) + ) + ) + (else + (auto-save-user) + (ja-channel-set! 0) + (ja-post) + (set-blackout-frames (seconds 0.2)) + ) + ) + ) + ) + :post (behavior () + (update-score-text self) + (ja-post) + ) + ) + +(defstate win (power-game) + :virtual #t + :exit (-> (method-of-type power-game active) exit) + :code (behavior ((arg0 symbol)) + (dotimes (s5-0 5) + (if (-> self zapper s5-0) + (send-event (handle->process (-> self zapper s5-0)) 'die) + ) + ) + (when (not arg0) + (let ((v1-16 (set-last-speech self 2 5))) + (cond + ((zero? v1-16) + (talker-spawn-func (-> *power-game-speech-list* 25) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 1) + (talker-spawn-func (-> *power-game-speech-list* 26) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 2) + (talker-spawn-func (-> *power-game-speech-list* 27) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 3) + (talker-spawn-func (-> *power-game-speech-list* 28) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 29) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (let ((gp-6 (lookup-gui-connection-id *gui-control* (the-as string #f) (gui-channel daxter) (gui-action none))) + (s5-6 (current-time)) + ) + (while (or (nonzero? (get-status *gui-control* gp-6)) (not (time-elapsed? s5-6 (seconds 2)))) + (suspend) + ) + ) + ) + (let* ((v1-38 (-> *game-info* sub-task-list (game-task-node city-power-game-resolution))) + (gp-7 (if (-> v1-38 manager) + (-> v1-38 manager manager) + (the-as handle #f) + ) + ) + ) + (send-event (handle->process gp-7) 'complete) + (ja-channel-set! 0) + (ja-post) + (set-blackout-frames (seconds 0.2)) + (cond + ((handle->process gp-7) + ) + (else + (auto-save-user) + ) + ) + (while (handle->process gp-7) + (suspend) + ) + ) + ) + :post (-> (method-of-type power-game lose) post) + ) + +(defmethod spawn-switcher ((this power-game)) + (cond + ((handle->process (-> this switcher)) + (set-time! (-> this switcher-time)) + (if (-> this score-met) + (send-event (handle->process (-> this switcher)) 'die) + ) + ) + ((and (time-elapsed? + (-> this switcher-time) + (- (+ (the int (* 9000.0 (you-suck-scale *game-info* #f 175))) 3000) (min 1200 (* 150 (-> this difficulty)))) + ) + (not (-> this score-met)) + ) + (set! (-> this switcher) (ppointer->handle (process-spawn + power-game-switcher + :init power-game-switcher-init + (-> this center) + (-> this lentity) + (-> this player) + :name "power-game-switcher" + :to this + ) + ) + ) + ) + ) + 0 + (none) + ) + +(defbehavior cam-power-game-update power-game () + (when *power-game* + (let ((s5-0 (-> *power-game* 0 cam-cur)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 x) 0.0) + (set! (-> gp-0 y) 0.0) + (set! (-> gp-0 z) (-> *power-game* 0 cam-cur cam-dist)) + (set! (-> gp-0 w) 1.0) + (let ((f30-0 (-> *power-game* 0 cam-cur cam-y-angle))) + (vector-rotate-x! gp-0 gp-0 (- (-> *power-game* 0 cam-cur cam-pos-x-angle))) + (vector-rotate-y! gp-0 gp-0 f30-0) + (vector+! (the-as vector (&-> self root)) (the-as vector s5-0) gp-0) + (set-vector! gp-0 0.0 0.0 1.0 1.0) + (vector-rotate-x! gp-0 gp-0 (-> *power-game* 0 cam-cur cam-x-angle)) + (vector-rotate-y! gp-0 gp-0 (+ 32768.0 f30-0)) + ) + (forward-down->inv-matrix (the-as matrix (&-> self hud-score)) gp-0 (-> *camera* local-down)) + ) + ) + 0 + (none) + ) + +(defstate cam-power-game (camera-slave) + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('teleport) + #f + ) + (else + (cam-standard-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (when (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + (set! (-> self blend-from-type) (camera-blend-from-type unknown-1)) + (set! (-> self blend-to-type) (camera-blend-to-type unknown-0)) + 0 + ) + ) + :code (behavior () + (until #f + (if (not (paused?)) + ((the-as (function none) cam-power-game-update)) + ) + (suspend) + ) + #f + ) + ) diff --git a/goal_src/jak3/levels/city/vinroom/vinroom-part.gc b/goal_src/jak3/levels/city/vinroom/vinroom-part.gc index 3027c23952..3c0ae8d397 100644 --- a/goal_src/jak3/levels/city/vinroom/vinroom-part.gc +++ b/goal_src/jak3/levels/city/vinroom/vinroom-part.gc @@ -7,3 +7,2596 @@ ;; DECOMP BEGINS +(defpartgroup group-vinroom-console-1 + :id 871 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3133 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3134 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 1.067) :length (seconds 0.017) :offset 10) + (sp-item 3135 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3135 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 7)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3133 + :init-specs ((:texture (screen-00 freehq-sprite)) + (:num 1.0) + (:scale-x (meters 1.875)) + (:rot-x (degrees 90.75)) + (:scale-y (meters 0.9)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3134 + :init-specs ((:texture (vinroom-small-monitor-08 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1.9)) + (:rot-x (degrees 90.75)) + (:scale-y (meters 0.85)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -0.7111111) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x3ff01600 #x3ff01700 #x3ff01800 #x3ff01900)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.267)) + (:next-launcher 3136) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3136 + :init-specs ((:a 64.0) (:fade-a -0.7111111) (:next-time (seconds 0.267)) (:next-launcher 3136)) + ) + +(defpartgroup group-vinroom-console-2 + :id 872 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3137 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3138 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.135) :length (seconds 0.017)) + (sp-item 3135 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3137 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.2) + (:z (meters 0.015)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0 8.0) + (:scalevel-x (meters 0.018437501)) + (:scalevel-y (meters 0.0103124995)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3138 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:z (meters 0.015)) + (:scale-x (meters 1.4) (meters 0.6)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.65) (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -1.0666667) + (:timer (seconds 0.135) (seconds 0.065)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x3ff01200 #x3ff01300 #x3ff01400 #x3ff01500)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-matrix + :id 873 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3140 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3141 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3142 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3143 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3144 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3145 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3145 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3144 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 3.5)) + (:y (meters 0.8) (meters 0.5)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 0.835)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02b00 + #x3ff02800 + #x3ff02900 + #x3ff02a00 + #x3ff02c00 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3143 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 3.5)) + (:y (meters 0) (meters 0.5)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 0.917)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3142 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.3) + (:x (meters 3.5)) + (:y (meters -1.7) (meters 1.9)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3141 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1 0.1) + (:x (meters 3.5)) + (:y (meters -1.7) (meters 2.9)) + (:z (meters 0)) + (:scale-x (meters 0.6)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.6)) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a 96.0) + (:vel-x (meters -0.006) (meters -0.00575)) + (:fade-a 0.2) + (:timer (seconds 2.135)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02b00 + #x3ff02800 + #x3ff02900 + #x3ff02a00 + #x3ff02c00 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.535)) + (:next-launcher 3146) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3146 + :init-specs ((:fade-a -0.2) (:next-time (seconds 0.4) (seconds 0.13)) (:next-launcher 3147)) + ) + +(defpart 3147 + :init-specs ((:fade-a 0.2) (:next-time (seconds 0.4) (seconds 0.13)) (:next-launcher 3148)) + ) + +(defpart 3148 + :init-specs ((:fade-a -1.6)) + ) + +(defpart 3140 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 16.0) + (:scalevel-x (meters 0.05)) + (:scalevel-y (meters 0.025)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-code + :id 874 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3149 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3150 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3151 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3152 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3153 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.335) :length (seconds 0.017)) + (sp-item 3154 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3154 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.2)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3153 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:sound (static-sound-spec "text-line" :group 0 :volume 50.0)) + (:y (meters -1.9)) + (:z (meters 0.01)) + (:scale-x (meters 7)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.5)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:timer (seconds 2.935)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:next-time (seconds 0.267)) + (:next-launcher 3155) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3155 + :init-specs ((:vel-x (meters -0.0064)) + (:vel-y (meters 0.0264)) + (:vel-z (meters -0.0064)) + (:next-time (seconds 0.035)) + (:next-launcher 3156) + ) + ) + +(defpart 3156 + :init-specs ((:vel-x (meters 0)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:next-time (seconds 0.267)) + (:next-launcher 3155) + ) + ) + +(defpart 3152 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:z (meters 0.01)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 16.0) + (:scalevel-x (meters 0.05625)) + (:scalevel-y (meters 0.0275)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3139 + :init-specs ((:fade-a -2.1333334)) + ) + +(defpart 3150 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:y (meters -2)) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters 0.016666668)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3151 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:y (meters 2)) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters -0.016666668)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3149 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 4.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-2dcode + :id 875 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3157 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3158 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3159 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3160 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3161 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 120) + (sp-item 3160 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 85) + (sp-item 3161 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 205) + (sp-item 3162 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3163 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3164 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3165 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3166 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3164 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 3)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3165 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3166 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -3.5)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3163 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.0 0.1) + (:x (meters 0.6)) + (:scale-x (meters 2.8)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters -0.009166667)) + (:vel-z (meters 0.00020833334)) + (:fade-r -0.51) + (:fade-g -0.51) + (:fade-b -0.51) + (:fade-a -0.128) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02300 + ) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3167) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3162 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.0 0.1) + (:x (meters 0.6)) + (:scale-x (meters 2.8)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters 0.009166667)) + (:fade-r -0.51) + (:fade-g -0.51) + (:fade-b -0.51) + (:fade-a -0.128) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02300 + ) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3167) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3160 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:y (meters -4.4)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters 0.018333334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3161 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:y (meters 4.4)) + (:scale-x (meters 3)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters -0.018333334)) + (:vel-z (meters 0.00020833334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3157 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 9)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3158 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:x (meters 0.6)) + (:scale-x (meters 0)) + (:rot-x (degrees 89)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.058125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3159 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:sound (static-sound-spec "screen-ring" :num 0.5 :group 0 :volume 70.0)) + (:x (meters 0.6)) + (:scale-x (meters 0)) + (:rot-x (degrees 89)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.0125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-dots + :id 876 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3169 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3170 :fade-after (meters 100) :flags (sp7)) + (sp-item 3171 :fade-after (meters 100) :flags (sp7)) + (sp-item 3172 :fade-after (meters 100) :flags (sp7)) + (sp-item 3173 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3173 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3172 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 5.0) + (:x (meters 0) 4 (meters 0.22)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.467)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3171 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 4.0) + (:x (meters -0.66) 2 (meters 0.22)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0 255.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.4)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3170 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 1.0) + (:x (meters -0.88)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0 255.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.367)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3169 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 32.0) + (:scalevel-x (meters 0.01375)) + (:scalevel-y (meters 0.030000001)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-bargraph + :id 877 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3174 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3175 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3176 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3177 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3178 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3176 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -2)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3177 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3178 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 2)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3175 + :init-specs ((:texture (common-white common)) + (:num 1.0) + (:y (meters -3.8)) + (:z (meters 0.04)) + (:scale-x (meters 1.4)) + (:rot-x (degrees 89)) + (:rot-y (degrees -1)) + (:scale-y (meters 4.2)) + (:r 92.0) + (:g 192.0) + (:b 192.0) + (:a 127.0) + (:vel-y (meters 0.06688666)) + (:accel-y (meters -0.0030056667)) + (:timer (seconds 0.7)) + (:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3174 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:z (meters 0.04)) + (:scale-x (meters 1.7)) + (:rot-x (degrees 89)) + (:scale-y (meters 4.7)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-numbers + :id 878 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3179 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3180 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3181 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3181 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 10)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3180 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.625)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.004166667)) + (:scalevel-y (meters 0.004166667)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 0 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3179 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 1.25)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-radar + :id 879 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3182 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3183 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3184 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3185 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3186 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3187 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3187 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3182 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 6)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 4.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3184 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.01875)) + (:scalevel-y (meters 0.03375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3183 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.04375)) + (:scalevel-y (meters 0.01375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3168 + :init-specs ((:fade-a -0.53333336)) + ) + +(defpart 3185 + :init-specs ((:texture (vinroom-tv-radar vinroom-sprite)) + (:num 1.0) + (:sound (static-sound-spec "radar-sweep" :group 0 :volume 50.0)) + (:scale-x (meters 5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3186 + :init-specs ((:texture (vinroom-tv-radar-dots vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 3) (meters 1.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:rotvel-y (degrees 0.33333334) (degrees 0.26666668)) + (:timer (seconds 0.135) (seconds 0.53)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-threebar-1 + :id 880 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3188 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3189 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3189 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-threebar-2 + :id 881 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3190 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3191 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3192 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3193 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3193 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-threebar-3 + :id 882 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3194 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.017) :offset 650) + (sp-item 3195 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3195 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3194 + :init-specs ((:texture (vinroom-tv-morgan vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1.4)) + (:rot-x (degrees 90)) + (:scale-y (meters 2.8)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 0.0) + (:fade-a 0.4) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.267)) + (:next-launcher 3196) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3196 + :init-specs ((:fade-a -0.4)) + ) + +(defpart 3188 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.5) + (:y (meters 2.2)) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.2)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:vel-y (meters -0.019166667)) + (:vel-z (meters 0.00041666668)) + (:timer (seconds 0.785)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3192 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.25) + (:y (meters 2.2)) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.2)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:vel-y (meters -0.0095833335)) + (:vel-z (meters 0.00020833334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3190 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 5.4)) + (:rot-x (degrees 88)) + (:rot-y (degrees 1)) + (:scale-y (meters 4.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3191 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 88)) + (:rot-y (degrees 1)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.036250003)) + (:scalevel-y (meters 0.030000001)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-splitdots + :id 883 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3197 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3198 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3199 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3200 :fade-after (meters 100) :flags (sp7)) + (sp-item 3201 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3201 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 20)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3200 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 10.0) + (:y (meters -3.7) 28 (meters 0.25)) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 64.0) + (:vel-x (meters -0.013333334) 1 (meters 0.026666667)) + (:fade-a -1.6) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3199 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.025)) + (:scalevel-y (meters 0.025)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3198 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.058125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3197 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:y (meters -0.2)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 7.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-smallradar + :id 884 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3202 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3203 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3204 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3204 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3203 + :init-specs ((:texture (vinroom-tv-radar vinroom-sprite)) + (:num 1.0) + (:sound (static-sound-spec "radar-sweep" :group 0 :volume 50.0)) + (:scale-x (meters 3.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3202 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -2)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.0375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-tv-final + :id 885 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3205 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3206 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3207 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 3207 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 14)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 10)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3206 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.03125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3205 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.04375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-center-sphere + :id 886 + :bounds (static-bspherem 0 3 0 64) + :parts ((sp-item 3209) + (sp-item 3210 :binding 3208) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3211 :flags (sp6)) + ) + ) + +(defpart 3209 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 1.0) + (:y (meters 6)) + (:scale-x (meters 3.15)) + (:scale-y :copy scale-x) + (:r 0.0 32.0) + (:g 255.0) + (:b 255.0) + (:a 100.0 28.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4)) + (:userdata 0.0) + ) + ) + +(defpart 3211 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 6)) + (:scale-x (meters 8)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0) + (:b 255.0) + (:a 24.0 1.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4 glow)) + (:userdata 0.0) + ) + ) + +(defpart 3210 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.5) + (:y (meters 4.5) (meters 3)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +(defun birth-func-vinroom-sphere ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-1 (-> arg4 sprite key))) + (when (nonzero? v1-1) + (let ((f0-2 (+ (- 24576.0 (-> arg2 x-y-z-sx y)) (-> v1-1 origin trans y)))) + (set! (-> arg1 radius) (sqrtf (- (* (-> arg1 radius) (-> arg1 radius)) (* f0-2 f0-2)))) + ) + ) + ) + 0 + (none) + ) + +(defpart 3208 + :init-specs ((:texture (tinydot vinroom-sprite)) + (:birth-func 'birth-func-vinroom-sphere) + (:num 1.0) + (:x (meters 0) (meters 160)) + (:y (meters 0)) + (:z (meters 1.5)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0) + (:b 255.0) + (:a 0.0) + (:omega (degrees 0) (degrees 3600)) + (:vel-x (meters -0.026666667)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:fade-a 6.375) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2 ready-to-launch)) + (:next-time (seconds 0.267)) + (:next-launcher 3212) + ) + ) + +(defpart 3212 + :init-specs ((:a 255.0) (:fade-a 0.0) (:next-time (seconds 3.467)) (:next-launcher 3213)) + ) + +(defpart 3213 + :init-specs ((:fade-a -3.1875) (:accel-z (meters 0.0016666667))) + ) + +(defpartgroup group-vinroom-console-little-red-light-1 + :id 887 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.335) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-2 + :id 888 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.535) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-3 + :id 889 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.7) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-4 + :id 890 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.185) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-5 + :id 891 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 0.935) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-6 + :id 892 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.385) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-7 + :id 893 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.567) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-little-red-light-8 + :id 894 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 2) :length (seconds 0.167))) + ) + +(defpart 3214 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -0.025)) + (:z (meters 0)) + (:scale-x (meters 0.4) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-console-blue-light-1 + :id 895 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.335) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-2 + :id 896 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.535) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-3 + :id 897 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.7) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-4 + :id 898 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.185) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-5 + :id 899 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 0.935) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-6 + :id 900 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.385) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-7 + :id 901 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.567) :length (seconds 0.167))) + ) + +(defpartgroup group-vinroom-console-blue-light-8 + :id 902 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 2) :length (seconds 0.167))) + ) + +(defpart 3215 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-console-orb + :id 903 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 1.5) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3216 :fade-after (meters 80) :flags (sp6 sp7))) + ) + +(defpart 3216 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 20.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-console-top-panel + :id 904 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 1.5) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3217 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.5) :length (seconds 0.335)) + (sp-item 3218 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 2) :length (seconds 0.667)) + (sp-item 3219 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 2) :length (seconds 0.667) :offset 300) + (sp-item 3220 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.5) :length (seconds 0.335) :offset 300) + (sp-item 3221 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.55) :length (seconds 0.335) :offset 300) + (sp-item 3222 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.7) :length (seconds 0.335) :offset 300) + ) + ) + +(defpart 3220 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.15)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3221 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.4)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3222 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.65)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3217 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters -0.18)) + (:scale-x (meters 0.9)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3218 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters -0.13)) + (:z (meters -0.53)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3219 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0.1)) + (:z (meters -0.53)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-red-wall-lights + :id 905 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3223 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3224 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3225 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3226 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +(defpart 3223 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3224 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3225 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -1.5)) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3226 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.05)) + (:scale-x (meters 12) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-vinroom-red-wall-lights-small + :id 906 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3227 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3228 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3229 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3230 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +(defpart 3227 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3228 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.2)) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3229 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.2)) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3230 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.075)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 2) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 16.0 4.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) diff --git a/goal_src/jak3/levels/city/vinroom/vinroom-scenes.gc b/goal_src/jak3/levels/city/vinroom/vinroom-scenes.gc index da7dac63b6..11f26b5477 100644 --- a/goal_src/jak3/levels/city/vinroom/vinroom-scenes.gc +++ b/goal_src/jak3/levels/city/vinroom/vinroom-scenes.gc @@ -7,3 +7,403 @@ ;; DECOMP BEGINS +(defskelgroup skel-vin-effect vin-effect vin-effect-lod0-jg vin-effect-idle-ja + ((vin-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +(defskelgroup skel-precursor-movie precursor precursor-lod0-jg precursor-idle-ja + ((precursor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 6 + ) + +(defskelgroup skel-torn-movie torn-effect torn-effect-lod0-jg torn-effect-idle-ja + ((torn-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +(defskelgroup skel-cipher cipher cipher-lod0-jg cipher-idle-ja + ((cipher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +(load-scene (new 'static 'scene + :name "city-power-game-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-42" + :art-group "scenecamera" + :anim "city-power-game-intro" + :parts 26 + :command-list '((0 (fadein (frame-time-30 30)) (task-close! "city-power-game-wait") (kill "vinroom-part-6")) + (3004 + (part-tracker + "group-vinroom-monitor-sparks" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 3004 3100) + ) + ) + (3020 + (apply + ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (disable *screen-filter*) + (setup + *screen-filter* + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0) + (* 5.0 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-setting! 'allow-blackout #f 0.0 0) + ) + (none) + ) + ) + ) + (10000 + (apply + ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (remove-setting! 'allow-blackout) + (setup + *screen-filter* + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-filter-color! 1.0 1.0 1.0) + ) + (none) + ) + ) + ) + ) + :cut-list '(65 + 335 + 372 + 486 + 571 + 633 + 691 + 756 + 806 + 901 + 1031 + 1091 + 1171 + 1231 + 1326 + 1436 + 1524 + 1552 + 1573 + 1600 + 1679 + 1764 + 1824 + 1919 + 1980 + 2091 + 2136 + 2255 + 2318 + 2374 + 2483 + 2641 + 2744 + 2781 + 2866 + 2981 + ) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'ljkdxvin + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'ljkdxvin + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'ljkdxvin + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '(65 901 1091 1231 1326 1436 1764) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "vin-effect" + :level 'ljkdxvin + :art-group "skel-vin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "vinroom-movie" + :end-point "vinroom-movie" + :borrow '((vinroom 0 ljkdxvin special)) + :sfx-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "vin-bg-movie") + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-power-game-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-42" + :art-group "scenecamera" + :anim "city-power-game-res" + :parts 5 + :command-list '((34 (part-tracker + "group-vinroom-monitor-sparks" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 34 60) + ) + ) + (480 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-power-game-resolution")) + ) + :cut-list '(31 87 128 171 198 233 282 393 427 490 558 711 783 817 926 958 1010) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'lvincst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'lvincst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'lvincst + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "vin-effect" + :level 'lvincst + :art-group "skel-vin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-movie" + :level 'lvincst + :art-group "skel-torn-movie" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cipher" + :level 'lvincst + :art-group "skel-cipher" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "vinroom-movie" + :end-point "vinroom-movie-exit" + :borrow '((vinroom 0 lvincst special)) + :sfx-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "vin-bg-movie") + :on-complete #f + ) + ) + +(defpartgroup group-vinroom-monitor-sparks + :id 870 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3131 :flags (sp7)) (sp-item 3132 :flags (sp7))) + ) + +(defpart 3131 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0 64.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.033333335) (meters 0.06666667)) + (:fade-a -0.85333335 -0.85333335) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees -30) (degrees 60)) + (:conerot-y (degrees -30) (degrees 60)) + (:rotate-x (degrees 30)) + (:rotate-y (degrees 70)) + ) + ) + +(defpart 3132 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 0.0 200.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) diff --git a/goal_src/jak3/levels/comb/h-sled.gc b/goal_src/jak3/levels/comb/h-sled.gc index 4c80b104bc..0cd543fe69 100644 --- a/goal_src/jak3/levels/comb/h-sled.gc +++ b/goal_src/jak3/levels/comb/h-sled.gc @@ -1780,7 +1780,7 @@ (rlet ((vf0 :class vf)) (init-vf0-vector) (logior! (-> self draw status) (draw-control-status no-draw)) - (send-event (vehicle-method-68 self) 'draw #f) + (send-event (find-rider self) 'draw #f) (let ((t9-2 (-> (method-of-type vehicle explode) enter))) (if t9-2 (t9-2) diff --git a/goal_src/jak3/levels/desert/wvehicle/wvehicle.gc b/goal_src/jak3/levels/desert/wvehicle/wvehicle.gc index 783bbc7756..ff3a5f746f 100644 --- a/goal_src/jak3/levels/desert/wvehicle/wvehicle.gc +++ b/goal_src/jak3/levels/desert/wvehicle/wvehicle.gc @@ -1124,10 +1124,10 @@ #f ) (('race-pass) - (send-event (vehicle-method-68 this) 'race-pass) + (send-event (find-rider this) 'race-pass) ) (('race-got-passed) - (send-event (vehicle-method-68 this) 'race-got-passed) + (send-event (find-rider this) 'race-got-passed) ) (('race-finished) (-> arg3 param 0) diff --git a/goal_src/jak3/levels/factory/car/hvehicle.gc b/goal_src/jak3/levels/factory/car/hvehicle.gc index 7960008eaf..fa38290ff9 100644 --- a/goal_src/jak3/levels/factory/car/hvehicle.gc +++ b/goal_src/jak3/levels/factory/car/hvehicle.gc @@ -1050,7 +1050,7 @@ (damage f0-11) (vehicle-damage-factor 1.0) (vehicle-impulse-factor 1.0) - (attacker (process->handle (vehicle-method-68 this))) + (attacker (process->handle (find-rider this))) (mode 'vehicle) (vector (-> s5-0 force)) (penetrate-using (penetrate vehicle)) diff --git a/goal_src/jak3/levels/factory/h-warf.gc b/goal_src/jak3/levels/factory/h-warf.gc index 886cf871ef..dc1032fe4d 100644 --- a/goal_src/jak3/levels/factory/h-warf.gc +++ b/goal_src/jak3/levels/factory/h-warf.gc @@ -1597,7 +1597,7 @@ (damage f0-10) (vehicle-damage-factor 1.0) (vehicle-impulse-factor 1.0) - (attacker (process->handle (vehicle-method-68 this))) + (attacker (process->handle (find-rider this))) (mode 'vehicle) (vector s2-0) (penetrate-using (penetrate vehicle)) diff --git a/goal_src/jak3/levels/gungame/gun-dummy-art.gc b/goal_src/jak3/levels/gungame/gun-dummy-art.gc index e41c98b87d..d1e4ec03ec 100644 --- a/goal_src/jak3/levels/gungame/gun-dummy-art.gc +++ b/goal_src/jak3/levels/gungame/gun-dummy-art.gc @@ -7,3 +7,564 @@ ;; DECOMP BEGINS +(defskelgroup skel-gun-dummy-kg-robo gun-kg-target gun-kg-target-lod0-jg gun-kg-target-idle-ja + ((gun-kg-target-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-kg-robo-explode gun-kg-target gun-kg-target-explode-lod0-jg gun-kg-target-explode-idle-ja + ((gun-kg-target-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-robo-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-bomb gun-kg-bomb gun-kg-bomb-lod0-jg gun-kg-bomb-idle-ja + ((gun-kg-bomb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-bomb-explode gun-kg-bomb gun-kg-bomb-explode-lod0-jg gun-kg-bomb-explode-idle-ja + ((gun-kg-bomb-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-bomb-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-kg-b gun-kg-target-b gun-kg-target-b-lod0-jg gun-kg-target-b-idle-ja + ((gun-kg-target-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-kg-b-explode gun-kg-target-b gun-kg-target-b-explode-lod0-jg gun-kg-target-b-explode-idle-ja + ((gun-kg-target-b-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-b-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-kg-c gun-kg-target-c gun-kg-target-c-lod0-jg gun-kg-target-c-idle-ja + ((gun-kg-target-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-kg-c-explode gun-kg-target-c gun-kg-target-c-explode-lod0-jg gun-kg-target-c-explode-idle-ja + ((gun-kg-target-c-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-c-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-kg-big gun-kg-target-d gun-kg-target-d-lod0-jg gun-kg-target-d-idle-ja + ((gun-kg-target-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-kg-big-explode gun-kg-target-d gun-kg-target-d-explode-lod0-jg gun-kg-target-d-explode-idle-ja + ((gun-kg-target-d-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-big-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-kg-bonus gun-kg-target-bonus gun-kg-target-bonus-lod0-jg gun-kg-target-bonus-idle-ja + ((gun-kg-target-bonus-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-kg-bonus-explode gun-kg-target-bonus gun-kg-target-bonus-explode-lod0-jg gun-kg-target-bonus-explode-idle-ja + ((gun-kg-target-bonus-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-kg-bonus-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rc-three-eyes-bonus gun-rc-three-eyes-bonus gun-rc-three-eyes-bonus-lod0-jg gun-rc-three-eyes-bonus-idle-ja + ((gun-rc-three-eyes-bonus-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rc-three-eyes-bonus-explode gun-rc-three-eyes-bonus gun-rc-three-eyes-bonus-explode-lod0-jg gun-rc-three-eyes-bonus-explode-idle-ja + ((gun-rc-three-eyes-bonus-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rc-three-eyes-bonus-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rc-two-eyes gun-rc-two-eyes gun-rc-two-eyes-lod0-jg gun-rc-two-eyes-idle-ja + ((gun-rc-two-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rc-two-eyes-explode gun-rc-two-eyes gun-rc-two-eyes-explode-lod0-jg gun-rc-two-eyes-explode-idle-ja + ((gun-rc-two-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rc-two-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rc-three-eyes gun-rc-three-eyes gun-rc-three-eyes-lod0-jg gun-rc-three-eyes-idle-ja + ((gun-rc-three-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rc-three-eyes-explode gun-rc-three-eyes gun-rc-three-eyes-explode-lod0-jg gun-rc-three-eyes-explode-idle-ja + ((gun-rc-three-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rc-three-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rc-one-eye gun-rc-one-eye gun-rc-one-eye-lod0-jg gun-rc-one-eye-idle-ja + ((gun-rc-one-eye-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rc-one-eye-explode gun-rc-one-eye gun-rc-one-eye-explode-lod0-jg gun-rc-one-eye-explode-idle-ja + ((gun-rc-one-eye-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rc-one-eye-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rc-four-eyes gun-rc-four-eyes gun-rc-four-eyes-lod0-jg gun-rc-four-eyes-idle-ja + ((gun-rc-four-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rc-four-eyes-explode gun-rc-four-eyes gun-rc-four-eyes-explode-lod0-jg gun-rc-four-eyes-explode-idle-ja + ((gun-rc-four-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rc-four-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 22 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 23 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-rachet gun-rachet gun-rachet-lod0-jg gun-rachet-idle-ja + ((gun-rachet-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-rachet-explode gun-rachet gun-rachet-explode-lod0-jg gun-rachet-explode-idle-ja + ((gun-rachet-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-rachet-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-dummy-clank gun-clank gun-clank-lod0-jg gun-clank-idle-ja + ((gun-clank-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-dummy-clank-explode gun-clank gun-clank-explode-lod0-jg gun-clank-explode-idle-ja + ((gun-clank-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-clank-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(defskelgroup skel-gun-cit-a gun-cit-a gun-cit-a-lod0-jg gun-cit-a-idle-ja + ((gun-cit-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-a-explode gun-cit-a gun-cit-a-explode-lod0-jg gun-cit-a-explode-idle-ja + ((gun-cit-a-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-b gun-cit-b gun-cit-b-lod0-jg gun-cit-b-idle-ja + ((gun-cit-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-b-explode gun-cit-b gun-cit-b-explode-lod0-jg gun-cit-b-explode-idle-ja + ((gun-cit-b-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-c gun-cit-c gun-cit-c-lod0-jg gun-cit-c-idle-ja + ((gun-cit-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-c-explode gun-cit-c gun-cit-c-explode-lod0-jg gun-cit-c-explode-idle-ja + ((gun-cit-c-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-d gun-cit-d gun-cit-d-lod0-jg gun-cit-d-idle-ja + ((gun-cit-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(defskelgroup skel-gun-cit-d-explode gun-cit-d gun-cit-d-explode-lod0-jg gun-cit-d-explode-idle-ja + ((gun-cit-d-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +(define *gun-cit-a-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(define *gun-cit-b-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(define *gun-cit-c-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +(define *gun-cit-d-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) diff --git a/goal_src/jak3/levels/gungame/gun-dummy-part.gc b/goal_src/jak3/levels/gungame/gun-dummy-part.gc index 51ff4099e0..d612c38f95 100644 --- a/goal_src/jak3/levels/gungame/gun-dummy-part.gc +++ b/goal_src/jak3/levels/gungame/gun-dummy-part.gc @@ -7,3 +7,852 @@ ;; DECOMP BEGINS +(defpartgroup group-gun-dummy-sparks + :id 1413 + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4657 :fade-after (meters 50) :falloff-to (meters 100)) (sp-item 4658 :fade-after (meters 50))) + ) + +(defpart 4657 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 2.0 4.0) + (:scale-x (meters 2.5)) + (:rot-x 4) + (:scale-y (meters 0.04) (meters 0.03)) + (:r 255.0) + (:g 128.0 128.0) + (:b 0.0 128.0) + (:a 128.0) + (:omega (degrees 0.01125) (degrees 0.01125)) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:fade-g -2.55 -2.55) + (:fade-b -8.0) + (:fade-a -0.64 -0.64) + (:friction 0.8 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 0) (degrees 80)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4658 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.25)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0 128.0) + (:b 0.0) + (:a 96.0 16.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.08)) + (:scalevel-y :copy scalevel-x) + (:fade-g -10.2) + (:fade-a -4.48) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 0.0) + ) + ) + +(defpartgroup group-dummy-explode-cit-a + :id 1414 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-cit-b + :id 1415 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-cit-c + :id 1416 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-cit-d + :id 1417 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpart 4664 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 0.675)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 128.0 64.0) + (:g 96.0 32.0) + (:b 32.0 32.0) + (:a 64.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.2)) + (:scalevel-y :copy scalevel-x) + (:fade-a -2.56) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +(defpart 4661 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:num 12.0 3.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 2) (meters 2)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 2) (meters 2)) + (:r 128.0 64.0) + (:g 96.0 32.0) + (:b 32.0 32.0) + (:a 16.0 8.0) + (:vel-y (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y (meters 0) (meters 0.0033333334)) + (:fade-a -0.02 -0.02) + (:accel-y (meters -0.00033333333) (meters -0.00083333335)) + (:friction 0.82 0.07) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2)) + (:conerot-x (degrees 30) (degrees 50.000004)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4660 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -2) (degrees 4)) + (:rotvel-y (degrees -2) (degrees 4)) + (:rotvel-z (degrees -2) (degrees 4)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01100 + #x56d01200 + #x56d01300 + #x56d01400 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4665 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4666)) + ) + +(defpart 4666 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4667)) + ) + +(defpart 4667 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335)) (:next-launcher 4668)) + ) + +(defpart 4659 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 32.0 223.0) + (:g :copy r) + (:b :copy r) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -2) (degrees 4)) + (:rotvel-y (degrees -2) (degrees 4)) + (:rotvel-z (degrees -2) (degrees 4)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01100 + #x56d01200 + #x56d01300 + #x56d01400 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-dummy-explode-kg-big + :id 1418 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-kg-b + :id 1419 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-kg-c + :id 1420 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-kg-gun + :id 1421 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpartgroup group-dummy-explode-bomb-spider-shatter + :id 1422 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpart 4672 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 0.675)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g 128.0 64.0) + (:b 192.0) + (:a 64.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.2)) + (:scalevel-y :copy scalevel-x) + (:fade-a -2.56) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +(defpart 4671 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 12.0 3.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 2) (meters 2)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 2) (meters 2)) + (:r 64.0 32.0) + (:g 96.0 32.0) + (:b 96.0 32.0) + (:a 16.0 8.0) + (:vel-y (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y (meters 0) (meters 0.0033333334)) + (:fade-a -0.02 -0.02) + (:accel-y (meters -0.00033333333) (meters -0.00083333335)) + (:friction 0.82 0.07) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2)) + (:conerot-x (degrees 30) (degrees 50.000004)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4670 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01800 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4669 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01800 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:func 'check-gungame-piece-ground) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-dummy-explode-kg-bonus + :id 1423 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4673 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4674 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +(defpart 4674 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4673 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-dummy-explode-bomb-spider-explode + :id 1424 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.085)) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.085)) + (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75) + ) + ) + +(defpart 4675 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 6)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.067)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4676 + :init-specs ((:texture (ring level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 32.0) + (:b 128.0) + (:a 8.0) + (:timer (seconds 0.035)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4677 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 20)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0) + (:fade-a -3.2) + (:timer (seconds 0.067)) + (:flags (sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +(defun spt-func-ground-spark-bounce ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (when (and (< (-> arg2 x-y-z-sx y) 34734.08) (< (-> arg1 vel-sxvel y) 0.0)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! s5-0 (-> arg2 x-y-z-sx x) (-> arg2 x-y-z-sx y) (-> arg2 x-y-z-sx z) 1.0) + (launch-particles (-> *part-id-table* 4680) s5-0) + ) + ) + (none) + ) + +(defpart 4678 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 20.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.033333335) (meters 0.033333335)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'spt-func-part-dummy-explode-spider-bomb) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defun spt-func-part-dummy-explode-spider-bomb ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (sparticle-motion-blur arg0 arg1 (the-as vector arg2)) + (check-drop-group-center arg0 arg1 (the-as sparticle-launchinfo arg2)) + (spt-func-ground-spark-bounce arg0 arg1 arg2 arg3 arg4) + (none) + ) + +(defpart 4680 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 0.0 3.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.01) (meters 0.026666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4679 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 4.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'spt-func-part-dummy-explode-spider-bomb) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defun check-gungame-piece-ground ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (cond + ((and (>= 35635.2 (-> arg2 launchrot y)) (>= 0.0 (-> arg1 vel-sxvel y))) + (set! (-> arg2 launchrot y) 35635.2) + (set! (-> arg1 next-time) (the-as uint 0)) + 0 + ) + (else + (set! (-> arg1 next-time) + (the-as uint (* (max 1 (the-as int (-> *display* clock (-> arg1 clock-index) sparticle-data x))) 2)) + ) + ) + ) + (none) + ) + +(defpart 4668 + :init-specs ((:rot-x (degrees 0)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0)) + (:vel-y (meters 0)) + (:rotvel-x (degrees 0)) + (:rotvel-y (degrees 0)) + (:rotvel-z (degrees 0)) + (:accel-y (meters 0)) + (:friction 0.8 0.1) + (:timer (seconds 4)) + (:next-time (seconds 1) (seconds 0.997)) + (:next-launcher 4681) + ) + ) + +(defpart 4681 + :init-specs ((:fade-a -0.21333334) (:flags (sp-cpuinfo-flag-2 left-multiply-quat))) + ) + +(defpartgroup group-gun-dummy-shield-explode + :id 1425 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 10) + :parts ((sp-item 4682 :flags (sp3 sp7))) + ) + +(defpart 4682 + :init-specs ((:texture (specs level-default-sprite)) + (:num 100.0) + (:x (meters 0) (meters 1)) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters -0.033333335) (meters -0.06666667)) + (:fade-a -0.21333334) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3 launch-along-z)) + (:conerot-x (degrees -40) (degrees 10)) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) diff --git a/goal_src/jak3/levels/gungame/gun-dummy.gc b/goal_src/jak3/levels/gungame/gun-dummy.gc index 478d8a608e..714921cda8 100644 --- a/goal_src/jak3/levels/gungame/gun-dummy.gc +++ b/goal_src/jak3/levels/gungame/gun-dummy.gc @@ -5,5 +5,1895 @@ ;; name in dgo: gun-dummy ;; dgos: GGA +;; +++tpath-cmd +(defenum tpath-cmd + :type uint8 + (cmd0) + (cmd1) + (cmd2) + (cmd3) + (cmd4) + (cmd5) + (cmd6) + (cmd7) + (cmd8) + ) +;; ---tpath-cmd + + +;; +++tpath-flag +(defenum tpath-flag + :type uint16 + :bitfield #t + (t0 0) + (t1 1) + (t2 2) + (t3 3) + (t4 4) + (t5 5) + (t6 6) + (t7 7) + (t8 8) + (t9 9) + (shield 10) + ) +;; ---tpath-flag + + +(declare-type gun-dummy process-focusable) +(declare-type gun-dummy-gun gun-dummy) +(declare-type gungame-manager process) + ;; DECOMP BEGINS +(define *gungame-level* 'lgunnorm) + +(deftype tpath-control-frame (structure) + ((time float) + (path-pos uint8) + (command tpath-cmd) + (move-type uint8) + (path-num uint8) + ) + ) + + +(deftype tpath-info (structure) + ((s-time float) + (num uint16) + (ref-time-num int16) + (score int16) + (flags tpath-flag) + (num-anims uint8) + (bonus-time float) + (list (array int32)) + (anims (inline-array tpath-control-frame) 3) + (anim1 (inline-array tpath-control-frame) :overlay-at (-> anims 0)) + (anim2 (inline-array tpath-control-frame) :overlay-at (-> anims 1)) + (anim3 (inline-array tpath-control-frame) :overlay-at (-> anims 2)) + ) + ) + + +(deftype gun-dummy-gun-info (structure) + ((gun-state uint8) + (joint-index int16) + (trans vector :inline) + (quat quaternion :inline) + (next-fire-time time-frame) + (total-rotation float) + (current-rotation float) + (last-track-player-time time-frame) + (last-known-player-pos vector :inline) + (fire-speed-scalar float) + ) + ) + + +(deftype gun-dummy (process-focusable) + ((incoming-attack-id uint32) + (incoming-attack-id-time time-frame) + (train-man handle) + (info tpath-info) + (y-offset float) + (rot-y-offset float) + (quat quaternion :inline) + (hit-points int32) + (score float) + (path-num uint32) + (next-spark time-frame) + (inout-percent float) + (quat-ground quaternion :inline) + (path-pos float) + (score-speed float) + (first-time-command symbol) + (current (inline-array tpath-control-frame)) + (impact vector :inline) + (done? symbol) + (move-sound sound-id) + (turn-sound sound-id) + (spin-sound sound-id) + (last-combo-time time-frame) + (gun-info gun-dummy-gun-info :inline) + (joint-exploder joint-exploder-static-params) + (joint-explode-skel-group skeleton-group) + (joint-explode-anim-index int16) + (hum-sound sound-id) + (explode-part-group sparticle-launch-group) + ) + (:state-methods + idle + ) + (:methods + (init-collision! (_type_) none) + (check-done? (_type_) symbol) + (gun-dummy-method-31 (_type_) float) + (init-tpath (_type_ tpath-info) none) + (break-dummy (_type_) none) + (get-draw-mask (_type_) int) + (gun-dummy-method-35 (_type_) int) + (spawn-exploder (_type_) object) + (set-explode-group (_type_) none) + ) + ) + + +;; WARN: Return type mismatch symbol vs none. +(defmethod set-explode-group ((this gun-dummy)) + (set! (-> this explode-part-group) #f) + (none) + ) + +(defmethod spawn-exploder ((this gun-dummy)) + (if (not (-> this joint-exploder)) + (return 0) + ) + (let ((s5-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) + (set! (-> s5-0 fountain-rand-transv-lo quad) (-> this impact quad)) + (set! (-> s5-0 fountain-rand-transv-hi x) 4096.0) + (set! (-> s5-0 fountain-rand-transv-hi y) 122880.0) + (if (-> this explode-part-group) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group (-> this explode-part-group) + :duration (seconds 1) + :mat-joint (-> this node-list data 3 bone transform) + ) + ) + (process-spawn + joint-exploder + (-> this joint-explode-skel-group) + (-> this joint-explode-anim-index) + s5-0 + (-> this joint-exploder) + :name "joint-exploder" + :to this + :unk 0 + ) + ) + ) + +(define *tpath-rand* (the-as uint 0)) + +(defmethod break-dummy ((this gun-dummy)) + 0 + (none) + ) + +(defmethod gun-dummy-method-31 ((this gun-dummy)) + (let ((total-time 0.0)) + (let ((curr-frame (the-as object (-> this current)))) + (loop + (case (-> (the-as tpath-control-frame curr-frame) command) + (((tpath-cmd cmd0)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd1)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd6)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd7)) + (if (>= 0.0 (-> (the-as tpath-control-frame curr-frame) time)) + (set! (-> this gun-info fire-speed-scalar) 1.0) + (set! (-> this gun-info fire-speed-scalar) (/ 1.0 (-> (the-as tpath-control-frame curr-frame) time))) + ) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd5)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd4)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd2)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd3)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd8)) + (return total-time) + ) + ;; og:preserve-this added + (else + (return total-time) + ) + ) + ) + ) + total-time + ) + ) + +(defun generate-next-fire-time ((arg0 float)) + (let* ((gp-0 (current-time)) + (f30-0 300.0) + (f28-0 1.0) + (f26-0 2.0) + (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-6 (the-as number (logior #x3f800000 v1-5))) + ) + (+ gp-0 (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-6)))) arg0))) + ) + ) + +(defmethod check-done? ((this gun-dummy)) + (local-vars (at-0 int) (v0-1 symbol)) + (with-pp + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let ((s5-0 (-> this current)) + (a1-0 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-0 from) (process->ppointer pp)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'path) + (set! (-> a1-0 param 0) (-> this path-num)) + (let ((s4-0 (the-as path-control (send-event-function (handle->process (-> this train-man)) a1-0))) + (f30-0 (* 0.0033333334 (the float (- (current-time) (-> this state-time))))) + ) + (if (not s4-0) + (return #f) + ) + (case (-> s5-0 0 command) + (((tpath-cmd cmd1)) + (set! (-> this path-pos) (* 0.007843138 (the float (-> s5-0 0 path-pos)))) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (+! (-> this root trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> s5-0 0 time))) + (let* ((s3-0 (get-point-in-path! s4-0 (new 'stack-no-clear 'vector) (-> this path-pos) 'interp)) + (v1-26 (get-point-in-path! + s4-0 + (new 'stack-no-clear 'vector) + (if (< (-> this path-pos) 0.01) + (+ 0.1 (-> this path-pos)) + (+ -0.1 (-> this path-pos)) + ) + 'interp + ) + ) + (s4-2 (vector-! (new 'stack-no-clear 'vector) v1-26 s3-0)) + ) + (vector-rotate90-around-y! s4-2 s4-2) + (if (< (vector-dot s4-2 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-0)) 0.0) + (vector-negate-in-place! s4-2) + ) + (vector-normalize! s4-2 1.0) + (forward-up-nopitch->quaternion (-> this quat-ground) s4-2 *up-vector*) + ) + (quaternion-normalize! (-> this quat-ground)) + (if (-> this first-time-command) + (sound-play "target-up-slow") + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd5)) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (+! (-> this root trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> s5-0 0 time))) + (if (-> this first-time-command) + (sound-play "target-dwn-slow") + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd4)) + (let ((s3-3 (get-point-in-path! s4-0 (new 'stack-no-clear 'vector) (-> this path-pos) 'interp))) + (let* ((v1-68 (get-point-in-path! + s4-0 + (new 'stack-no-clear 'vector) + (if (< (-> this path-pos) 0.01) + (+ 0.1 (-> this path-pos)) + (+ -0.1 (-> this path-pos)) + ) + 'interp + ) + ) + (s4-6 (vector-! (new 'stack-no-clear 'vector) v1-68 s3-3)) + ) + (vector-rotate90-around-y! s4-6 s4-6) + (if (< (vector-dot s4-6 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-3)) 0.0) + (vector-negate-in-place! s4-6) + ) + (vector-normalize! s4-6 1.0) + (forward-up-nopitch->quaternion (-> this quat-ground) s4-6 *up-vector*) + ) + (quaternion-normalize! (-> this quat-ground)) + (set! (-> this root trans quad) (-> s3-3 quad)) + ) + (set! (-> this inout-percent) (lerp-scale 0.0 1.0 f30-0 0.0 (-> s5-0 0 time))) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this inout-percent) 1.0) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd2)) + (set! (-> this score) (- (-> this score) (* (-> this score-speed) (seconds-per-frame)))) + (set! (-> this inout-percent) (fmax 0.0 (- (-> this inout-percent) (* 4.0 (seconds-per-frame))))) + (let ((s2-4 (new 'stack-no-clear 'vector)) + (s3-4 (new 'stack-no-clear 'vector)) + (f28-2 (lerp-scale 0.0 1.0 f30-0 0.0 (-> s5-0 0 time))) + ) + (let ((v1-87 (-> s5-0 0 move-type))) + (cond + ((zero? v1-87) + ) + ((= v1-87 1) + (set! f28-2 (+ (* -2.0 f28-2 f28-2 f28-2) (* 3.0 f28-2 f28-2))) + ) + ((= v1-87 2) + (set! f28-2 (* f28-2 f28-2 f28-2)) + ) + ((= v1-87 3) + (sin (* 16384.0 f28-2)) + ) + ) + ) + (get-point-in-path! s4-0 s2-4 (-> this path-pos) 'interp) + (get-point-in-path! s4-0 s3-4 (* 0.007843138 (the float (-> s5-0 0 path-pos))) 'interp) + (let ((v1-102 (new 'stack-no-clear 'vector))) + (set! (-> v1-102 quad) (-> this root trans quad)) + (vector-float*! (-> this root trans) s2-4 (- 1.0 f28-2)) + (let ((a0-63 (-> this root trans))) + (let ((a1-23 (-> this root trans))) + (let ((a2-17 f28-2)) + (.mov vf7 a2-17) + ) + (.lvf vf5 (&-> s3-4 quad)) + (.lvf vf4 (&-> a1-23 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a0-63 quad) vf6) + ) + (let ((a0-65 (-> this root transv))) + (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> this root trans) v1-102) quad)) + (let ((f0-50 (-> pp clock frames-per-second))) + (.mov at-0 f0-50) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a0-65 quad) vf1) + ) + ) + ) + (if (zero? (-> this move-sound)) + (set! (-> this move-sound) (new-sound-id)) + ) + (let ((s4-7 (static-sound-spec "target-mov-slow" :group 0 :volume 100.0 :fo-max 60 :mask (pitch)))) + (set! (-> s4-7 pitch-mod) (the int (lerp-scale -1.0 1.0 (vector-length (-> this root transv)) 0.0 81920.0))) + (sound-play-by-spec s4-7 (-> this move-sound) (-> this root trans)) + ) + (when (< (-> this next-spark) (current-time)) + (set! (-> this next-spark) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.0 0.3))))) + (spawn (-> this part) (-> this root trans)) + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (when (nonzero? (-> this move-sound)) + (sound-stop (-> this move-sound)) + (set! (-> this move-sound) (new 'static 'sound-id)) + 0 + ) + (sound-play "target-stop") + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this path-pos) (* 0.007843138 (the float (-> s5-0 0 path-pos)))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd3)) + (set! (-> this score) (- (-> this score) (* (-> this score-speed) (seconds-per-frame)))) + (set! (-> this inout-percent) (fmax 0.0 (- (-> this inout-percent) (* 4.0 (seconds-per-frame))))) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (set! (-> this first-time-command) #f) + (when (or (and (= (-> s5-0 0 time) -1.0) (< (-> this hit-points) 0)) + (and (!= (-> s5-0 0 time) -1.0) (>= f30-0 (-> s5-0 0 time))) + ) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd8)) + (return #f) + v0-1 + ) + ) + ) + ) + ) + ) + ) + +(defmethod get-trans ((this gun-dummy) (arg0 int)) + "Get the `trans` for this process." + (let ((v1-0 (-> this root))) + (case arg0 + ((3 2) + (let ((v0-0 (new 'static 'vector :w 1.0))) + (set! (-> v0-0 quad) (-> v1-0 trans quad)) + (+! (-> v0-0 y) 8192.0) + v0-0 + ) + ) + (else + (-> v1-0 trans) + ) + ) + ) + ) + +(defbehavior gun-dummy-event-handler gun-dummy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('prevent-bounce?) + (not (logtest? (-> self info flags) (tpath-flag t5))) + ) + (('die-fast) + (deactivate self) + ) + (('combo) + (set-time! (-> self last-combo-time)) + #t + ) + (('track) + (cond + ((-> arg3 param 0) + (if (and (not (logtest? (-> self info flags) (tpath-flag t2))) (> (-> self hit-points) 0)) + #t + 'abort + ) + ) + (else + (and (not (logtest? (-> self info flags) (tpath-flag t2))) (> (-> self hit-points) 0)) + ) + ) + ) + (('attack) + (let ((s5-0 (the-as attack-info (-> arg3 param 1)))) + (get-penetrate-using-from-attack-event (the-as process-drawable arg0) arg3) + (when (or (not (logtest? (-> self info flags) (tpath-flag t6))) + (and (logtest? (-> self info flags) (tpath-flag t6)) + (or (= (-> s5-0 mode) 'eco-dark) (= (-> s5-0 mode) 'explode)) + ) + ) + (when (or (!= (-> s5-0 id) (-> self incoming-attack-id)) + (time-elapsed? (-> self incoming-attack-id-time) (seconds 0.5)) + ) + (set-time! (-> self incoming-attack-id-time)) + (set! (-> self incoming-attack-id) (-> s5-0 id)) + (when arg0 + (vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0) + (vector+! + (-> self impact) + (-> self impact) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0) + ) + (cond + ((and (= (-> self hit-points) 2) (logtest? (-> self info flags) (tpath-flag t5))) + (set! (-> self rot-y-offset) 262144.0) + (set! (-> self spin-sound) (sound-play "target-spin")) + ) + ((and (>= (-> self hit-points) 2) (logtest? (-> self info flags) (tpath-flag shield))) + (let ((gp-2 (get-draw-mask self))) + (sound-stop (-> self hum-sound)) + (let ((s5-3 (new 'stack-no-clear 'matrix))) + (let ((s4-3 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) + (let ((a0-40 s4-3)) + (set! (-> a0-40 quad) (-> s4-3 quad)) + (set! (-> a0-40 y) 0.0) + (vector-normalize! a0-40 1.0) + ) + (matrix-fu-compose s5-3 s4-3 *up-vector*) + ) + (set! (-> s5-3 trans quad) (-> self root trans quad)) + (if (logtest? (-> *part-group-id-table* 1425 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to *entity-pool* + :group (-> *part-group-id-table* 1425) + :mat-joint s5-3 + ) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1425) :mat-joint s5-3) + ) + ) + (setup-masks (-> self draw) 0 gp-2) + ) + ) + (else + (if (and (logtest? (process-mask projectile) (-> arg0 mask)) + (not (time-elapsed? (-> self last-combo-time) (seconds 1))) + ) + (send-event (ppointer->process (-> self parent)) 'combo) + ) + ) + ) + (if (> (-> self hit-points) 0) + (+! (-> self hit-points) -1) + ) + #t + ) + ) + ) + ) + ) + ) + ) + +(defstate idle (gun-dummy) + :virtual #t + :event gun-dummy-event-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self inout-percent) 1.0) + (set! (-> self y-offset) 0.0) + (set! (-> self rot-y-offset) 0.0) + (set! (-> self first-time-command) #t) + (set! (-> self done?) #f) + (if (logtest? (-> self info flags) (tpath-flag shield)) + (sound-play "gtarget-shield" :id (-> self hum-sound)) + ) + ) + :exit (behavior () + (logior! (-> self info flags) (tpath-flag t1)) + ) + :code (behavior () + (while (not (-> self done?)) + (suspend) + ) + (when (nonzero? (-> self move-sound)) + (sound-stop (-> self move-sound)) + (set! (-> self move-sound) (new 'static 'sound-id)) + 0 + ) + (when (nonzero? (-> self turn-sound)) + (sound-stop (-> self turn-sound)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + 0 + ) + (when (nonzero? (-> self spin-sound)) + (sound-stop (-> self spin-sound)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + 0 + ) + (cleanup-for-death self) + ) + :post (behavior () + (set! (-> self done?) (not (check-done? self))) + (when (zero? (-> self hit-points)) + (logior! (-> self info flags) (tpath-flag t1)) + (if (>= -100.0 (-> self score)) + (sound-play "score-bad") + ) + (send-event (handle->process (-> self train-man)) 'score (the int (-> self score))) + (break-dummy self) + (set! (-> self hit-points) -1) + ) + (+! (-> self root trans y) (-> self y-offset)) + (set! (-> self rot-y-offset) (- (-> self rot-y-offset) (* 8.0 (seconds-per-frame) (-> self rot-y-offset)))) + (when (< (-> self rot-y-offset) 182.04445) + (when (nonzero? (-> self spin-sound)) + (sound-stop (-> self spin-sound)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + 0 + ) + ) + (let ((gp-2 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) + (vector-normalize! gp-2 1.0) + (let ((v1-33 (-> self gun-info gun-state))) + (if (or (zero? v1-33) (= v1-33 1) (= v1-33 2) (= v1-33 4)) + (seek-toward-heading-vec! (-> self root) gp-2 65536.0 (seconds 0.5)) + ) + ) + ) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (-> self rot-y-offset)) + (quaternion-slerp! (-> self root quat) (-> self root quat) (-> self quat-ground) (-> self inout-percent)) + (transform-post) + ) + ) + +(defmethod init-collision! ((this gun-dummy)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 7372.8 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; WARN: Return type mismatch process-focusable vs gun-dummy. +(defmethod relocate ((this gun-dummy) (offset int)) + (the-as gun-dummy ((method-of-type process-focusable relocate) this offset)) + ) + +(defmethod init-from-entity! ((this gun-dummy) (arg0 entity-actor)) + (init-collision! this) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-robo" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (transform-post) + (go (method-of-object this idle)) + ) + +;; WARN: Return type mismatch vector vs none. +(defun gun-dummy-gun-aim-jmod-func ((arg0 cspace) (arg1 transformq)) + (let ((s4-0 (the-as gun-dummy-gun (-> arg0 param1)))) + (cspace<-parented-transformq-joint! arg0 arg1) + (quaternion-copy! (-> arg1 quat) (-> s4-0 gun-info quat)) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 quad) (-> arg0 bone transform trans quad)) + (matrix<-no-trans-transformq! (-> arg0 bone transform) arg1) + (set! (-> arg0 bone transform trans quad) (-> s4-1 quad)) + ) + (none) + ) + +;; WARN: Return type mismatch int vs search-info-flag. +(defmethod process-mask->search-info-flag ((this gun-dummy)) + (let ((v1-1 (-> this current 0 command))) + (the-as search-info-flag (if (or (= v1-1 (tpath-cmd cmd1)) (= v1-1 (tpath-cmd cmd5))) + 0 + 16 + ) + ) + ) + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy)) + (cond + ((logtest? (-> this info flags) (tpath-flag t3 t5)) + 2 + ) + ((logtest? (-> this info flags) (tpath-flag t2)) + 1 + ) + (else + 1 + ) + ) + ) + +(defmethod get-draw-mask ((this gun-dummy)) + (cond + ((logtest? (-> this info flags) (tpath-flag t3)) + 4 + ) + ((= *gungame-level* 'lgunnorm) + 2 + ) + (else + 0 + ) + ) + ) + +(defmethod init-tpath ((this gun-dummy) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (logclear! (-> this mask) (process-mask enemy)) + (logior! (-> this mask) (process-mask crate)) + ) + (else + (logior! (-> this mask) (process-mask enemy)) + ) + ) + (quaternion-copy! (-> this quat) (-> this root quat)) + (+! (-> this root trans y) -16384.0) + (if (not (logtest? (-> arg0 flags) (tpath-flag t4))) + (set! *tpath-rand* (the-as uint (rand-vu-int-count 16))) + ) + (set! (-> this current) + (the-as (inline-array tpath-control-frame) (-> arg0 anims (mod *tpath-rand* (-> arg0 num-anims)) 0)) + ) + (let ((v1-22 (-> this current))) + (when (= (-> v1-22 0 command) (tpath-cmd cmd0)) + (set! (-> this path-num) (-> v1-22 0 path-num)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + ) + ) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t8)) + (set! (-> this gun-info gun-state) (the-as uint 1)) + (let ((a0-10 (-> this node-list data 4))) + (set! (-> a0-10 param0) gun-dummy-gun-aim-jmod-func) + (set! (-> a0-10 param1) this) + ) + ) + (else + (set! (-> this gun-info gun-state) (the-as uint 0)) + 0 + ) + ) + (set! (-> this score) (the float (-> arg0 score))) + (if (logtest? (-> arg0 flags) (tpath-flag t2)) + (set! (-> this score-speed) 0.0) + (set! (-> this score-speed) (/ (-> this score) (gun-dummy-method-31 this))) + ) + (set! (-> this info) arg0) + (set! (-> this hit-points) (if (logtest? (-> arg0 flags) (tpath-flag t5)) + 2 + 1 + ) + ) + (let ((a1-2 (get-draw-mask this))) + (cond + ((logtest? (-> arg0 flags) (tpath-flag shield)) + (+! (-> this hit-points) 1) + (setup-masks (-> this draw) a1-2 0) + ) + ((not (logtest? (-> arg0 flags) (tpath-flag t2))) + (setup-masks (-> this draw) 0 a1-2) + ) + ) + ) + (setup-masks (-> this draw) 0 (gun-dummy-method-35 this)) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1413) this)) + (set! (-> this next-spark) 0) + (set! (-> this explode-part-group) #f) + (set-explode-group this) + 0 + (none) + ) + +(deftype gun-dummy-gun (gun-dummy) + () + (:methods + (gun-dummy-gun-method-38 (_type_) none) + ) + ) + + +(deftype gun-dummy-base (gun-dummy) + () + (:methods + (init (_type_) none) + ) + ) + + +(deftype gun-dummy-explode (gun-dummy) + ((arm-start-time time-frame) + (explode-start-time time-frame :overlay-at arm-start-time) + (explode-delay time-frame) + (exploded? symbol) + (last-flash-val float) + ) + (:state-methods + explode + ) + ) + + +(defbehavior gun-dummy-gun-init-by-other gun-dummy-gun ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-robo" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self joint-exploder) *gun-kg-robo-exploder-params*) + (set! (-> self joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-robo-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> self joint-explode-anim-index) 6) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (go-virtual idle) + ) + +(defmethod init ((this gun-dummy-base)) + 0 + (none) + ) + +(defbehavior gun-dummy-base-init-by-other gun-dummy-base ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (init self) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (set! (-> self hum-sound) (new-sound-id)) + (go-virtual idle) + ) + +(defmethod break-dummy ((this gun-dummy-base)) + (let ((v1-1 (-> this root root-prim))) + (set! (-> v1-1 prim-core collide-as) (collide-spec)) + (set! (-> v1-1 prim-core collide-with) (collide-spec)) + ) + 0 + (setup-masks (-> this draw) 0 -1) + (cond + ((logtest? (-> this info flags) (tpath-flag t2)) + (setup-masks (-> this draw) (gun-dummy-method-35 this) 0) + ) + (else + (setup-masks (-> this draw) 0 -1) + (setup-masks (-> this draw) (gun-dummy-method-35 this) 0) + ) + ) + (if (logtest? (-> this info flags) (tpath-flag t3)) + (sound-play "target-bonus") + (sound-play "target-break") + ) + (spawn-exploder this) + 0 + (none) + ) + +(defmethod break-dummy ((this gun-dummy-gun)) + (let ((v1-1 (-> this root root-prim))) + (set! (-> v1-1 prim-core collide-as) (collide-spec)) + (set! (-> v1-1 prim-core collide-with) (collide-spec)) + ) + 0 + (setup-masks (-> this draw) 0 -1) + (logior! (-> this draw status) (draw-control-status no-draw)) + (sound-play "target-break") + (spawn-exploder this) + 0 + (none) + ) + +(defbehavior gun-dummy-explode-init-by-other gun-dummy-explode ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-bomb" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-bomb-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> self joint-explode-anim-index) 5) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self joint-exploder) *gun-kg-bomb-exploder-params*) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (set! (-> self arm-start-time) 0) + (set! (-> self explode-delay) 0) + (set! (-> self exploded?) #f) + (go-virtual idle) + ) + +(defmethod check-done? ((this gun-dummy-gun)) + (local-vars (v0-1 symbol)) + (gun-dummy-gun-method-38 this) + (case (-> this current 0 command) + (((tpath-cmd cmd7)) + (set! (-> this gun-info gun-state) (the-as uint 2)) + (set! (-> this gun-info total-rotation) 16384.0) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + (return #t) + v0-1 + ) + (((tpath-cmd cmd4)) + (set! (-> this gun-info total-rotation) 0.0) + (set! (-> this gun-info gun-state) (the-as uint 4)) + (call-parent-method this) + ) + (else + (call-parent-method this) + ) + ) + ) + +(defmethod check-done? ((this gun-dummy-explode)) + (local-vars (v0-0 symbol)) + (let ((v1-0 (-> this current))) + (case (-> v1-0 0 command) + (((tpath-cmd cmd6)) + (set-time! (-> this arm-start-time)) + (set! (-> this explode-delay) (the-as time-frame (the int (* 300.0 (-> v1-0 0 time))))) + (set! (-> this last-flash-val) -1.0) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + (return #t) + v0-0 + ) + (else + (call-parent-method this) + ) + ) + ) + ) + +(define *dummy-flash-counters* (new 'static 'boxed-array :type float + 0.0 + 0.26 + 0.47 + 0.63 + 0.73 + 0.81 + 0.86 + 0.9 + 0.93 + 0.95 + 0.96 + 0.965 + 0.97 + 0.975 + 0.98 + 0.985 + 0.99 + ) + ) + +(defstate idle (gun-dummy-explode) + :virtual #t + :event gun-dummy-event-handler + :trans (behavior () + (cond + ((not (-> self exploded?)) + (when (> (-> self arm-start-time) 0) + (let ((gp-0 (- (+ (-> self arm-start-time) (-> self explode-delay)) (current-time)))) + (let* ((f1-2 (/ (the float gp-0) (the float (-> self explode-delay)))) + (f0-3 (fmax 0.0 (fmin 1.0 f1-2))) + (f30-0 (- 1.0 f0-3)) + ) + (dotimes (v1-9 (-> *dummy-flash-counters* length)) + (let ((f0-4 (-> *dummy-flash-counters* v1-9))) + (when (and (< (-> self last-flash-val) f0-4) (>= f30-0 f0-4)) + (set! (-> self draw color-mult y) 0.3) + (set! (-> self draw color-mult z) 0.3) + (sound-play "gtarg-warn-beep") + 0 + (goto cfg-15) + ) + ) + ) + (label cfg-15) + (set! (-> self last-flash-val) f30-0) + ) + (seek! (-> self draw color-mult y) 1.0 (* 5.0 (seconds-per-frame))) + (seek! (-> self draw color-mult z) 1.0 (* 5.0 (seconds-per-frame))) + (when (<= gp-0 0) + (set! (-> self score) -50.0) + (set! (-> self hit-points) 0) + 0 + ) + ) + ) + ) + ((time-elapsed? (-> self arm-start-time) (seconds 2)) + ) + ) + (let ((t9-5 (-> (find-parent-state) trans))) + (if t9-5 + (t9-5) + ) + ) + ) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod cleanup-for-death ((this gun-dummy-explode)) + (go (method-of-object this explode)) + (none) + ) + +;; WARN: Function (method 33 gun-dummy-explode) has a return type of none, but the expression builder found a return statement. +(defmethod break-dummy ((this gun-dummy-explode)) + (if (-> this exploded?) + (return 0) + ) + (set! (-> this exploded?) #t) + (spawn-exploder this) + (cond + ((>= (current-time) (+ (-> this arm-start-time) (-> this explode-delay))) + (set-time! (-> this arm-start-time)) + (sound-play "gtarget-explode") + (let ((s5-1 (new 'stack-no-clear 'explosion-init-params))) + (set! (-> s5-1 spawn-point quad) (-> this root trans quad)) + (quaternion-identity! (-> s5-1 spawn-quat)) + (set! (-> s5-1 radius) 24576.0) + (set! (-> s5-1 scale) 1.0) + (set! (-> s5-1 group) (-> *part-group-id-table* 1424)) + (set! (-> s5-1 collide-with) (collide-spec jak player-list)) + (set! (-> s5-1 damage) 2.0) + (set! (-> s5-1 damage-scale) 1.0) + (set! (-> s5-1 vehicle-damage-factor) 1.0) + (set! (-> s5-1 vehicle-impulse-factor) 1.0) + (set! (-> s5-1 ignore-proc) (process->handle #f)) + (explosion-spawn s5-1 this) + ) + ) + (else + (sound-play "target-break") + ) + ) + (logior! (-> this draw status) (draw-control-status no-draw)) + (let ((v1-32 (-> this root root-prim))) + (set! (-> v1-32 prim-core collide-as) (collide-spec)) + (set! (-> v1-32 prim-core collide-with) (collide-spec)) + ) + 0 + (none) + ) + +(defstate explode (gun-dummy-explode) + :virtual #t + :event gun-dummy-event-handler + :code (behavior () + (while (-> self child) + (let ((gp-0 (-> self child))) + (while gp-0 + (send-event (ppointer->process gp-0) 'notice 'die) + (set! gp-0 (-> gp-0 0 brother)) + ) + ) + (suspend) + ) + (deactivate self) + ) + ) + +(defmethod init-collision! ((this gun-dummy-base)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 4096.0 0.0 6144.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(defmethod init-collision! ((this gun-dummy-gun)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 6144.0 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(defmethod init-collision! ((this gun-dummy-explode)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 2457.6 0.0 5734.4) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(deftype gun-dummy-shot (guard-shot) + () + ) + + +(defmethod play-impact-sound ((this gun-dummy-shot) (arg0 projectile-options)) + (let ((v1-0 arg0)) + (cond + ((zero? v1-0) + (sound-play "gtarget-fire") + ) + ((= v1-0 (projectile-options po0)) + (sound-play "guard-shot-hit") + ) + ) + ) + 0 + (none) + ) + +(defun spawn-dummy-projectile ((arg0 gun-dummy) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) + (let ((gp-0 (new 'stack-no-clear 'projectile-init-by-other-params))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) + (set! (-> gp-0 ent) (-> arg0 entity)) + (set! (-> gp-0 charge) 1.0) + (set! (-> gp-0 options) (projectile-options)) + (logclear! (-> gp-0 options) (projectile-options po14 po15 po16)) + (set! (-> gp-0 notify-handle) (process->handle arg0)) + (set! (-> gp-0 owner-handle) (the-as handle #f)) + (set! (-> gp-0 target-handle) (the-as handle #f)) + (set! (-> gp-0 target-pos quad) (the-as uint128 0)) + (set! (-> gp-0 ignore-handle) (process->handle arg0)) + (let* ((a0-13 *game-info*) + (a2-12 (+ (-> a0-13 attack-id) 1)) + ) + (set! (-> a0-13 attack-id) a2-12) + (set! (-> gp-0 attack-id) a2-12) + ) + (set! (-> gp-0 timeout) (seconds 4)) + (if arg4 + (set! (-> gp-0 pos quad) (-> arg4 quad)) + (set! (-> gp-0 pos quad) (-> arg1 quad)) + ) + (vector-normalize-copy! (-> gp-0 vel) v1-1 arg3) + ) + (spawn-projectile gun-dummy-shot gp-0 arg0 *default-dead-pool*) + ) + ) + +;; WARN: Function (method 38 gun-dummy-gun) has a return type of none, but the expression builder found a return statement. +(defmethod gun-dummy-gun-method-38 ((this gun-dummy-gun)) + (if (<= (-> this hit-points) 0) + (return 0) + ) + (if (nonzero? (-> this gun-info gun-state)) + (vector<-cspace! (-> this gun-info trans) (-> this node-list data 4)) + ) + (case (-> this gun-info gun-state) + ((1) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) -16384.0) + ) + ((2 4) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) -16384.0) + (let ((f0-1 (* 16384.0 (seconds-per-frame)))) + (if (< (-> this gun-info total-rotation) 0.0) + (set! f0-1 (* -1.0 f0-1)) + ) + (+! (-> this gun-info current-rotation) f0-1) + ) + (when (>= (fabs (-> this gun-info current-rotation)) (fabs (-> this gun-info total-rotation))) + (set! (-> this gun-info current-rotation) (-> this gun-info total-rotation)) + (case (-> this gun-info gun-state) + ((2) + (set! (-> this gun-info gun-state) (the-as uint 3)) + (set! (-> this gun-info last-track-player-time) 0) + (set! (-> this gun-info next-fire-time) 0) + 0 + ) + (else + (set! (-> this gun-info gun-state) (the-as uint 1)) + ) + ) + ) + (quaternion-rotate-local-x! + (-> this gun-info quat) + (-> this gun-info quat) + (-> this gun-info current-rotation) + ) + ) + ((3) + (let ((s5-0 (new 'stack-no-clear 'primary-target-pos-vel))) + (send-event (ppointer->process (-> this parent)) 'get-player-pos-vel s5-0) + (set! (-> this gun-info last-known-player-pos quad) (-> s5-0 position quad)) + ) + (if (not (and *target* (not (logtest? (-> *target* focus-status) (focus-status disable dead ignore grabbed))))) + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + (let ((s5-2 + (vector-! (new 'stack-no-clear 'vector) (-> this gun-info last-known-player-pos) (-> this gun-info trans)) + ) + (f26-0 0.0) + (f30-0 0.0) + (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (f28-0 0.0) + ) + (vector-normalize! s5-2 1.0) + (when *target* + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (get-trans *target* 3) (-> this gun-info trans)))) + (vector-normalize! s3-1 1.0) + (set! f30-0 (-> s3-1 y)) + (set! f26-0 (asin (-> s3-1 y))) + (set! f28-0 (sqrtf (+ (* (-> s3-1 x) (-> s3-1 x)) (* (-> s3-1 z) (-> s3-1 z))))) + ) + ) + (let* ((v1-43 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this gun-info quat))) + (f0-15 (- (asin (-> v1-43 y)))) + (f1-9 (- f26-0)) + ) + (let* ((f3-2 (* 0.000061035156 (fabs (- f0-15 f1-9)))) + (f3-4 (fmax 0.0 (fmin 1.0 f3-2))) + ) + (- 1.0 (* (- 1.0 f3-4) (- 1.0 f3-4))) + ) + (let ((f26-1 (lerp f0-15 f1-9 (* 2.0 (seconds-per-frame))))) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) f26-1) + ) + ) + (quaternion-normalize! (-> this gun-info quat)) + (set! (-> s5-2 y) 0.0) + (vector-normalize! s5-2 1.0) + (cond + ((< (-> this rot-y-offset) 3640.889) + (let ((f0-21 (vector-dot s5-2 s4-0))) + 0.0 + (let ((s3-2 (new 'stack-no-clear 'vector))) + (when (< f0-21 0.999) + (vector-cross! s3-2 s5-2 s4-0) + (let* ((f26-2 (acos f0-21)) + (f0-24 (lerp 0.0 f26-2 (* 2.0 (seconds-per-frame)))) + ) + (if (< f26-2 f0-24) + (set! f0-24 f26-2) + ) + (if (< 0.0 (-> s3-2 y)) + (set! f0-24 (* -1.0 f0-24)) + ) + (quaternion-rotate-y! (-> this root quat) (-> this root quat) f0-24) + ) + ) + ) + ) + ) + (else + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + ) + (when (< (-> this gun-info next-fire-time) (current-time)) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (s5-3 (new 'stack-no-clear 'vector)) + ) + (set! (-> s4-1 y) 0.0) + (vector-normalize! s4-1 f28-0) + (set! (-> s4-1 y) f30-0) + (vector-normalize! s4-1 4096.0) + (vector+! s5-3 (-> this gun-info trans) s4-1) + (spawn-dummy-projectile + this + s5-3 + (vector+! (new 'stack-no-clear 'vector) s5-3 s4-1) + 819200.0 + (the-as vector #f) + ) + ) + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + ) + ) + ) + (if (nonzero? (-> this gun-info gun-state)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this gun-info quat)) + ) + (none) + ) + +(deftype gun-dummy-kg-b (gun-dummy-base) + () + ) + + +(defmethod init ((this gun-dummy-kg-b)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-b-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-b-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-b) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +(deftype gun-dummy-rc-two-eyes (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-two-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-two-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-two-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-two-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +(deftype gun-dummy-rc-one-eye (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-one-eye)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-one-eye" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-one-eye-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-one-eye-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +(deftype gun-dummy-rc-three-eyes (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-three-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-three-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +(deftype gun-dummy-kg-c (gun-dummy-base) + () + ) + + +(defmethod gun-dummy-method-35 ((this gun-dummy-kg-c)) + 2 + ) + +(defmethod get-draw-mask ((this gun-dummy-kg-c)) + 4 + ) + +(defmethod init ((this gun-dummy-kg-c)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-c" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-c-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-c-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-c) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +(deftype gun-dummy-kg-big (gun-dummy-base) + () + ) + + +(defmethod init ((this gun-dummy-kg-big)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-big" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-big-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-big-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-big) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.4 1.4 1.0 1.0) + (none) + ) + +(deftype gun-dummy-rc-four-eyes (gun-dummy-base) + () + ) + + +(defmethod init ((this gun-dummy-rc-four-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-four-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-four-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-four-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-rc-four-eyes) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +(deftype gun-dummy-kg-bonus (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-bonus) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +(defmethod init ((this gun-dummy-kg-bonus)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-bonus" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-bonus-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-bonus-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +(deftype gun-dummy-rc-three-eyes-bonus (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-rc-three-eyes-bonus) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +(defmethod init ((this gun-dummy-rc-three-eyes-bonus)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-bonus" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-bonus-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-three-eyes-bonus-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +(deftype gun-dummy-cit-a (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-a)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-a" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-a-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-a-exploder-params*) + (none) + ) + +(deftype gun-dummy-cit-b (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-b)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-b-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-b-exploder-params*) + (none) + ) + +(deftype gun-dummy-cit-c (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-c)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-c" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-c-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-c-exploder-params*) + (none) + ) + +(deftype gun-dummy-cit-d (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-d)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-d" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-d-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-d-exploder-params*) + (none) + ) + +(deftype gun-dummy-cit-ratchet (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-cit-ratchet)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-rachet" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rachet-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-rachet-exploder-params*) + (set-vector! (-> this root scale) 1.3 1.3 1.0 1.0) + (none) + ) + +(deftype gun-dummy-cit-clank (gun-dummy-base) + () + ) + + +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-cit-clank)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-clank" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-clank-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-clank-exploder-params*) + (set-vector! (-> this root scale) 1.5 1.3 1.0 1.0) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-a)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-ratchet)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-clank)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-b)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1415)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-c)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1416)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-d)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1417)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-b)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1419)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-c)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1420)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-big)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1418)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-bonus)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1423)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-gun)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-explode)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1422)) + (none) + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-four-eyes)) + 1 + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-three-eyes)) + 1 + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-two-eyes)) + 1 + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-one-eye)) + 1 + ) + +;; og:preserve-this +; (defmethod gun-dummy-method-35 ((this gun-dummy-rc-one-eye)) +; 1 +; ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-three-eyes-bonus)) + 1 + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-cit-ratchet)) + 2 + ) + +(defmethod gun-dummy-method-35 ((this gun-dummy-cit-clank)) + 1 + ) diff --git a/goal_src/jak3/levels/gungame/gungame-data.gc b/goal_src/jak3/levels/gungame/gungame-data.gc index 1048beff42..cf3b8ecfc5 100644 --- a/goal_src/jak3/levels/gungame/gungame-data.gc +++ b/goal_src/jak3/levels/gungame/gungame-data.gc @@ -7,3 +7,17480 @@ ;; DECOMP BEGINS +(deftype gungame-crate (structure) + ((pos vector :inline) + (pos-x float :overlay-at (-> pos data 0)) + (pos-y float :overlay-at (-> pos data 1)) + (pos-z float :overlay-at (-> pos data 2)) + (angle float :overlay-at (-> pos data 3)) + (ammo pickup-type) + (num uint32) + ) + ) + + +(define *entrance-gungame-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 129024.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 141312.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 153600.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 165888.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 178176.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 245760.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 258048.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 270336.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 282624.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 294912.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + ) + ) + +(define *gungame-red-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 184320.0 :z 81920.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z 81920.0 :w 7281.778) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 192512.0 :z 73728.0 :w 14563.556) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -92160.0 :z -126976.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -92160.0 :z -114688.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + ) + ) + +(define *gungame-yellow-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 131072.0 :z 172032.0 :w -20024.889) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 120832.0 :z 163840.0 :w -23665.777) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 131072.0 :z 155648.0 :w -25486.223) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 169574.4 :z -149094.4) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 182272.0 :z -149094.4) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 18841.6 :z -99942.4 :w 16384.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -142131.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -154419.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -166707.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -178995.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147046.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -134758.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -122470.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + ) + ) + +(define *gungame-blue-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 163840.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 151552.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 139264.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 126976.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 163840.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 151552.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 139264.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 126976.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -131072.0 :z 102400.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -118784.0 :z 102400.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -180224.0 :z 36864.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -126976.0 :z 36864.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z -24576.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z -24576.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -147456.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -135168.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -122880.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -110592.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -131072.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -118784.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -106496.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 176128.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 188416.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 200704.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 212992.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + ) + ) + +(define *gungame-peace-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z 77824.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 208896.0 :z 77824.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 221184.0 :z 77824.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 233472.0 :z 77824.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 172032.0 :z -147456.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 184320.0 :z -147456.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z -147456.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 208896.0 :z -147456.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -102400.0 :w 16384.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -114688.0 :w 16384.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -126976.0 :w 16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -139264.0 :w 16384.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -135168.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147456.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -135168.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147456.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + ) + ) + +(define *course1-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x14 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x3c + :ref-time-num 40 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x50 + :ref-time-num 60 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x64 + :ref-time-num 60 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x69 + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 100) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x78 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x8c + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x96 + :ref-time-num #x8c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #xa0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xa0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcd + :ref-time-num #xc8 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd7 + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xda + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #xdc + :ref-time-num #xc8 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe6 + :ref-time-num #xdc + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.4 + :list (new 'static 'boxed-array :type int32 #xdc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xf0 + :ref-time-num #xdc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xf0) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x104 + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x104) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x118 + :ref-time-num #xdc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 13 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x12c + :ref-time-num #x118 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x136 + :ref-time-num #x12c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13b + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x136) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x140 + :ref-time-num #x136 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x154 + :ref-time-num #x140 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x168 + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x17c + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x190 + :ref-time-num #x17c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19a + :ref-time-num #x190 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x190) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x70 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x1a4 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b8 + :ref-time-num #x1a4 + :score 100 + :flags (tpath-flag t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x1a4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x1cc + :ref-time-num #x1a4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x1e0 + :ref-time-num #x1a4 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f4 + :ref-time-num #x1e0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1e0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x208 + :ref-time-num #x1e0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #x212 + :ref-time-num #x208 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x214 + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x212) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x215 + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x212) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x217 + :ref-time-num #x212 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3e :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3b :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x230 + :ref-time-num #x21c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x23a + :ref-time-num #x21c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x23f + :ref-time-num #x21c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x242 + :ref-time-num #x23f + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.8 + :num #x244 + :ref-time-num #x21c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x24e + :ref-time-num #x244 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x244) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x36 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x258 + :ref-time-num #x244 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x262 + :ref-time-num #x258 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x258) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x267 + :ref-time-num #x258 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x294 + :ref-time-num #x267 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x297 + :ref-time-num #x294 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x294) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x299 + :ref-time-num #x294 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29b + :ref-time-num #x299 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x299) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29d + :ref-time-num #x299 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x299) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x29e + :ref-time-num #x299 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2a3 + :ref-time-num #x29e + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x29e) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x2a8 + :ref-time-num #x29e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2b2 + :ref-time-num #x2a8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2bc + :ref-time-num #x2a8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2c6 + :ref-time-num #x2b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x2b2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2cb + :ref-time-num #x2bc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x2bc) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.7 + :num #x2d0 + :ref-time-num #x2a8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2da + :ref-time-num #x2d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x63 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2e4 + :ref-time-num #x2da + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2da) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x2f8 + :ref-time-num #x2d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x30c + :ref-time-num #x2f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x320 + :ref-time-num #x2f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x334 + :ref-time-num #x320 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x348 + :ref-time-num #x334 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x35c + :ref-time-num #x348 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.8 + :num #x384 + :ref-time-num #x35c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x38e + :ref-time-num #x384 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x384) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x3ac + :ref-time-num #x384 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x3b6 + :ref-time-num #x3ac + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x3ac) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x3c0 + :ref-time-num #x384 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x3ca + :ref-time-num #x3c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x3d4 + :ref-time-num #x3ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x3de + :ref-time-num #x3d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x3e8 + :ref-time-num #x3de + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x3f2 + :ref-time-num #x3e8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x3fc + :ref-time-num #x3e8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x406 + :ref-time-num #x3fc + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x3fc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.3 + :num #x410 + :ref-time-num #x3fc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x424 + :ref-time-num #x410 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x438 + :ref-time-num #x424 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x424) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x44c + :ref-time-num #x424 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x460 + :ref-time-num #x44c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x46a + :ref-time-num #x460 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x460) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x474 + :ref-time-num #x460 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x479 + :ref-time-num #x474 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x474) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x8c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x47e + :ref-time-num #x474 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x483 + :ref-time-num #x47e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x488 + :ref-time-num #x47e + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xa5 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xe5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x49c + :ref-time-num #x488 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xac :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x4a6 + :ref-time-num #x49c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x49c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x4b0 + :ref-time-num #x49c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xcc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x4c4 + :ref-time-num #x4b0 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x4b0) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.5 + :num #x514 + :ref-time-num #x4b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x51e + :ref-time-num #x514 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x514) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x528 + :ref-time-num #x514 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x52d + :ref-time-num #x528 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x528) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x532 + :ref-time-num #x528 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x53c + :ref-time-num #x532 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x550 + :ref-time-num #x53c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x555 + :ref-time-num #x550 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x550) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x55a + :ref-time-num #x550 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55f + :ref-time-num #x55a + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x55a) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x564 + :ref-time-num #x550 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x569 + :ref-time-num #x564 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x564) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x56e + :ref-time-num #x564 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x573 + :ref-time-num #x56e + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x56e) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x578 + :ref-time-num #x56e + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x582 + :ref-time-num #x578 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x578) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x58c + :ref-time-num #x578 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x596 + :ref-time-num #x58c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x58c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x5c8 + :ref-time-num #x58c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x5dc + :ref-time-num #x5c8 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x604 + :ref-time-num #x5c8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x618 + :ref-time-num #x604 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x62c + :ref-time-num #x618 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x618) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x640 + :ref-time-num #x618 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x654 + :ref-time-num #x640 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x668 + :ref-time-num #x654 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x67c + :ref-time-num #x668 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x690 + :ref-time-num #x67c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x6a4 + :ref-time-num #x690 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x708 + :ref-time-num #x690 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x71c + :ref-time-num #x708 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x708) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x726 + :ref-time-num #x708 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.6 + :num #x730 + :ref-time-num #x726 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x5e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x744 + :ref-time-num #x730 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x758 + :ref-time-num #x744 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x776 + :ref-time-num #x758 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x78a + :ref-time-num #x776 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x776) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x794 + :ref-time-num #x776 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x7d0 + :ref-time-num #x794 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x7da + :ref-time-num #x7d0 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x7d0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x7e4 + :ref-time-num #x7d0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x7e9 + :ref-time-num #x7e4 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x7e4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.3 + :num #x7f3 + :ref-time-num #x7e4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x7f8 + :ref-time-num #x7f3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x802 + :ref-time-num #x7f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x80c + :ref-time-num #x7f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x820 + :ref-time-num #x80c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x83e + :ref-time-num #x820 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x848 + :ref-time-num #x83e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x85c + :ref-time-num #x848 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x870 + :ref-time-num #x85c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x884 + :ref-time-num #x870 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x898 + :ref-time-num #x884 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x8ac + :ref-time-num #x898 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x24 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x8c0 + :ref-time-num #x8ac + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5a :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x8d4 + :ref-time-num #x8c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x51 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x8e8 + :ref-time-num #x8d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x8fc + :ref-time-num #x8e8 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x910 + :ref-time-num #x8fc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x924 + :ref-time-num #x910 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x938 + :ref-time-num #x924 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x94c + :ref-time-num #x938 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x960 + :ref-time-num #x94c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x974 + :ref-time-num #x960 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x51 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x988 + :ref-time-num #x974 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x51 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x99c + :ref-time-num #x988 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x9b0 + :ref-time-num #x988 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ba + :ref-time-num #x9b0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x9b0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9c4 + :ref-time-num #x9b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x22 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ce + :ref-time-num #x9c4 + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x9c4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9d8 + :ref-time-num #x9ce + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x9ce) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9e2 + :ref-time-num #x9c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x60 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ec + :ref-time-num #x9e2 + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x9e2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xa00 + :ref-time-num #x9ec + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x9ec) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #xa14 + :ref-time-num #x9e2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +(define *course2-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :num #xaf0 + :ref-time-num #xa14 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x74 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x69 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb04 + :ref-time-num #xaf0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xb18 + :ref-time-num #xb04 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb22 + :ref-time-num #xb18 + :score #x1f4 + :flags (tpath-flag t7 t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xb18) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x64 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x57 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb2c + :ref-time-num #xb18 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb36 + :ref-time-num #xb2c + :score #x1f4 + :flags (tpath-flag t7 t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xb2c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x23 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb40 + :ref-time-num #xaf0 + :score 100 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xaf0) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb54 + :ref-time-num #xb04 + :score 100 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb04) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x10 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x16 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x10 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #xb68 + :ref-time-num #xb2c + :score 100 + :flags (tpath-flag t8 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #xb7c + :ref-time-num #xb2c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xb90 + :ref-time-num #xb7c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xb9a + :ref-time-num #xb90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9f + :ref-time-num #xb9a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.3 + :num #xba4 + :ref-time-num #xb9f + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbae + :ref-time-num #xba4 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xba4) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbb8 + :ref-time-num #xba4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbc2 + :ref-time-num #xbb8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbb8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xbcc + :ref-time-num #xbb8 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbd6 + :ref-time-num #xbcc + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbcc) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe0 + :ref-time-num #xbcc + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbea + :ref-time-num #xbe0 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbe0) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xbf4 + :ref-time-num #xbe0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbfe + :ref-time-num #xbf4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc03 + :ref-time-num #xbcc + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbcc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc08 + :ref-time-num #xbe0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #xc1c + :ref-time-num #xc08 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc26 + :ref-time-num #xc1c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc30 + :ref-time-num #xc1c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3a + :ref-time-num #xc30 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xc3f + :ref-time-num #xc26 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x42 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #xc44 + :ref-time-num #xc3f + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc58 + :ref-time-num #xc44 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc62 + :ref-time-num #xc58 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc67 + :ref-time-num #xc62 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc69 + :ref-time-num #xc67 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xe :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x14 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc6b + :ref-time-num #xc69 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x71 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xc6c + :ref-time-num #xc6b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xc80 + :ref-time-num #xc6c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xc8a + :ref-time-num #xc80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #xc9e + :ref-time-num #xc8a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xca3 + :ref-time-num #xc9e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xca6 + :ref-time-num #xca3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x69 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xca8 + :ref-time-num #xca6 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xcb2 + :ref-time-num #xca8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcb4 + :ref-time-num #xcb2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x35 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xcb7 + :ref-time-num #xcb4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xcbc + :ref-time-num #xcb7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xcc6 + :ref-time-num #xcbc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xcd0 + :ref-time-num #xcc6 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcda + :ref-time-num #xcd0 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xcd0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5b :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xce4 + :ref-time-num #xcd0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #xd48 + :ref-time-num #xce4 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x63 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xd5c + :ref-time-num #xd48 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xd70 + :ref-time-num #xd5c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x16 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #xd84 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd98 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x36) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xdac + :ref-time-num #xd98 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdc0 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdca + :ref-time-num #xdc0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x43 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdd1 + :ref-time-num #xdcf + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x38 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdd4 + :ref-time-num #xdd1 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x75 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdd9 + :ref-time-num #xdd4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x48 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #xdde + :ref-time-num #xdd9 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde3 + :ref-time-num #xdde + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde5 + :ref-time-num #xde3 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde8 + :ref-time-num #xde5 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf2 + :ref-time-num #xde8 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xde8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdfc + :ref-time-num #xde8 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe06 + :ref-time-num #xdfc + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe0b + :ref-time-num #xe06 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #xe10 + :ref-time-num #xe0b + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1a + :ref-time-num #xe10 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xe10) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x13 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe24 + :ref-time-num #xe10 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe38 + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe4c + :ref-time-num #xe38 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe60 + :ref-time-num #xe4c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe74 + :ref-time-num #xe60 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe76 + :ref-time-num #xe74 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe79 + :ref-time-num #xe76 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe7e + :ref-time-num #xe79 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #xe88 + :ref-time-num #xe7e + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe9c + :ref-time-num #xe88 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe42 + :ref-time-num #xe9c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe47 + :ref-time-num #xe42 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xeb0 + :ref-time-num #xe9c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xec4 + :ref-time-num #xeb0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xec8 + :ref-time-num #xec4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xecc + :ref-time-num #xec8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xec4 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xec4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xed3 + :ref-time-num #xec4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #xed8 + :ref-time-num #xed3 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee2 + :ref-time-num #xed8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xed8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xeec + :ref-time-num #xed8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xef6 + :ref-time-num #xeec + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xeec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x14 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xf3c + :ref-time-num #xef6 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xa5 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xba :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf46 + :ref-time-num #xf3c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x99 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xac :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf50 + :ref-time-num #xf46 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xd8 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xd2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xf55 + :ref-time-num #xf50 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf5a + :ref-time-num #xf55 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xcc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xf5d + :ref-time-num #xf5a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xcd :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xaf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf5f + :ref-time-num #xf5d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xdd :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xd3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #xf64 + :ref-time-num #xf5f + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x85 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xf2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xf6e + :ref-time-num #xf64 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x9f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf73 + :ref-time-num #xf6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xb1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xb3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xf78 + :ref-time-num #xf73 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x95 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x97 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #xf7d + :ref-time-num #xf78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x8c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x9f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf7f + :ref-time-num #xf7d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x92 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x9b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf82 + :ref-time-num #xf7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc0 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf84 + :ref-time-num #xf82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xd3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xcf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf87 + :ref-time-num #xf84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xf2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xea :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #xf8c + :ref-time-num #xf87 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xfa0 + :ref-time-num #xf8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xfaa + :ref-time-num #xfa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xfb4 + :ref-time-num #xf8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xfc8 + :ref-time-num #xfb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xfd2 + :ref-time-num #xfc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfdc + :ref-time-num #xfc8 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xfc8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #xfe1 + :ref-time-num #xfd2 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x8c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfe6 + :ref-time-num #xfe1 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x9b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x8e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xff0 + :ref-time-num #xfe6 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x60 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xffa + :ref-time-num #xff0 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #xff0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x1004 + :ref-time-num #xff0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x100e + :ref-time-num #x1004 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x1004) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.7 + :num #x1018 + :ref-time-num #x1004 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x102c + :ref-time-num #x1018 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1040 + :ref-time-num #x102c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1054 + :ref-time-num #x1040 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1059 + :ref-time-num #x1054 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1054) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x105e + :ref-time-num #x1054 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1054) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1061 + :ref-time-num #x1054 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x1063 + :ref-time-num #x1061 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x1068 + :ref-time-num #x1063 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x51 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x107c + :ref-time-num #x1068 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x75 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1086 + :ref-time-num #x107c + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x107c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1090 + :ref-time-num #x107c + :score 100 + :flags (tpath-flag t8 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10a4 + :ref-time-num #x1090 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x1090) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #x10a9 + :ref-time-num #x10a4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ac + :ref-time-num #x10a9 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10a9) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ae + :ref-time-num #x10a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b0 + :ref-time-num #x10ae + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10ae) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b3 + :ref-time-num #x10ae + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b6 + :ref-time-num #x10b3 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10b3) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b8 + :ref-time-num #x10b3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10bd + :ref-time-num #x10b8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10b8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c2 + :ref-time-num #x10b8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c4 + :ref-time-num #x10c2 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c5 + :ref-time-num #x10c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c6 + :ref-time-num #x10c5 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c5) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x36 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c7 + :ref-time-num #x10c5 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x36 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ca + :ref-time-num #x10c7 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.6 + :num #x10cc + :ref-time-num #x10c7 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x42 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10d6 + :ref-time-num #x10cc + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x10cc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x38 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x3b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x10e0 + :ref-time-num #x10cc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x71 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x77 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10f4 + :ref-time-num #x10e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1108 + :ref-time-num #x10f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x111c + :ref-time-num #x1108 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x1130 + :ref-time-num #x111c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1144 + :ref-time-num #x1130 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x114e + :ref-time-num #x1144 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ef + :ref-time-num #x114e + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x114e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x1158 + :ref-time-num #x1144 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x1d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x115a + :ref-time-num #x1158 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x115c + :ref-time-num #x115a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x34 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x115e + :ref-time-num #x115c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x1162 + :ref-time-num #x115e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1167 + :ref-time-num #x1162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x116c + :ref-time-num #x1167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1171 + :ref-time-num #x116c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.1 + :num #x1176 + :ref-time-num #x1171 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x4b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x117b + :ref-time-num #x1176 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x23 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1180 + :ref-time-num #x117b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x34 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1185 + :ref-time-num #x1180 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1194 + :ref-time-num #x1180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x119e + :ref-time-num #x1194 + :score 100 + :flags (tpath-flag t8 t9 shield) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x1194) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x11a8 + :ref-time-num #x1194 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11b2 + :ref-time-num #x11a8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11a8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x11bc + :ref-time-num #x11a8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11c6 + :ref-time-num #x11bc + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11bc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11d0 + :ref-time-num #x11bc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11da + :ref-time-num #x11d0 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11d0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.8 + :num #x11df + :ref-time-num #x11d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11e1 + :ref-time-num #x11df + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11e3 + :ref-time-num #x11e1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e4 + :ref-time-num #x11df + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e7 + :ref-time-num #x11e1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e8 + :ref-time-num #x11e3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e9 + :ref-time-num #x11df + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x11df) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #x11f8 + :ref-time-num #x11e8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1202 + :ref-time-num #x11f8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1207 + :ref-time-num #x1202 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x120c + :ref-time-num #x11f8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1220 + :ref-time-num #x120c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x1234 + :ref-time-num #x1220 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x125c + :ref-time-num #x1234 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1266 + :ref-time-num #x125c + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x125c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1270 + :ref-time-num #x125c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x127a + :ref-time-num #x1270 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1270) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1284 + :ref-time-num #x1270 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x128e + :ref-time-num #x1284 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1284) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1298 + :ref-time-num #x1284 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12a2 + :ref-time-num #x1298 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1298) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x12ac + :ref-time-num #x1298 + :score 100 + :flags (tpath-flag shield) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12c0 + :ref-time-num #x12ac + :score 100 + :flags (tpath-flag shield) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x12d4 + :ref-time-num #x12c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12e8 + :ref-time-num #x12d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x12fc + :ref-time-num #x12e8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1310 + :ref-time-num #x12fc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x1324 + :ref-time-num #x1310 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132e + :ref-time-num #x1324 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1324) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1338 + :ref-time-num #x1324 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1342 + :ref-time-num #x1338 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1338) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1347 + :ref-time-num #x1338 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x134c + :ref-time-num #x1347 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x1388 + :ref-time-num #x134c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1392 + :ref-time-num #x1388 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1388) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x139c + :ref-time-num #x1388 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13a6 + :ref-time-num #x139c + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x139c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x13ab + :ref-time-num #x139c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x35 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x13ad + :ref-time-num #x13ab + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x13b0 + :ref-time-num #x13ab + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ba + :ref-time-num #x13b0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x13b0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13c4 + :ref-time-num #x13b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ce + :ref-time-num #x13b0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x13b0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x13d8 + :ref-time-num #x13c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13e2 + :ref-time-num #x13d8 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x13d8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ec + :ref-time-num #x13d8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1400 + :ref-time-num #x13ec + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x13d8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #x1414 + :ref-time-num #x13ec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1428 + :ref-time-num #x1414 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x143c + :ref-time-num #x1428 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1450 + :ref-time-num #x143c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1464 + :ref-time-num #x1450 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x146e + :ref-time-num #x1464 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1478 + :ref-time-num #x146e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x14b4 + :ref-time-num #x1478 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +(define *course3-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14 + :ref-time-num 10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x20 + :ref-time-num 30 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 30) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x23 + :ref-time-num 30 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x25 + :ref-time-num 35 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :ref-time-num 37 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3c + :ref-time-num 50 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x50 + :ref-time-num 70 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55 + :ref-time-num 80 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 80) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5a + :ref-time-num 80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5f + :ref-time-num 90 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 90) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x78 + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x84 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x85 + :ref-time-num #x84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x86 + :ref-time-num #x85 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x87 + :ref-time-num #x86 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x88 + :ref-time-num #x87 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x87) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8a + :ref-time-num #x88 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8b + :ref-time-num #x8a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x8c + :ref-time-num #x8b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x91 + :ref-time-num #x8c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x39) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x93 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x95 + :ref-time-num #x93 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x93) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x30) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x96 + :ref-time-num #x95 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9b + :ref-time-num #x96 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x96) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x9b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaf + :ref-time-num #xaa + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xaa) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xb4 + :ref-time-num #xaa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9 + :ref-time-num #xb4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x43) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe + :ref-time-num #xb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3 + :ref-time-num #xbe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbe) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xc3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xcc + :ref-time-num #xc3 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xce + :ref-time-num #xcc + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xdd + :ref-time-num #xdc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xde + :ref-time-num #xdd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf + :ref-time-num #xde + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe0 + :ref-time-num #xdf + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xe0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #xe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #xe7 + :ref-time-num #xe0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe8 + :ref-time-num #xe7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe9 + :ref-time-num #xe8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xea + :ref-time-num #xe9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xeb + :ref-time-num #xea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xec + :ref-time-num #xeb + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee + :ref-time-num #xec + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xf0 + :ref-time-num #xec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x104 + :ref-time-num #xfa + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x113 + :ref-time-num #x10e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x10e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x118 + :ref-time-num #x113 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x122 + :ref-time-num #x118 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x131 + :ref-time-num #x12c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x12c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132 + :ref-time-num #x131 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x131) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x133 + :ref-time-num #x132 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x132) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x140 + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x145 + :ref-time-num #x140 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x140) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14a + :ref-time-num #x140 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x14f + :ref-time-num #x14a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x154 + :ref-time-num #x14f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x160 + :ref-time-num #x15e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x162 + :ref-time-num #x160 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x162 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x162) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x164 + :ref-time-num #x162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x165 + :ref-time-num #x164 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x166 + :ref-time-num #x165 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 18 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x167 + :ref-time-num #x166 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x168 + :ref-time-num #x167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x169 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x16a + :ref-time-num #x169 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x169) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x16b + :ref-time-num #x16a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x16c + :ref-time-num #x16b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16d + :ref-time-num #x16c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16f + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x172 + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x177 + :ref-time-num #x172 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17c + :ref-time-num #x177 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x17e + :ref-time-num #x17c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17f + :ref-time-num #x17e + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x180 + :ref-time-num #x17f + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x181 + :ref-time-num #x180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x186 + :ref-time-num #x181 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x18b + :ref-time-num #x186 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x190 + :ref-time-num #x18b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x195 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x195 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x19f + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a4 + :ref-time-num #x19f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a9 + :ref-time-num #x1a4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1ae + :ref-time-num #x1a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1af + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b0 + :ref-time-num #x1af + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b1 + :ref-time-num #x1b0 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b2 + :ref-time-num #x1b1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b3 + :ref-time-num #x1b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1b2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1b4 + :ref-time-num #x1b2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b8 + :ref-time-num #x1b4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1bd + :ref-time-num #x1b8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1c2 + :ref-time-num #x1bd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1c7 + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1ca + :ref-time-num #x1c7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cc + :ref-time-num #x1ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cf + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1d2 + :ref-time-num #x1cf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d3 + :ref-time-num #x1d2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x1d2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x1db + :ref-time-num #x1d2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e0 + :ref-time-num #x1db + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x1e5 + :ref-time-num #x1e0 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1f4 + :ref-time-num #x1ea + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f9 + :ref-time-num #x1f4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1f4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x203 + :ref-time-num #x1fe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1fe) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x206 + :ref-time-num #x1fe + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x208 + :ref-time-num #x206 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x230 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x23a + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #xd48 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd52 + :ref-time-num #xd48 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd5c + :ref-time-num #xd52 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd66 + :ref-time-num #xd5c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd6b + :ref-time-num #xd66 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd70 + :ref-time-num #xd6b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd75 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd7a + :ref-time-num #xd75 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #xd7f + :ref-time-num #xd7a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd84 + :ref-time-num #xd7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd89 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd8e + :ref-time-num #xd89 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd93 + :ref-time-num #xd8e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd98 + :ref-time-num #xd93 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd9d + :ref-time-num #xd98 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda0 + :ref-time-num #xd9d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda2 + :ref-time-num #xda0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.35 + :num #xda4 + :ref-time-num #xda2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdac + :ref-time-num #xda4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdb6 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdbb + :ref-time-num #xdb6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbd + :ref-time-num #xdbb + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdbe + :ref-time-num #xdbd + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbf + :ref-time-num #xdbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdc0 + :ref-time-num #xdbf + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdca + :ref-time-num #xdc0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdd4 + :ref-time-num #xdcf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdde + :ref-time-num #xdd4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xde8 + :ref-time-num #xdde + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdf2 + :ref-time-num #xde8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdfc + :ref-time-num #xdf2 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xe06 + :ref-time-num #xdfc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe10 + :ref-time-num #xe06 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe15 + :ref-time-num #xe10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe18 + :ref-time-num #xe15 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 5.5 + :list (new 'static 'boxed-array :type int32 #xe15) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xe19 + :ref-time-num #xe18 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe1a + :ref-time-num #xe19 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe24 + :ref-time-num #xe1a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xe2e + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe33 + :ref-time-num #xe2e + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xe6a + :ref-time-num #xe33 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe74 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe7e + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe88 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe92 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe9c + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xea6 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeb0 + :ref-time-num #xe6a + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeba + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xec4 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xed8 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.5 + :num #xee2 + :ref-time-num #xed8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeec + :ref-time-num #xee2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +(define *course4-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5 + :score 100 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14 + :ref-time-num 10 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score 100 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x28 + :ref-time-num 30 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x37 + :ref-time-num 40 + :score #x1f4 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x3c + :ref-time-num 50 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t3 t4) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.3 + :num #x50 + :ref-time-num 70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.9 + :num #x5a + :ref-time-num 70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x73 + :ref-time-num 100 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 100) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x78 + :ref-time-num #x6e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x96 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xa0 + :ref-time-num #x96 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xb4 + :ref-time-num #xaa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xbe + :ref-time-num #xb4 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xdc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xdc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe6 + :ref-time-num #xdc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xf0 + :ref-time-num #xe6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xfa + :ref-time-num #xf0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x104 + :ref-time-num #xfa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x10e + :ref-time-num #x104 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x118 + :ref-time-num #x10e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x122 + :ref-time-num #x118 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x140 + :ref-time-num #x136 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14a + :ref-time-num #x140 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x154 + :ref-time-num #x14a + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x15e + :score 100 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x15e) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x168 + :ref-time-num #x15e + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x190 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x190 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1a4 + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1ae + :ref-time-num #x1a4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1b8 + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1c2 + :ref-time-num #x1b8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1cc + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d6 + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1e0 + :ref-time-num #x1d6 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1f4 + :ref-time-num #x1ea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x208 + :ref-time-num #x1fe + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x21c + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x230 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x235 + :ref-time-num #x230 + :score 100 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x230) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x23a + :ref-time-num #x230 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x244 + :ref-time-num #x23a + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x249 + :ref-time-num #x244 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x244) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x24e + :ref-time-num #x244 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x258 + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x25b + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x25d + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x262 + :ref-time-num #x258 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.25 + :num #x267 + :ref-time-num #x262 + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x269 + :ref-time-num #x267 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x267) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x26a + :ref-time-num #x269 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x269) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.25 + :num #x26c + :ref-time-num #x262 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #x276 + :ref-time-num #x26c + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.0 + :num #x27b + :ref-time-num #x276 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3f) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x41) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 10.0 + :num #x27d + :ref-time-num #x276 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x41) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3f) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 12.0 + :num #x280 + :ref-time-num #x276 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x28a + :ref-time-num #x280 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x294 + :ref-time-num #x28a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29e + :ref-time-num #x294 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x2a0 + :ref-time-num #x29e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x2a2 + :ref-time-num #x2a0 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2a4 + :ref-time-num #x2a2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #x2a6 + :ref-time-num #x2a2 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2a7 + :ref-time-num #x2a6 + :score 100 + :flags (tpath-flag t3 t4) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a6) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x2a8 + :ref-time-num #x2a7 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2bc + :ref-time-num #x2a8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2be + :ref-time-num #x2bc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2c0 + :ref-time-num #x2bc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x2c2 + :ref-time-num #x2bc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2c4 + :ref-time-num #x2bc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2c5 + :ref-time-num #x2c4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.7 + :list (new 'static 'boxed-array :type int32 #x2c4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2c6 + :ref-time-num #x2c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2d0 + :ref-time-num #x2c6 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2da + :ref-time-num #x2d0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2dd + :ref-time-num #x2c6 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x2c6) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x2df + :ref-time-num #x2da + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.3 + :num #x2e4 + :ref-time-num #x2da + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2e9 + :ref-time-num #x2e4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2e4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x2ee + :ref-time-num #x2e4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2f8 + :ref-time-num #x2ee + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2fd + :ref-time-num #x2f8 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2f8) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x302 + :ref-time-num #x2fd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x30c + :ref-time-num #x302 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x316 + :ref-time-num #x30c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x320 + :ref-time-num #x316 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x32a + :ref-time-num #x320 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x334 + :ref-time-num #x32a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x33e + :ref-time-num #x30c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #x348 + :ref-time-num #x33e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x352 + :ref-time-num #x348 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x35c + :ref-time-num #x352 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x366 + :ref-time-num #x35c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x370 + :ref-time-num #x366 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x37a + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x37f + :ref-time-num #x37a + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x37a) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x384 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x38e + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x393 + :ref-time-num #x38e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.5 + :list (new 'static 'boxed-array :type int32 #x38e) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x398 + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.8 + :num #x3a2 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 7.3 + :num #x3ac + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.0 + :num #x3b6 + :ref-time-num #x370 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.8 + :num #x3c0 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 9.4 + :num #x3ca + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 10.2 + :num #x3d4 + :ref-time-num #x370 + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x3d7 + :ref-time-num #x3d4 + :score #x1f4 + :flags (tpath-flag t3 t4) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x3d4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 11.0 + :num #x3d9 + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 11.6 + :num #x3de + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x3e8 + :ref-time-num #x3de + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x3ea + :ref-time-num #x3e8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x3ec + :ref-time-num #x3ea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3ee + :ref-time-num #x3ec + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x3f2 + :ref-time-num #x3ee + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #x3fc + :ref-time-num #x3ee + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x401 + :ref-time-num #x3f2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x3f2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x406 + :ref-time-num #x3fc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.8 + :list (new 'static 'boxed-array :type int32 #x3fc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +(define *yellow-training-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14 + :ref-time-num 10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x20 + :ref-time-num 30 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 30) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x23 + :ref-time-num 30 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x25 + :ref-time-num 35 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :ref-time-num 37 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3c + :ref-time-num 50 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x50 + :ref-time-num 70 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55 + :ref-time-num 80 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 80) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5a + :ref-time-num 80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5f + :ref-time-num 90 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 90) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x78 + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x84 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x85 + :ref-time-num #x84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x86 + :ref-time-num #x85 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x87 + :ref-time-num #x86 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x88 + :ref-time-num #x87 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x87) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8a + :ref-time-num #x88 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8b + :ref-time-num #x8a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x8c + :ref-time-num #x8b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x91 + :ref-time-num #x8c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x39) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x93 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x95 + :ref-time-num #x93 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x93) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x30) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x96 + :ref-time-num #x95 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9b + :ref-time-num #x96 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x96) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x9b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaf + :ref-time-num #xaa + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xaa) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xb4 + :ref-time-num #xaa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9 + :ref-time-num #xb4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x43) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe + :ref-time-num #xb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3 + :ref-time-num #xbe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbe) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xc3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xcc + :ref-time-num #xc3 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xce + :ref-time-num #xcc + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xdd + :ref-time-num #xdc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xde + :ref-time-num #xdd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf + :ref-time-num #xde + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe0 + :ref-time-num #xdf + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xe0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #xe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #xe7 + :ref-time-num #xe0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe8 + :ref-time-num #xe7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe9 + :ref-time-num #xe8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xea + :ref-time-num #xe9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xeb + :ref-time-num #xea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xec + :ref-time-num #xeb + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee + :ref-time-num #xec + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xf0 + :ref-time-num #xec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x104 + :ref-time-num #xfa + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x113 + :ref-time-num #x10e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x10e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x118 + :ref-time-num #x113 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x122 + :ref-time-num #x118 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x131 + :ref-time-num #x12c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x12c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132 + :ref-time-num #x131 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x131) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x133 + :ref-time-num #x132 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x132) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x140 + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x145 + :ref-time-num #x140 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x140) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14a + :ref-time-num #x140 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x14f + :ref-time-num #x14a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x154 + :ref-time-num #x14f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x160 + :ref-time-num #x15e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x162 + :ref-time-num #x160 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x162 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x162) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x164 + :ref-time-num #x162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x165 + :ref-time-num #x164 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x166 + :ref-time-num #x165 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 18 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x167 + :ref-time-num #x166 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x168 + :ref-time-num #x167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x169 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x16a + :ref-time-num #x169 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x169) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x16b + :ref-time-num #x16a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x16c + :ref-time-num #x16b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16d + :ref-time-num #x16c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16f + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x172 + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x177 + :ref-time-num #x172 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17c + :ref-time-num #x177 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x17e + :ref-time-num #x17c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17f + :ref-time-num #x17e + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x180 + :ref-time-num #x17f + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x181 + :ref-time-num #x180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x186 + :ref-time-num #x181 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x18b + :ref-time-num #x186 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x190 + :ref-time-num #x18b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x195 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x195 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x19f + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a4 + :ref-time-num #x19f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a9 + :ref-time-num #x1a4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1ae + :ref-time-num #x1a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1af + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b0 + :ref-time-num #x1af + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b1 + :ref-time-num #x1b0 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b2 + :ref-time-num #x1b1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b3 + :ref-time-num #x1b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1b2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1b4 + :ref-time-num #x1b2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b8 + :ref-time-num #x1b4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1bd + :ref-time-num #x1b8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1c2 + :ref-time-num #x1bd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1c7 + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1ca + :ref-time-num #x1c7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cc + :ref-time-num #x1ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cf + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1d2 + :ref-time-num #x1cf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d3 + :ref-time-num #x1d2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x1d2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x1db + :ref-time-num #x1d2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e0 + :ref-time-num #x1db + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x1e5 + :ref-time-num #x1e0 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1f4 + :ref-time-num #x1ea + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f9 + :ref-time-num #x1f4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1f4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x203 + :ref-time-num #x1fe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1fe) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x206 + :ref-time-num #x1fe + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x208 + :ref-time-num #x206 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x230 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x23a + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #xd48 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd52 + :ref-time-num #xd48 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd5c + :ref-time-num #xd52 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd66 + :ref-time-num #xd5c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd6b + :ref-time-num #xd66 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd70 + :ref-time-num #xd6b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd75 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd7a + :ref-time-num #xd75 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #xd7f + :ref-time-num #xd7a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd84 + :ref-time-num #xd7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd89 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd8e + :ref-time-num #xd89 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd93 + :ref-time-num #xd8e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd98 + :ref-time-num #xd93 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd9d + :ref-time-num #xd98 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda0 + :ref-time-num #xd9d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda2 + :ref-time-num #xda0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.35 + :num #xda4 + :ref-time-num #xda2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdac + :ref-time-num #xda4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdb6 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdbb + :ref-time-num #xdb6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbd + :ref-time-num #xdbb + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdbe + :ref-time-num #xdbd + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbf + :ref-time-num #xdbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdc0 + :ref-time-num #xdbf + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdca + :ref-time-num #xdc0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdd4 + :ref-time-num #xdcf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdde + :ref-time-num #xdd4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xde8 + :ref-time-num #xdde + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdf2 + :ref-time-num #xde8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdfc + :ref-time-num #xdf2 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xe06 + :ref-time-num #xdfc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe10 + :ref-time-num #xe06 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe15 + :ref-time-num #xe10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe18 + :ref-time-num #xe15 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 5.5 + :list (new 'static 'boxed-array :type int32 #xe15) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xe19 + :ref-time-num #xe18 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe1a + :ref-time-num #xe19 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe24 + :ref-time-num #xe1a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xe2e + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe33 + :ref-time-num #xe2e + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xe6a + :ref-time-num #xe33 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe74 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe7e + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe88 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe92 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe9c + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xea6 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeb0 + :ref-time-num #xe6a + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeba + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xec4 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xed8 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.5 + :num #xee2 + :ref-time-num #xed8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeec + :ref-time-num #xee2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) diff --git a/goal_src/jak3/levels/gungame/gungame-manager.gc b/goal_src/jak3/levels/gungame/gungame-manager.gc index c3175e1366..3b87bd6a8f 100644 --- a/goal_src/jak3/levels/gungame/gungame-manager.gc +++ b/goal_src/jak3/levels/gungame/gungame-manager.gc @@ -5,5 +5,1675 @@ ;; name in dgo: gungame-manager ;; dgos: GGA +(declare-type gun-course-info structure) +(define-extern *gun-course-info* (array gun-course-info)) + ;; DECOMP BEGINS +(deftype gun-course-info (structure) + ((course handle) + (start-door int8) + (end-door int8) + (text text-id) + (etype type) + (task-bronze game-task-node) + (task-silver game-task-node :offset 22) + (task-gold game-task-node :offset 24) + (game-score uint8 :offset 26) + (pass-speech uint16) + (training-goal float) + (allowed-guns game-feature) + (start-gun int32) + (ammo-type int32) + (training-task uint16) + (play-text text-id) + (play-button handle) + (give-eggs? symbol) + ) + ) + + +(deftype gungame-task-manager (task-manager) + ((actor-group (pointer actor-group)) + (actor-group-count int32) + (course-list (array int32)) + (activated-course gun-course-info) + (activated-course-id uint64) + ) + (:state-methods + active-door-opening + waiting + ) + (:methods + (gungame-task-manager-method-34 (_type_) int) + (init-actor-group (_type_ entity) object) + ) + ) + + +(deftype gungame-manager (process) + ((actor-group (pointer actor-group)) + (actor-group-count int32) + (score int32) + (course (array tpath-info)) + (course-crates handle 32) + (course-type uint64) + (hud-score handle) + (hud-goal handle) + (task-gold game-task-node) + (task-silver game-task-node :offset 426) + (task-bronze game-task-node :offset 428) + (end-door uint8 :offset 430) + (start-door uint8) + (game-score uint8) + (training-goal float) + (training? symbol) + (state-time time-frame) + (start-time time-frame) + (parent-taskmgr handle) + (goal-amount int8) + (egg-amount int8) + (pass-speech uint16) + (primary-target-history primary-target-pos-vel 16 :inline) + (score-gold int32 :offset 992) + (score-silver int32) + (score-bronze int32) + (score-high int32) + ) + (:state-methods + wait-start + course + end-course + end-course-open-door + ) + (:methods + (init-tpath (_type_ (array tpath-info)) symbol) + (gungame-manager-method-19 (_type_) none) + (init (_type_ handle int) object) + (init-actor-group (_type_ entity) object) + (spawn-dummy (_type_ tpath-info) none) + (update-hud-text (_type_) none) + (get-training-path-entity (_type_ int) entity-actor) + (gg-event-handler (_type_ process event-message-block event-message-block) object) + (spawn-gg-cates (_type_) symbol) + (gungame-manager-method-27 (_type_) none) + (gungame-manager-method-28 (_type_ vector) vector) + (update-target-history (_type_) none) + (get-player-pos-vel (_type_ primary-target-pos-vel time-frame) primary-target-pos-vel) + (gungame-manager-method-31 (_type_ primary-target-pos-vel) primary-target-pos-vel) + ) + (:states + exit-course + ) + ) + + +(defbehavior gungame-manager-init-by-other gungame-manager ((arg0 handle) (arg1 int)) + ;; og:preserve-this added + (stack-size-set! (-> self main-thread) 1024) + (init self arg0 arg1) + ) + +(defmethod gungame-manager-method-31 ((this gungame-manager) (arg0 primary-target-pos-vel)) + (get-player-pos-vel this arg0 (seconds 0.45)) + arg0 + ) + +(defmethod get-player-pos-vel ((this gungame-manager) (arg0 primary-target-pos-vel) (arg1 time-frame)) + (let ((s5-0 (new 'stack-no-clear 'inline-array 'primary-target-pos-vel 2))) + (set! (-> s5-0 0 time) (the-as uint (- (current-time) arg1))) + (let ((v1-3 0)) + (let ((a1-1 0)) + (b! #t cfg-7 :delay (nop!)) + (label cfg-1) + (b! + (not (and (>= (-> this primary-target-history a1-1 time) (-> s5-0 0 time)) + (>= (-> s5-0 0 time) (-> this primary-target-history (+ a1-1 1) time)) + ) + ) + cfg-6 + :delay (empty-form) + ) + (set! v1-3 a1-1) + (b! #t cfg-9 :delay (nop!)) + (label cfg-6) + (+! a1-1 1) + (label cfg-7) + (b! (< a1-1 14) cfg-1) + ) + (set! (-> s5-0 0 time) (-> this primary-target-history 0 time)) + (label cfg-9) + (let ((s4-0 (-> this primary-target-history v1-3)) + (s3-0 (-> this primary-target-history (+ v1-3 1))) + ) + (set! (-> s5-0 1 position x) + (/ (the float (- (-> s5-0 0 time) (-> s4-0 time))) (the float (- (-> s3-0 time) (-> s4-0 time)))) + ) + (vector-lerp! (-> arg0 position) (-> s4-0 position) (-> s3-0 position) (-> s5-0 1 position x)) + (vector-lerp! (-> arg0 velocity) (-> s4-0 velocity) (-> s3-0 velocity) (-> s5-0 1 position x)) + ) + ) + (set! (-> arg0 time) (-> s5-0 0 time)) + ) + arg0 + ) + +(defmethod update-target-history ((this gungame-manager)) + (let* ((s5-0 *target*) + (s4-0 (if (type? s5-0 process-focusable) + s5-0 + ) + ) + ) + (when s4-0 + (let ((s5-1 (new 'stack-no-clear 'primary-target-pos-vel))) + (set! (-> s5-1 position quad) (-> (get-trans s4-0 3) quad)) + (set! (-> s5-1 velocity quad) (-> (get-transv s4-0) quad)) + (set! (-> s5-1 time) (the-as uint (current-time))) + (if (>= (- (-> s5-1 time) (-> this primary-target-history 1 time)) (the-as uint 30)) + (qmem-copy->! + (the-as pointer (-> this primary-target-history 1)) + (the-as pointer (-> this primary-target-history)) + 480 + ) + ) + (mem-copy! (the-as pointer (-> this primary-target-history)) (the-as pointer (-> s5-1 position)) 32) + ) + 0 + ) + ) + 0 + (none) + ) + +(defmethod init-tpath ((this gungame-manager) (arg0 (array tpath-info))) + (dotimes (s5-0 (length arg0)) + (let ((v1-2 (-> arg0 s5-0))) + 0 + (logior! (-> v1-2 flags) (tpath-flag t0)) + (logclear! (-> v1-2 flags) (tpath-flag t1)) + (let ((a0-6 (-> v1-2 ref-time-num))) + (set! (-> v1-2 ref-time-num) -1) + (dotimes (a1-3 s5-0) + (let ((a2-5 (-> arg0 (+ (- -1 a1-3) s5-0)))) + (if (= a0-6 (-> a2-5 num)) + (+! (-> v1-2 s-time) (-> a2-5 s-time)) + ) + ) + ) + ) + (set! (-> v1-2 num-anims) (the-as uint 0)) + (dotimes (a0-9 3) + (when (nonzero? (-> v1-2 anims a0-9)) + (let ((a1-10 (-> v1-2 anims a0-9))) + (set! (-> v1-2 anims a0-9) (the-as (inline-array tpath-control-frame) 0)) + (set! (-> v1-2 anims (-> v1-2 num-anims)) a1-10) + ) + (+! (-> v1-2 num-anims) 1) + ) + ) + ) + ) + #f + ) + +(defmethod init-actor-group ((this gungame-manager) (arg0 entity)) + (local-vars (sv-16 res-tag)) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-1 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-1 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-1)) + (let ((v0-1 (the-as object (-> sv-16 elt-count)))) + (set! (-> this actor-group-count) (the-as int v0-1)) + v0-1 + ) + ) + (else + (set! (-> this actor-group) (the-as (pointer actor-group) #f)) + (set! (-> this actor-group-count) 0) + (go process-drawable-art-error "actor-group gungame-manager") + ) + ) + ) + ) + +(defmethod init-actor-group ((this gungame-task-manager) (arg0 entity)) + (local-vars (sv-16 res-tag)) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-1 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-1 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-1)) + (let ((v0-1 (the-as object (-> sv-16 elt-count)))) + (set! (-> this actor-group-count) (the-as int v0-1)) + v0-1 + ) + ) + (else + (set! (-> this actor-group) (the-as (pointer actor-group) #f)) + (set! (-> this actor-group-count) 0) + (go process-drawable-art-error "actor-group gungame-manager") + ) + ) + ) + ) + +(defmethod init! ((this gungame-task-manager)) + (call-parent-method this) + (set-setting! 'city-sound '(gungame1) 0.0 2) + (let ((a1-2 (entity-by-name "training-manager-2"))) + (init-actor-group this a1-2) + ) + (set! (-> this course-list) (new 'process 'boxed-array int32 4)) + (set! (-> this course-list length) 0) + 0 + (none) + ) + +(defmethod relocate ((this gungame-task-manager) (offset int)) + (if (nonzero? (-> this course-list)) + (&+! (-> this course-list) offset) + ) + (call-parent-method this offset) + ) + +;; WARN: Return type mismatch int vs object. +(defmethod init ((this gungame-manager) (arg0 handle) (arg1 int)) + (set-setting! 'airlock #f 0.0 0) + (set! (-> this parent-taskmgr) arg0) + (set! (-> this course-type) (the-as uint arg1)) + (dotimes (v1-2 32) + (set! (-> this course-crates v1-2) (the-as handle #f)) + ) + (let ((a1-2 (entity-by-name "training-manager-2"))) + (init-actor-group this a1-2) + ) + (let ((v1-10 (-> *gun-course-info* (-> this course-type)))) + (set! (-> this end-door) (the-as uint (-> v1-10 end-door))) + (set! (-> this start-door) (the-as uint (-> v1-10 start-door))) + (set! (-> this task-gold) (-> v1-10 task-gold)) + (set! (-> this task-silver) (-> v1-10 task-silver)) + (set! (-> this task-bronze) (-> v1-10 task-bronze)) + (set! (-> this game-score) (-> v1-10 game-score)) + (set! (-> this pass-speech) (-> v1-10 pass-speech)) + (set! (-> this training-goal) (-> v1-10 training-goal)) + ) + (gungame-manager-method-27 this) + (set! (-> this score) 0) + 0 + ) + +;; WARN: Return type mismatch tpath-flag vs none. +(defmethod spawn-dummy ((this gungame-manager) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (let ((v1-2 (rand-vu-int-count 4))) + (cond + ((zero? v1-2) + (process-spawn gun-dummy-cit-a :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-a" :to this) + ) + ((= v1-2 1) + (process-spawn gun-dummy-cit-b :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-b" :to this) + ) + ((= v1-2 2) + (process-spawn gun-dummy-cit-c :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-c" :to this) + ) + ((= v1-2 3) + (process-spawn gun-dummy-cit-d :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-d" :to this) + ) + ) + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t5)) + (process-spawn + gun-dummy-kg-big + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-kg-big" + :to this + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t7)) + (process-spawn gun-dummy-explode this arg0 :name "gun-dummy-explode" :to this) + ) + ((logtest? (-> arg0 flags) (tpath-flag t8)) + (process-spawn gun-dummy-gun this arg0 :name "gun-dummy-gun" :to this) + ) + ((logtest? (-> arg0 flags) (tpath-flag t3)) + (process-spawn + gun-dummy-kg-bonus + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-kg-bonus" + :to this + ) + ) + (else + (let ((v1-44 (logand (rand-uint31-gen *random-generator*) 1))) + (cond + ((zero? v1-44) + (process-spawn gun-dummy-kg-b :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-kg-b" :to this) + ) + ((= v1-44 1) + (process-spawn gun-dummy-kg-c :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-kg-c" :to this) + ) + ) + ) + ) + ) + (logclear! (-> arg0 flags) (tpath-flag t0)) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod update-hud-text ((this gungame-manager)) + (get-game-score-ref *game-info* (the-as int (-> this game-score))) + (let ((gp-0 (the-as hud (handle->process (-> this hud-goal))))) + (cond + ((not (task-node-closed? (-> this task-bronze))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-1 format) + (gp-1 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-0 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-1 gp-1 s4-0 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-silver))) + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-2 format) + (gp-2 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-1 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-2 gp-2 s4-1 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-bronze))) + (set! (-> *game-info* goal) (the float (-> this score-silver))) + (let ((s5-3 format) + (gp-3 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-2 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0138) #f)) + (s5-3 gp-3 s4-2 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (-> this training-goal)) + (set! (-> *game-info* goal) (the float (-> this score-bronze))) + (let ((s5-4 format) + (gp-4 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-3 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0139) #f)) + (s5-4 gp-4 s4-3 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (-> this training-goal)) + (let ((s5-5 format) + (gp-5 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-4 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-5 gp-5 s4-4 *temp-string*) + ) + ) + ) + ) + ((not (task-node-closed? (-> this task-silver))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-6 format) + (gp-6 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-5 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-6 gp-6 s4-5 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-silver))) + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-7 format) + (gp-7 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-6 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-7 gp-7 s4-6 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (the float (-> this score-silver))) + (let ((s5-8 format) + (gp-8 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-7 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0138) #f)) + (s5-8 gp-8 s4-7 *temp-string*) + ) + ) + ) + ) + ((not (task-node-closed? (-> this task-gold))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-9 format) + (gp-9 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-8 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-9 gp-9 s4-8 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-10 format) + (gp-10 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-9 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-10 gp-10 s4-9 *temp-string*) + ) + ) + ) + ) + (else + (set! (-> *game-info* goal) (fmax (-> *game-info* score) (the float (-> this score-high)))) + (let ((s5-11 format) + (gp-11 (clear (-> gp-0 strings 1 text))) + (s4-10 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-11 gp-11 s4-10 *temp-string*) + ) + ) + ) + ) + (none) + ) + +(defstate exit-course (gungame-manager) + :enter (behavior () + '() + ) + :exit (behavior () + (remove-setting! 'features) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + ) + :code sleep-code + ) + +(defstate course (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('get-player-pos-vel) + (let ((a1-2 (-> block param 0))) + (get-player-pos-vel self (the-as primary-target-pos-vel a1-2) (seconds 0.5)) + ) + ) + (('score) + (let* ((v1-2 (-> block param 0)) + (v0-0 (the-as object (+ (-> self score) v1-2))) + ) + (set! (-> self score) (the-as int v0-0)) + v0-0 + ) + ) + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (set-setting! 'music 'gncourse 0.0 0) + (set! (-> self hud-score) + (ppointer->handle (process-spawn hud-big-score :init hud-init-by-other :name "hud-big-score" :to self)) + ) + (set! (-> self score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 3))) + (set! (-> self score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 2))) + (set! (-> self score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 1))) + (set! (-> self score-high) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 0))) + (set! (-> self hud-goal) + (ppointer->handle (process-spawn hud-goal :init hud-init-by-other :name "hud-goal" :to self)) + ) + (set-time! (-> self start-time)) + (set! (-> self score) 0) + (dotimes (gp-2 (length (-> self course))) + (let ((v1-24 (-> self course gp-2))) + 0 + (logior! (-> v1-24 flags) (tpath-flag t0)) + (logclear! (-> v1-24 flags) (tpath-flag t1)) + ) + ) + ) + :exit (behavior () + (remove-setting! 'music) + ) + :trans (behavior () + (update-target-history self) + (set! (-> *game-info* score) (the float (-> self score))) + (update-hud-text self) + ) + :code sleep-code + :post (behavior () + (send-event (handle->process (-> self hud-score)) 'force-show) + (send-event (handle->process (-> self hud-goal)) 'force-show) + (let ((f30-0 (* 0.0033333334 (the float (- (current-time) (-> self start-time)))))) + (dotimes (gp-0 (length (-> self course))) + (let ((s5-0 (-> self course gp-0))) + (when (and (logtest? (-> s5-0 flags) (tpath-flag t0)) (>= f30-0 (-> s5-0 s-time))) + (cond + ((logtest? (-> s5-0 flags) (tpath-flag t3 t9)) + (let ((s4-0 #t)) + (dotimes (s3-0 (length (-> self course))) + (let ((s2-0 (-> self course s3-0))) + (when (not (logtest? (-> s2-0 flags) (tpath-flag t1))) + (dotimes (s1-0 (length (-> s5-0 list))) + (if (= (-> s5-0 list s1-0) (-> s2-0 num)) + (set! s4-0 #f) + ) + ) + ) + ) + ) + (when s4-0 + (spawn-dummy self s5-0) + (logclear! (-> s5-0 flags) (tpath-flag t0)) + ) + ) + (if (>= f30-0 (+ (-> s5-0 bonus-time) (-> s5-0 s-time))) + (logclear! (-> s5-0 flags) (tpath-flag t0)) + ) + ) + (else + (spawn-dummy self s5-0) + ) + ) + ) + ) + ) + ) + (let ((gp-1 (-> self course (+ (length (-> self course)) -1))) + (a1-5 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-5 from) (process->ppointer self)) + (set! (-> a1-5 num-params) 1) + (set! (-> a1-5 message) 'player-near-door?) + (set! (-> a1-5 param 0) (the-as uint #t)) + (let ((t9-8 send-event-function) + (v1-67 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (when (or (t9-8 + (if v1-67 + (-> v1-67 extra process) + ) + a1-5 + ) + (logtest? (-> gp-1 flags) (tpath-flag t1)) + ) + (set! (-> self goal-amount) -1) + (game-info-method-27 *game-info* (the-as game-score (-> self game-score)) (the float (-> self score))) + (cond + ((and (-> self training?) (< (-> self score) (the int (-> self training-goal)))) + (go-virtual end-course-open-door) + ) + (else + (set! (-> self goal-amount) 0) + (cond + ((>= (-> self score) (-> self score-gold)) + (set! (-> self goal-amount) 3) + ) + ((>= (-> self score) (-> self score-silver)) + (set! (-> self goal-amount) 2) + ) + ((>= (-> self score) (-> self score-bronze)) + (set! (-> self goal-amount) 1) + ) + ) + (go-virtual end-course-open-door) + ) + ) + ) + ) + ) + ) + ) + +(defstate end-course-open-door (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'open) + (let ((t9-0 send-event-function) + (v1-6 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-0 + (if v1-6 + (-> v1-6 extra process) + ) + a1-0 + ) + ) + ) + (set-time! (-> self state-time)) + ) + :trans (behavior () + (if (or (time-elapsed? (-> self state-time) (seconds 1)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'player-near-door?) + (set! (-> a1-0 param 0) (the-as uint #f)) + (let ((t9-0 send-event-function) + (v1-11 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-0 + (if v1-11 + (-> v1-11 extra process) + ) + a1-0 + ) + ) + ) + ) + (go-virtual end-course) + ) + ) + :code sleep-code + ) + +(defstate end-course (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self egg-amount) 0) + (cond + ((< (-> self goal-amount) 0) + (let ((a0-1 (handle->process (-> self parent-taskmgr)))) + (send-event a0-1 'fail) + ) + ) + (else + (if (-> self training?) + (send-event (handle->process (-> self parent-taskmgr)) 'success) + ) + (when (and (>= (-> self goal-amount) 1) (not (task-node-closed? (-> self task-bronze)))) + (task-node-close! (-> self task-bronze) 'event) + (+! (-> self egg-amount) 1) + ) + (when (and (>= (-> self goal-amount) 2) (not (task-node-closed? (-> self task-silver)))) + (task-node-close! (-> self task-silver) 'event) + (+! (-> self egg-amount) 1) + ) + (when (and (>= (-> self goal-amount) 3) (not (task-node-closed? (-> self task-gold)))) + (task-node-close! (-> self task-gold) 'event) + (+! (-> self egg-amount) 1) + ) + ) + ) + ) + :exit (behavior () + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + ) + :trans (behavior () + '() + ) + :code (behavior () + (when (and (> (-> self egg-amount) 0) (-> *gun-course-info* (-> self course-type) give-eggs?)) + (let ((gp-0 (new 'static 'fact-info))) + (set! (-> gp-0 options) (actor-option)) + (logior! (-> gp-0 options) (actor-option suck-in)) + (let ((v1-9 (entity-by-name "training-manager-2"))) + (birth-pickup-at-point + (-> v1-9 extra trans) + (pickup-type skill) + (* (the float (-> self egg-amount)) (-> *FACT-bank* super-skill-inc)) + #t + *entity-pool* + gp-0 + ) + ) + ) + (set! (-> self egg-amount) 0) + 0 + (auto-save-user) + ) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (process->ppointer self)) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'close) + (set! (-> a1-3 param 0) (the-as uint #f)) + (let ((t9-5 send-event-function) + (v1-35 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-5 + (if v1-35 + (-> v1-35 extra process) + ) + a1-3 + ) + ) + ) + (send-event (handle->process (-> self parent-taskmgr)) 'course-complete) + (until #f + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) (process->ppointer self)) + (set! (-> a1-5 num-params) 0) + (set! (-> a1-5 message) 'closed?) + (let ((t9-7 send-event-function) + (v1-50 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (when (t9-7 + (if v1-50 + (-> v1-50 extra process) + ) + a1-5 + ) + 0 + (goto cfg-39) + ) + ) + ) + (suspend) + ) + #f + (label cfg-39) + (let ((gp-1 (-> self child))) + (while gp-1 + (send-event (ppointer->process gp-1) 'die-fast) + (suspend) + (set! gp-1 (-> gp-1 0 brother)) + ) + ) + (while (-> self child) + (suspend) + ) + (deactivate self) + ) + ) + +(deftype training-path (process-drawable) + ((num uint32) + ) + (:state-methods + idle + ) + ) + + +(defstate idle (training-path) + :virtual #t + :code sleep-code + :post (behavior () + (when *display-path-marks* + (let ((gp-0 add-debug-text-3d) + (s5-0 #t) + (s4-0 583) + ) + (format (clear *temp-string*) "path-~D" (-> self num)) + (gp-0 + s5-0 + (the-as bucket-id s4-0) + *temp-string* + (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp) + (font-color green) + (the-as vector2h #f) + ) + ) + ) + ) + ) + +(defmethod init-from-entity! ((this training-path) (arg0 entity-actor)) + (let ((s5-0 (length "training-path-")) + (a0-3 (length (-> this name))) + (v1-2 0) + ) + (cond + ((= a0-3 (+ s5-0 1)) + (set! v1-2 (the-as int (+ (-> this name data 14) -48 v1-2))) + ) + ((= a0-3 (+ s5-0 2)) + (let ((v1-3 (+ v1-2 (* (the-as uint 10) (+ (-> this name data 14) -48))))) + (set! v1-2 (the-as int (+ (-> this name data 15) -48 v1-3))) + ) + ) + ((= a0-3 (+ s5-0 3)) + (let ((v1-5 (+ v1-2 + (* (the-as uint 100) (+ (-> this name data 14) -48)) + (* (the-as uint 10) (+ (-> this name data 15) -48)) + ) + ) + ) + (set! v1-2 (the-as int (+ (-> this name data 16) -48 v1-5))) + ) + ) + ) + (set! (-> this num) (the-as uint (+ v1-2 -76))) + ) + (let ((v1-8 (new 'process 'path-control this 'path 0.0 (the-as entity #f) #t))) + (when (nonzero? v1-8) + (set! (-> this path) v1-8) + (logior! (-> v1-8 flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (go (method-of-object this idle)) + ) + +(defmethod get-training-path-entity ((this gungame-manager) (arg0 int)) + (let ((s4-0 0) + (v1-3 (+ (length (-> this actor-group 0)) -1)) + ) + 0 + (while (>= v1-3 s4-0) + (let* ((a0-4 (/ (+ s4-0 v1-3) 2)) + (a2-2 (-> this actor-group 0 data a0-4 actor)) + (a1-4 (if a2-2 + (the-as training-path (-> a2-2 extra process)) + ) + ) + ) + (cond + ((= arg0 (-> a1-4 num)) + (return (-> this actor-group 0 data a0-4 actor)) + ) + ((< (-> a1-4 num) (the-as uint arg0)) + (set! s4-0 (+ a0-4 1)) + ) + (else + (set! v1-3 (+ a0-4 -1)) + ) + ) + ) + ) + ) + (the-as entity-actor #f) + ) + +;; WARN: Return type mismatch path-control vs object. +(defmethod gg-event-handler ((this gungame-manager) (arg0 process) (arg1 event-message-block) (arg2 event-message-block)) + (case (-> arg1 message) + (('path) + (let ((v1-2 (get-training-path-entity this (the-as int (-> arg1 param 0))))) + (if v1-2 + (-> (the-as training-path (if v1-2 + (the-as training-path (-> v1-2 extra process)) + ) + ) + path + ) + (the-as path-control #f) + ) + ) + ) + (else + (the-as path-control #f) + ) + ) + ) + +(define *jak3-training-path-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 5 + (new 'static 'tpath-control-frame :path-num #x23) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time -1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :ref-time-num -1 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x23) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; WARN: Return type mismatch symbol vs none. +(defmethod gungame-manager-method-27 ((this gungame-manager)) + (dotimes (s5-0 32) + (when (handle->process (-> this course-crates s5-0)) + (deactivate (-> this course-crates s5-0 process 0)) + (set! (-> this course-crates s5-0) (the-as handle #f)) + ) + ) + (none) + ) + +(defmethod spawn-gg-cates ((this gungame-manager)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'static 'fact-info)) + ) + (dotimes (s3-0 (-> this actor-group 2 length)) + (when (not (handle->process (-> this course-crates s3-0))) + (set! (-> s5-0 quad) (-> this actor-group 2 data s3-0 actor trans quad)) + (set! (-> s5-0 w) 1.0) + (gungame-manager-method-28 this s5-0) + (format 0 "Name is ~s~%" (-> this actor-group 2 data s3-0 actor)) + (set! (-> s4-0 pickup-type) (the-as pickup-type (-> *gun-course-info* (-> this course-type) ammo-type))) + (set! (-> s4-0 pickup-spawn-amount) 30.0) + (let ((s2-1 + (ppointer->process + (process-spawn crate (-> this actor-group 2 data s3-0 actor) s5-0 'wood s4-0 :name "crate" :to *entity-pool*) + ) + ) + ) + (set! (-> this course-crates s3-0) (process->handle (if (type? s2-1 process-focusable) + s2-1 + ) + ) + ) + ) + ) + ) + ) + #f + ) + +(defmethod gungame-manager-method-28 ((this gungame-manager) (arg0 vector)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let ((s5-0 (new 'stack-no-clear 'collide-query))) + (set! (-> s5-0 start-pos quad) (-> arg0 quad)) + (set-vector! (-> s5-0 move-dist) 0.0 -8192.0 0.0 1.0) + (let ((v1-2 s5-0)) + (set! (-> v1-2 radius) 40.96) + (set! (-> v1-2 collide-with) (collide-spec backgnd)) + (set! (-> v1-2 ignore-process0) #f) + (set! (-> v1-2 ignore-process1) #f) + (set! (-> v1-2 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-2 action-mask) (collide-action solid)) + ) + (let ((f0-5 (fill-and-probe-using-line-sphere *collide-cache* s5-0))) + (when (< 0.0 f0-5) + (let ((v0-1 arg0)) + (let ((v1-5 (-> s5-0 move-dist))) + (let ((a0-10 f0-5)) + (.mov vf7 a0-10) + ) + (.lvf vf5 (&-> v1-5 quad)) + ) + (.lvf vf4 (&-> arg0 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> v0-1 quad) vf6) + v0-1 + ) + ) + ) + ) + ) + ) + +(defstate wait-start (gungame-manager) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + (let ((v1-5 (-> *gun-course-info* (-> self course-type)))) + (if (!= (-> v1-5 start-gun) (-> *game-info* gun-type)) + (send-event *target* 'change-mode 'gun #f (-> v1-5 start-gun)) + ) + ) + ) + :trans (behavior () + (dotimes (gp-0 2) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'set-train) + (let ((v1-8 (-> self actor-group 1 data (logand (+ gp-0 1) 1) actor))) + (set! (-> a1-0 param 0) (the-as uint (process->handle (if v1-8 + (-> v1-8 extra process) + ) + ) + ) + ) + ) + (let ((t9-0 send-event-function) + (v1-16 (-> self actor-group 1 data gp-0 actor)) + ) + (t9-0 + (if v1-16 + (-> v1-16 extra process) + ) + a1-0 + ) + ) + ) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) (process->ppointer self)) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'open) + (let ((t9-1 send-event-function) + (v1-27 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (t9-1 + (if v1-27 + (-> v1-27 extra process) + ) + a1-1 + ) + ) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) (process->ppointer self)) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'open?) + (let ((t9-2 send-event-function) + (v1-36 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (when (t9-2 + (if v1-36 + (-> v1-36 extra process) + ) + a1-2 + ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (process->ppointer self)) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'close) + (set! (-> a1-3 param 0) (the-as uint #t)) + (let ((t9-3 send-event-function) + (v1-47 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (t9-3 + (if v1-47 + (-> v1-47 extra process) + ) + a1-3 + ) + ) + ) + (go-virtual course) + ) + ) + ) + ) + :code sleep-code + ) + +(deftype gungame-mgr-1 (gungame-manager) + () + (:state-methods + wait-load + ) + ) + + +(deftype gungame-mgr-2 (gungame-manager) + () + (:state-methods + wait-load + ) + ) + + +(deftype gungame-mgr-rnc (gungame-manager) + () + (:state-methods + wait-load + ) + ) + + +;; WARN: Return type mismatch tpath-flag vs none. +(defmethod spawn-dummy ((this gungame-mgr-rnc) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (let ((v1-2 (rand-vu-int-count 2))) + (cond + ((zero? v1-2) + (process-spawn + gun-dummy-cit-clank + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-cit-clank" + :to this + ) + ) + ((= v1-2 1) + (process-spawn + gun-dummy-cit-ratchet + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-cit-ratchet" + :to this + ) + ) + ) + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t5)) + (process-spawn + gun-dummy-rc-four-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-four-eyes" + :to this + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t3)) + (process-spawn + gun-dummy-rc-three-eyes-bonus + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-three-eyes-bonus" + :to this + ) + ) + (else + (let ((v1-25 (mod (the-as int (rand-uint31-gen *random-generator*)) 3))) + (cond + ((zero? v1-25) + (process-spawn + gun-dummy-rc-two-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-two-eyes" + :to this + ) + ) + ((= v1-25 1) + (process-spawn + gun-dummy-rc-three-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-three-eyes" + :to this + ) + ) + ((= v1-25 2) + (process-spawn + gun-dummy-rc-one-eye + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-one-eye" + :to this + ) + ) + ) + ) + ) + ) + (logclear! (-> arg0 flags) (tpath-flag t0)) + (none) + ) + +(defstate wait-load (gungame-mgr-rnc) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunrnc #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +(deftype gungame-mgr-3 (gungame-mgr-rnc) + () + ) + + +(deftype gungame-mgr-4 (gungame-mgr-rnc) + () + ) + + +(define *gun-course-info* + (new 'static 'boxed-array :type gun-course-info + (new 'static 'gun-course-info + :end-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-1 :method-count 33) + :task-bronze (game-task-node city-gun-course-1-bronze) + :task-silver (game-task-node city-gun-course-1-silver) + :task-gold (game-task-node city-gun-course-1-gold) + :game-score #xb + :training-goal 10000.0 + :allowed-guns (game-feature gun-yellow-1 gun-yellow-2) + :start-gun 30 + :ammo-type 15 + :training-task #x84 + :play-text (text-id text-07e7) + :play-button (new 'static 'handle :process #x4000 :u64 #x4000) + :give-eggs? #t + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x1 :u64 #x1) + :start-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-2 :method-count 33) + :task-bronze (game-task-node city-gun-course-2-bronze) + :task-silver (game-task-node city-gun-course-2-silver) + :task-gold (game-task-node city-gun-course-2-gold) + :game-score #xc + :training-goal 11000.0 + :allowed-guns (game-feature gun-red-1 gun-red-2) + :start-gun 27 + :ammo-type 16 + :training-task #xa2 + :play-text (text-id text-07e6) + :play-button (new 'static 'handle :process #x4000 :u64 #x4000) + :give-eggs? #t + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x2 :u64 #x2) + :start-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-3 :method-count 33) + :task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-1) + :task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-1) + :task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-1) + :game-score #xd + :training-goal -1.0 + :allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2) + :start-gun 30 + :ammo-type 15 + :training-task #xa2 + :play-text (text-id text-07e8) + :play-button (new 'static 'handle :process #x8000 :u64 #x8000) + :give-eggs? #f + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x3 :u64 #x3) + :end-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-4 :method-count 33) + :task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-2) + :task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-2) + :task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-2) + :game-score #xe + :training-goal -1.0 + :allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2) + :start-gun 27 + :ammo-type 16 + :training-task #xa2 + :play-text (text-id text-07e9) + :play-button (new 'static 'handle :process #x8000 :u64 #x8000) + :give-eggs? #f + ) + ) + ) + +(define *gungame-test-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 2048000.0 :y 40960.0 :z 4288512.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + ) + ) + +(defmethod init ((this gungame-mgr-1) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set! (-> this training?) + (not (task-node-closed? (the-as game-task-node (-> *gun-course-info* arg1 training-task)))) + ) + (set! *gungame-level* 'lgunnorm) + (set! (-> this course) *course1-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +(defmethod init ((this gungame-mgr-2) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set! (-> this training?) + (not (task-node-closed? (the-as game-task-node (-> *gun-course-info* arg1 training-task)))) + ) + (set! *gungame-level* 'lgunnorm) + (set! (-> this course) *course2-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +(defstate wait-load (gungame-mgr-1) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunnorm #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +(defstate wait-load (gungame-mgr-2) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunnorm #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +(defmethod init ((this gungame-mgr-3) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set-setting! 'borrow '((gungame 1 lgunrnc special)) 0.0 0) + (set! (-> this training?) #f) + (set! *gungame-level* 'lgunrnc) + (set! (-> this course) *course3-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +(defmethod init ((this gungame-mgr-4) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set-setting! 'borrow '((gungame 1 lgunrnc special)) 0.0 0) + (set! (-> this training?) #f) + (set! *gungame-level* 'lgunrnc) + (set! (-> this course) *course4-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +(defstate wait-load (gungame-mgr-4) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunrnc #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +(deftype training-manager (process-hidden) + () + ) + + +(defmethod gungame-task-manager-method-34 ((this gungame-task-manager)) + (let ((gp-0 0)) + (if (task-node-closed? (game-task-node city-gun-course-1-introduction)) + (set! gp-0 (logior gp-0 1)) + ) + (if (task-node-closed? (game-task-node city-gun-course-2-introduction)) + (set! gp-0 (logior gp-0 2)) + ) + (if (logtest? (game-secrets gungame-ratchet) (-> *game-info* secrets)) + (set! gp-0 (logior gp-0 4)) + ) + (if (logtest? (game-secrets gungame-ratchet) (-> *game-info* secrets)) + (set! gp-0 (logior gp-0 8)) + ) + (logand gp-0 (-> this info index)) + ) + ) + +(defstate active (gungame-task-manager) + :virtual #t + :enter (behavior () + '() + ) + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (if (search-process-tree *active-pool* (lambda ((arg0 process)) (type? arg0 gungame-manager))) + (return 0) + ) + 0 + (let ((gp-0 0) + (v1-6 (gungame-task-manager-method-34 self)) + ) + (dotimes (a0-3 4) + (if (logtest? v1-6 (ash 1 a0-3)) + (+! gp-0 1) + ) + ) + (set! (-> self course-list length) 0) + (dotimes (a0-7 4) + (when (logtest? v1-6 (ash 1 a0-7)) + (set! (-> self course-list (-> self course-list length)) a0-7) + (+! (-> self course-list length) 1) + ) + ) + ) + (cond + ((!= (-> self info index) -1) + (set! (-> self activated-course) (-> *gun-course-info* (-> self course-list 0))) + (set! (-> self activated-course-id) (the-as uint (-> self course-list 0))) + (go-virtual active-door-opening) + ) + (else + (let ((gp-1 (new 'static 'boxed-array :type int32 :length 0 :allocated-length 4))) + (set! (-> gp-1 length) 0) + (let ((v1-20 (level-get-target-inside *level*))) + (when (and v1-20 + (= (-> v1-20 name) 'gungame) + *target* + (not (logtest? (focus-status in-head pole flut light board dark) (-> *target* focus-status))) + ) + (dotimes (s5-0 (-> self course-list length)) + (let ((v1-31 (-> *gun-course-info* (-> self course-list s5-0))) + (a1-20 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-20 from) (process->ppointer self)) + (set! (-> a1-20 num-params) 1) + (set! (-> a1-20 message) 'player-near-door?) + (set! (-> a1-20 param 0) (the-as uint #f)) + (let ((t9-6 send-event-function) + (v1-36 (-> self actor-group 1 data (-> v1-31 start-door) actor)) + ) + (when (t9-6 + (if v1-36 + (-> v1-36 extra process) + ) + a1-20 + ) + (set! (-> gp-1 (-> gp-1 length)) s5-0) + (+! (-> gp-1 length) 1) + ) + ) + ) + ) + ) + ) + (when (and (> (-> gp-1 length) 0) (can-display-query? self (the-as string #f) -99.0)) + (let* ((t0-0 (- 380 (* 45 (-> gp-1 length)))) + (s5-1 + (new 'stack 'font-context *font-default-matrix* 32 t0-0 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-53 s5-1)) + (set! (-> v1-53 width) (the float 440)) + ) + (let ((v1-54 s5-1)) + (set! (-> v1-54 height) (the float 80)) + ) + (let ((v1-55 s5-1)) + (set! (-> v1-55 scale) 0.7) + ) + (set! (-> s5-1 flags) (font-flags shadow kerning large)) + (dotimes (s4-0 (-> gp-1 length)) + (let ((s3-0 (-> *gun-course-info* (-> self course-list (-> gp-1 s4-0))))) + (if (= s4-0 (+ (-> gp-1 length) -1)) + (print-game-text + (lookup-text! *common-text* (-> s3-0 play-text) #f) + s5-1 + #f + 44 + (bucket-id hud-draw-hud-alpha) + ) + ) + (when (> (the-as int (logand (the-as handle (-> *cpad-list* cpads 0 button0-rel 0)) (-> s3-0 play-button))) 0) + (set! (-> self activated-course) s3-0) + (set! (-> self activated-course-id) (the-as uint (-> self course-list (-> gp-1 s4-0)))) + (go-virtual active-door-opening) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + +(defstate active-door-opening (gungame-task-manager) + :virtual #t + :code (behavior () + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons circle x confirm)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons circle x confirm)) + (set! (-> self state-time) 0) + (adjust-player-ammo 500.0 (the-as pickup-type (-> self activated-course ammo-type))) + (let ((t1-0 (logclear + (game-feature + gun-red-1 + gun-red-2 + gun-red-3 + gun-yellow-1 + gun-yellow-2 + gun-yellow-3 + gun-blue-1 + gun-blue-2 + gun-blue-3 + gun-dark-1 + gun-dark-2 + gun-dark-3 + board + darkjak + lightjak + ) + (-> self activated-course allowed-guns) + ) + ) + ) + (set-setting! 'features 'clear (shr t1-0 32) t1-0) + ) + (cond + ((>= 1 (-> self course-list length)) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 1)) + (suspend) + ) + ) + ) + (else + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.5)) + (suspend) + ) + ) + ) + ) + (let ((gp-2 (get-process *default-dead-pool* (-> self activated-course etype) #x4000 1))) + (when gp-2 + (let ((t9-3 (method-of-type process activate))) + (t9-3 gp-2 *entity-pool* "gungame-manager" (the-as pointer #x70004000)) + ) + (run-now-in-process gp-2 gungame-manager-init-by-other (process->handle self) (-> self activated-course-id)) + (-> gp-2 ppointer) + ) + ) + (go-virtual waiting) + ) + ) + +(defstate waiting (gungame-task-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('course-complete) + (if (!= (-> self info index) -1) + (send-event self 'complete) + (go-virtual active) + ) + ) + (('course-fail) + (if (!= (-> self info index) -1) + (send-event self 'fail) + (go-virtual active) + ) + ) + (else + (task-manager-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set-setting! 'exclusive-task #f 0.0 (-> self node-info task)) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code sleep-code + ) + +(defmethod task-manager-method-25 ((this gungame-task-manager)) + (call-parent-method this) + (none) + ) diff --git a/goal_src/jak3/levels/gungame/gungame-obs.gc b/goal_src/jak3/levels/gungame/gungame-obs.gc index 25e295150a..84f30bd37d 100644 --- a/goal_src/jak3/levels/gungame/gungame-obs.gc +++ b/goal_src/jak3/levels/gungame/gungame-obs.gc @@ -7,3 +7,308 @@ ;; DECOMP BEGINS +(deftype gungame-door (process-drawable) + ((root collide-shape :override) + (front? symbol) + (close-sound sound-id) + (train handle) + (other-door handle) + (want-close? symbol) + ) + (:state-methods + idle + open + close + force-close + opened + ) + (:methods + (gungame-door-method-25 (_type_) symbol) + (test-close? (_type_ symbol) symbol) + (player-near-door? (_type_ symbol) symbol) + ) + ) + + +(defskelgroup skel-gungame-door fort-entry-gate fort-entry-gate-lod0-jg fort-entry-gate-idle-ja + ((fort-entry-gate-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 10) + ) + +(defbehavior gungame-door-handler gungame-door ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('force-close) + (go-virtual force-close) + ) + (('player-near-door?) + (player-near-door? self (the-as symbol (-> arg3 param 0))) + ) + (('set-train) + (set! (-> self train) (process->handle arg0)) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self other-door) (the-as handle v0-0)) + v0-0 + ) + (('test-close?) + (test-close? self (the-as symbol (-> arg3 param 0))) + ) + (('close) + (set! (-> self front?) (the-as symbol (-> arg3 param 0))) + (set! v0-0 #t) + (set! (-> self want-close?) (the-as symbol v0-0)) + v0-0 + ) + ) + ) + +(defstate idle (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('open) + (go-virtual open) + ) + (('closed?) + #t + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self want-close?) #f) + ) + :trans (behavior () + (test-close? self #t) + ) + :code sleep-code + :post transform-post + ) + +(defstate force-close (gungame-door) + :virtual #t + :code (behavior () + (ja-channel-push! 1 0) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! identity) + (ja :group! fort-entry-gate-idle-ja :num! zero) + (let ((gp-0 (-> self skel status))) + (logior! (-> self skel status) (joint-control-status sync-math)) + (ja-post) + (update-transforms (-> self root)) + (set! (-> self skel status) gp-0) + ) + (go-virtual idle) + ) + :post (behavior () + (ja-post) + ) + ) + +(defstate opened (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('closed?) + #f + ) + (('open?) + #t + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :trans (behavior () + (if (and (-> self want-close?) (not (gungame-door-method-25 self))) + (go-virtual close) + ) + ) + :code sleep-code + :post transform-post + ) + +(defstate open (gungame-door) + :virtual #t + :event gungame-door-handler + :code (behavior () + (sound-play "gungame-door") + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.2)) + (suspend) + (suspend) + ) + ) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (go-virtual opened) + ) + :post transform-post + ) + +;; WARN: disable def twice: 68. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod player-near-door? ((this gungame-door) (arg0 symbol)) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> this root trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) (camera-pos) (-> this root trans))) + ) + (let ((s3-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-float*! (-> s3-1 fvec) (-> s3-1 fvec) -1.0) + (vector-float*! (-> s3-1 rvec) (-> s3-1 rvec) -1.0) + (matrix-transpose! s3-1 s3-1) + (vector-matrix*! gp-1 gp-1 s3-1) + (vector-matrix*! s4-1 s4-1 s3-1) + ) + (let ((f1-0 16384.0) + (f0-2 16384.0) + ) + (when (and (>= f1-0 (fabs (-> gp-1 z))) (>= f0-2 (fabs (-> gp-1 x)))) + (if arg0 + (and (< 0.0 (-> s4-1 z)) (< 0.0 (-> gp-1 z))) + (and (< (-> s4-1 z) 0.0) (< (-> gp-1 z) 0.0)) + ) + ) + ) + ) + ) + +(defmethod gungame-door-method-25 ((this gungame-door)) + (if (-> this front?) + (not (test-close? this #t)) + (or (not (test-close? this #f)) (not (send-event (handle->process (-> this other-door)) 'test-close? #f))) + ) + ) + +;; WARN: disable def twice: 73. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod test-close? ((this gungame-door) (arg0 symbol)) + (local-vars (v0-6 symbol)) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> this root trans))) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (camera-pos) (-> this root trans))) + ) + (let ((s3-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-float*! (-> s3-1 fvec) (-> s3-1 fvec) -1.0) + (vector-float*! (-> s3-1 rvec) (-> s3-1 rvec) -1.0) + (matrix-transpose! s3-1 s3-1) + (vector-matrix*! s5-1 s5-1 s3-1) + (vector-matrix*! gp-1 gp-1 s3-1) + ) + (let ((f0-2 16384.0)) + (cond + (arg0 + (when (and (< 0.0 (-> s5-1 z)) (< 0.0 (-> gp-1 z)) (or (>= f0-2 (fabs (-> s5-1 x))) (< 102400.0 (-> gp-1 z)))) + (return #t) + v0-6 + ) + ) + (else + (and (< (-> s5-1 z) 0.0) (< (-> gp-1 z) 0.0)) + ) + ) + ) + ) + ) + +(defstate close (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('closed?) + #f + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self close-sound) (sound-play "door-close-all")) + ) + :code (behavior () + (let ((gp-0 #t)) + (until #f + (cond + ((gungame-door-method-25 self) + (if gp-0 + (sound-play "door-stopped") + ) + (sound-pause (-> self close-sound)) + (set! gp-0 #f) + ) + (else + (if (not gp-0) + (sound-continue (-> self close-sound)) + ) + (set! gp-0 #t) + (ja :num! (seek! 0.0)) + ) + ) + (suspend) + (when (>= 0.0 (ja-frame-num 0)) + (ja-no-eval :num! zero) + (goto cfg-12) + ) + ) + ) + #f + (label cfg-12) + (go-virtual idle) + ) + :post transform-post + ) + +(defmethod init-from-entity! ((this gungame-door) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) cshape-reaction-default) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s4-0 penetrated-by) (penetrate)) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s4-0 total-prims) (the-as uint 3)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 12288.0 0.0 40960.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-12 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-12 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-12 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-12 prim-core action) (collide-action solid)) + (set! (-> v1-12 transform-index) 4) + (set-vector! (-> v1-12 local-sphere) 8192.0 16384.0 0.0 20480.0) + ) + (let ((v1-14 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-14 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-14 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-14 prim-core action) (collide-action solid)) + (set! (-> v1-14 transform-index) 5) + (set-vector! (-> v1-14 local-sphere) -8192.0 16384.0 0.0 20480.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-17 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-17 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-17 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gungame-door" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (ja-channel-push! 1 0) + (let ((a0-23 (-> this skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> this draw art-group data 2))) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> this draw art-group data 2)) num-func-identity) + ) + (transform-post) + (go (method-of-object this idle)) + ) diff --git a/goal_src/jak3/levels/gungame/gungame-part.gc b/goal_src/jak3/levels/gungame/gungame-part.gc index c2bdf33e97..f9aa0e629c 100644 --- a/goal_src/jak3/levels/gungame/gungame-part.gc +++ b/goal_src/jak3/levels/gungame/gungame-part.gc @@ -7,3 +7,245 @@ ;; DECOMP BEGINS +(defpartgroup group-gungame-vent + :id 1426 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 2) + :rotate ((degrees 0) (degrees -90) (degrees 0)) + :parts ((sp-item 4683 :fade-after (meters 100) :falloff-to (meters 140) :flags (sp7))) + ) + +(defpart 4683 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 3.0 1.0) + (:x (meters -1)) + (:y (meters 0.25) (meters 0.75)) + (:z (meters -0.5) (meters 1)) + (:scale-x (meters 1) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 96.0 64.0) + (:g 128.0 32.0) + (:b :copy r) + (:a 0.0) + (:vel-x (meters 0.033333335) (meters 0.01)) + (:vel-y (meters -0.016666668) (meters -0.01)) + (:scalevel-x (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.24) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.95 0.025) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 4684) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4684 + :init-specs ((:fade-a -0.021818181 -0.048)) + ) + +(defpartgroup group-gungame-overhead-lights + :id 1427 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 4685 :fade-after (meters 80) :flags (sp6)) + (sp-item 4686 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 4687 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 4688 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +(defpart 4685 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters -0.5)) + (:scale-x (meters 14) (meters 0.1)) + (:rot-x (degrees 9)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 16.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 4686 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 1)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4687 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4688 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -1)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-gungame-pipespew + :id 1428 + :flags (sp4) + :bounds (static-bspherem 0 0 0 3) + :parts ((sp-item 4689 :fade-after (meters 20) :falloff-to (meters 20) :flags (sp7)) + (sp-item 4690 :fade-after (meters 100) :falloff-to (meters 140) :flags (sp7)) + ) + ) + +(defpart 4689 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 0.0 5.0) + (:z (meters -0.2)) + (:scale-x (meters 0.025) (meters 0.01)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g :copy r) + (:b :copy g) + (:a 64.0 32.0) + (:omega (degrees 0.005625) (degrees 0.00225)) + (:vel-z (meters 0.033333335) (meters 0.033333335)) + (:fade-a -0.64 -0.64) + (:friction 0.92 0.015) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:func 'sparticle-motion-blur) + (:launchrot-x (degrees -7.5) (degrees 15)) + (:launchrot-y (degrees -7.5) (degrees 15)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4690 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0 3.0) + (:z (meters -0.2)) + (:scale-x (meters 0.25) (meters 0.05)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 0.0) + (:vel-z (meters 0.033333335) (meters 0.033333335)) + (:scalevel-x (meters 0.005) (meters 0.008333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.96) + (:friction 0.9 0.015) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 4691) + (:launchrot-x (degrees -5) (degrees 10)) + (:launchrot-y (degrees -5) (degrees 10)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4691 + :init-specs ((:fade-a -0.48 -0.48)) + ) + +(defpartgroup group-gungame-blue-lights + :id 1429 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4692 :fade-after (meters 80) :flags (sp6)) (sp-item 4693 :fade-after (meters 120) :flags (sp6))) + ) + +(defpart 4692 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 24.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +(defpart 4693 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2.5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0 32.0) + (:b 255.0) + (:a 12.0 4.0) + (:omega (degrees 2715.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) diff --git a/goal_src/jak3/levels/gungame/gungame-scenes.gc b/goal_src/jak3/levels/gungame/gungame-scenes.gc index 8be14f0240..db14a10b1d 100644 --- a/goal_src/jak3/levels/gungame/gungame-scenes.gc +++ b/goal_src/jak3/levels/gungame/gungame-scenes.gc @@ -7,3 +7,552 @@ ;; DECOMP BEGINS +(defskelgroup skel-red-gun-mod-three red-gun-mod-three red-gun-mod-three-lod0-jg red-gun-mod-three-idle-ja + ((red-gun-mod-three-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +(load-scene (new 'static 'scene + :name "city-gun-course-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-intro" + :parts 12 + :command-list '((0 (fadein (frame-time-30 5))) + (81 (part-tracker + "group-fma-daxter-guncourse-slide-dust" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 81 94) + ) + ) + (370 (part-tracker + "group-fma-daxter-guncourse-land-dust" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 370 371) + ) + ) + (1325 (fadeout (frame-time-30 5))) + (10000 (task-close! "city-gun-course-1-introduction")) + ) + :cut-list '(31 58 101 137 358 404 484 521 591 745 855 975 1095 1275) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 137) (358 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x380 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'gungame + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "gun" + :level #f + :art-group "skel-gun" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min 1275)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-1-start" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-gun-course-1-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-1-res" + :parts 4 + :command-list '((0 (fadein (frame-time-30 5))) + (465 (fadeout (frame-time-30 5))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-gun-course-1-resolution")) + (task-close! "city-gun-course-1-resolution") + ) + ) + :cut-list '(39 91 144 334 365) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "gun" + :level #f + :art-group "skel-gun" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-start" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup011")) + ) + ) + +(load-scene (new 'static 'scene + :name "city-gun-course-2-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-2-intro" + :parts 11 + :command-list '((0 (fadein (frame-time-30 5))) + (1325 (fadeout (frame-time-30 5))) + (10000 (task-close! "city-gun-course-2-introduction")) + ) + :cut-list '(114 194 384 459 532 769 855 944 1078 1179) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((0 531) (769 854) (944 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '((766 775)) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "red-gun-mod-three" + :level 'gungame2 + :art-group "skel-red-gun-mod-three" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min 1275)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-2-start" + :borrow '((gungame 0 gungame2 special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-gun-course-2-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-2-res" + :parts 4 + :command-list '((360 (fadeout (frame-time-30 10))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-gun-course-2-resolution")) + (task-close! "city-gun-course-2-resolution") + ) + ) + :cut-list '(80 180 267) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "red-gun-mod-three" + :level 'gungame2 + :art-group "skel-red-gun-mod-three" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-movie" + :end-point "gungame-start" + :borrow '((gungame 0 gungame2 special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup012")) + ) + ) + +;; WARN: Return type mismatch float vs none. +(defun spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((s5-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 140)) + (s3-0 (logand 0 (rand-uint31-gen *random-generator*))) + (s4-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 20)) + (v1-3 (+ (logand 0 (rand-uint31-gen *random-generator*)) 40)) + ) + (set! (-> arg2 r-g-b-a x) (the float (- s5-0 s3-0))) + (set! (-> arg2 r-g-b-a y) (the float (- s5-0 s4-0))) + (set! (-> arg2 r-g-b-a z) (the float (- s5-0 v1-3))) + ) + (none) + ) + +(defpartgroup group-fma-daxter-guncourse-slide-dust + :id 1430 + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 4694)) + ) + +(defpart 4694 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:birth-func 'spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust) + (:num 0.5) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 32.0 32.0) + (:vel-z (meters 0) (meters -0.01)) + (:scalevel-x (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-y (degrees -20) (degrees 20)) + (:rotate-y (degrees 0)) + ) + ) + +;; WARN: Return type mismatch float vs none. +(defun spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((s5-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 140)) + (s3-0 (logand 0 (rand-uint31-gen *random-generator*))) + (s4-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 20)) + (v1-3 (+ (logand 0 (rand-uint31-gen *random-generator*)) 40)) + ) + (set! (-> arg2 r-g-b-a x) (the float (- s5-0 s3-0))) + (set! (-> arg2 r-g-b-a y) (the float (- s5-0 s4-0))) + (set! (-> arg2 r-g-b-a z) (the float (- s5-0 v1-3))) + ) + (none) + ) + +(defpartgroup group-fma-daxter-guncourse-land-dust + :id 1431 + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 4695)) + ) + +(defpart 4695 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:birth-func 'spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust) + (:num 10.0) + (:scale-x (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 32.0 32.0) + (:vel-y (meters 0) (meters 0.016666668)) + (:scalevel-x (meters 0.0016666667) (meters 0.0016666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) diff --git a/goal_src/jak3/levels/hiphog/hiphog-obs.gc b/goal_src/jak3/levels/hiphog/hiphog-obs.gc index 09b53ff304..24d1a06397 100644 --- a/goal_src/jak3/levels/hiphog/hiphog-obs.gc +++ b/goal_src/jak3/levels/hiphog/hiphog-obs.gc @@ -6,4 +6,3 @@ ;; dgos: HHG ;; DECOMP BEGINS - diff --git a/goal_src/jak3/levels/hiphog/hiphog-part.gc b/goal_src/jak3/levels/hiphog/hiphog-part.gc index 7360878234..a408226d8b 100644 --- a/goal_src/jak3/levels/hiphog/hiphog-part.gc +++ b/goal_src/jak3/levels/hiphog/hiphog-part.gc @@ -7,3 +7,1612 @@ ;; DECOMP BEGINS +(defpartgroup group-hiphog-blue-glow + :id 848 + :bounds (static-bspherem 0 0 0 3) + :parts ((sp-item 3072 :fade-after (meters 500) :flags (sp6))) + ) + +(defpart 3072 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.8) (meters 0.1)) + (:rot-x (degrees 9)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 10.0) + (:g 30.0) + (:b 128.0) + (:a 30.0 10.0) + (:omega (degrees 11261.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + ) + ) + +(defpartgroup group-hiphog-rtablea + :id 849 + :flags (sp0 sp4 sp7) + :bounds (static-bspherem 0 0 0 16) + :scale (0.25 0.25 1.0) + :parts ((sp-item 3073 :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3074 :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3075 :flags (sp6 sp7)) + ) + ) + +(defpart 3075 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:scale-y (meters 10)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 8.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow set-conerot)) + (:userdata 2048.0) + ) + ) + +(defpart 3074 + :init-specs ((:texture (vinroom-tv-text-m hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees 90)) + (:scale-y (meters 0.625)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.001)) + (:scalevel-y (meters 0.00033333333)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 0 + 0 + #x37f04800 + #x37f04a00 + #x37f04b00 + #x37f04700 + #x37f04600 + #x37f04900 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +(defpart 3073 + :init-specs ((:texture (screen-00 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1.8)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees 90)) + (:scale-y (meters 1.25)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x37f04c00 + #x37f04d00 + #x37f04e00 + #x37f04f00 + #x37f05000 + #x37f05100 + #x37f05200 + #x37f05300 + #x37f05400 + #x37f05500 + #x37f05600 + #x37f05700 + #x37f05800 + #x37f05900 + #x37f05a00 + #x37f05b00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +(defpartgroup group-hiphog-rtableb + :id 850 + :flags (sp0 sp4 sp7) + :bounds (static-bspherem 0 0 0 16) + :scale (0.06 0.06 1.0) + :parts ((sp-item 3076 :flags (is-3d sp7)) + (sp-item 3077 :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3078 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 125) + (sp-item 3079 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 300) + (sp-item 3080 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 375) + (sp-item 3081 :flags (sp6 sp7)) + ) + ) + +(defpart 3081 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4511.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow set-conerot)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3076 + :init-specs ((:texture (vinroom-tv-circle hiphog-sprite)) + (:num 0.0 0.2) + (:x (meters 0.425)) + (:y (meters -0.2)) + (:z (meters -0.02)) + (:scale-x (meters 0)) + (:rot-x (degrees -90)) + (:rot-y (degrees 0)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.0033333334)) + (:scalevel-y (meters 0.0016666667)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:next-time (seconds 0.335)) + (:next-launcher 3082) + (:rotate-y (degrees 90)) + ) + ) + +(defpart 3082 + :init-specs ((:fade-a -0.53333336)) + ) + +(defpart 3077 + :init-specs ((:texture (vinroom-tv-radar hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 5)) + (:rot-x (degrees 0)) + (:rot-y (degrees -100.00001)) + (:rot-z (degrees 90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 90)) + ) + ) + +(defpart 3078 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters 1.525)) + (:y (meters 1.5)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3079 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters 1.025)) + (:y (meters -1.5)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3080 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters -0.525)) + (:y (meters -2)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-rtablec + :id 851 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3083 :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3084 :flags (is-3d sp7) :period (seconds 1.067) :length (seconds 0.017) :offset 10) + (sp-item 3085 :flags (sp6 sp7)) + ) + ) + +(defpart 3083 + :init-specs ((:texture (screen-00 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 0.46)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees -90)) + (:scale-y (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x37f05100 + #x37f05200 + #x37f05300 + #x37f05400 + #x37f05500 + #x37f05600 + #x37f05700 + #x37f05800 + #x37f05900 + #x37f05a00 + #x37f05b00 + #x37f04c00 + #x37f04d00 + #x37f04e00 + #x37f04f00 + #x37f05000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +(defpart 3084 + :init-specs ((:texture (vinroom-small-monitor-08 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 0.46)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees -90)) + (:scale-y (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -0.7111111) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x37f06100 #x37f06200 #x37f06300 #x37f06400)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.267)) + (:next-launcher 3086) + (:rotate-y (degrees 90)) + ) + ) + +(defpart 3086 + :init-specs ((:a 64.0) (:fade-a -0.7111111) (:next-time (seconds 0.267)) (:next-launcher 3086)) + ) + +(defpart 3085 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.075)) + (:y (meters -0.1)) + (:scale-x (meters 1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 2)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 2.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-bigtable + :id 852 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3087 :flags (is-3d sp3 sp7)) (sp-item 3088 :flags (is-3d sp3 sp7))) + ) + +(defpart 3087 + :init-specs ((:texture (blue-panel hiphog-sprite)) + (:num 1.0) + (:z (meters 0)) + (:scale-x (meters 3.7)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 80.0) + (:g 220.0) + (:b 50.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3088 + :init-specs ((:texture (twirl hiphog-sprite)) + (:num 1.0) + (:z (meters 0.01)) + (:scale-x (meters 3.7)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 140.0) + (:rotvel-y (degrees 1.2)) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-center-sphere + :id 853 + :flags (sp0 sp6) + :bounds (static-bspherem 0 3 0 64) + :rotate ((degrees 90) (degrees 0) (degrees 0)) + :parts ((sp-item 3090 :flags (sp6)) + (sp-item 3091 :binding 3089) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3092 :flags (sp6)) + (sp-item 3093 :flags (sp6)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + ) + ) + +(defpart 3090 + :init-specs ((:texture (vinroom-tv-circle hiphog-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 30.0 30.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3)) + (:userdata 0.0) + ) + ) + +(defpart 3092 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 6)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 24.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4 glow)) + (:userdata 0.0) + ) + ) + +(defpart 3093 + :init-specs ((:texture (vol-light level-default-sprite)) + (:num 5.0) + (:y (meters 2.2)) + (:scale-x (meters 0.2) (meters 1)) + (:rot-x (degrees 45)) + (:rot-z (degrees 90)) + (:scale-y (meters 0.5)) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 0.0 15.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 0.0) + ) + ) + +(defpart 3094 + :init-specs ((:texture (holo-line hiphog-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 1.8)) + (:rot-z (degrees 0) (degrees 36000)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 60.0) + (:b 10.0) + (:a 100.0) + (:rotvel-y (degrees -0.2) 1 (degrees 0.4)) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + ) + ) + +(defun part-hiphog-sphere-vert-line-flicker ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (if (zero? (mod (-> arg1 timer) 5)) + (set! (-> arg2 r-g-b-a w) (rand-vu-float-range 10.0 100.0)) + ) + 0 + (none) + ) + +(defpart 3091 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.5) + (:y (meters 0.55) (meters 1.5)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +(defun birth-func-hiphog-sphere ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-1 (-> arg4 sprite key))) + (when (nonzero? v1-1) + (let ((f0-2 (+ (- 5120.0 (-> arg2 x-y-z-sx y)) (-> v1-1 origin trans y)))) + (set! (-> arg1 radius) (sqrtf (- (* (-> arg1 radius) (-> arg1 radius)) (* f0-2 f0-2)))) + ) + ) + ) + 0 + (none) + ) + +(defpart 3089 + :init-specs ((:texture (glow level-default-sprite)) + (:birth-func 'birth-func-hiphog-sphere) + (:num 1.0) + (:x (meters 0) (meters 160)) + (:y (meters 0)) + (:z (meters 0.9)) + (:scale-x (meters 0.02) (meters 0.06)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 80.0) + (:b 40.0) + (:a 0.0) + (:omega (degrees 0) (degrees 3600)) + (:vel-x (meters -0.005925926) (meters -0.005925926)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:fade-a 1.59375) + (:timer (seconds 4.4)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)) + (:next-time (seconds 0.535)) + (:next-launcher 3095) + ) + ) + +(defpart 3095 + :init-specs ((:a 255.0) (:fade-a 0.0) (:next-time (seconds 1.667)) (:next-launcher 3096)) + ) + +(defpart 3096 + :init-specs ((:fade-a -1.59375)) + ) + +(defpartgroup group-cigar-glow + :id 854 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3097 :flags (sp6))) + ) + +(defpart 3097 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.2)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 40.0) + (:b 10.0) + (:a 30.0 1.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 40.96) + ) + ) + +(defpartgroup group-cigar-smoke + :id 855 + :flags (sp0 sp4 sp13) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3098 :flags (sp7))) + ) + +(defpart 3098 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0) (meters 0.01)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 80.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 8.0 8.0) + (:scalevel-x (meters 0.00016666666) (meters 0.00016666666)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.010666667 -0.010666667) + (:accel-y (meters 0.000033333334) (meters 0.000033333334)) + (:friction 0.9) + (:timer (seconds 5)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 3.335)) + (:next-launcher 3099) + ) + ) + +(defpart 3099 + :init-specs ((:scalevel-x (meters 0.00066666666) (meters 0.00066666666)) + (:scalevel-y (meters 0.00066666666) (meters 0.00066666666)) + (:friction 0.85) + ) + ) + +(defpartgroup group-cigar-smoke-blow + :id 856 + :linger-duration (seconds 25) + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3100)) + ) + +(defpart 3100 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.03) (meters 0.03)) + (:rot-z (degrees -20) (degrees 40)) + (:scale-y :copy scale-x) + (:r 40.0 120.0) + (:g :copy r) + (:b :copy r) + (:a 8.0 32.0) + (:vel-x (meters 0.016666668)) + (:scalevel-x (meters 0.001) (meters 0.0016666667)) + (:scalevel-y (meters 0.00066666666) (meters 0.0013333333)) + (:fade-a -0.013333334 -0.013333334) + (:accel-y (meters 0) (meters 0.000033333334)) + (:accel-z (meters 0.000016666667) (meters 0.000016666667)) + (:friction 0.95 0.02) + (:timer (seconds 20)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 1.667)) + (:next-launcher 3101) + (:conerot-y (degrees 0) (degrees 10)) + (:rotate-y (degrees 200.00002)) + ) + ) + +(defpart 3101 + :init-specs ((:scalevel-y (meters 0.00016666666) (meters 0.00016666666))) + ) + +(defpartgroup group-cigar-ashes + :id 857 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3102) (sp-item 3103)) + ) + +(defpart 3102 + :init-specs ((:texture (static1 level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 2.0) + (:scale-x (meters 0.03) (meters 0.01)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 50.0) + (:b 0.0) + (:a 64.0 64.0) + (:fade-a -1.28 -1.28) + (:accel-y (meters -0.00033333333) (meters -0.00033333333)) + (:friction 0.95 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40b000 #x40b100)) + ) + ) + +(defpart 3103 + :init-specs ((:texture (specs level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0 8.0) + (:scale-x (meters 0.01) (meters 0.01)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 40.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 16.0 64.0) + (:omega (degrees 0.0225)) + (:scalevel-x (meters 0.00066666666)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.32) + (:accel-y (meters -0.00033333333) (meters -0.00033333333)) + (:friction 0.95 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x404a00 #x406500 #x37f04500)) + (:func 'sparticle-motion-blur) + ) + ) + +(defpartgroup group-cigar-ashes-spit + :id 858 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3104)) + ) + +(defpart 3104 + :init-specs ((:texture (specs level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 2.0) + (:scale-x (meters 0.05) (meters 0.03)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 40.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 16.0 64.0) + (:omega (degrees 0.0225)) + (:vel-x (meters 0.0016666667)) + (:scalevel-x (meters 0.00033333333)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667) + (:accel-y (meters -0.00016666666)) + (:friction 0.99) + (:timer (seconds 5)) + (:flags (sp-cpuinfo-flag-2 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x404a00 #x404a00 #x406500 #x37f04500)) + (:func 'sparticle-motion-blur) + (:conerot-y (degrees 0) (degrees 10)) + (:rotate-x (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-hiphog-red-light + :id 859 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3105 :flags (sp6 sp7))) + ) + +(defpart 3105 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 64.0 64.0) + (:b 0.0) + (:a 32.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-ceiling-light + :id 860 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3106 :flags (sp6 sp7)) (sp-item 3107 :flags (sp6 sp7)) (sp-item 3108 :flags (sp6 sp7))) + ) + +(defpart 3106 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.1)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3107 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3108 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -1.1)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-booth-ceiling-light + :id 861 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3109 :flags (sp6 sp7))) + ) + +(defpart 3109 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -209)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 20.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1638.4) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-booth-wall-light + :id 862 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3110 :flags (sp6 sp7)) (sp-item 3111 :flags (sp6 sp7))) + ) + +(defpart 3110 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.3)) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -209)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1228.8) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3111 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.3)) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1228.8) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-bar-light + :id 863 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3112 :flags (sp6 sp7)) (sp-item 3113 :flags (sp6 sp7)) (sp-item 3114 :flags (sp6 sp7))) + ) + +(defpart 3112 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0.8)) + (:y (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.225)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3113 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.05)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3114 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.8)) + (:y (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-booth-table-light + :id 864 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3115 :flags (sp6 sp7)) (sp-item 3116 :flags (sp6 sp7)) (sp-item 3117 :flags (sp6 sp7))) + ) + +(defpart 3115 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0.8)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3116 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3117 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.8)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-floor-light + :id 865 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3118 :flags (sp6 sp7)) (sp-item 3119 :flags (sp6 sp7)) (sp-item 3120 :flags (sp6 sp7))) + ) + +(defpart 3118 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.6)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3119 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 3120 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters -0.6)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-hiphog-neon-clock + :id 866 + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3121 :flags (is-3d)) + (sp-item 3122 :flags (is-3d)) + (sp-item 3123 :flags (is-3d) :hour-mask #b111111000000000000111111) + (sp-item 3124 :flags (is-3d) :hour-mask #b111111111111000000) + ) + ) + +(defun birth-func-rotate-minute ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 minutes) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 1092.2667 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +(defun birth-func-rotate-hour ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 hours) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 5461.3335 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +(defun birth-func-rotate-second ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 seconds) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 1092.2667 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +(defpart 3122 + :init-specs ((:texture (hiphog-neon-clock-hand hiphog-sprite)) + (:birth-func 'birth-func-rotate-minute) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3121 + :init-specs ((:texture (hiphog-neon-clock-hand hiphog-sprite)) + (:birth-func 'birth-func-rotate-hour) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 2.5)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3123 + :init-specs ((:texture (hiphog-neon-clock-sun hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3124 + :init-specs ((:texture (hiphog-neon-clock-moon hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpartgroup group-hiphog-neon-clock-small + :id 867 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3125 :flags (is-3d sp6)) + (sp-item 3126 :flags (is-3d sp6)) + (sp-item 3127 :flags (is-3d sp6) :hour-mask #b111110000000000001111111) + (sp-item 3128 :flags (is-3d sp6) :hour-mask #b111111111110000000) + ) + ) + +(defpart 3126 + :init-specs ((:texture (hiphog-neon-clock-hand-small hiphog-sprite)) + (:birth-func 'birth-func-rotate-minute) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3125 + :init-specs ((:texture (hiphog-neon-clock-hand-small hiphog-sprite)) + (:birth-func 'birth-func-rotate-hour) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 2.5)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3127 + :init-specs ((:texture (hiphog-neon-clock-sun-small hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpart 3128 + :init-specs ((:texture (hiphog-neon-clock-moon-small hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +(defpartgroup group-hiphog-mirror + :id 868 + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3129 :flags (is-3d sp6))) + ) + +(deftype hiphog-mirror-wf-pt (structure) + ((x float) + (y float) + ) + ) + + +(define *hiphog-mirror-sheen-waveform* (new 'static 'inline-array ripple-wave 6 + (new 'static 'ripple-wave :xmul 0.0625 :zmul 0.5) + (new 'static 'ripple-wave :offs 0.125 :zmul 0.375 :delta 0.9) + (new 'static 'ripple-wave :xdiv -13107 :zdiv #x3ecc :delta 0.5) + (new 'static 'ripple-wave :scale 1.0 :speed 0.52) + (new 'static 'ripple-wave :scale 0.5625 :offs 0.5 :xmul 0.625) + (new 'static 'ripple-wave :offs 0.875 :zdiv #x3f80 :zmul 1.0) + ) + ) + +(defun hiphog-mirror-sheen-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set-vector! s5-0 -1515.52 0.0 -95436.8 1.0) + (vector-! s5-0 (camera-pos) s5-0) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (let* ((f0-8 (+ 32768.0 (atan (-> s5-0 x) (-> s5-0 z)))) + (f0-9 (lerp-scale 0.0 1.0 f0-8 19478.756 45875.2)) + (a2-2 (the-as object (-> *hiphog-mirror-sheen-waveform* 0))) + (v1-4 (the-as ripple-wave a2-2)) + ) + (while (< (-> (the-as ripple-wave a2-2) scale) f0-9) + (set! v1-4 (the-as ripple-wave a2-2)) + (set! a2-2 (&-> (the-as (inline-array ripple-wave) a2-2) 0 xmul)) + ) + (let ((f0-12 (lerp 0.9 1.0 (lerp + (-> v1-4 offs) + (-> (the-as ripple-wave a2-2) offs) + (/ (- f0-9 (-> v1-4 scale)) (- (-> (the-as ripple-wave a2-2) scale) (-> v1-4 scale))) + ) + ) + ) + ) + (set! (-> arg2 fvec w) (* 128.0 f0-12 f0-12 f0-12)) + ) + ) + ) + 0 + (none) + ) + +(defpart 3129 + :init-specs ((:texture (hiphog-mirror hiphog-sprite)) + (:num 1.0) + (:x (meters 0.2)) + (:y (meters -0.2)) + (:z (meters -0.99)) + (:scale-x (meters 17)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 8.4)) + (:r 64.0) + (:g :copy r) + (:b :copy g) + (:a 96.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:func 'hiphog-mirror-sheen-func) + (:rotate-y (degrees 33.436)) + ) + ) diff --git a/goal_src/jak3/levels/hiphog/hiphog-scenes.gc b/goal_src/jak3/levels/hiphog/hiphog-scenes.gc index 9c1de28462..64e5091b25 100644 --- a/goal_src/jak3/levels/hiphog/hiphog-scenes.gc +++ b/goal_src/jak3/levels/hiphog/hiphog-scenes.gc @@ -7,3 +7,1223 @@ ;; DECOMP BEGINS +(defskelgroup skel-hip-door-b hip-door-a hip-door-a-lod0-jg hip-door-a-idle-ja + ((hip-door-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 5) + ) + +(deftype hip-door-b (com-airlock) + () + ) + + +(defskelgroup skel-ashelin-effect ashelin-effect ashelin-effect-lod0-jg ashelin-effect-idle-ja + ((ashelin-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +(defskelgroup skel-bomb-bot-movie bomb-bot-movie bomb-bot-movie-lod0-jg bomb-bot-movie-idle-ja + ((bomb-bot-movie-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + :global-effects 64 + ) + +(defskelgroup skel-samos-effect samos-effect samos-effect-lod0-jg samos-effect-idle-ja + ((samos-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +(defmethod init-from-entity! ((this hip-door-b) (arg0 entity-actor)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (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 bot player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid)) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 20480.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-8 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-8 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 4) + (set-vector! (-> v1-8 local-sphere) 0.0 8192.0 0.0 16384.0) + ) + (let ((v1-10 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-10 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-10 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-10 prim-core action) (collide-action solid)) + (set! (-> v1-10 transform-index) 5) + (set-vector! (-> v1-10 local-sphere) 0.0 8192.0 0.0 16384.0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-13 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-hip-door-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-airlock! this) + (set! (-> this sound-open-loop) (static-sound-spec "wood-door-open" :group 0)) + (set! (-> this sound-open-stop) (static-sound-spec "wood-open-hit" :group 0)) + (set! (-> this sound-close-loop) (static-sound-spec "wood-door-close" :group 0)) + (set! (-> this sound-close-stop) (static-sound-spec "wood-close-hit" :group 0)) + (set! (-> this door-radius) 8192.0) + (go (method-of-object this close) #t) + ) + +(deftype hip-mirror (process-drawable) + () + (:state-methods + idle + ) + ) + + +(defskelgroup skel-hip-mirror hip-mirror 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 12)) + +(defstate idle (hip-mirror) + :virtual #t + :code sleep-code + :post (behavior () + (let* ((f0-0 (vector-vector-distance (math-camera-pos) (-> self root trans))) + (f0-1 (lerp-scale 1.0 0.0 f0-0 40960.0 122880.0)) + ) + (ja :num-func num-func-identity :frame-num (ja-aframe f0-1 0)) + ) + (ja-post) + ) + ) + +(defmethod init-from-entity! ((this hip-mirror) (arg0 entity-actor)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-hip-mirror" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logior! (-> this skel status) (joint-control-status blend-shape)) + (go (method-of-object this idle)) + ) + +(defun hiphog-activate () + (let ((a0-1 (entity-by-name "hip-mirror-2"))) + (when a0-1 + (set! (-> *math-camera* mirror-trans quad) (-> a0-1 extra trans quad)) + (vector-rotate-y! (-> *math-camera* mirror-normal) (new 'static 'vector :x 1.0 :w 1.0) -10297.162) + ) + ) + ) + +(defskelgroup skel-cty-remote cty-remote cty-remote-lod0-jg cty-remote-idle-ja + ((cty-remote-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +(defskelgroup skel-purple-one purple-one purple-one-lod0-jg purple-one-idle-ja + ((purple-one-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +(load-scene (new 'static 'scene + :name "sewer-kg-met-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "sewer-kg-met-intro" + :parts 8 + :command-list '((930 (fadeout (frame-time-30 30))) (10000 (task-close! "sewer-kg-met-introduction"))) + :cut-list '(295 476 555 798) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 476) (798 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point #f + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "port-assault-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "port-assault-intro" + :parts 7 + :command-list '((0 (fadein (frame-time-30 10))) + (750 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-port-assault-introduction")) + ) + :cut-list '(29 327 380 540 674) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 380) (540 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-hiphog" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-blow-barricade-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4 scf8) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-blow-barricade-intro" + :parts 10 + :command-list '((0 (fadein (frame-time-30 10))) + (125 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 125 240) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 125 240) + subsample-num + (new 'static 'bfloat :data 5.0) + ) + ) + (134 (part-tracker + "group-cigar-smoke-blow" + entity + "jinx-highres" + joint + "mouthsmoke" + track + #t + duration + (frame-range 134 145) + ) + ) + (279 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 279 517) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 279 517) + subsample-num + (new 'static 'bfloat :data 5.0) + ) + ) + (408 (part-tracker + "group-cigar-ashes" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 408 411) + ) + ) + (418 (part-tracker + "group-cigar-ashes" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 418 419) + ) + ) + (648 (part-tracker + "group-cigar-ashes-spit" + entity + "sidekick-highres" + joint + "tongueTip" + track + #f + duration + (frame-range 648 650) + ) + ) + (868 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 868 1086) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 868 1086) + ) + ) + (1072 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-blow-barricade-introduction")) + ) + :cut-list '(59 127 171 198 224 278 394 503 507 590 663 866 946) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'hiphog + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min 278) (394 946)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cty-remote" + :level 'ltnjxhip + :art-group "skel-cty-remote" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jinx-highres" + :level 'ltnjxhip + :art-group "skel-jinx-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-bombbot" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-blow-barricade-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-blow-barricade-res" + :parts 3 + :command-list '((340 (fadeout (frame-time-30 10))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-blow-barricade-resolution")) + (task-close! "city-blow-barricade-resolution") + ) + ) + :cut-list '(55 155 252) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jinx-highres" + :level 'ltnjxhip + :art-group "skel-jinx-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cty-remote" + :level 'ltnjxhip + :art-group "skel-cty-remote" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "purple-one" + :level 'ltnjxhip + :art-group "skel-purple-one" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "hiphog-movie-nocity" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup014")) + ) + ) + +(load-scene (new 'static 'scene + :name "city-port-fight-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-fight-intro" + :parts 15 + :command-list '((0 (fadein (frame-time-30 10))) + (1474 (part-tracker + "group-fma-hiphog-holo-glow" + entity + "bomb-bot-movie" + joint + "main" + track + #t + duration + (frame-range 1474 1614) + ) + ) + (1752 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-port-fight-introduction")) + ) + :cut-list '(108 136 199 223 369 475 521 586 696 731 854 1014 1089 1186 1334 1419 1614) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min 696) (731 1186) (1334 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "bomb-bot-movie" + :level 'ltnfxhip + :art-group "skel-bomb-bot-movie" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-hiphog" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +(load-scene + (new 'static 'scene + :name "city-sniper-fight-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-sniper-fight-intro" + :parts 5 + :command-list '((0 (fadein (frame-time-30 10))) + (590 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-sniper-fight-introduction")) + ) + :cut-list '(113 218 329 417 454) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "hiphog-movie" + :borrow '((hiphog 0 ltnjxhip special) + (ctywide-ff alias ctywide copy ctypesa special ctycara special ctycarb special ctypepa special) + ) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :scene-task #x89 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-port-attack-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-attack-intro" + :parts 16 + :command-list '((0 (fadein (frame-time-30 10)) (kill "hiphog-hologram-part-1")) + (1 (apply ,(lambda :behavior scene-player + () + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (kill-by-type barge *active-pool*) + (none) + ) + ) + ) + (1790 (fadeout (frame-time-30 15))) + (10000 + (apply ,(lambda :behavior scene-player + () + (persist-with-delay *setting-control* #f (seconds 120) 'stop-boats? #t 0.0 0) + (persist-with-delay *setting-control* 'door (seconds 4) 'airlock #t 0.0 0) + (none) + ) + ) + (task-close! "city-port-attack-introduction") + ) + ) + :cut-list '(0 87 135 221 319 387 419 925 1071 1254 1358 1496 1553 1609 1688) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "ashelin-effect" + :level 'ltnfxhip + :art-group "skel-ashelin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "errol-effect" + :level 'ltnfxhip + :art-group "skel-errol-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "samos-effect" + :level 'ltnfxhip + :art-group "skel-samos-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'hiphog + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "hiphog-movie" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +(load-scene (new 'static 'scene + :name "city-port-attack-intro-demo" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-attack-intro" + :parts 16 + :command-list '((0 (fadein (frame-time-30 10)) (kill "hiphog-hologram-part-1")) + (1 (apply ,(lambda :behavior scene-player + () + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (kill-by-type barge *active-pool*) + (none) + ) + ) + ) + (1790 (fadeout (frame-time-30 15))) + (10000 + (apply ,(lambda :behavior scene-player + () + (persist-with-delay *setting-control* #f (seconds 120) 'stop-boats? #t 0.0 0) + (persist-with-delay *setting-control* 'door (seconds 4) 'airlock #t 0.0 0) + (none) + ) + ) + (task-close! "city-port-attack-introduction") + ) + ) + :cut-list '(0 87 135 221 319 387 419 925 1071 1254 1358 1496 1553 1609 1688) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "ashelin-effect" + :level 'ltnfxhip + :art-group "skel-ashelin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "errol-effect" + :level 'ltnfxhip + :art-group "skel-errol-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "samos-effect" + :level 'ltnfxhip + :art-group "skel-samos-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "ctyport-attack-start" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +(defpartgroup group-fma-hiphog-holo-glow + :id 869 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3130 :flags (sp6))) + ) + +(defpart 3130 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 0.2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 10.0 10.0) + (:b 0.0) + (:a 10.0 10.0) + (:omega (degrees 6761.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) diff --git a/goal_src/jak3/levels/stadium/hover-nav-lpattack.gc b/goal_src/jak3/levels/stadium/hover-nav-lpattack.gc index bcdd93f0a1..7fbd4fe6d9 100644 --- a/goal_src/jak3/levels/stadium/hover-nav-lpattack.gc +++ b/goal_src/jak3/levels/stadium/hover-nav-lpattack.gc @@ -7,3 +7,1842 @@ ;; DECOMP BEGINS +(define *lpattack-adjacency* + (new 'static 'nav-network-data + :node-array (new 'static 'boxed-array :type nav-network-info + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :parent #f) + :pos (new 'static 'vector :x -1018060.8 :y 55050.24 :z -1175674.9 :w 1.0) + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 1 :dist 96256.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 1 :parent #f) + :pos (new 'static 'vector :x -1104117.8 :y 55050.24 :z -1218764.8 :w 1.0) + :index 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :dist 96256.0) + (new 'static 'nav-network-adjacency :index 2 :dist 153149.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 2 :parent #f) + :pos (new 'static 'vector :x -1256284.1 :y 55050.24 :z -1236049.9 :w 1.0) + :index 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 1 :dist 153149.44) + (new 'static 'nav-network-adjacency :index 3 :dist 200417.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 3 :parent #f) + :pos (new 'static 'vector :x -1442283.5 :y 129310.72 :z -1228349.5 :w 1.0) + :index 3 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 2 :dist 200417.28) + (new 'static 'nav-network-adjacency :index 4 :dist 154624.0) + (new 'static 'nav-network-adjacency :index 9 :dist 234004.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 4 :parent #f) + :pos (new 'static 'vector :x -1586831.4 :y 166256.64 :z -1187799.0 :w 1.0) + :index 4 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 3 :dist 154624.0) + (new 'static 'nav-network-adjacency :index 5 :dist 125788.16) + (new 'static 'nav-network-adjacency :index 9 :dist 167976.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 5 :parent #f) + :pos (new 'static 'vector :x -1702502.4 :y 119234.56 :z -1172684.8 :w 1.0) + :index 5 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 4 :dist 125788.16) + (new 'static 'nav-network-adjacency :index 6 :dist 139223.05) + (new 'static 'nav-network-adjacency :index 12 :dist 212254.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 6 :parent #f) + :pos (new 'static 'vector :x -1834844.1 :y 119234.56 :z -1215856.6 :w 1.0) + :index 6 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 5 :dist 139223.05) + (new 'static 'nav-network-adjacency :index 15 :dist 186736.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 7 :parent #f) + :pos (new 'static 'vector :x -1635532.8 :y 235601.92 :z -1578352.6 :w 1.0) + :index 7 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 8 :dist 125665.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 8 :parent #f) + :pos (new 'static 'vector :x -1611939.9 :y 304455.7 :z -1475911.6 :w 1.0) + :index 8 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 7 :dist 125665.28) + (new 'static 'nav-network-adjacency :index 9 :dist 155115.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 9 :parent #f) + :pos (new 'static 'vector :x -1620090.9 :y 235601.92 :z -1337139.2 :w 1.0) + :index 9 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 3 :dist 234004.48) + (new 'static 'nav-network-adjacency :index 4 :dist 167976.95) + (new 'static 'nav-network-adjacency :index 8 :dist 155115.52) + (new 'static 'nav-network-adjacency :index 12 :dist 123494.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 10 :parent #f) + :pos (new 'static 'vector :x -1790935.0 :y 225689.6 :z -1583022.1 :w 1.0) + :index 10 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 11 :dist 151060.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 11 :parent #f) + :pos (new 'static 'vector :x -1763205.1 :y 304455.7 :z -1457111.0 :w 1.0) + :index 11 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 10 :dist 151060.48) + (new 'static 'nav-network-adjacency :index 12 :dist 133038.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 12 :parent #f) + :pos (new 'static 'vector :x -1742315.5 :y 225689.6 :z -1351966.8 :w 1.0) + :index 12 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 5 :dist 212254.72) + (new 'static 'nav-network-adjacency :index 9 :dist 123494.4) + (new 'static 'nav-network-adjacency :index 11 :dist 133038.08) + (new 'static 'nav-network-adjacency :index 15 :dist 219217.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 13 :parent #f) + :pos (new 'static 'vector :x -2132664.2 :y 232079.36 :z -1513144.4 :w 1.0) + :index 13 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 14 :dist 144138.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 14 :parent #f) + :pos (new 'static 'vector :x -2047836.1 :y 304455.7 :z -1421762.5 :w 1.0) + :index 14 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 13 :dist 144138.23) + (new 'static 'nav-network-adjacency :index 15 :dist 167116.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 15 :parent #f) + :pos (new 'static 'vector :x -1955799.0 :y 232079.36 :z -1302528.0 :w 1.0) + :index 15 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 6 :dist 186736.64) + (new 'static 'nav-network-adjacency :index 12 :dist 219217.92) + (new 'static 'nav-network-adjacency :index 14 :dist 167116.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 16 :parent #f) + :pos (new 'static 'vector :x -1250590.8 :y 222126.08 :z -600023.06 :w 1.0) + :index 16 + :sub-graph 1 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 17 :dist 144752.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 17 :parent #f) + :pos (new 'static 'vector :x -1157775.4 :y 228352.0 :z -710901.75 :w 1.0) + :index 17 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 16 :dist 144752.64) + (new 'static 'nav-network-adjacency :index 18 :dist 85565.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 18 :parent #f) + :pos (new 'static 'vector :x -1087610.9 :y 179896.31 :z -717905.94 :w 1.0) + :index 18 + :sub-graph 1 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 17 :dist 85565.44) + (new 'static 'nav-network-adjacency :index 19 :dist 215654.4) + (new 'static 'nav-network-adjacency :index 20 :dist 247398.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 19 :parent #f) + :pos (new 'static 'vector :x -946872.3 :y 39239.68 :z -800931.8 :w 1.0) + :index 19 + :sub-graph 1 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 18 :dist 215654.4) + (new 'static 'nav-network-adjacency :index 20 :dist 153190.4) + (new 'static 'nav-network-adjacency :index 32 :dist 159989.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 20 :parent #f) + :pos (new 'static 'vector :x -1046609.94 :y 39239.68 :z -917217.25 :w 1.0) + :index 20 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 18 :dist 247398.4) + (new 'static 'nav-network-adjacency :index 19 :dist 153190.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 21 :parent #f) + :pos (new 'static 'vector :x -1437737.0 :y 163430.4 :z -290037.75 :w 1.0) + :index 21 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 22 :dist 151756.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 22 :parent #f) + :pos (new 'static 'vector :x -1552343.0 :y 224665.6 :z -368435.2 :w 1.0) + :index 22 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 21 :dist 151756.8) + (new 'static 'nav-network-adjacency :index 23 :dist 180756.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 23 :parent #f) + :pos (new 'static 'vector :x -1688371.2 :y 163430.4 :z -470589.44 :w 1.0) + :index 23 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 22 :dist 180756.48) + (new 'static 'nav-network-adjacency :index 24 :dist 239984.64) + (new 'static 'nav-network-adjacency :index 25 :dist 313384.97) + (new 'static 'nav-network-adjacency :index 26 :dist 131358.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 24 :parent #f) + :pos (new 'static 'vector :x -1667440.6 :y 116080.64 :z -704921.6 :w 1.0) + :index 24 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 23 :dist 239984.64) + (new 'static 'nav-network-adjacency :index 27 :dist 306135.03) + (new 'static 'nav-network-adjacency :index 31 :dist 142090.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 25 :parent #f) + :pos (new 'static 'vector :x -1907548.1 :y 116080.64 :z -689520.6 :w 1.0) + :index 25 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 23 :dist 313384.97) + (new 'static 'nav-network-adjacency :index 27 :dist 148398.08) + (new 'static 'nav-network-adjacency :index 31 :dist 138854.4) + (new 'static 'nav-network-adjacency :index 35 :dist 172154.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 26 :parent #f) + :pos (new 'static 'vector :x -1818378.2 :y 149463.05 :z -458096.62 :w 1.0) + :index 26 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 23 :dist 131358.72) + (new 'static 'nav-network-adjacency :index 27 :dist 141352.95) + (new 'static 'nav-network-adjacency :index 28 :dist 208076.8) + (new 'static 'nav-network-adjacency :index 31 :dist 314122.25) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 27 :parent #f) + :pos (new 'static 'vector :x -1926881.2 :y 116080.64 :z -542392.3 :w 1.0) + :index 27 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 24 :dist 306135.03) + (new 'static 'nav-network-adjacency :index 25 :dist 148398.08) + (new 'static 'nav-network-adjacency :index 26 :dist 141352.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 28 :parent #f) + :pos (new 'static 'vector :x -1849753.6 :y 224665.6 :z -266649.6 :w 1.0) + :index 28 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 26 :dist 208076.8) + (new 'static 'nav-network-adjacency :index 29 :dist 118210.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 29 :parent #f) + :pos (new 'static 'vector :x -1910005.8 :y 224665.6 :z -164945.92 :w 1.0) + :index 29 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 28 :dist 118210.56) + (new 'static 'nav-network-adjacency :index 30 :dist 110796.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 30 :parent #f) + :pos (new 'static 'vector :x -1991639.0 :y 224665.6 :z -89989.12 :w 1.0) + :index 30 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 29 :dist 110796.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 31 :parent #f) + :pos (new 'static 'vector :x -1794048.0 :y 116080.64 :z -769474.56 :w 1.0) + :index 31 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 24 :dist 142090.23) + (new 'static 'nav-network-adjacency :index 25 :dist 138854.4) + (new 'static 'nav-network-adjacency :index 26 :dist 314122.25) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 32 :parent #f) + :pos (new 'static 'vector :x -809615.4 :y 105472.0 :z -849551.4 :w 1.0) + :index 32 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 19 :dist 159989.77) + (new 'static 'nav-network-adjacency :index 33 :dist 211435.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 33 :parent #f) + :pos (new 'static 'vector :x -618127.4 :y 126074.88 :z -936878.06 :w 1.0) + :index 33 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 32 :dist 211435.52) + (new 'static 'nav-network-adjacency :index 34 :dist 145858.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 34 :parent #f) + :pos (new 'static 'vector :x -589168.6 :y 126074.88 :z -1079869.5 :w 1.0) + :index 34 + :sub-graph 1 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 33 :dist 145858.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 35 :parent #f) + :pos (new 'static 'vector :x -2017976.4 :y 116080.64 :z -821616.6 :w 1.0) + :index 35 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 25 :dist 172154.88) + (new 'static 'nav-network-adjacency :index 36 :dist 169041.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 36 :parent #f) + :pos (new 'static 'vector :x -2052751.4 :y 116080.64 :z -987054.06 :w 1.0) + :index 36 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 35 :dist 169041.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 37 :parent #f) + :pos (new 'static 'vector :x -1771192.4 :y 131522.56 :z -173056.0 :w 1.0) + :index 37 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 138362.88) + (new 'static 'nav-network-adjacency :index 39 :dist 127098.88) + (new 'static 'nav-network-adjacency :index 42 :dist 122511.36) + (new 'static 'nav-network-adjacency :index 43 :dist 197386.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 38 :parent #f) + :pos (new 'static 'vector :x -1812029.5 :y 131522.56 :z -40837.12 :w 1.0) + :index 38 + :sub-graph 3 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 37 :dist 138362.88) + (new 'static 'nav-network-adjacency :index 40 :dist 209592.31) + (new 'static 'nav-network-adjacency :index 42 :dist 180879.36) + (new 'static 'nav-network-adjacency :index 43 :dist 133160.95) + (new 'static 'nav-network-adjacency :index 44 :dist 253132.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 39 :parent #f) + :pos (new 'static 'vector :x -1650196.5 :y 131522.56 :z -212008.95 :w 1.0) + :index 39 + :sub-graph 3 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 37 :dist 127098.88) + (new 'static 'nav-network-adjacency :index 42 :dist 120872.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 40 :parent #f) + :pos (new 'static 'vector :x -1829314.5 :y 131522.56 :z 168017.92 :w 1.0) + :index 40 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 209592.31) + (new 'static 'nav-network-adjacency :index 41 :dist 192225.28) + (new 'static 'nav-network-adjacency :index 43 :dist 223027.2) + (new 'static 'nav-network-adjacency :index 44 :dist 145653.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 41 :parent #f) + :pos (new 'static 'vector :x -1866711.0 :y 131522.56 :z 356597.75 :w 1.0) + :index 41 + :sub-graph 3 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 40 :dist 192225.28) + (new 'static 'nav-network-adjacency :index 44 :dist 251453.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 42 :parent #f) + :pos (new 'static 'vector :x -1693245.5 :y 41738.24 :z -143482.88 :w 1.0) + :index 42 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 37 :dist 122511.36) + (new 'static 'nav-network-adjacency :index 38 :dist 180879.36) + (new 'static 'nav-network-adjacency :index 39 :dist 120872.96) + (new 'static 'nav-network-adjacency :index 43 :dist 141434.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 43 :parent #f) + :pos (new 'static 'vector :x -1720565.8 :y 41738.24 :z -4710.4 :w 1.0) + :index 43 + :sub-graph 3 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 37 :dist 197386.23) + (new 'static 'nav-network-adjacency :index 38 :dist 133160.95) + (new 'static 'nav-network-adjacency :index 40 :dist 223027.2) + (new 'static 'nav-network-adjacency :index 42 :dist 141434.88) + (new 'static 'nav-network-adjacency :index 44 :dist 179814.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 44 :parent #f) + :pos (new 'static 'vector :x -1734656.0 :y 21012.48 :z 173342.72 :w 1.0) + :index 44 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 253132.8) + (new 'static 'nav-network-adjacency :index 40 :dist 145653.77) + (new 'static 'nav-network-adjacency :index 41 :dist 251453.44) + (new 'static 'nav-network-adjacency :index 43 :dist 179814.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 45 :parent #f) + :pos (new 'static 'vector :x -1265049.6 :y 222904.31 :z -860282.9 :w 1.0) + :index 45 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 46 :dist 74178.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 46 :parent #f) + :pos (new 'static 'vector :x -1286881.2 :y 252313.6 :z -795811.8 :w 1.0) + :index 46 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 45 :dist 74178.56) + (new 'static 'nav-network-adjacency :index 47 :dist 153559.05) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 47 :parent #f) + :pos (new 'static 'vector :x -1300111.4 :y 252313.6 :z -642826.25 :w 1.0) + :index 47 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 46 :dist 153559.05) + (new 'static 'nav-network-adjacency :index 48 :dist 200581.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 48 :parent #f) + :pos (new 'static 'vector :x -1313996.8 :y 121978.88 :z -490946.56 :w 1.0) + :index 48 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 47 :dist 200581.12) + (new 'static 'nav-network-adjacency :index 51 :dist 101539.84) + (new 'static 'nav-network-adjacency :index 56 :dist 193945.6) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 49 :parent #f) + :pos (new 'static 'vector :x -1129635.9 :y 186818.56 :z -654704.6 :w 1.0) + :index 49 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 50 :dist 103833.6) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 50 :parent #f) + :pos (new 'static 'vector :x -1194270.8 :y 186818.56 :z -573399.06 :w 1.0) + :index 50 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 49 :dist 103833.6) + (new 'static 'nav-network-adjacency :index 51 :dist 165355.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 51 :parent #f) + :pos (new 'static 'vector :x -1235230.8 :y 121978.88 :z -426926.1 :w 1.0) + :index 51 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 48 :dist 101539.84) + (new 'static 'nav-network-adjacency :index 50 :dist 165355.52) + (new 'static 'nav-network-adjacency :index 54 :dist 121118.72) + (new 'static 'nav-network-adjacency :index 55 :dist 183336.95) + (new 'static 'nav-network-adjacency :index 56 :dist 148930.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 52 :parent #f) + :pos (new 'static 'vector :x -1028505.6 :y 253992.95 :z -476610.56 :w 1.0) + :index 52 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 53 :dist 109363.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 53 :parent #f) + :pos (new 'static 'vector :x -1104773.1 :y 280207.38 :z -402759.7 :w 1.0) + :index 53 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 52 :dist 109363.2) + (new 'static 'nav-network-adjacency :index 54 :dist 171171.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 54 :parent #f) + :pos (new 'static 'vector :x -1142292.5 :y 121978.88 :z -349265.9 :w 1.0) + :index 54 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 51 :dist 121118.72) + (new 'static 'nav-network-adjacency :index 53 :dist 171171.84) + (new 'static 'nav-network-adjacency :index 55 :dist 111984.64) + (new 'static 'nav-network-adjacency :index 56 :dist 173957.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 55 :parent #f) + :pos (new 'static 'vector :x -1191731.2 :y 121978.88 :z -248832.0 :w 1.0) + :index 55 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 51 :dist 183336.95) + (new 'static 'nav-network-adjacency :index 54 :dist 111984.64) + (new 'static 'nav-network-adjacency :index 56 :dist 126115.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 56 :parent #f) + :pos (new 'static 'vector :x -1308262.4 :y 121978.88 :z -297082.88 :w 1.0) + :index 56 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 48 :dist 193945.6) + (new 'static 'nav-network-adjacency :index 51 :dist 148930.56) + (new 'static 'nav-network-adjacency :index 54 :dist 173957.12) + (new 'static 'nav-network-adjacency :index 55 :dist 126115.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 57 :parent #f) + :pos (new 'static 'vector :x -131276.8 :y 198000.64 :z -389447.7 :w 1.0) + :index 57 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 58 :dist 171008.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 58 :parent #f) + :pos (new 'static 'vector :x -186982.4 :y 136888.31 :z -539156.5 :w 1.0) + :index 58 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 57 :dist 171008.0) + (new 'static 'nav-network-adjacency :index 59 :dist 144957.44) + (new 'static 'nav-network-adjacency :index 63 :dist 110632.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 59 :parent #f) + :pos (new 'static 'vector :x -291471.38 :y 62586.88 :z -606740.5 :w 1.0) + :index 59 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 58 :dist 144957.44) + (new 'static 'nav-network-adjacency :index 60 :dist 92037.12) + (new 'static 'nav-network-adjacency :index 63 :dist 156549.12) + (new 'static 'nav-network-adjacency :index #x6f :dist 81879.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 60 :parent #f) + :pos (new 'static 'vector :x -295280.62 :y 93470.72 :z -693370.9 :w 1.0) + :index 60 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 59 :dist 92037.12) + (new 'static 'nav-network-adjacency :index 62 :dist 167116.8) + (new 'static 'nav-network-adjacency :index 64 :dist 140861.44) + (new 'static 'nav-network-adjacency :index #x6f :dist 84828.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 61 :parent #f) + :pos (new 'static 'vector :x -28753.92 :y 198000.64 :z -779100.2 :w 1.0) + :index 61 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 62 :dist 137297.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 62 :parent #f) + :pos (new 'static 'vector :x -142745.6 :y 125911.04 :z -753500.2 :w 1.0) + :index 62 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 60 :dist 167116.8) + (new 'static 'nav-network-adjacency :index 61 :dist 137297.92) + (new 'static 'nav-network-adjacency :index 64 :dist 59432.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 63 :parent #f) + :pos (new 'static 'vector :x -135331.84 :y 72663.04 :z -612966.4 :w 1.0) + :index 63 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 58 :dist 110632.96) + (new 'static 'nav-network-adjacency :index 59 :dist 156549.12) + (new 'static 'nav-network-adjacency :index 64 :dist 126320.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 64 :parent #f) + :pos (new 'static 'vector :x -162693.12 :y 72663.04 :z -736256.0 :w 1.0) + :index 64 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 60 :dist 140861.44) + (new 'static 'nav-network-adjacency :index 62 :dist 59432.96) + (new 'static 'nav-network-adjacency :index 63 :dist 126320.64) + (new 'static 'nav-network-adjacency :index 65 :dist 160972.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 65 :parent #f) + :pos (new 'static 'vector :x -111861.76 :y 72663.04 :z -888995.8 :w 1.0) + :index 65 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 64 :dist 160972.8) + (new 'static 'nav-network-adjacency :index 66 :dist 126033.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 66 :parent #f) + :pos (new 'static 'vector :x -160522.23 :y 72663.04 :z -1005281.25 :w 1.0) + :index 66 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 65 :dist 126033.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 67 :parent #f) + :pos (new 'static 'vector :x -399523.84 :y 213483.52 :z -1489469.5 :w 1.0) + :index 67 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 68 :dist 95354.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 68 :parent #f) + :pos (new 'static 'vector :x -346030.1 :y 231219.2 :z -1412587.5 :w 1.0) + :index 68 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 67 :dist 95354.88) + (new 'static 'nav-network-adjacency :index 69 :dist 177807.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 69 :parent #f) + :pos (new 'static 'vector :x -230440.95 :y 130990.08 :z -1321984.0 :w 1.0) + :index 69 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 68 :dist 177807.36) + (new 'static 'nav-network-adjacency :index 70 :dist 122961.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 70 :parent #f) + :pos (new 'static 'vector :x -165806.08 :y 62586.88 :z -1242849.2 :w 1.0) + :index 70 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 69 :dist 122961.92) + (new 'static 'nav-network-adjacency :index 71 :dist 133079.05) + (new 'static 'nav-network-adjacency :index #x72 :dist 141352.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 71 :parent #f) + :pos (new 'static 'vector :x -39772.16 :y 62586.88 :z -1285652.5 :w 1.0) + :index 71 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 70 :dist 133079.05) + (new 'static 'nav-network-adjacency :index 72 :dist 139059.2) + (new 'static 'nav-network-adjacency :index 74 :dist 125419.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 72 :parent #f) + :pos (new 'static 'vector :x 99205.12 :y 62586.88 :z -1280532.5 :w 1.0) + :index 72 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 71 :dist 139059.2) + (new 'static 'nav-network-adjacency :index 76 :dist 231464.95) + (new 'static 'nav-network-adjacency :index 77 :dist 301629.44) + (new 'static 'nav-network-adjacency :index 78 :dist 214302.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 73 :parent #f) + :pos (new 'static 'vector :x -22855.68 :y 258867.2 :z -1458790.4 :w 1.0) + :index 73 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 74 :dist 137052.16) + (new 'static 'nav-network-adjacency :index 75 :dist 82862.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 74 :parent #f) + :pos (new 'static 'vector :x -35758.08 :y 155443.2 :z -1369825.2 :w 1.0) + :index 74 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 71 :dist 125419.52) + (new 'static 'nav-network-adjacency :index 73 :dist 137052.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 75 :parent #f) + :pos (new 'static 'vector :x -23019.52 :y 246333.44 :z -1540710.4 :w 1.0) + :index 75 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 73 :dist 82862.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 76 :parent #f) + :pos (new 'static 'vector :x 322273.28 :y 102522.88 :z -1327677.5 :w 1.0) + :index 76 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 72 :dist 231464.95) + (new 'static 'nav-network-adjacency :index 77 :dist 210124.8) + (new 'static 'nav-network-adjacency :index 78 :dist 251371.52) + (new 'static 'nav-network-adjacency :index 79 :dist 247808.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 77 :parent #f) + :pos (new 'static 'vector :x 351109.12 :y 102522.88 :z -1119559.6 :w 1.0) + :index 77 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 72 :dist 301629.44) + (new 'static 'nav-network-adjacency :index 76 :dist 210124.8) + (new 'static 'nav-network-adjacency :index 78 :dist 139796.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 78 :parent #f) + :pos (new 'static 'vector :x 218234.88 :y 62586.88 :z -1102397.5 :w 1.0) + :index 78 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 72 :dist 214302.72) + (new 'static 'nav-network-adjacency :index 76 :dist 251371.52) + (new 'static 'nav-network-adjacency :index 77 :dist 139796.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 79 :parent #f) + :pos (new 'static 'vector :x 451952.62 :y 258867.2 :z -1469644.8 :w 1.0) + :index 79 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 76 :dist 247808.0) + (new 'static 'nav-network-adjacency :index 80 :dist 107438.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 80 :parent #f) + :pos (new 'static 'vector :x 534200.3 :y 231464.95 :z -1533091.9 :w 1.0) + :index 80 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 79 :dist 107438.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 81 :parent #f) + :pos (new 'static 'vector :x 402923.53 :y 302120.97 :z -72089.6 :w 1.0) + :index 81 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 82 :dist 231383.05) + (new 'static 'nav-network-adjacency :index 92 :dist 96460.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 82 :parent #f) + :pos (new 'static 'vector :x 286597.12 :y 125132.8 :z -165191.69 :w 1.0) + :index 82 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 81 :dist 231383.05) + (new 'static 'nav-network-adjacency :index 83 :dist 129802.24) + (new 'static 'nav-network-adjacency :index 88 :dist 197550.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 83 :parent #f) + :pos (new 'static 'vector :x 273940.47 :y 125132.8 :z -294379.53 :w 1.0) + :index 83 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 82 :dist 129802.24) + (new 'static 'nav-network-adjacency :index 84 :dist 120954.88) + (new 'static 'nav-network-adjacency :index 88 :dist 223395.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 84 :parent #f) + :pos (new 'static 'vector :x 300318.72 :y 125132.8 :z -412426.25 :w 1.0) + :index 84 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 83 :dist 120954.88) + (new 'static 'nav-network-adjacency :index 85 :dist 108503.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 85 :parent #f) + :pos (new 'static 'vector :x 277053.44 :y 125132.8 :z -518389.75 :w 1.0) + :index 85 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 84 :dist 108503.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 86 :parent #f) + :pos (new 'static 'vector :x 86425.6 :y 287989.75 :z 1515.52 :w 1.0) + :index 86 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 87 :dist 103669.76) + (new 'static 'nav-network-adjacency :index 88 :dist 235765.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 87 :parent #f) + :pos (new 'static 'vector :x 63528.96 :y 243752.95 :z 92446.72 :w 1.0) + :index 87 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 86 :dist 103669.76) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 88 :parent #f) + :pos (new 'static 'vector :x 89088.0 :y 125132.8 :z -168919.05 :w 1.0) + :index 88 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 82 :dist 197550.08) + (new 'static 'nav-network-adjacency :index 83 :dist 223395.84) + (new 'static 'nav-network-adjacency :index 86 :dist 235765.77) + (new 'static 'nav-network-adjacency :index 89 :dist 106741.76) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 89 :parent #f) + :pos (new 'static 'vector :x -16670.72 :y 125132.8 :z -154501.12 :w 1.0) + :index 89 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 88 :dist 106741.76) + (new 'static 'nav-network-adjacency :index 90 :dist 151920.64) + (new 'static 'nav-network-adjacency :index 91 :dist 237363.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 90 :parent #f) + :pos (new 'static 'vector :x -166584.31 :y 125132.8 :z -179036.16 :w 1.0) + :index 90 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 89 :dist 151920.64) + (new 'static 'nav-network-adjacency :index 91 :dist 147046.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 91 :parent #f) + :pos (new 'static 'vector :x -181862.4 :y 150773.77 :z -323010.56 :w 1.0) + :index 91 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 89 :dist 237363.2) + (new 'static 'nav-network-adjacency :index 90 :dist 147046.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 92 :parent #f) + :pos (new 'static 'vector :x 474152.97 :y 289423.38 :z -8273.92 :w 1.0) + :index 92 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 81 :dist 96460.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 93 :parent #f) + :pos (new 'static 'vector :x -979886.06 :y 234577.92 :z -65945.6 :w 1.0) + :index 93 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 201195.52) + (new 'static 'nav-network-adjacency :index 95 :dist 151633.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 94 :parent #f) + :pos (new 'static 'vector :x -819855.4 :y 113909.76 :z -48250.88 :w 1.0) + :index 94 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 93 :dist 201195.52) + (new 'static 'nav-network-adjacency :index 96 :dist 78684.16) + (new 'static 'nav-network-adjacency :index 97 :dist 117268.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 95 :parent #f) + :pos (new 'static 'vector :x -1128079.4 :y 234577.92 :z -97976.32 :w 1.0) + :index 95 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 93 :dist 151633.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 96 :parent #f) + :pos (new 'static 'vector :x -752476.2 :y 113909.76 :z -88842.24 :w 1.0) + :index 96 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 78684.16) + (new 'static 'nav-network-adjacency :index #x75 :dist 148971.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 97 :parent #f) + :pos (new 'static 'vector :x -860938.25 :y 113909.76 :z 61603.84 :w 1.0) + :index 97 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 117268.48) + (new 'static 'nav-network-adjacency :index 98 :dist 108625.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 98 :parent #f) + :pos (new 'static 'vector :x -812359.7 :y 113909.76 :z 158760.95 :w 1.0) + :index 98 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 97 :dist 108625.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 99 :parent #f) + :pos (new 'static 'vector :x -75898.88 :y 267386.88 :z 73932.8 :w 1.0) + :index 99 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 100 :dist 149135.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 100 :parent #f) + :pos (new 'static 'vector :x -111288.32 :y 186163.2 :z 193904.64 :w 1.0) + :index 100 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 99 :dist 149135.36) + (new 'static 'nav-network-adjacency :index #x65 :dist 219095.05) + (new 'static 'nav-network-adjacency :index #x66 :dist 287539.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x65 :parent #f) + :pos (new 'static 'vector :x -318095.38 :y 113909.76 :z 192757.77 :w 1.0) + :index #x65 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 100 :dist 219095.05) + (new 'static 'nav-network-adjacency :index #x66 :dist 306995.2) + (new 'static 'nav-network-adjacency :index #x77 :dist 123617.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x66 :parent #f) + :pos (new 'static 'vector :x -175677.44 :y 113909.76 :z 464691.2 :w 1.0) + :index #x66 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 100 :dist 287539.2) + (new 'static 'nav-network-adjacency :index #x65 :dist 306995.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x67 :parent #f) + :pos (new 'static 'vector :x -889733.1 :y 112476.16 :z 546816.0 :w 1.0) + :index #x67 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x68 :dist 124149.76) + (new 'static 'nav-network-adjacency :index #x69 :dist 128491.52) + (new 'static 'nav-network-adjacency :index #x6b :dist 335749.12) + (new 'static 'nav-network-adjacency :index #x6d :dist 146350.08) + (new 'static 'nav-network-adjacency :index #x7a :dist 150077.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x68 :parent #f) + :pos (new 'static 'vector :x -894648.3 :y 112476.16 :z 670842.9 :w 1.0) + :index #x68 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x67 :dist 124149.76) + (new 'static 'nav-network-adjacency :index #x6a :dist 276725.75) + (new 'static 'nav-network-adjacency :index #x6c :dist 149626.88) + (new 'static 'nav-network-adjacency :index #x6e :dist 120791.04) + (new 'static 'nav-network-adjacency :index #x7a :dist 187924.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x69 :parent #f) + :pos (new 'static 'vector :x -995123.2 :y 112476.16 :z 473251.84 :w 1.0) + :index #x69 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 128491.52) + (new 'static 'nav-network-adjacency :index #x6a :dist 190668.8) + (new 'static 'nav-network-adjacency :index #x6c :dist 332349.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6a :parent #f) + :pos (new 'static 'vector :x -1154621.5 :y 125992.96 :z 576880.6 :w 1.0) + :index #x6a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x68 :dist 276725.75) + (new 'static 'nav-network-adjacency :index #x69 :dist 190668.8) + (new 'static 'nav-network-adjacency :index #x6b :dist 223313.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6b :parent #f) + :pos (new 'static 'vector :x -1113866.2 :y 125992.96 :z 796426.25 :w 1.0) + :index #x6b + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 335749.12) + (new 'static 'nav-network-adjacency :index #x6a :dist 223313.92) + (new 'static 'nav-network-adjacency :index #x6c :dist 151797.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6c :parent #f) + :pos (new 'static 'vector :x -962846.75 :y 112476.16 :z 804003.8 :w 1.0) + :index #x6c + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x68 :dist 149626.88) + (new 'static 'nav-network-adjacency :index #x69 :dist 332349.44) + (new 'static 'nav-network-adjacency :index #x6b :dist 151797.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6d :parent #f) + :pos (new 'static 'vector :x -911687.7 :y 257146.88 :z 549396.5 :w 1.0) + :index #x6d + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x67 :dist 146350.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6e :parent #f) + :pos (new 'static 'vector :x -923033.6 :y 225239.05 :z 703447.06 :w 1.0) + :index #x6e + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x68 :dist 120791.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6f :parent #f) + :pos (new 'static 'vector :x -361144.3 :y 62586.88 :z -649748.5 :w 1.0) + :index #x6f + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 59 :dist 81879.04) + (new 'static 'nav-network-adjacency :index 60 :dist 84828.16) + (new 'static 'nav-network-adjacency :index #x70 :dist 131686.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x70 :parent #f) + :pos (new 'static 'vector :x -492707.84 :y 62586.88 :z -643563.5 :w 1.0) + :index #x70 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x6f :dist 131686.4) + (new 'static 'nav-network-adjacency :index #x71 :dist 226304.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x71 :parent #f) + :pos (new 'static 'vector :x -715939.8 :y 62586.88 :z -606535.7 :w 1.0) + :index #x71 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x70 :dist 226304.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x72 :parent #f) + :pos (new 'static 'vector :x -143237.12 :y 128450.56 :z -1119846.4 :w 1.0) + :index #x72 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 70 :dist 141352.95) + (new 'static 'nav-network-adjacency :index #x73 :dist 183992.31) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x73 :parent #f) + :pos (new 'static 'vector :x -62668.8 :y 62586.88 :z -968089.6 :w 1.0) + :index #x73 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x72 :dist 183992.31) + (new 'static 'nav-network-adjacency :index #x74 :dist 235847.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x74 :parent #f) + :pos (new 'static 'vector :x -90972.16 :y 62586.88 :z -733962.25 :w 1.0) + :index #x74 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x73 :dist 235847.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x75 :parent #f) + :pos (new 'static 'vector :x -636395.5 :y 113909.76 :z -182190.08 :w 1.0) + :index #x75 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 96 :dist 148971.52) + (new 'static 'nav-network-adjacency :index #x76 :dist 105594.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x76 :parent #f) + :pos (new 'static 'vector :x -542883.8 :y 113909.76 :z -231219.2 :w 1.0) + :index #x76 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x75 :dist 105594.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x77 :parent #f) + :pos (new 'static 'vector :x -439418.88 :y 113909.76 :z 169164.8 :w 1.0) + :index #x77 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x65 :dist 123617.28) + (new 'static 'nav-network-adjacency :index #x78 :dist 130703.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x78 :parent #f) + :pos (new 'static 'vector :x -570081.25 :y 113909.76 :z 165191.69 :w 1.0) + :index #x78 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x77 :dist 130703.36) + (new 'static 'nav-network-adjacency :index #x79 :dist 95846.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x79 :parent #f) + :pos (new 'static 'vector :x -664657.94 :y 113909.76 :z 149749.77 :w 1.0) + :index #x79 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x78 :dist 95846.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7a :parent #f) + :pos (new 'static 'vector :x -740597.75 :y 113909.76 :z 563240.94 :w 1.0) + :index #x7a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 150077.44) + (new 'static 'nav-network-adjacency :index #x68 :dist 187924.48) + (new 'static 'nav-network-adjacency :index #x7b :dist 251166.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7b :parent #f) + :pos (new 'static 'vector :x -493199.38 :y 113909.76 :z 520028.16 :w 1.0) + :index #x7b + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7a :dist 251166.72) + (new 'static 'nav-network-adjacency :index #x7c :dist 175964.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7c :parent #f) + :pos (new 'static 'vector :x -343736.3 :y 113909.76 :z 427130.88 :w 1.0) + :index #x7c + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x7b :dist 175964.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7d :parent #f) + :pos (new 'static 'vector :x 91791.36 :y 100474.88 :z 776069.1 :w 1.0) + :index #x7d + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x7e :dist 118333.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7e :parent #f) + :pos (new 'static 'vector :x -22200.32 :y 100474.88 :z 807772.2 :w 1.0) + :index #x7e + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7d :dist 118333.44) + (new 'static 'nav-network-adjacency :index #x7f :dist 170352.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7f :parent #f) + :pos (new 'static 'vector :x -133898.23 :y 100474.88 :z 936345.6 :w 1.0) + :index #x7f + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x7e :dist 170352.64) + (new 'static 'nav-network-adjacency :index #x80 :dist 183132.16) + (new 'static 'nav-network-adjacency :index #x83 :dist 188293.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x80 :parent #f) + :pos (new 'static 'vector :x -186163.2 :y 100474.88 :z 1111859.2 :w 1.0) + :index #x80 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7f :dist 183132.16) + (new 'static 'nav-network-adjacency :index #x81 :dist 179036.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x81 :parent #f) + :pos (new 'static 'vector :x -197017.6 :y 100474.88 :z 1290567.6 :w 1.0) + :index #x81 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x80 :dist 179036.16) + (new 'static 'nav-network-adjacency :index #x82 :dist 128000.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x82 :parent #f) + :pos (new 'static 'vector :x -268369.9 :y 100474.88 :z 1396817.9 :w 1.0) + :index #x82 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x81 :dist 128000.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x83 :parent #f) + :pos (new 'static 'vector :x 20930.56 :y 205905.92 :z 917299.2 :w 1.0) + :index #x83 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7f :dist 188293.12) + (new 'static 'nav-network-adjacency :index #x84 :dist 100229.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x84 :parent #f) + :pos (new 'static 'vector :x 86384.64 :y 152494.08 :z 971284.5 :w 1.0) + :index #x84 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x83 :dist 100229.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x85 :parent #f) + :pos (new 'static 'vector :x 615833.6 :y 100474.88 :z 1019289.6 :w 1.0) + :index #x85 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x8f :dist 200663.05) + (new 'static 'nav-network-adjacency :index #x90 :dist 191733.77) + (new 'static 'nav-network-adjacency :index #x91 :dist 243916.8) + (new 'static 'nav-network-adjacency :index #x96 :dist 127016.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x86 :parent #f) + :pos (new 'static 'vector :x 613130.25 :y 100474.88 :z 642826.25 :w 1.0) + :index #x86 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x87 :dist 165109.77) + (new 'static 'nav-network-adjacency :index #x90 :dist 184893.44) + (new 'static 'nav-network-adjacency :index #x91 :dist 220569.6) + (new 'static 'nav-network-adjacency :index #x9b :dist 219586.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x87 :parent #f) + :pos (new 'static 'vector :x 660602.9 :y 100474.88 :z 484720.62 :w 1.0) + :index #x87 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x86 :dist 165109.77) + (new 'static 'nav-network-adjacency :index #x88 :dist 165683.2) + (new 'static 'nav-network-adjacency :index #x9b :dist 226263.05) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x88 :parent #f) + :pos (new 'static 'vector :x 824074.25 :y 100474.88 :z 511795.2 :w 1.0) + :index #x88 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x87 :dist 165683.2) + (new 'static 'nav-network-adjacency :index #x89 :dist 230277.12) + (new 'static 'nav-network-adjacency :index #x93 :dist 122552.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x89 :parent #f) + :pos (new 'static 'vector :x 1053450.2 :y 100474.88 :z 532234.25 :w 1.0) + :index #x89 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x88 :dist 230277.12) + (new 'static 'nav-network-adjacency :index #x8a :dist 141967.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8a :parent #f) + :pos (new 'static 'vector :x 1178214.4 :y 100474.88 :z 599982.06 :w 1.0) + :index #x8a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x89 :dist 141967.36) + (new 'static 'nav-network-adjacency :index #x8b :dist 272670.72) + (new 'static 'nav-network-adjacency :index #x97 :dist 206684.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8b :parent #f) + :pos (new 'static 'vector :x 1195540.5 :y 100474.88 :z 872120.3 :w 1.0) + :index #x8b + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x8a :dist 272670.72) + (new 'static 'nav-network-adjacency :index #x8c :dist 286351.38) + (new 'static 'nav-network-adjacency :index #x94 :dist 123043.84) + (new 'static 'nav-network-adjacency :index #x9a :dist 214343.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8c :parent #f) + :pos (new 'static 'vector :x 1220649.0 :y 100474.88 :z 1157365.8 :w 1.0) + :index #x8c + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8b :dist 286351.38) + (new 'static 'nav-network-adjacency :index #x8d :dist 188825.6) + (new 'static 'nav-network-adjacency :index #x9a :dist 314531.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8d :parent #f) + :pos (new 'static 'vector :x 1057873.9 :y 100474.88 :z 1253089.2 :w 1.0) + :index #x8d + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8c :dist 188825.6) + (new 'static 'nav-network-adjacency :index #x8e :dist 295976.97) + (new 'static 'nav-network-adjacency :index #x95 :dist 123535.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8e :parent #f) + :pos (new 'static 'vector :x 762224.6 :y 100474.88 :z 1238876.1 :w 1.0) + :index #x8e + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x8d :dist 295976.97) + (new 'static 'nav-network-adjacency :index #x8f :dist 120504.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8f :parent #f) + :pos (new 'static 'vector :x 643563.5 :y 100474.88 :z 1217986.5 :w 1.0) + :index #x8f + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x85 :dist 200663.05) + (new 'static 'nav-network-adjacency :index #x8e :dist 120504.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x90 :parent #f) + :pos (new 'static 'vector :x 619806.75 :y 100474.88 :z 827596.8 :w 1.0) + :index #x90 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x85 :dist 191733.77) + (new 'static 'nav-network-adjacency :index #x86 :dist 184893.44) + (new 'static 'nav-network-adjacency :index #x91 :dist 141598.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x91 :parent #f) + :pos (new 'static 'vector :x 478576.62 :y 100474.88 :z 817643.5 :w 1.0) + :index #x91 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x85 :dist 243916.8) + (new 'static 'nav-network-adjacency :index #x86 :dist 220569.6) + (new 'static 'nav-network-adjacency :index #x90 :dist 141598.72) + (new 'static 'nav-network-adjacency :index #x92 :dist 164167.69) + (new 'static 'nav-network-adjacency :index #x9b :dist 307691.53) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x92 :parent #f) + :pos (new 'static 'vector :x 315678.72 :y 100474.88 :z 796958.75 :w 1.0) + :index #x92 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x91 :dist 164167.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x93 :parent #f) + :pos (new 'static 'vector :x 807608.3 :y -20725.76 :z 519168.0 :w 1.0) + :index #x93 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x88 :dist 122552.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x94 :parent #f) + :pos (new 'static 'vector :x 1208811.5 :y -20725.76 :z 888791.06 :w 1.0) + :index #x94 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x8b :dist 123043.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x95 :parent #f) + :pos (new 'static 'vector :x 1081262.1 :y -20725.76 :z 1247764.5 :w 1.0) + :index #x95 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x8d :dist 123535.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x96 :parent #f) + :pos (new 'static 'vector :x 620789.75 :y -20725.76 :z 1057013.8 :w 1.0) + :index #x96 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x85 :dist 127016.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x97 :parent #f) + :pos (new 'static 'vector :x 1384775.6 :y 100474.88 :z 593715.2 :w 1.0) + :index #x97 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8a :dist 206684.16) + (new 'static 'nav-network-adjacency :index #x98 :dist 135208.95) + (new 'static 'nav-network-adjacency :index #x99 :dist 191774.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x98 :parent #f) + :pos (new 'static 'vector :x 1388871.6 :y 100474.88 :z 458588.16 :w 1.0) + :index #x98 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x97 :dist 135208.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x99 :parent #f) + :pos (new 'static 'vector :x 1428193.2 :y 100474.88 :z 780533.75 :w 1.0) + :index #x99 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x97 :dist 191774.72) + (new 'static 'nav-network-adjacency :index #x9a :dist 125542.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x9a :parent #f) + :pos (new 'static 'vector :x 1407467.5 :y 100474.88 :z 904314.9 :w 1.0) + :index #x9a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8b :dist 214343.69) + (new 'static 'nav-network-adjacency :index #x8c :dist 314531.84) + (new 'static 'nav-network-adjacency :index #x99 :dist 125542.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x9b :parent #f) + :pos (new 'static 'vector :x 436101.12 :y 100474.88 :z 512901.12 :w 1.0) + :index #x9b + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x86 :dist 219586.56) + (new 'static 'nav-network-adjacency :index #x87 :dist 226263.05) + (new 'static 'nav-network-adjacency :index #x91 :dist 307691.53) + ) + ) + ) + :edge-array (new 'static 'boxed-array :type nav-network-edge + (new 'static 'nav-network-edge :end-index 1 :radius 26910.72) + (new 'static 'nav-network-edge :start-index 1 :end-index 2 :radius 33300.48) + (new 'static 'nav-network-edge :start-index 3 :end-index 2 :radius 58245.12) + (new 'static 'nav-network-edge :start-index 3 :end-index 4 :radius 40263.68) + (new 'static 'nav-network-edge :start-index 5 :end-index 4 :radius 39976.96) + (new 'static 'nav-network-edge :start-index 6 :end-index 5 :radius 33136.64) + (new 'static 'nav-network-edge :start-index 7 :end-index 8 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 8 :end-index 9 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 9 :end-index 3 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 9 :end-index 4 :radius 23961.6) + (new 'static 'nav-network-edge :start-index 10 :end-index 11 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 11 :end-index 12 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 12 :end-index 5 :radius 23920.64) + (new 'static 'nav-network-edge :start-index 12 :end-index 9 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 13 :end-index 14 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 14 :end-index 15 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 15 :end-index 6 :radius 25518.08) + (new 'static 'nav-network-edge :start-index 15 :end-index 12 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 16 :end-index 17 :radius 34447.36 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 17 :end-index 18 :radius 44195.84 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 18 :end-index 19 :radius 29040.64 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 19 :end-index 20 :radius 65536.0 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 19 :end-index 32 :radius 30842.88 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 20 :end-index 18 :radius 38666.24 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 21 :end-index 22 :radius 32727.04 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 22 :end-index 23 :radius 44728.32 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 23 :end-index 24 :radius 75612.16 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 23 :end-index 25 :radius 75120.64 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 24 :end-index 27 :radius 84828.16 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 25 :end-index 31 :radius 72908.8 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 25 :end-index 35 :radius 16384.0 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 23 :radius 76308.48 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 27 :radius 82206.72 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 28 :radius 43048.96 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 31 :radius 77168.64 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 27 :end-index 25 :radius 83066.88 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 28 :end-index 29 :radius 30187.52 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 29 :end-index 30 :radius 25518.08 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 31 :end-index 24 :radius 76267.52 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 32 :end-index 33 :radius 25108.48 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 33 :end-index 34 :radius 45219.84 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 35 :end-index 36 :radius 16384.0 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 37 :end-index 38 :radius 45506.56 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 37 :end-index 39 :radius 34979.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 37 :end-index 43 :radius 51159.04 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 38 :end-index 40 :radius 54927.36 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 38 :end-index 44 :radius 48291.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 40 :end-index 41 :radius 56975.36 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 37 :radius 58777.6 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 38 :radius 70164.48 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 39 :radius 43704.32 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 43 :radius 33382.4 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 38 :radius 55459.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 40 :radius 43827.2 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 44 :radius 36536.32 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 44 :end-index 40 :radius 38051.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 44 :end-index 41 :radius 41123.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 45 :end-index 46 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 46 :end-index 47 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 47 :end-index 48 :radius 31170.56) + (new 'static 'nav-network-edge :start-index 48 :end-index 51 :radius 31662.08) + (new 'static 'nav-network-edge :start-index 49 :end-index 50 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 50 :end-index 51 :radius 34938.88) + (new 'static 'nav-network-edge :start-index 51 :end-index 54 :radius 27361.28) + (new 'static 'nav-network-edge :start-index 51 :end-index 55 :radius 26296.32) + (new 'static 'nav-network-edge :start-index 51 :end-index 56 :radius 28835.84) + (new 'static 'nav-network-edge :start-index 52 :end-index 53 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 53 :end-index 54 :radius 21995.52) + (new 'static 'nav-network-edge :start-index 54 :end-index 55 :radius 31006.72) + (new 'static 'nav-network-edge :start-index 55 :end-index 56 :radius 24698.88) + (new 'static 'nav-network-edge :start-index 56 :end-index 48 :radius 23388.16) + (new 'static 'nav-network-edge :start-index 56 :end-index 54 :radius 29368.32) + (new 'static 'nav-network-edge :start-index 57 :end-index 58 :radius 29696.0) + (new 'static 'nav-network-edge :start-index 58 :end-index 59 :radius 37232.64) + (new 'static 'nav-network-edge :start-index 58 :end-index 63 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 59 :end-index 60 :radius 44728.32) + (new 'static 'nav-network-edge :start-index 59 :end-index 63 :radius 39075.84) + (new 'static 'nav-network-edge :start-index 60 :end-index 62 :radius 36249.6) + (new 'static 'nav-network-edge :start-index 60 :end-index #x6f :radius 28057.6) + (new 'static 'nav-network-edge :start-index 61 :end-index 62 :radius 38297.6) + (new 'static 'nav-network-edge :start-index 62 :end-index 64 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 63 :end-index 64 :radius 49520.64) + (new 'static 'nav-network-edge :start-index 64 :end-index 60 :radius 29900.8) + (new 'static 'nav-network-edge :start-index 64 :end-index 65 :radius 59637.76) + (new 'static 'nav-network-edge :start-index 65 :end-index 66 :radius 52920.32) + (new 'static 'nav-network-edge :start-index 67 :end-index 68 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 68 :end-index 69 :radius 36167.68) + (new 'static 'nav-network-edge :start-index 69 :end-index 70 :radius 61562.88) + (new 'static 'nav-network-edge :start-index 70 :end-index 71 :radius 51650.56) + (new 'static 'nav-network-edge :start-index 70 :end-index #x72 :radius 37150.72) + (new 'static 'nav-network-edge :start-index 71 :end-index 72 :radius 55377.92) + (new 'static 'nav-network-edge :start-index 72 :end-index 76 :radius 38707.2) + (new 'static 'nav-network-edge :start-index 72 :end-index 77 :radius 50176.0) + (new 'static 'nav-network-edge :start-index 73 :end-index 74 :radius 26501.12) + (new 'static 'nav-network-edge :start-index 73 :end-index 75 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 74 :end-index 71 :radius 43827.2) + (new 'static 'nav-network-edge :start-index 76 :end-index 77 :radius 38420.48) + (new 'static 'nav-network-edge :start-index 77 :end-index 78 :radius 44072.96) + (new 'static 'nav-network-edge :start-index 78 :end-index 72 :radius 42147.84) + (new 'static 'nav-network-edge :start-index 78 :end-index 76 :radius 49315.84) + (new 'static 'nav-network-edge :start-index 79 :end-index 76 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 80 :end-index 79 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 81 :end-index 82 :radius 34078.72) + (new 'static 'nav-network-edge :start-index 82 :end-index 83 :radius 64962.56) + (new 'static 'nav-network-edge :start-index 82 :end-index 88 :radius 56279.04) + (new 'static 'nav-network-edge :start-index 83 :end-index 84 :radius 66437.12) + (new 'static 'nav-network-edge :start-index 83 :end-index 88 :radius 54272.0) + (new 'static 'nav-network-edge :start-index 84 :end-index 85 :radius 53821.44) + (new 'static 'nav-network-edge :start-index 86 :end-index 87 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 86 :end-index 88 :radius 42598.4) + (new 'static 'nav-network-edge :start-index 88 :end-index 89 :radius 35266.56) + (new 'static 'nav-network-edge :start-index 89 :end-index 90 :radius 54968.32) + (new 'static 'nav-network-edge :start-index 90 :end-index 91 :radius 39731.2) + (new 'static 'nav-network-edge :start-index 91 :end-index 89 :radius 45219.84) + (new 'static 'nav-network-edge :start-index 92 :end-index 81 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 93 :end-index 94 :radius 43827.2) + (new 'static 'nav-network-edge :start-index 93 :end-index 95 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 94 :end-index 96 :radius 62914.56) + (new 'static 'nav-network-edge :start-index 94 :end-index 97 :radius 57303.04) + (new 'static 'nav-network-edge :start-index 96 :end-index #x75 :radius 53698.56) + (new 'static 'nav-network-edge :start-index 97 :end-index 98 :radius 64593.92) + (new 'static 'nav-network-edge :start-index 99 :end-index 100 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 100 :end-index #x65 :radius 44605.44) + (new 'static 'nav-network-edge :start-index #x65 :end-index #x66 :radius 55132.16) + (new 'static 'nav-network-edge :start-index #x65 :end-index #x77 :radius 35266.56) + (new 'static 'nav-network-edge :start-index #x66 :end-index 100 :radius 36536.32) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x68 :radius 50053.12) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x69 :radius 55009.28) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x6b :radius 59064.32) + (new 'static 'nav-network-edge :start-index #x68 :end-index #x6a :radius 84541.44) + (new 'static 'nav-network-edge :start-index #x68 :end-index #x7a :radius 49274.88) + (new 'static 'nav-network-edge :start-index #x69 :end-index #x6a :radius 69427.2) + (new 'static 'nav-network-edge :start-index #x69 :end-index #x6c :radius 63078.4) + (new 'static 'nav-network-edge :start-index #x6a :end-index #x6b :radius 74055.68) + (new 'static 'nav-network-edge :start-index #x6b :end-index #x6c :radius 84295.68) + (new 'static 'nav-network-edge :start-index #x6c :end-index #x68 :radius 37519.36) + (new 'static 'nav-network-edge :start-index #x6d :end-index #x67 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x6e :end-index #x68 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x6f :end-index 59 :radius 30023.68) + (new 'static 'nav-network-edge :start-index #x6f :end-index #x70 :radius 37355.52) + (new 'static 'nav-network-edge :start-index #x70 :end-index #x71 :radius 32194.56) + (new 'static 'nav-network-edge :start-index #x72 :end-index #x73 :radius 49930.24) + (new 'static 'nav-network-edge :start-index #x73 :end-index #x74 :radius 39075.84) + (new 'static 'nav-network-edge :start-index #x75 :end-index #x76 :radius 43704.32) + (new 'static 'nav-network-edge :start-index #x77 :end-index #x78 :radius 30801.92) + (new 'static 'nav-network-edge :start-index #x78 :end-index #x79 :radius 37232.64) + (new 'static 'nav-network-edge :start-index #x7a :end-index #x67 :radius 44113.92) + (new 'static 'nav-network-edge :start-index #x7a :end-index #x7b :radius 56770.56) + (new 'static 'nav-network-edge :start-index #x7b :end-index #x7c :radius 66764.8) + (new 'static 'nav-network-edge :start-index #x7d :end-index #x7e :radius 53370.88) + (new 'static 'nav-network-edge :start-index #x7e :end-index #x7f :radius 54476.8) + (new 'static 'nav-network-edge :start-index #x7f :end-index #x80 :radius 53084.16) + (new 'static 'nav-network-edge :start-index #x80 :end-index #x81 :radius 48087.04) + (new 'static 'nav-network-edge :start-index #x81 :end-index #x82 :radius 43294.72) + (new 'static 'nav-network-edge :start-index #x83 :end-index #x7f :radius 20193.28) + (new 'static 'nav-network-edge :start-index #x83 :end-index #x84 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x87 :radius 62914.56) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x90 :radius 65372.16) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x9b :radius 74506.24) + (new 'static 'nav-network-edge :start-index #x87 :end-index #x88 :radius 71598.08) + (new 'static 'nav-network-edge :start-index #x88 :end-index #x89 :radius 86343.68) + (new 'static 'nav-network-edge :start-index #x89 :end-index #x8a :radius 95559.68) + (new 'static 'nav-network-edge :start-index #x8a :end-index #x8b :radius 55418.88) + (new 'static 'nav-network-edge :start-index #x8a :end-index #x97 :radius 80691.2) + (new 'static 'nav-network-edge :start-index #x8b :end-index #x8c :radius 90521.6) + (new 'static 'nav-network-edge :start-index #x8c :end-index #x8d :radius 81510.4) + (new 'static 'nav-network-edge :start-index #x8d :end-index #x8e :radius 79708.16) + (new 'static 'nav-network-edge :start-index #x8e :end-index #x8f :radius 96296.96) + (new 'static 'nav-network-edge :start-index #x8f :end-index #x85 :radius 77905.92) + (new 'static 'nav-network-edge :start-index #x90 :end-index #x85 :radius 70901.76) + (new 'static 'nav-network-edge :start-index #x90 :end-index #x91 :radius 58900.48) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x85 :radius 65945.6) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x86 :radius 70819.84) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x92 :radius 55746.56) + (new 'static 'nav-network-edge :start-index #x93 :end-index #x88 :radius 27402.24) + (new 'static 'nav-network-edge :start-index #x94 :end-index #x8b :radius 31948.8) + (new 'static 'nav-network-edge :start-index #x95 :end-index #x8d :radius 34447.36) + (new 'static 'nav-network-edge :start-index #x96 :end-index #x85 :radius 32358.4) + (new 'static 'nav-network-edge :start-index #x97 :end-index #x98 :radius 59596.8) + (new 'static 'nav-network-edge :start-index #x97 :end-index #x99 :radius 40140.8) + (new 'static 'nav-network-edge :start-index #x99 :end-index #x9a :radius 42352.64) + (new 'static 'nav-network-edge :start-index #x9a :end-index #x8b :radius 34611.2) + (new 'static 'nav-network-edge :start-index #x9a :end-index #x8c :radius 30760.96) + (new 'static 'nav-network-edge :start-index #x9b :end-index #x87 :radius 70860.8) + (new 'static 'nav-network-edge :start-index #x9b :end-index #x91 :radius 60416.0) + ) + ) + ) diff --git a/goal_src/jak3/levels/stadium/king-rider.gc b/goal_src/jak3/levels/stadium/king-rider.gc index 702a77487a..0b57409ff9 100644 --- a/goal_src/jak3/levels/stadium/king-rider.gc +++ b/goal_src/jak3/levels/stadium/king-rider.gc @@ -7,3 +7,244 @@ ;; DECOMP BEGINS +(deftype king-rider (process-focusable) + ((parent (pointer vehicle) :override) + (front-back-interp float) + (left-right-interp float) + (up-down-interp float) + (complain-time time-frame) + (complain-speech int32) + (last-moved-time time-frame) + ) + (:state-methods + idle + die + ) + ) + + +(defskelgroup skel-king-rider king-rider king-rider-lod0-jg king-rider-idle-ja + ((king-rider-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) + +(defbehavior king-pilot-trans king-rider () + (when (and *target* (focus-test? *target* pilot-riding)) + (let ((s5-0 (-> *target* pilot))) + (when (nonzero? s5-0) + (let ((gp-0 (new 'stack-no-clear 'matrix))) + (set! (-> gp-0 uvec x) (* 182.04445 (* 0.5454545 (the float (current-time))))) + (set! (-> gp-0 uvec z) (sin (-> gp-0 uvec x))) + (set! (-> gp-0 uvec w) (cos (-> gp-0 uvec x))) + (set! (-> gp-0 uvec y) (seconds-per-frame)) + (set! (-> gp-0 rvec quad) (-> s5-0 local-accel quad)) + (let ((f1-6 (+ (* 0.03 (-> gp-0 uvec z)) (* -1.0 (-> gp-0 rvec x) (-> s5-0 left-right-accel-factor))))) + (+! (-> self left-right-interp) (* (- f1-6 (-> self left-right-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + (set! (-> self left-right-interp) (fmax -1.0 (fmin 1.0 (-> self left-right-interp)))) + (let ((f1-15 (+ (* 0.03 (-> gp-0 uvec w)) (* -1.0 (-> gp-0 rvec z) (-> s5-0 front-back-accel-factor))))) + (+! (-> self front-back-interp) (* (- f1-15 (-> self front-back-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + (set! (-> self front-back-interp) (fmax -1.0 (fmin 1.0 (-> self front-back-interp)))) + (let ((f1-24 (+ (* 0.03 (-> gp-0 uvec w)) (* -1.0 (-> gp-0 rvec y) (-> s5-0 up-down-accel-factor))))) + (+! (-> self up-down-interp) (* (- f1-24 (-> self up-down-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + ) + (set! (-> self up-down-interp) (fmax -1.0 (fmin 1.0 (-> self up-down-interp)))) + ) + ) + ) + 0 + (none) + ) + +;; WARN: new jak 2 until loop case, check carefully +(defbehavior king-pilot-wcar-anim-loop king-rider () + (ja-channel-set! 3) + (ja :group! king-rider-pilot-car-turn-back-ja) + (ja :chan 1 :group! king-rider-pilot-car-turn-front-ja) + (ja :chan 2 :group! king-rider-pilot-car-up-down-ja) + (until #f + (let ((f30-0 (* 5.0 (+ 1.0 (-> self left-right-interp))))) + (ja :num-func num-func-identity :frame-num (ja-aframe f30-0 0)) + (let ((gp-1 (-> self skel root-channel 1))) + (let ((f0-3 (* 0.5 (+ 1.0 (-> self front-back-interp))))) + (set! (-> gp-1 frame-interp 1) f0-3) + (set! (-> gp-1 frame-interp 0) f0-3) + ) + (set! (-> gp-1 num-func) num-func-identity) + (set! (-> gp-1 frame-num) (ja-aframe f30-0 1)) + ) + ) + (let ((f0-6 (* 5.0 (- 1.0 (-> self up-down-interp)))) + (gp-2 (-> self skel root-channel 2)) + ) + (let ((f1-7 (fabs (-> self up-down-interp)))) + (set! (-> gp-2 frame-interp 1) f1-7) + (set! (-> gp-2 frame-interp 0) f1-7) + ) + (set! (-> gp-2 num-func) num-func-identity) + (set! (-> gp-2 frame-num) (ja-aframe f0-6 2)) + ) + (suspend) + ) + #f + ) + +(defstate idle (king-rider) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (local-vars (v0-0 object)) + (case message + (('attack-invinc) + (go-virtual die) + ) + (('hide) + (set! v0-0 (logior (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('unhide) + (set! v0-0 (logclear (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + ) + ) + :trans (behavior () + (local-vars (v1-26 float)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (king-pilot-trans) + (cond + ((and *target* + (focus-test? *target* pilot-riding) + (nonzero? (-> *target* pilot)) + (-> self parent) + (-> self parent 0) + (= *target* (find-rider (-> self parent 0))) + ) + (let ((v1-14 (-> *target* pilot))) + (when (time-elapsed? (-> self complain-time) (seconds 3)) + (let* ((f0-0 1228800.0) + (f0-2 (* f0-0 f0-0)) + (a0-7 (-> v1-14 accel-array)) + ) + (when (or (< f0-2 (+ (* (-> a0-7 0 x) (-> a0-7 0 x)) (* (-> a0-7 0 z) (-> a0-7 0 z)))) + (< 4915200.0 (fabs (-> v1-14 accel-array 0 y))) + ) + (set! (-> self complain-speech) (mod (+ (-> self complain-speech) (rand-vu-int-range 2 6)) 9)) + (set-time! (-> self complain-time)) + ) + ) + ) + ) + (let* ((f0-4 20480.0) + (f0-6 (* f0-4 f0-4)) + ) + (.lvf vf1 (&-> (-> *target* control transv) quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-26 vf1) + (if (< f0-6 v1-26) + (set-time! (-> self last-moved-time)) + ) + ) + (if (time-elapsed? (-> self last-moved-time) (seconds 8)) + (set! (-> self last-moved-time) (+ (current-time) (seconds 24))) + ) + ) + (else + (set-time! (-> self last-moved-time)) + ) + ) + ) + ) + :code (behavior () + (king-pilot-wcar-anim-loop) + (sleep-code) + ) + :post ja-post + ) + +(defstate die (king-rider) + :virtual #t + :code (behavior () + (cleanup-for-death self) + ) + ) + +(defbehavior king-rider-init-by-other king-rider ((arg0 vehicle)) + (let ((s5-0 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) + (set! (-> s5-0 penetrated-by) (the-as penetrate -1)) + (let ((v1-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-3 transform-index) 3) + (set-vector! (-> v1-3 local-sphere) 0.0 0.0 0.0 4096.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-3) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-6 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) + ) + (set! (-> self root) s5-0) + ) + (set! (-> self root trans quad) (-> arg0 root trans quad)) + (quaternion-copy! (-> self root quat) (-> arg0 root quat)) + (set! (-> self level) (level-get *level* 'lpattack)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-king-rider" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((a1-8 (get-best-seat arg0 (-> self root trans) (vehicle-seat-flag vsf1) 0))) + (when (!= a1-8 -1) + (put-rider-in-seat arg0 a1-8 self) + (logior! (-> self focus-status) (focus-status pilot-riding)) + ) + ) + (set! (-> self complain-time) 0) + (set-time! (-> self last-moved-time)) + (send-event + arg0 + 'attack + #f + (static-attack-info + :mask (vehicle-impulse-factor) + ((id (new-attack-id)) (damage 2.0) (vehicle-damage-factor 0.0) (vehicle-impulse-factor 0.0)) + ) + ) + (go-virtual idle) + ) + +;; WARN: Return type mismatch process vs king-rider. +(defun king-rider-spawn ((arg0 vehicle)) + (local-vars (s5-1 process)) + (dotimes (s5-0 4) + (let ((s4-0 (get-rider-in-seat arg0 s5-0))) + (when (type? s4-0 king-rider) + (set! s5-1 s4-0) + (goto cfg-7) + ) + ) + ) + (set! s5-1 (the-as process #f)) + (label cfg-7) + (when (not s5-1) + (let ((v1-8 (process-spawn king-rider arg0 :name "king-rider" :to arg0))) + (if v1-8 + (set! s5-1 (-> v1-8 0)) + ) + ) + ) + (the-as king-rider s5-1) + ) diff --git a/goal_src/jak3/levels/stadium/rubble-attack.gc b/goal_src/jak3/levels/stadium/rubble-attack.gc index b39f7b843f..04a8c0f6f8 100644 --- a/goal_src/jak3/levels/stadium/rubble-attack.gc +++ b/goal_src/jak3/levels/stadium/rubble-attack.gc @@ -7,3 +7,763 @@ ;; DECOMP BEGINS +(deftype rub-missile (metalhead-grenade-shot) + () + ) + + +(defstate impact (rub-missile) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type metalhead-grenade-shot impact) enter))) + (if t9-0 + (t9-0) + ) + ) + (send-event (handle->process (-> self desired-target)) 'die) + ) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod projectile-method-39 ((this rub-missile)) + (let ((t9-0 (method-of-type metalhead-grenade-shot projectile-method-39))) + (t9-0 this) + ) + (send-event (handle->process (-> this desired-target)) 'update (-> this root trans)) + (none) + ) + +(defmethod projectile-method-26 ((this rub-missile)) + (cond + ((logtest? (-> *part-group-id-table* 1021 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> this root trans quad)) + (part-tracker-spawn + part-tracker-subsampler + :to this + :group (-> *part-group-id-table* 1021) + :duration (seconds 0.167) + ) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> this root trans quad)) + (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1021) :duration (seconds 0.167)) + ) + ) + 0 + (none) + ) + +(defmethod play-impact-sound ((this rub-missile) (arg0 projectile-options)) + (case arg0 + (((projectile-options po0)) + (sound-play "firebomb") + ) + (((projectile-options po0 po1)) + (let ((f0-0 (vector-vector-distance-squared (-> this root trans) (-> this desired-target-pos))) + (f1-0 614400.0) + ) + (when (< f0-0 (* f1-0 f1-0)) + (let ((a0-6 (static-sound-spec "incoming" :group 0 :volume 0.0))) + (set! (-> a0-6 volume) 1024) + (sound-play-by-spec a0-6 (-> this sound-id) (-> this root trans)) + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; WARN: Return type mismatch sound-id vs none. +(defmethod init-proj-settings! ((this rub-missile)) + (set! (-> this attack-mode) 'eco-yellow) + (set! (-> this blast-radius) 40960.0) + (set! (-> this max-speed) 245760.0) + (set! (-> this timeout) (seconds 4)) + (set! (-> this update-velocity) projectile-update-velocity-add-gravity) + (set! (-> this move) gren-canister-move) + (set! (-> this root dynam gravity y) 409600.0) + (set! (-> this root dynam gravity-length) 409600.0) + (set! (-> this root dynam gravity-max) 409600.0) + (let ((f0-5 1092.2667)) + (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1020) this)) + (set! (-> this sound-id) (new-sound-id)) + (none) + ) + +(deftype dm-missile-target (process-drawable) + ((ring-jmod joint-mod 2) + (ring-timer time-frame) + (blink-timer time-frame) + (target-sound-id sound-id) + (warn-sound-id sound-id) + ) + (:state-methods + idle + lock + ) + ) + + +(defskelgroup skel-dm-missile-target dm-missile-target dm-missile-target-lod0-jg dm-missile-target-idle-ja + ((dm-missile-target-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0.5 84) + :longest-edge (meters 80) + :shadow dm-missile-target-shadow-mg + :origin-joint-index 4 + :shadow-joint-index 5 + ) + +(defbehavior dm-missile-target-post dm-missile-target () + (ja-post) + (none) + ) + +(defbehavior dm-missile-target-handler dm-missile-target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('update-trans-only) + (set! v0-0 (-> self root trans)) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> arg3 param 0)) quad)) + v0-0 + ) + (('update) + (let ((gp-0 (the-as object (-> arg3 param 0)))) + (let* ((f0-1 (- (-> (the-as vector gp-0) y) (-> self root trans y))) + (f0-2 (lerp-scale 1.5 2.0 f0-1 0.0 614400.0)) + ) + (set-vector! (-> self root scale) f0-2 1.0 f0-2 1.0) + ) + (let ((f0-4 (vector-vector-distance-squared (-> self root trans) (the-as vector gp-0))) + (f1-2 409600.0) + ) + (when (< f0-4 (* f1-2 f1-2)) + (if (not (and (-> self next-state) (= (-> self next-state name) 'lock))) + (go-virtual lock) + ) + (when (time-elapsed? (-> self blink-timer) (seconds 0.05)) + (if (logtest? (-> self draw status) (draw-control-status no-draw)) + (send-event self 'on) + (send-event self 'off) + ) + (set-time! (-> self blink-timer)) + ) + ) + ) + ) + 0 + ) + (('on) + (let ((v1-35 (-> self draw shadow-ctrl))) + (logclear! (-> v1-35 settings flags) (shadow-flags disable-draw)) + ) + 0 + (set! v0-0 (logclear (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('off) + (let ((v1-40 (-> self draw shadow-ctrl))) + (logior! (-> v1-40 settings flags) (shadow-flags disable-draw)) + ) + 0 + (set! v0-0 (logior (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('spotlight-on) + (let ((v1-46 (-> self draw shadow-ctrl))) + (logclear! (-> v1-46 settings flags) (shadow-flags disable-draw)) + ) + 0 + ) + (('spotlight-off) + (let ((v1-48 (-> self draw shadow-ctrl))) + (logior! (-> v1-48 settings flags) (shadow-flags disable-draw)) + ) + 0 + ) + (('lock) + (go-virtual lock) + ) + (('unlock) + (go-virtual idle) + ) + (('die) + (if (not (-> *setting-control* cam-current entity-name)) + (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) + ) + (go empty-state) + ) + ) + ) + +(defstate idle (dm-missile-target) + :virtual #t + :event dm-missile-target-handler + :enter (behavior () + (set! (-> self ring-timer) 0) + (dotimes (v1-0 2) + (set! (-> self ring-jmod v1-0 twist z) (the-as float #t)) + ) + ) + :exit (behavior () + (if (nonzero? (-> self target-sound-id)) + (sound-stop (-> self target-sound-id)) + ) + ) + :trans (behavior () + (if (nonzero? (-> self target-sound-id)) + (sound-play "ruins-target" :id (-> self target-sound-id)) + ) + ) + :code (behavior () + (ja-no-eval :group! dm-missile-target-idle-ja :num! zero) + (sleep-code) + ) + :post (behavior () + (when (< (-> self ring-timer) (current-time)) + (let ((v1-2 (rand-vu-int-range 0 7))) + (dotimes (a0-3 2) + (if (logand (ash 1 a0-3) v1-2) + (set! (-> self ring-jmod a0-3 twist y) (* -1.0 (-> self ring-jmod a0-3 twist y))) + ) + ) + ) + (set! (-> self ring-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.6 1.8))))) + ) + (dm-missile-target-post) + ) + ) + +(defstate lock (dm-missile-target) + :virtual #t + :event dm-missile-target-handler + :enter (behavior () + (dotimes (v1-0 2) + (set! (-> self ring-jmod v1-0 twist z) (the-as float #f)) + ) + ) + :exit (behavior () + (if (nonzero? (-> self warn-sound-id)) + (sound-stop (-> self warn-sound-id)) + ) + ) + :trans (behavior () + (if (nonzero? (-> self warn-sound-id)) + (sound-play "target-warn" :id (-> self warn-sound-id)) + ) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! dm-missile-target-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (sleep-code) + ) + :post dm-missile-target-post + ) + +;; WARN: Return type mismatch process-drawable vs dm-missile-target. +(defmethod relocate ((this dm-missile-target) (offset int)) + (dotimes (v1-0 2) + (if (nonzero? (-> this ring-jmod v1-0)) + (&+! (-> this ring-jmod v1-0) offset) + ) + ) + (the-as dm-missile-target ((method-of-type process-drawable relocate) this offset)) + ) + +(defmethod deactivate ((this dm-missile-target)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this target-sound-id)) + (sound-stop (-> this target-sound-id)) + ) + (if (nonzero? (-> this warn-sound-id)) + (sound-stop (-> this warn-sound-id)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +(define *dm-missile-target-shadow-control* + (new 'static 'shadow-control :settings (new 'static 'shadow-settings + :center (new 'static 'vector :w (the-as float #x9a)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w 163840.0) + :top-plane (new 'static 'plane :y 1.0 :w -163840.0) + :shadow-type 2 + ) + ) + ) + +(defbehavior dm-missile-target-init-by-other dm-missile-target ((arg0 vector)) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-dm-missile-target" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (setup-masks (-> self draw) 0 2) + (vector+! (-> self root trans) (-> self root trans) (new 'static 'vector :y 81920.0 :w 1.0)) + (set-vector! (-> self root scale) 2.0 1.0 2.0 1.0) + (set! (-> self ring-jmod 0) (the-as joint-mod (new 'process 'joint-mod-spinner self 5 *y-vector* 49152.0))) + (set! (-> self ring-jmod 1) (the-as joint-mod (new 'process 'joint-mod-spinner self 6 *y-vector* -32768.0))) + (set! (-> self draw shadow-ctrl) *dm-missile-target-shadow-control*) + (set! (-> self target-sound-id) (new-sound-id)) + (set! (-> self warn-sound-id) (new-sound-id)) + (ja-no-eval :group! dm-missile-target-idle-ja :num! zero) + (ja-post) + (set-setting! 'highlight-color #f 0.0 #x200000ff) + (go-virtual idle) + ) + +(define *missile-spawners-all* + (the-as (array (array vector)) (new 'static 'boxed-array :type array + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1264012.9 :y 171088.28 :z -1945632.4 :w 1.0) + (new 'static 'vector :x -1372659.8 :y 93930.7 :z -183979.22 :w 1.0) + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + (new 'static 'vector :x -1716713.5 :y 160845.83 :z -1615964.1 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -963790.0 :y 92553.22 :z -1338117.4 :w 1.0) + (new 'static 'vector :x -1716713.5 :y 160845.83 :z -1615964.1 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 583820.9 :y 128227.734 :z -692007.3 :w 1.0) + (new 'static 'vector :x -85653.914 :y 159268.86 :z -1789697.6 :w 1.0) + (new 'static 'vector :x 924756.8 :y 184549.38 :z -1444707.5 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 924756.8 :y 184549.38 :z -1444707.5 :w 1.0) + (new 'static 'vector :x 322749.66 :y 187547.64 :z 211919.67 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 671323.3 :y 146283.31 :z -943431.25 :w 1.0) + (new 'static 'vector :x -118573.47 :y 198613.4 :z 214160.6 :w 1.0) + (new 'static 'vector :x -1405265.1 :y 91194.984 :z -253249.53 :w 1.0) + (new 'static 'vector :x -1092076.8 :y 207061.4 :z 597792.75 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1277521.9 :y 185948.16 :z -200834.25 :w 1.0) + (new 'static 'vector :x 358128.44 :y 221917.6 :z 232636.83 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1675861.2 :y 372983.4 :z 504688.22 :w 1.0) + (new 'static 'vector :x -1653110.8 :y 412161.62 :z 1300128.1 :w 1.0) + (new 'static 'vector :x -1106516.4 :y 187868.36 :z -293120.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1675861.2 :y 372983.4 :z 504688.22 :w 1.0) + (new 'static 'vector :x -1653110.8 :y 412161.62 :z 1300128.1 :w 1.0) + (new 'static 'vector :x -1106516.4 :y 187868.36 :z -293120.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1751204.2 :y 355590.97 :z 1353843.5 :w 1.0) + (new 'static 'vector :x 660947.75 :y 210554.88 :z 1027779.8 :w 1.0) + (new 'static 'vector :x 305282.66 :y 246803.66 :z 55287.81 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 305282.66 :y 246803.66 :z 55287.81 :w 1.0) + (new 'static 'vector :x 2127342.0 :y 443428.47 :z 586409.2 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 2127342.0 :y 443428.47 :z 586409.2 :w 1.0) + (new 'static 'vector :x 389331.34 :y 210130.12 :z -56164.35 :w 1.0) + (new 'static 'vector :x 1093069.6 :y 132921.75 :z 1745401.9 :w 1.0) + (new 'static 'vector :x 479159.1 :y 66208.56 :z 2266018.5 :w 1.0) + (new 'static 'vector :x 13882.163 :y 203250.89 :z 1256858.4 :w 1.0) + ) + ) + ) + ) + +(deftype rubble-attack-manager (task-manager) + ((missile-spawners (array vector)) + (missile handle) + (missile-target handle) + (missile-timer time-frame) + (vehicle-handle handle) + (king-rider handle) + (talk-timer time-frame) + (played-speeches uint32) + (first-dp-noticed? symbol) + ) + (:methods + (spawn-missile (_type_) none) + (rubble-attack-manager-method-33 (_type_) none) + (play-speech (_type_ int) symbol) + ) + ) + + +(defmethod play-speech ((this rubble-attack-manager) (arg0 int)) + (let ((s5-1 (logtest? (-> this played-speeches) (ash 1 arg0)))) + (when (not s5-1) + (let ((v1-3 arg0)) + (cond + ((zero? v1-3) + (talker-spawn-func (-> *talker-speech* 340) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 4) + (talker-spawn-func (-> *talker-speech* 343) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 5) + (talker-spawn-func (-> *talker-speech* 345) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 1) + (talker-spawn-func (-> *talker-speech* 346) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 3) + (talker-spawn-func (-> *talker-speech* 347) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 2) + (talker-spawn-func (-> *talker-speech* 344) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 6) + (talker-spawn-func (-> *talker-speech* 341) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 7) + (talker-spawn-func (-> *talker-speech* 342) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (logior! (-> this played-speeches) (ash 1 arg0)) + ) + (not s5-1) + ) + ) + +;; WARN: Function (method 32 rubble-attack-manager) has a return type of none, but the expression builder found a return statement. +(defmethod spawn-missile ((this rubble-attack-manager)) + (local-vars (sv-816 vector) (sv-832 (function vector quaternion vector)) (sv-848 vector)) + (when *target* + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s3-0 (target-pos 0)) + (s2-0 (the-as vector #f)) + ) + (when (-> this missile-spawners) + (let ((f30-0 0.0)) + (dotimes (s4-0 (length (-> this missile-spawners))) + (let ((s1-0 (-> this missile-spawners s4-0)) + (s0-0 vector-vector-xz-distance) + ) + (set! sv-816 s1-0) + (let* ((a1-0 (target-pos 0)) + (f28-0 (s0-0 sv-816 a1-0)) + ) + (when (and (sphere-in-view-frustum? (sphere<-vector+r! (new 'stack-no-clear 'sphere) s1-0 81920.0)) (< f30-0 f28-0)) + (set! f30-0 f28-0) + (set! s2-0 s1-0) + ) + ) + ) + ) + ) + ) + (vector+float*! s5-0 s3-0 (-> *target* control transv) 2.0) + (let ((a0-10 (find-nearest-nav-mesh s5-0 (the-as float #x7f800000)))) + (if a0-10 + (nav-mesh-method-10 a0-10 s5-0 s5-0 (the-as nav-poly #f)) + (return #f) + ) + ) + (set! (-> s5-0 y) (+ 204800.0 (-> s3-0 y) (-> s5-0 y))) + (let ((s4-1 (new 'stack-no-clear 'collide-query))) + (set! (-> s4-1 start-pos quad) (-> s5-0 quad)) + (set-vector! (-> s4-1 move-dist) 0.0 -409600.0 0.0 1.0) + (let ((v1-21 s4-1)) + (set! (-> v1-21 radius) 40.96) + (set! (-> v1-21 collide-with) (collide-spec backgnd obstacle pusher)) + (set! (-> v1-21 ignore-process0) #f) + (set! (-> v1-21 ignore-process1) #f) + (set! (-> v1-21 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-21 action-mask) (collide-action solid)) + ) + (let ((f0-9 (fill-and-probe-using-line-sphere *collide-cache* s4-1))) + (when (>= f0-9 0.0) + (+! (-> s5-0 y) (* f0-9 (-> s4-1 move-dist y))) + (when (< (- (-> s5-0 y) (-> (target-pos 0) y)) 81920.0) + (let ((s4-2 (new 'stack-no-clear 'traj3d-params)) + (s1-1 (new 'stack-no-clear 'vector)) + ) + (cond + (s2-0 + (set! (-> s1-1 quad) (-> s2-0 quad)) + ) + (else + (let ((s0-2 s1-1) + (s2-1 vector-normalize!) + ) + (set! sv-832 vector-z-quaternion!) + (set! sv-848 s1-1) + (let ((a1-8 (target-rot))) + (vector+! s0-2 s3-0 (s2-1 (sv-832 sv-848 a1-8) 409600.0)) + ) + ) + (+! (-> s1-1 y) 1228800.0) + ) + ) + (set! (-> s4-2 initial-tilt) 8192.0) + (set! (-> s4-2 gravity) 409600.0) + (set! (-> s4-2 src quad) (-> s1-1 quad)) + (set! (-> s4-2 dest quad) (-> s5-0 quad)) + (when (traj3d-calc-initial-velocity-using-tilt s4-2) + (let ((s3-1 (new 'stack-no-clear 'projectile-init-by-other-params))) + (set! (-> this missile-target) + (ppointer->handle (process-spawn dm-missile-target s5-0 :name "dm-missile-target" :to this)) + ) + (set! (-> s3-1 ent) (-> this entity)) + (set! (-> s3-1 charge) 1.0) + (set! (-> s3-1 options) (projectile-options)) + (logclear! (-> s3-1 options) (projectile-options po14 po15 po16)) + (set! (-> s3-1 pos quad) (-> s1-1 quad)) + (set! (-> s3-1 notify-handle) (the-as handle #f)) + (set! (-> s3-1 owner-handle) (process->handle this)) + (set! (-> s3-1 target-handle) (ppointer->handle (-> this missile-target process))) + (set! (-> s3-1 target-pos quad) (-> s5-0 quad)) + (set! (-> s3-1 ignore-handle) (process->handle this)) + (let* ((v1-56 *game-info*) + (a0-50 (+ (-> v1-56 attack-id) 1)) + ) + (set! (-> v1-56 attack-id) a0-50) + (set! (-> s3-1 attack-id) a0-50) + ) + (set! (-> s3-1 timeout) (seconds 4)) + (set! (-> s3-1 damage) 4.0) + (logior! (-> s3-1 options) (projectile-options po14)) + (set! (-> s3-1 vehicle-damage-factor) 1.0) + (logior! (-> s3-1 options) (projectile-options po15)) + (set! (-> s3-1 vehicle-impulse-factor) 7.5) + (logior! (-> s3-1 options) (projectile-options po16)) + (set! (-> s3-1 vel quad) (-> s4-2 initial-velocity quad)) + (set! (-> this missile) (process->handle (-> (spawn-projectile rub-missile s3-1 this *default-dead-pool*) 0))) + ) + ) + ) + ) + ) + ) + ) + ) + ) + 0 + (none) + ) + +(method-set! rubble-attack-manager 33 (if *debug-segment* + (lambda () 0) + nothing + ) + ) + +;; WARN: disable def twice: 131. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod taskman-event-handler ((this rubble-attack-manager) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-2 object)) + (case arg2 + (('camera-cut) + (let ((a0-3 (handle->process (-> this missile)))) + (if a0-3 + (deactivate a0-3) + ) + ) + (let ((a0-7 (handle->process (-> this missile-target)))) + (if a0-7 + (deactivate a0-7) + ) + ) + (set! v0-2 (+ (-> this missile-timer) (seconds 5))) + (set! (-> this missile-timer) (the-as time-frame v0-2)) + v0-2 + ) + (('missile-spawners) + (let ((s5-0 (command-get-int (-> arg3 param 0) 0))) + (cond + ((zero? s5-0) + (set! (-> this missile-spawners) #f) + #f + ) + ((>= (length *missile-spawners-all*) s5-0) + (set! v0-2 (-> *missile-spawners-all* (+ s5-0 -1))) + (set! (-> this missile-spawners) (the-as (array vector) v0-2)) + v0-2 + ) + (else + (set! (-> this missile-spawners) #f) + #f + ) + ) + ) + ) + (('notify) + (when (>= arg1 1) + (case (-> arg3 param 0) + (('dp-bipedal-ambush) + (when (time-elapsed? (-> this talk-timer) (seconds 30)) + (cond + ((not (-> this first-dp-noticed?)) + (play-speech this 4) + (set! (-> this first-dp-noticed?) #t) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + (else + (let ((a1-5 (logior (-> this played-speeches) 15))) + (when (play-speech this (rand-vu-int-count-excluding 8 (the-as int a1-5))) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + ) + ) + ) + ) + ) + (('dp-bipedal-die) + (when (and (time-elapsed? (-> this talk-timer) (seconds 30)) + (play-speech this (rand-vu-int-count-excluding 4 (the-as int (-> this played-speeches)))) + ) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + ) + ) + ) + ) + (else + ((method-of-type task-manager taskman-event-handler) this arg0 arg1 arg2 arg3) + ) + ) + ) + +(defstate active (rubble-attack-manager) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type task-manager active) enter))) + (if t9-0 + (t9-0) + ) + ) + (set-time! (-> self missile-timer)) + ) + :code (behavior () + (local-vars (v1-23 object)) + (while (!= (status-of-level-and-borrows *level* 'lpattack #f) 'active) + (set-time! (-> self missile-timer)) + (suspend) + ) + (while (begin + (set! (-> self vehicle-handle) (-> *vehicle-info* handle-by-vehicle-type 17)) + (not (handle->process (-> self vehicle-handle))) + ) + (format *stdebug* "rubble-attack task manager waiting for rhino~%") + (set-time! (-> self missile-timer)) + (suspend) + ) + (set! (-> self king-rider) + (process->handle (king-rider-spawn (the-as vehicle (handle->process (-> self vehicle-handle))))) + ) + (until v1-23 + (set-time! (-> self missile-timer)) + (suspend) + (set! v1-23 (and *target* (= (send-event *target* 'query 'mode) 'pilot))) + ) + (play-speech self 0) + (set-setting! 'music 'ruinsatk 0.0 0) + (sleep-code) + ) + ) + +;; WARN: Return type mismatch time-frame vs none. +(defmethod task-manager-method-26 ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager task-manager-method-26))) + (t9-0 this) + ) + (rubble-attack-manager-method-33 this) + (when (time-elapsed? (-> this missile-timer) (seconds 7)) + (spawn-missile this) + (set! (-> this missile-timer) (+ (current-time) (the int (* 2100.0 (rand-vu-float-range 0.0 0.25))))) + ) + (when (and (or (not (logtest? (-> this played-speeches) 64)) (not (logtest? (-> this played-speeches) 128))) + (and (-> this first-dp-noticed?) (time-elapsed? (-> this talk-timer) (seconds 25))) + ) + (let ((v1-23 (the-as dm-missile-target (handle->process (-> this missile-target))))) + (when v1-23 + (let ((f0-4 (vector-dot + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> v1-23 root trans) (target-pos 0)) 1.0) + (vector-x-quaternion! (new 'stack-no-clear 'vector) (target-rot)) + ) + ) + ) + (cond + ((< f0-4 -0.6) + (if (play-speech this 6) + (set-time! (-> this talk-timer)) + ) + ) + ((< 0.6 f0-4) + (if (play-speech this 7) + (set-time! (-> this talk-timer)) + ) + ) + ) + ) + ) + ) + ) + (none) + ) + +(defmethod task-manager-method-25 ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager task-manager-method-25))) + (t9-0 this) + ) + (let ((a0-3 (handle->process (-> this king-rider)))) + (if a0-3 + (deactivate a0-3) + ) + ) + (none) + ) + +;; WARN: Return type mismatch symbol vs none. +(defmethod init! ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager init!))) + (t9-0 this) + ) + (set! (-> this king-rider) (the-as handle #f)) + (none) + ) + +;; WARN: Return type mismatch symbol vs none. +(defmethod set-time-limit ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager set-time-limit))) + (t9-0 this) + ) + (set-setting! 'pilot-exit #f 0.0 0) + (set! (-> this missile) (the-as handle #f)) + (set! (-> this missile-target) (the-as handle #f)) + (set! (-> this missile-spawners) #f) + (set! (-> this first-dp-noticed?) #f) + (none) + ) diff --git a/goal_src/jak3/levels/stadium/rubble-obs.gc b/goal_src/jak3/levels/stadium/rubble-obs.gc index 1603b09750..670dfb3c0c 100644 --- a/goal_src/jak3/levels/stadium/rubble-obs.gc +++ b/goal_src/jak3/levels/stadium/rubble-obs.gc @@ -7,3 +7,1013 @@ ;; DECOMP BEGINS +(deftype rub-tower (process-focusable) + ((last-attack-time time-frame) + (collision-updated? symbol) + ) + (:state-methods + idle + (unstable float) + fall + fallen + ) + (:methods + (init-collision! (_type_) none) + (check-impact (_type_ rigid-body-impact vehicle) symbol) + (update-collision (_type_) none) + ) + ) + + +(defskelgroup skel-rub-tower rub-tower rub-tower-lod0-jg rub-tower-idle-ja + ((rub-tower-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 -10 60) + :origin-joint-index 3 + ) + +(defbehavior rub-tower-event-handler rub-tower ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('trigger) + (go-virtual fall) + ) + (('impact-impulse) + (let ((a1-4 (-> arg3 param 0))) + (check-impact self (the-as rigid-body-impact a1-4) (the-as vehicle arg0)) + ) + ) + ) + ) + +(defstate idle (rub-tower) + :virtual #t + :event rub-tower-event-handler + :code (behavior () + (ja :group! (ja-group) :num! min) + (transform-post) + (sleep-code) + ) + ) + +(defstate unstable (rub-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('event-bump) + (sound-play "rub-hit") + ) + (else + (rub-tower-event-handler proc argc message block) + ) + ) + ) + :code (behavior ((arg0 float)) + (ja-channel-push! 1 (the-as time-frame (the int (* 60.0 arg0)))) + (ja-no-eval :group! rub-tower-bump-ja :num! (seek! max arg0) :frame-num 5.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max arg0)) + ) + (go-virtual idle) + ) + :post transform-post + ) + +(defstate fall (rub-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('event-hit-ground) + (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) + (sound-play "rub-fall-impact") + (cond + ((logtest? (-> *part-group-id-table* 1026 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self node-list data 11 bone transform trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1026)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self node-list data 11 bone transform trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1026)) + ) + ) + ) + ) + ) + :code (behavior () + (update-collision self) + (sound-play "rub-fall") + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! rub-tower-fall-ja :num! (seek!) :frame-num 2.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (go-virtual fallen) + ) + :post transform-post + ) + +(defstate fallen (rub-tower) + :virtual #t + :code (behavior () + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (ja :group! rub-tower-fall-ja :num! max) + (update-collision self) + (transform-post) + (sleep-code) + ) + ) + +(defmethod get-inv-mass ((this rub-tower)) + 0.0 + ) + +(defmethod check-impact ((this rub-tower) (arg0 rigid-body-impact) (arg1 vehicle)) + (let ((f30-0 (-> arg0 impulse))) + (let* ((s5-0 arg1) + (v1-0 (if (type? s5-0 wvehicle) + s5-0 + ) + ) + ) + (b! + (not (or (< 921600.0 f30-0) (and v1-0 (logtest? (-> v1-0 controls flags) (vehicle-controls-flag vcf2))))) + cfg-11 + :delay (nop!) + ) + ) + (sound-play "rub-impact") + (go (method-of-object this fall)) + (b! #t cfg-20 :delay (nop!)) + (label cfg-11) + (when (and (time-elapsed? (-> this last-attack-time) (seconds 2)) + (not (and (-> this next-state) (= (-> this next-state name) 'unstable))) + ) + (sound-play "rub-impact") + (go (method-of-object this unstable) (lerp-scale 0.4 0.8 f30-0 0.0 921600.0)) + ) + ) + (label cfg-20) + (set-time! (-> this last-attack-time)) + #f + ) + +(defmethod init-collision! ((this rub-tower)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (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 camera-blocker)) + (set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 40960.0 -40960.0 245760.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-9 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-9 prim-core collide-as) (collide-spec obstacle camera-blocker)) + (set! (-> v1-9 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-9 prim-core action) (collide-action solid rideable)) + (set! (-> v1-9 transform-index) 3) + (set-vector! (-> v1-9 local-sphere) 0.0 40960.0 -40960.0 245760.0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-11 transform-index) 3) + (set-vector! (-> v1-11 local-sphere) 0.0 40960.0 -40960.0 245760.0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-14 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +(defmethod update-collision ((this rub-tower)) + (when (not (-> this collision-updated?)) + (let ((v1-5 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 0)) + (a1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 1)) + ) + (when (and v1-5 a1-3) + (set! (-> a1-3 prim-core action) (-> v1-5 prim-core action)) + (set! (-> a1-3 prim-core collide-as) (logior (-> v1-5 prim-core collide-as) (collide-spec obstacle))) + (set! (-> a1-3 prim-core collide-with) (-> v1-5 prim-core collide-with)) + (set! (-> v1-5 prim-core action) (collide-action)) + (set! (-> v1-5 prim-core collide-as) (collide-spec)) + (set! (-> v1-5 prim-core collide-with) (collide-spec)) + (set! (-> this collision-updated?) #t) + ) + ) + ) + 0 + (none) + ) + +(defmethod init-from-entity! ((this rub-tower) (arg0 entity-actor)) + (init-collision! this) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-rub-tower" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this collision-updated?) #f) + (if (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) + (go (method-of-object this fallen)) + (go (method-of-object this idle)) + ) + ) + +(deftype rub-electric-gate-switch (process-focusable) + ((part-sparks sparticle-launch-control) + ) + (:state-methods + idle + explode + exploded + ) + (:methods + (check-impact (_type_ rigid-body-impact vehicle) symbol) + (go-explode (_type_) none) + (spawn-joint-exploder (_type_) none) + (update-draw-mask (_type_) none) + ) + ) + + +(defskelgroup skel-rub-electric-gate-switch rub-electric-gate-switch rub-electric-gate-switch-lod0-jg rub-electric-gate-switch-idle-ja + ((rub-electric-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 15) + :longest-edge (meters 1) + ) + +(defskelgroup skel-rub-electric-gate-switch-explode rub-electric-gate-switch rub-electric-gate-switch-lod0-jg rub-electric-gate-switch-idle-ja + ((rub-electric-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 100) + ) + +(define *rub-electric-gate-switch-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 22 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 23 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + :art-level #f + ) + ) + +(defstate idle (rub-electric-gate-switch) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('trigger) + (go-virtual explode) + ) + (('impact-impulse) + (let ((a1-4 (-> block param 0))) + (check-impact self (the-as rigid-body-impact a1-4) (the-as vehicle proc)) + ) + ) + ) + ) + :code (behavior () + (ja :group! (ja-group) :num! min) + (transform-post) + (sleep-code) + ) + :post (behavior () + (if (nonzero? (-> self part)) + (spawn (-> self part) (-> self root trans)) + ) + ) + ) + +(defstate explode (rub-electric-gate-switch) + :virtual #t + :code (behavior () + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (sound-play "ruins-gate-towr") + (spawn-joint-exploder self) + (cond + ((logtest? (-> *part-group-id-table* 1024 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1024)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1024)) + ) + ) + (update-draw-mask self) + (go-virtual exploded) + ) + ) + +(defstate exploded (rub-electric-gate-switch) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :code (behavior () + (until (time-elapsed? (-> self state-time) (seconds 2)) + (suspend) + ) + (logclear! (-> self root penetrated-by) (penetrate vehicle)) + (sleep-code) + ) + :post (behavior () + (if (nonzero? (-> self part-sparks)) + (spawn (-> self part-sparks) (-> self root trans)) + ) + ) + ) + +(defmethod get-inv-mass ((this rub-electric-gate-switch)) + 0.01 + ) + +(defmethod check-impact ((this rub-electric-gate-switch) (arg0 rigid-body-impact) (arg1 vehicle)) + (let ((v1-0 (if (type? arg1 wvehicle) + arg1 + ) + ) + ) + (when (or (< 1024000.0 (-> arg0 impulse)) + (and v1-0 (logtest? (-> v1-0 controls flags) (vehicle-controls-flag vcf2))) + ) + (go-explode this) + #t + ) + ) + ) + +(defmethod spawn-joint-exploder ((this rub-electric-gate-switch)) + (let ((gp-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) + (set! (-> gp-0 fountain-rand-transv-lo quad) (-> (target-pos 0) quad)) + (set! (-> gp-0 fountain-rand-transv-hi x) 122880.0) + (set! (-> gp-0 fountain-rand-transv-hi y) 245760.0) + (set! (-> gp-0 fountain-rand-transv-hi z) 4096.0) + (set! (-> gp-0 fountain-rand-transv-hi w) 16384.0) + (set! (-> gp-0 friction) 0.95) + (set! (-> gp-0 duration) (seconds 4)) + (process-spawn + joint-exploder + (art-group-get-by-name *level* "skel-rub-electric-gate-switch" (the-as (pointer level) #f)) + 2 + gp-0 + *rub-electric-gate-switch-exploder-params* + :name "joint-exploder" + :to this + ) + ) + 0 + (none) + ) + +(defmethod go-explode ((this rub-electric-gate-switch)) + (logior! (-> this root penetrated-by) (penetrate vehicle)) + (go (method-of-object this explode)) + 0 + (none) + ) + +;; WARN: Return type mismatch process-drawable vs rub-electric-gate-switch. +(defmethod relocate ((this rub-electric-gate-switch) (offset int)) + (if (nonzero? (-> this part-sparks)) + (&+! (-> this part-sparks) offset) + ) + (the-as rub-electric-gate-switch ((method-of-type process-drawable relocate) this offset)) + ) + +(defmethod deactivate ((this rub-electric-gate-switch)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this part-sparks)) + (kill-particles (-> this part-sparks)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +(defmethod init-from-entity! ((this rub-electric-gate-switch) (arg0 entity-actor)) + (logclear! (-> this mask) (process-mask actor-pause)) + (let ((s4-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 penetrated-by) (penetrate)) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s4-0 total-prims) (the-as uint 3)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle camera-blocker)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid rideable)) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 -40960.0 245760.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-11 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-11 prim-core collide-with) (collide-spec jak hit-by-others-list player-list)) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 3) + (set-vector! (-> v1-11 local-sphere) 0.0 40960.0 0.0 61440.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-13 transform-index) 3) + (set-vector! (-> v1-13 local-sphere) 0.0 40960.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-16 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-16 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (set! (-> this root pause-adjust-distance) 614400.0) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-rub-electric-gate-switch" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1023) this)) + (set! (-> this part-sparks) (create-launch-control (-> *part-group-id-table* 1025) this)) + (cond + ((logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) + (update-draw-mask this) + (go (method-of-object this exploded)) + ) + (else + (setup-masks (-> this draw) 2 1) + (go (method-of-object this idle)) + ) + ) + ) + +(defmethod update-draw-mask ((this rub-electric-gate-switch)) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 0)) + (a1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 1)) + ) + (when (and v1-3 a1-3) + (set! (-> a1-3 prim-core action) (-> v1-3 prim-core action)) + (set! (-> a1-3 prim-core collide-as) (logior (-> v1-3 prim-core collide-as) (collide-spec obstacle))) + (set! (-> a1-3 prim-core collide-with) (-> v1-3 prim-core collide-with)) + (set! (-> v1-3 prim-core action) (collide-action)) + (set! (-> v1-3 prim-core collide-as) (collide-spec)) + (set! (-> v1-3 prim-core collide-with) (collide-spec)) + (setup-masks (-> this draw) 1 2) + ) + ) + 0 + (none) + ) + +(deftype rub-elec-gate (process-drawable) + ((path-r path-control) + (actor-group (pointer actor-group)) + (actor-group-count int32) + (width float) + (height float) + (active? symbol) + (switch-status uint8) + (palette-id int8) + (hit-sound-id sound-id) + (shutoff-delay-time time-frame) + ) + (:state-methods + idle + die + ) + (:methods + (toggle-blocking-plane (_type_ symbol) none) + ) + ) + + +(defstate idle (rub-elec-gate) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('kill) + (go-virtual die) + ) + (('blocking-plane-hit) + (let* ((s5-0 proc) + (v1-3 (if (type? s5-0 process-drawable) + s5-0 + ) + ) + (gp-1 (the-as object (-> block param 0))) + ) + (when (and v1-3 (the-as uint gp-1)) + (sound-play + "ruins-gate-hit" + :id (-> self hit-sound-id) + :position (-> (the-as process-drawable v1-3) root trans) + ) + (cond + ((logtest? (-> *part-group-id-table* 1027 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (the-as rigid-body-impact gp-1) point quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1027)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (the-as rigid-body-impact gp-1) point quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1027)) + ) + ) + ) + ) + #f + ) + ) + ) + :trans (behavior () + (when (and (< 1 (-> self actor-group-count)) (nonzero? (-> self actor-group 0)) (nonzero? (-> self actor-group 1))) + (let ((gp-0 0)) + (let ((s5-0 (length (-> self actor-group 0)))) + (dotimes (v1-8 s5-0) + (let ((a0-7 (-> self actor-group 0 data v1-8))) + (when (and a0-7 (-> a0-7 actor)) + (cond + ((not (logtest? (-> a0-7 actor extra perm status) (entity-perm-status subtask-complete))) + (+! gp-0 1) + 0 + ) + (else + (logior! (-> self switch-status) (ash 1 v1-8)) + ) + ) + ) + ) + ) + (dotimes (s4-0 s5-0) + (when (logtest? (-> self switch-status) (ash 1 s4-0)) + (let ((s3-0 (-> self actor-group 1))) + (dotimes (s2-0 (-> s3-0 length)) + (let ((a1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-9 from) (process->ppointer self)) + (set! (-> a1-9 num-params) 1) + (set! (-> a1-9 message) 'off) + (set! (-> a1-9 param 0) (the-as uint s4-0)) + (let ((t9-1 send-event-function) + (v1-20 (-> s3-0 data s2-0 actor)) + ) + (t9-1 + (if v1-20 + (-> v1-20 extra process) + ) + a1-9 + ) + ) + ) + ) + ) + ) + ) + ) + (when (and (zero? gp-0) (-> self active?) (zero? (-> self shutoff-delay-time))) + (set-time! (-> self shutoff-delay-time)) + (when (string= (-> self name) "rub-elec-gate-1") + (if (res-lump-struct (-> self entity) 'camera-name structure) + (process-spawn + external-camera-controller + (-> self entity) + 1200 + #f + :name "external-camera-controller" + :to *entity-pool* + ) + ) + (let ((a1-15 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-15 from) (process->ppointer self)) + (set! (-> a1-15 num-params) 0) + (set! (-> a1-15 message) 'camera-cut) + (let ((t9-7 send-event-function) + (v1-45 (-> *game-info* sub-task-list (game-task-node palace-ruins-attack-resolution))) + ) + (t9-7 + (handle->process (if (-> v1-45 manager) + (-> v1-45 manager manager) + (the-as handle #f) + ) + ) + a1-15 + ) + ) + ) + ) + ) + ) + ) + (when (nonzero? (-> self shutoff-delay-time)) + (when (time-elapsed? (-> self shutoff-delay-time) (seconds 2)) + (toggle-blocking-plane self #f) + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (set! (-> self active?) #f) + (if (nonzero? (-> self part)) + (kill-particles (-> self part)) + ) + (sound-play "ruins-gate-off") + (set! (-> self shutoff-delay-time) 0) + 0 + ) + ) + (when (-> self active?) + (when (nonzero? (-> self sound)) + (update-trans! (-> self sound) (-> self root trans)) + (update! (-> self sound)) + ) + (let ((gp-3 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) + (if (nonzero? (-> self shutoff-delay-time)) + (rub-elec-gate-adjust-particles (-> self width) (-> self height) (rand-vu-float-range 0.0 1.0)) + (rub-elec-gate-adjust-particles (-> self width) (-> self height) 1.0) + ) + (matrix<-trans gp-3 (-> self root trans)) + (spawn-from-mat (-> self part) gp-3) + ) + ) + (if (nonzero? (-> self path-r)) + (debug-draw (-> self path-r)) + ) + ) + :code sleep-code + :post (behavior () + (if (or (sphere-in-view-frustum? + (sphere<-vector+r! (new 'stack-no-clear 'sphere) (-> self root trans) (-> self width)) + ) + (< (if *target* + (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)) + 4096000.0 + ) + 409600.0 + ) + ) + (set-stadiuma-electricity-scale! + (if (-> self active?) + 1.0 + 0.0 + ) + (-> self palette-id) + (-> self level name) + ) + ) + ) + ) + +(defstate die (rub-elec-gate) + :virtual #t + :code (behavior () + (cleanup-for-death self) + ) + ) + +(defmethod toggle-blocking-plane ((this rub-elec-gate) (arg0 symbol)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (cond + (arg0 + (when (and (nonzero? (-> this path)) (nonzero? (-> this path-r))) + (let ((gp-0 (new 'static 'inline-array vector 2 (new 'static 'vector) (new 'static 'vector)))) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (get-point-at-percent-along-path! (-> this path) (-> gp-0 0) 0.0 'interp) + (get-point-at-percent-along-path! (-> this path) (-> gp-0 1) 1.0 'interp) + (vector-! s3-0 (-> gp-0 1) (-> gp-0 0)) + (get-point-at-percent-along-path! (-> this path-r) (-> gp-0 1) 0.0 'interp) + (vector-! s2-0 (-> gp-0 1) (-> gp-0 0)) + (set! (-> this width) (vector-length s2-0)) + (set! (-> this height) (vector-length s3-0)) + (let ((a1-8 (-> this root trans))) + (let ((v1-17 (-> gp-0 0))) + (let ((a0-7 s2-0)) + (let ((a2-4 0.5)) + (.mov vf7 a2-4) + ) + (.lvf vf5 (&-> a0-7 quad)) + ) + (.lvf vf4 (&-> v1-17 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a1-8 quad) vf6) + ) + (vector-normalize! (vector-cross! s4-0 s2-0 s3-0) 1.0) + (quaternion-look-at! (-> this root quat) s4-0 s3-0) + ) + (+! (-> gp-0 0 y) -20480.0) + (+! (-> gp-0 1 y) -20480.0) + (blocking-plane-spawn (the-as curve-control #f) gp-0 122880.0) + ) + ) + ) + (else + (blocking-plane-destroy) + ) + ) + 0 + (none) + ) + ) + +;; WARN: Return type mismatch process-drawable vs rub-elec-gate. +(defmethod relocate ((this rub-elec-gate) (offset int)) + (if (nonzero? (-> this path-r)) + (&+! (-> this path-r) offset) + ) + (the-as rub-elec-gate ((method-of-type process-drawable relocate) this offset)) + ) + +(defmethod deactivate ((this rub-elec-gate)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this sound)) + (stop! (-> this sound)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +(defmethod init-from-entity! ((this rub-elec-gate) (arg0 entity-actor)) + (local-vars (sv-16 res-tag)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (set! (-> this active?) + (not (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) + ) + (set! (-> this path) (new 'process 'path-control this 'pathl 0.0 (the-as entity #f) #f)) + (cond + ((logtest? (-> this path flags) (path-control-flag not-found)) + (set! (-> this path) (the-as path-control 0)) + 0 + ) + (else + (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (set! (-> this path-r) (new 'process 'path-control this 'pathr 0.0 (the-as entity #f) #f)) + (cond + ((logtest? (-> this path-r flags) (path-control-flag not-found)) + (set! (-> this path-r) (the-as path-control 0)) + 0 + ) + (else + (logior! (-> this path-r flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (if (-> this active?) + (toggle-blocking-plane this #t) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1022) this)) + (set! (-> this sound) (new 'process 'ambient-sound "ruins-gate-hum" (-> this root trans) 0.0)) + (set! (-> this hit-sound-id) (new-sound-id)) + (set! (-> this entity) arg0) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-31 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-31 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group-count) (the-as int (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-31)) + ) + (else + (format 0 "ERROR: entity missing actor-group!~%") + ) + ) + ) + (set! (-> this palette-id) + (res-lump-value (-> this entity) 'extra-id int :default (the-as uint128 -1) :time -1000000000.0) + ) + (go (method-of-object this idle)) + ) + +(deftype rub-electric-gate-panel (process-drawable) + () + (:state-methods + idle + ) + (:methods + (get-skel (_type_) art-group) + (setup-draw-masks (_type_ symbol int) none) + ) + ) + + +(defstate idle (rub-electric-gate-panel) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('on) + (setup-draw-masks self #t (the-as int (-> block param 0))) + ) + (('off) + (setup-draw-masks self #f (the-as int (-> block param 0))) + ) + ) + ) + :enter (behavior () + (setup-draw-masks self #t -1) + ) + :code (behavior () + (ja :group! (ja-group) :num! min) + (ja-post) + (sleep-code) + ) + ) + +(defmethod setup-draw-masks ((this rub-electric-gate-panel) (arg0 symbol) (arg1 int)) + 0 + (none) + ) + +(defmethod init-from-entity! ((this rub-electric-gate-panel) (arg0 entity-actor)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (initialize-skeleton this (the-as skeleton-group (get-skel this)) (the-as pair 0)) + (logclear! (-> this mask) (process-mask actor-pause)) + (go (method-of-object this idle)) + ) + +(deftype rub-electric-gate-panel-a (rub-electric-gate-panel) + () + ) + + +(defskelgroup skel-rub-electric-gate-panel-a rub-electric-gate-panel-a rub-electric-gate-panel-a-lod0-jg rub-electric-gate-panel-a-idle-ja + ((rub-electric-gate-panel-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +(defmethod setup-draw-masks ((this rub-electric-gate-panel-a) (arg0 symbol) (arg1 int)) + (let ((v1-0 1) + (a3-0 2) + ) + (when (zero? arg1) + (set! v1-0 1) + (set! a3-0 2) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +(defmethod get-skel ((this rub-electric-gate-panel-a)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-a" (the-as (pointer level) #f)) + ) + +(deftype rub-electric-gate-panel-b (rub-electric-gate-panel) + () + ) + + +(defskelgroup skel-rub-electric-gate-panel-b rub-electric-gate-panel-b rub-electric-gate-panel-b-lod0-jg rub-electric-gate-panel-b-idle-ja + ((rub-electric-gate-panel-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +(defmethod setup-draw-masks ((this rub-electric-gate-panel-b) (arg0 symbol) (arg1 int)) + (let ((v1-0 3) + (a3-0 12) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 4) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 8) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +(defmethod get-skel ((this rub-electric-gate-panel-b)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-b" (the-as (pointer level) #f)) + ) + +(deftype rub-electric-gate-panel-c (rub-electric-gate-panel) + () + ) + + +(defskelgroup skel-rub-electric-gate-panel-c rub-electric-gate-panel-c rub-electric-gate-panel-c-lod0-jg rub-electric-gate-panel-c-idle-ja + ((rub-electric-gate-panel-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +(defmethod setup-draw-masks ((this rub-electric-gate-panel-c) (arg0 symbol) (arg1 int)) + (let ((v1-0 7) + (a3-0 56) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 8) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 16) + ) + ((= arg1 2) + (set! v1-0 4) + (set! a3-0 32) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +(defmethod get-skel ((this rub-electric-gate-panel-c)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-c" (the-as (pointer level) #f)) + ) + +(deftype rub-electric-gate-panel-d (rub-electric-gate-panel) + () + ) + + +(defskelgroup skel-rub-electric-gate-panel-d rub-electric-gate-panel-d rub-electric-gate-panel-d-lod0-jg rub-electric-gate-panel-d-idle-ja + ((rub-electric-gate-panel-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +(defmethod setup-draw-masks ((this rub-electric-gate-panel-d) (arg0 symbol) (arg1 int)) + (let ((v1-0 31) + (a3-0 992) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 32) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 64) + ) + ((= arg1 2) + (set! v1-0 4) + (set! a3-0 128) + ) + ((= arg1 3) + (set! v1-0 8) + (set! a3-0 256) + ) + ((= arg1 4) + (set! v1-0 16) + (set! a3-0 512) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +(defmethod get-skel ((this rub-electric-gate-panel-d)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-d" (the-as (pointer level) #f)) + ) diff --git a/goal_src/jak3/levels/stadium/rubble-part.gc b/goal_src/jak3/levels/stadium/rubble-part.gc index 6bcfafb25d..b33968c1fa 100644 --- a/goal_src/jak3/levels/stadium/rubble-part.gc +++ b/goal_src/jak3/levels/stadium/rubble-part.gc @@ -7,3 +7,633 @@ ;; DECOMP BEGINS +(defpartgroup group-rub-missile + :id 1020 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 640) + :parts ((sp-item 3723 :binding 3722) + (sp-item 3722 :flags (sp2) :period (seconds 0.017) :length (seconds 0.017)) + (sp-item 3724) + ) + ) + +(defpart 3723 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 12) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + ) + ) + +(defpart 3722 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10) (meters 10)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 90.0 30.0) + (:g :copy r) + (:b :copy r) + (:a 64.0) + (:scalevel-x (meters 0.06666667) (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +(defpart 3724 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30) (meters 2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 100.0 28.0) + (:b 0.0) + (:a 12.0 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-rub-missile-explode + :id 1021 + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 3725 :flags (sp3)) (sp-item 3726) (sp-item 3727) (sp-item 3728 :flags (sp3))) + ) + +(defpart 3725 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30)) + (:rot-x (degrees 225)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 40.0) + (:a 32.0) + (:fade-a -0.035555556) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:userdata 40960.0) + ) + ) + +(defpart 3727 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 5.0) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.95 0.02) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3726 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 10.0) + (:scale-x (meters 1) (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9 0.09) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:func 'sparticle-2d-spline-align-instant) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3728 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:num 5.0) + (:scale-x (meters 10) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0) (meters 0.33333334)) + (:scalevel-x (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-rub-elec-gate + :id 1022 + :flags (sp0 sp1) + :bounds (static-bspherem 0 0 0 30) + :parts ((sp-item 3729 :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.035))) + ) + +(defpart 3729 + :init-specs ((:texture (lasersmoke-00 level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:scale-y (meters 1)) + (:r 0.0) + (:g 96.0) + (:b 128.0) + (:a 48.0) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 20 + 1 + 0 + #x401b00 + #x401c00 + #x401d00 + #x401e00 + #x401f00 + #x402000 + #x402100 + #x402200 + #x402300 + #x402400 + #x402500 + #x402600 + #x402700 + #x402800 + #x402900 + #x402a00 + #x402b00 + #x402c00 + #x402d00 + #x402e00 + #x402f00 + #x403000 + #x403100 + #x403200 + #x403300 + #x403400 + #x403500 + #x403600 + #x403700 + #x403800 + ) + ) + (:func 'spt-func-part-rub-elec-gate) + (:rotate-x (degrees 90)) + ) + ) + +;; WARN: Return type mismatch float vs none. +(defun spt-func-match-part-def ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (set! (-> arg2 coneradius) (-> *part-id-table* 3729 init-specs 9 initial-valuef)) + (none) + ) + +(defun spt-func-part-rub-elec-gate ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (spt-func-match-part-def arg0 arg1 arg2) + (sparticle-texture-animate arg0 arg1 (the-as vector arg2)) + (none) + ) + +(defpart 3730 + :init-specs ((:texture (static1 level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-y (degrees 0) 1 (degrees 180)) + (:scale-y (meters 1)) + (:r 10.0) + (:g 10.0) + (:b 255.0) + (:a 4.0 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3)) + (:rotate-x (degrees 90)) + (:rotate-z (degrees 90)) + ) + ) + +(defun rub-elec-gate-adjust-particles ((arg0 float) (arg1 float) (arg2 float)) + (* 0.5 arg0) + (set! (-> *part-id-table* 3729 init-specs 3 initial-valuef) (- (* 0.5 arg1))) + (set! (-> *part-id-table* 3729 init-specs 4 initial-valuef) arg0) + (set! (-> *part-id-table* 3729 init-specs 5 initial-valuef) arg1) + (set! (-> *part-id-table* 3729 init-specs 9 initial-valuef) (* 48.0 arg2)) + 0 + (none) + ) + +(defpartgroup group-rubble-switch-glow + :id 1023 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3731 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085)) + (sp-item 3732 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 25) + (sp-item 3733 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 50) + (sp-item 3734 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 75) + ) + ) + +(defpart 3731 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 13.5)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpart 3732 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 15)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpart 3733 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 16.5)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpart 3734 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 18)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpartgroup group-rubble-switch-explode + :id 1024 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3735 :flags (sp3 sp7)) + (sp-item 3736 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3737 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3738 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3739 :flags (sp7) :period (seconds 20) :length (seconds 0.067)) + ) + ) + +(defpart 3735 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:y (meters 10)) + (:scale-x (meters 60)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 150.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 6767.9995)) + (:scalevel-x (meters -1)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.167)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +(defpart 3736 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 12)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +(defpart 3737 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 10)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +(defpart 3738 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 8)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +(defpart 3739 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 100.0) + (:y (meters 10) (meters 5)) + (:scale-x (meters 0.3) (meters 0.5)) + (:rot-y (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0 1 128.0) + (:g :copy r) + (:b 255.0) + (:a 255.0) + (:vel-y (meters 0.16666667) (meters 0.6666667)) + (:fade-a -0.425) + (:accel-y (meters -0.0026666666)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-rubble-switch-sparks + :id 1025 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3740 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3741 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + (sp-item 3741 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + ) + ) + +(defpart 3740 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:y (meters 1)) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0 128.0) + (:a 128.0 128.0) + (:omega (degrees 0.0675)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:next-time (seconds 1)) + (:next-launcher 3742) + (:conerot-x (degrees 0) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3742 + :init-specs ((:fade-a -0.85333335 -0.85333335)) + ) + +(defpart 3741 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 0.1) + (:x (meters 0) (meters 1)) + (:y (meters 2)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 100.0) + (:g 100.0) + (:b 128.0 2.0 128.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-rhino-door-break + :id 1003 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3743 :flags (sp7) :period (seconds 20) :length (seconds 0.067))) + ) + +(defpart 3743 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 10.0) + (:x (meters -12) (meters 24)) + (:y (meters -4) (meters 20)) + (:scale-x (meters 4) (meters 4)) + (:rot-z (degrees -90)) + (:scale-y :copy scale-x) + (:r 100.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 64.0 64.0) + (:scalevel-x (meters 0.0033333334) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.00033333333)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-rubble-tower-break + :id 1026 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3744 :flags (sp7) :period (seconds 20) :length (seconds 0.067) :offset 20)) + ) + +(defpart 3744 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 10.0) + (:y (meters -4)) + (:scale-x (meters 4) (meters 6)) + (:rot-z (degrees -90)) + (:scale-y :copy scale-x) + (:r 120.0) + (:g 100.0) + (:b 80.0) + (:a 0.0) + (:vel-y (meters 0.33333334) (meters 0.33333334)) + (:scalevel-x (meters 0.013333334) (meters 0.013333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.64 -0.64) + (:accel-y (meters 0.00033333333)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.335)) + (:next-launcher 3745) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 3745 + :init-specs ((:fade-a -0.256 -0.256)) + ) + +(defpartgroup group-elec-gate-sparks + :id 1027 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3746 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.667)) + (sp-item 3747 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.667)) + ) + ) + +(defpart 3746 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 3.0) + (:scale-x (meters 2) (meters 4)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 2) (meters 3)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +(defpart 3747 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:scale-x (meters 4) (meters 6)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) diff --git a/goal_src/jak3/levels/stadium/rubblea-init.gc b/goal_src/jak3/levels/stadium/rubblea-init.gc index 7f73eefa30..335a7a905c 100644 --- a/goal_src/jak3/levels/stadium/rubblea-init.gc +++ b/goal_src/jak3/levels/stadium/rubblea-init.gc @@ -5,5 +5,59 @@ ;; name in dgo: rubblea-init ;; dgos: STAA +(define-extern *lpattack-adjacency* nav-network-data) + ;; DECOMP BEGINS +(defun rubblea-login ((arg0 level)) + (format 0 "rubblea-login~%") + 0 + (none) + ) + +(defun rubblea-activate ((arg0 level)) + (format 0 "rubblea-activate~%") + (let ((v1-0 *traffic-info*) + (a0-2 (-> arg0 name)) + ) + (set! (-> v1-0 vehicle-level) arg0) + (set! (-> v1-0 vehicle-levels 10) a0-2) + (set! (-> v1-0 vehicle-levels 12) a0-2) + (set! (-> v1-0 vehicle-levels 13) a0-2) + (set! (-> v1-0 vehicle-levels 14) a0-2) + (set! (-> v1-0 vehicle-levels 15) a0-2) + (set! (-> v1-0 vehicle-levels 16) a0-2) + (set! (-> v1-0 vehicle-levels 17) a0-2) + (set! (-> v1-0 vehicle-levels 18) a0-2) + (set! (-> v1-0 vehicle-levels 19) a0-2) + ) + (vehicle-manager-start (the-as process *entity-pool*)) + (if (and (nonzero? *nav-network*) *nav-network*) + (init-by-other! *nav-network* arg0 *lpattack-adjacency*) + ) + 0 + (none) + ) + +(defun rubblea-deactivate ((arg0 level)) + (format 0 "rubblea-deactivate~%") + (let ((v1-0 *traffic-info*)) + (set! (-> v1-0 vehicle-level) (the-as level #f)) + ) + (vehicle-manager-kill) + 0 + (none) + ) + +(defun lpattack-login ((arg0 level)) + (set! *nav-network* (new 'loading-level 'nav-network)) + (alloc-nav-network-for-level! *nav-network* 64 10) + 0 + (none) + ) + +(defun lpattack-logout ((arg0 level)) + (set! *nav-network* (the-as nav-network 0)) + 0 + (none) + ) diff --git a/goal_src/jak3/levels/stadium/rublcst-scenes.gc b/goal_src/jak3/levels/stadium/rublcst-scenes.gc index c6042c5053..357888c151 100644 --- a/goal_src/jak3/levels/stadium/rublcst-scenes.gc +++ b/goal_src/jak3/levels/stadium/rublcst-scenes.gc @@ -7,3 +7,921 @@ ;; DECOMP BEGINS +(defskelgroup skel-kid kid kid-lod0-jg kid-idle-ja + ((kid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + :origin-joint-index 3 + ) + +(defskelgroup skel-rhino-wheel-fma rhino-wheel-fma rhino-wheel-fma-lod0-jg rhino-wheel-fma-idle-ja + ((rhino-wheel-fma-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 100) + :origin-joint-index 3 + ) + +(load-scene (new 'static 'scene + :name "palace-ruins-attack-res-a" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-177" + :art-group "scenecamera" + :anim "palace-ruins-attack-res-a" + :parts 3 + :command-list '((0 (fadein (frame-time-30 10)) (send-event *target* 'draw-vehicle #f)) + (160 (part-tracker + "group-rubble-missile" + entity + "particleman" + joint + "particleC" + track + #t + duration + (frame-range 160 221) + ) + ) + (222 + (part-tracker + "group-rubble-missile-explode" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 222 232) + ) + (part-tracker + "group-placeholder-multiple" + entity + "particleman" + joint + "particleB" + track + #t + duration + (frame-range 222 310) + ) + ) + (290 (fadeout (frame-time-30 20))) + (309 (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (disable *screen-filter*) + (setup + *screen-filter* + (new 'static 'vector :w 128.0) + (new 'static 'vector :w 128.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-setting! 'allow-blackout #f 0.0 0) + ) + (none) + ) + ) + ) + (10000 + (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (remove-setting! 'allow-blackout) + (setup + *screen-filter* + (new 'static 'vector :w 128.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-filter-color! 1.0 1.0 1.0) + ) + (none) + ) + ) + (apply ,(lambda :behavior scene-player + () + (if (-> self aborted?) + (task-close! "comb-wild-ride-introduction") + ) + (none) + ) + ) + ) + ) + :cut-list '(56 100 145 165 222) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "darkjak-highres" + :level 'rublcst + :art-group "skel-darkjak-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x20 + ) + (new 'static 'scene-actor + :name "damus-highres" + :level 'rublcst + :art-group "skel-damus-highres" + :prefix "" + :draw-frames '((min 294) (315 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'rublcst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-fma" + :level 'lpattack + :art-group "skel-rhino-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-wheel-fma" + :level 'rublcst + :art-group "skel-rhino-wheel-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'rublcst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "rubblec-fma" + :end-point "railb-start" + :borrow '((stadiuma 0 lpattack special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :scene-task #x105 + :on-running #f + :on-complete #f + ) + ) + +(set! (-> *lightning-spec-id-table* 35) (new 'static 'lightning-spec + :name "lightning-darkjak-rubble-shock" + :flags (lightning-spec-flags lsf0) + :rand-func #x2 + :start-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :end-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5) + :fade-start-factor 0.2 + :texture (new 'static 'texture-id :index #x3a :page #x4) + :reduction 0.42 + :num-points 32 + :box-size 4096.0 + :merge-factor 0.6 + :merge-count 2 + :radius 409.6 + :duration 30.0 + :duration-rand 150.0 + :sound #f + ) + ) + +(load-scene + (new 'static 'scene + :name "palace-ruins-attack-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-177" + :art-group "scenecamera" + :anim "palace-ruins-attack-res" + :parts 41 + :command-list '((0 + (fadein (frame-time-30 30)) + (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 0 0 0.0) (none))) + ) + (1 + (part-tracker + "group-fma-rhino-smoke" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 1 3620) + ) + (apply ,(lambda :behavior scene-player () (set-darkjak-highres-texture-morph! 0.0) (none))) + ) + (745 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 1 1 0.0) (none)))) + (1350 (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (set! (-> *display* force-sync) (the-as uint 196)) + (persist-with-delay *setting-control* 'blur-a (seconds 6.535) 'blur-a 'abs 0.8 0) + (sound-play "trans3") + ) + (none) + ) + ) + ) + (1379 + (send-event *time-of-day* 'save) + (send-event *time-of-day* 'change 'hour (int 14)) + (apply + ,(lambda :behavior scene-player + () + (set-cloud-and-fog-interp! *mood-control* 0.25 0.5 0.0 0.0) + (set-cloud-and-fog-interp! *mood-control* 0.25 0.5 1.0 1.0) + (set-time-for-random-weather! *mood-control* -99.0 -99.0) + (none) + ) + ) + ) + (1546 + (send-event *time-of-day* 'restore) + (apply + ,(lambda :behavior scene-player + () + (set-cloud-and-fog-interp! *mood-control* 1.0 0.64 0.0 0.0) + (set-cloud-and-fog-interp! *mood-control* 1.0 0.64 1.0 1.0) + (set-time-for-random-weather! *mood-control* 90000.0 90000.0) + (none) + ) + ) + ) + (2015 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 5 2 0.0) (none)))) + (2730 + (send-event + "darkjak-highres" + 'trans-hook + ,(lambda :behavior scene-player + () + (let ((f30-0 (ja-aframe-num 0))) + (cond + ((< f30-0 2754.0) + (set-darkjak-highres-texture-morph! 0.0) + ) + ((and (>= f30-0 2754.0) (>= 2760.0 f30-0)) + (set-darkjak-highres-texture-morph! (* 0.16666667 (+ -2754.0 f30-0))) + ) + ((and (>= f30-0 2761.0) (>= 2795.0 f30-0)) + (set-darkjak-highres-texture-morph! (+ 1.0 (* 0.029411765 (- 2761.0 f30-0)))) + ) + ((and (>= f30-0 2795.0) (>= 3630.0 f30-0)) + (set-darkjak-highres-texture-morph! 0.0) + ) + (else + (set-darkjak-highres-texture-morph! 1.0) + ) + ) + (setup-masks (-> self draw) 0 32) + (when (and (>= f30-0 2754.0) (>= 2780.0 f30-0)) + (process-drawable-shock-skel-effect + self + (-> *lightning-spec-id-table* 35) + lightning-probe-callback + (-> *part-id-table* 160) + 1228.8 + -1 + -1 + ) + (process-drawable-shock-effect + self + (-> *lightning-spec-id-table* 9) + lightning-probe-callback + (-> *part-id-table* 187) + 0 + 0 + 40960.0 + ) + ) + ) + (none) + ) + ) + ) + (3008 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 3 3 0.0) (none)))) + (3040 + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleB" + track + #t + duration + (frame-range 3040 3074) + ) + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleC" + track + #t + duration + (frame-range 3040 3074) + ) + ) + (3559 + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleD" + track + #t + duration + (frame-range 3559 3603) + ) + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleE" + track + #t + duration + (frame-range 3559 3603) + ) + ) + (10000 + (task-close! "comb-wild-ride-introduction") + (send-event + "darkjak-highres" + 'trans-hook + ,(lambda :behavior scene-player + () + (set-darkjak-highres-texture-morph! 0.0) + (setup-masks (-> self draw) 0 32) + (none) + ) + ) + ) + ) + :cut-list '(0 + 127 + 196 + 294 + 315 + 593 + 745 + 805 + 886 + 1046 + 1145 + 1278 + 1316 + 1379 + 1546 + 1600 + 1693 + 2018 + 2070 + 2136 + 2236 + 2315 + 2439 + 2510 + 2555 + 2624 + 2731 + 2796 + 2831 + 2925 + 3013 + 3104 + 3148 + 3442 + ) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "darkjak-highres" + :level 'rublcst + :art-group "skel-darkjak-highres" + :prefix "" + :draw-frames '((min 196) (294 315) (384 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '((127 130)) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x20 + ) + (new 'static 'scene-actor + :name "damus-highres" + :level 'rublcst + :art-group "skel-damus-highres" + :prefix "" + :draw-frames '((min 294) (315 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "veger-highres" + :level 'rublcst + :art-group "skel-veger-highres" + :prefix "" + :draw-frames '((1919 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '(2796) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'rublcst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-fma" + :level 'lpattack + :art-group "skel-rhino-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-wheel-fma" + :level 'rublcst + :art-group "skel-rhino-wheel-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "kid" + :level 'rublcst + :art-group "skel-kid" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "kidmedallion" + :level 'rublcst + :art-group "skel-kidmedallion" + :prefix "" + :draw-frames '((1255 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "comb-rail-rider-fma" + :level 'rublcst + :art-group "skel-comb-rail-rider-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "comb-rail-rider-fma" + :level 'rublcst + :art-group "skel-comb-rail-rider-fma" + :prefix "b-" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'rublcst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "rubblec-fma" + :end-point "railb-start" + :borrow '((stadiuma 0 lpattack special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :scene-task #x105 + :on-running '(sound-play-loop "ruin-amb-mov") + :on-complete #f + ) + ) + +(defpartgroup group-rubble-missile + :id 1295 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 640) + :parts ((sp-item 4353 :binding 4352) + (sp-item 4352 :flags (sp2) :period (seconds 0.017) :length (seconds 0.017)) + (sp-item 4354) + ) + ) + +(defpart 4353 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 12) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + ) + ) + +(defpart 4352 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10) (meters 10)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 90.0 30.0) + (:g :copy r) + (:b :copy r) + (:a 64.0) + (:scalevel-x (meters 0.06666667) (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +(defpart 4354 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30) (meters 2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 100.0 28.0) + (:b 0.0) + (:a 12.0 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-rubble-missile-explode + :id 1296 + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4355 :flags (sp3)) (sp-item 4356) (sp-item 4357) (sp-item 4358 :flags (sp3))) + ) + +(defpart 4355 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30)) + (:rot-x (degrees 225)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 40.0) + (:a 32.0) + (:fade-a -0.035555556) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:userdata 40960.0) + ) + ) + +(defpart 4357 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 5.0) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.95 0.02) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4356 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 10.0) + (:scale-x (meters 1) (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9 0.09) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:func 'sparticle-2d-spline-align-instant) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4358 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:num 5.0) + (:scale-x (meters 10) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0) (meters 0.33333334)) + (:scalevel-x (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpartgroup group-fma-rhino-smoke + :id 1297 + :flags (sp0) + :bounds (static-bspherem 0 0 0 600) + :parts ((sp-item 4359 :period (seconds 200) :length (seconds 0.035)) (sp-item 4360) (sp-item 4361)) + ) + +(defpart 4359 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 40.0) + (:y (meters -3)) + (:z (meters 0) (meters 10)) + (:scale-x (meters 5) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 190.0) + (:g 150.0) + (:b 90.0) + (:a 32.0 32.0) + (:vel-x (meters 0.016666668) (meters 0.016666668)) + (:scalevel-x (meters 0.0033333334)) + (:rotvel-z (degrees -0.06666667) (degrees 0.13333334)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.021333333 -0.021333333) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +(defpart 4360 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters -3)) + (:y (meters -3)) + (:z (meters 1)) + (:scale-x (meters 0.5) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 60.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:scalevel-x (meters 0.00033333333) (meters 0.0033333334)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.94 0.02) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:next-time (seconds 1)) + (:next-launcher 4362) + (:rotate-y (degrees 0)) + ) + ) + +(defpart 4362 + :init-specs ((:scalevel-x (meters 0.00033333333) (meters 0.006666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.047407407) + ) + ) + +(defpart 4361 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 1)) + (:y (meters -3)) + (:z (meters 4)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 60.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:scalevel-x (meters 0.00033333333) (meters 0.0016666667)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.94 0.02) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:next-time (seconds 1)) + (:next-launcher 4362) + (:rotate-y (degrees 0)) + ) + ) + +(defpartgroup group-fma-rub-hover-vehicle-exhaust-glow + :id 1298 + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 4363 :flags (sp6))) + ) + +(defpart 4363 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 0.5)) + (:rot-z (degrees 0)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0 64.0) + (:b 255.0) + (:a 80.0 20.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + ) + ) diff --git a/goal_src/jak3/levels/wascity/wasstadium/sig-rider.gc b/goal_src/jak3/levels/wascity/wasstadium/sig-rider.gc index a59c05c554..d3be5ac244 100644 --- a/goal_src/jak3/levels/wascity/wasstadium/sig-rider.gc +++ b/goal_src/jak3/levels/wascity/wasstadium/sig-rider.gc @@ -127,7 +127,7 @@ (nonzero? (-> *target* pilot)) (-> self parent) (-> self parent 0) - (= *target* (vehicle-method-68 (the-as vehicle (-> self parent 0)))) + (= *target* (find-rider (the-as vehicle (-> self parent 0)))) ) (let ((v1-14 (-> *target* pilot))) (when (time-elapsed? (-> self complain-time) (seconds 3)) diff --git a/test/decompiler/reference/jak3/engine/gfx/mood/mood-funcs2_REF.gc b/test/decompiler/reference/jak3/engine/gfx/mood/mood-funcs2_REF.gc new file mode 100644 index 0000000000..569742fcbd --- /dev/null +++ b/test/decompiler/reference/jak3/engine/gfx/mood/mood-funcs2_REF.gc @@ -0,0 +1,813 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type default-interior-states +(deftype default-interior-states (structure) + () + ) + +;; definition for method 3 of type default-interior-states +(defmethod inspect ((this default-interior-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'default-interior-states) + (label cfg-4) + this + ) + +;; definition for function update-mood-default-interior +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-default-interior time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #f) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (-> arg0 state) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) 1.0) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + ) + 0 + (none) + ) + +;; definition for function update-mood-default-interior-ambient +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-default-interior-ambient time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (-> arg0 state) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) 1.0) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + ) + 0 + (none) + ) + +;; definition of type vinroom-states +(deftype vinroom-states (structure) + ((main float) + (flicker1 float) + (flicker2 float) + (warp float) + ) + ) + +;; definition for method 3 of type vinroom-states +(defmethod inspect ((this vinroom-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'vinroom-states) + (format #t "~1Tmain: ~f~%" (-> this main)) + (format #t "~1Tflicker1: ~f~%" (-> this flicker1)) + (format #t "~1Tflicker2: ~f~%" (-> this flicker2)) + (format #t "~1Twarp: ~f~%" (-> this warp)) + (label cfg-4) + this + ) + +;; definition for function update-vinroom-lights +;; WARN: Return type mismatch int vs none. +(defun update-vinroom-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (set-vector! (-> arg0 current-env-color) 48.0 60.0 96.0 255.0) + (set-vector! (-> v1-0 0 dir0 color) 0.061 0.854 1.0 1.0) + (set-vector! (-> v1-0 0 dir1 color) 0.858 0.932 1.0 1.0) + (let ((a0-4 (-> v1-0 0 dir1))) + (set! (-> a0-4 direction x) -0.6499) + (set! (-> a0-4 direction y) 0.7134) + (set! (-> a0-4 direction z) -0.2619) + (set! (-> a0-4 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 dir2 color) 0.858 0.932 1.0 1.0) + (let ((a0-6 (-> v1-0 0 dir2))) + (set! (-> a0-6 direction x) 0.4634) + (set! (-> a0-6 direction y) 0.7718) + (set! (-> a0-6 direction z) -0.4352) + (set! (-> a0-6 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 ambi color) 0.282 0.42 0.637 1.0) + (set! (-> v1-0 0 dir1 extra x) 1.0) + (set! (-> v1-0 0 dir2 extra x) 1.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-vinroom +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-vinroom time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-vinroom-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((gp-0 (the-as object (-> arg0 state)))) + (let ((s4-0 (-> arg0 light-group))) + (set! (-> arg0 times 1 w) (+ 0.875 (* 0.175 (cos (-> (the-as vinroom-states gp-0) main))))) + (set! (-> arg0 times 0 w) 1.0) + (set! (-> s4-0 0 dir0 extra x) (-> arg0 times 1 w)) + (set! (-> arg0 times 2 w) (if (< 36408.89 (-> (the-as vinroom-states gp-0) flicker1)) + 0.475 + 0.5 + ) + ) + (set! (-> s4-0 0 dir1 extra x) (-> arg0 times 2 w)) + (set! (-> arg0 times 3 w) (if (< 21845.334 (-> (the-as vinroom-states gp-0) flicker2)) + 0.475 + 0.5 + ) + ) + (set! (-> s4-0 0 dir2 extra x) (-> arg0 times 3 w)) + ) + (set! (-> arg0 times 4 w) (+ 1.2 (* 0.2 (cos (-> (the-as vinroom-states gp-0) warp))))) + (when (not (paused?)) + (let ((f0-17 (+ (-> (the-as vinroom-states gp-0) main) (* 18204.445 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) main) (- f0-17 (* (the float (the int (/ f0-17 65536.0))) 65536.0))) + ) + (let ((f0-20 (+ (-> (the-as vinroom-states gp-0) flicker1) (* 196608.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) flicker1) + (- f0-20 (* (the float (the int (/ f0-20 65536.0))) 65536.0)) + ) + ) + (let ((f0-23 (+ (-> (the-as vinroom-states gp-0) flicker2) (* 163840.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) flicker2) + (- f0-23 (* (the float (the int (/ f0-23 65536.0))) 65536.0)) + ) + ) + (let ((f0-26 (+ (-> (the-as vinroom-states gp-0) warp) (* 32768.0 (seconds-per-frame))))) + (set! (-> (the-as vinroom-states gp-0) warp) (- f0-26 (* (the float (the int (/ f0-26 65536.0))) 65536.0))) + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition of type hideout-states +(deftype hideout-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + ) + ) + +;; definition for method 3 of type hideout-states +(defmethod inspect ((this hideout-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'hideout-states) + (format #t "~1Tflame0: #~%" (-> this flame0)) + (format #t "~1Tflame1: #~%" (-> this flame1)) + (label cfg-4) + this + ) + +;; definition for function update-hideout-lights +;; WARN: Return type mismatch int vs none. +(defun update-hideout-lights ((arg0 mood-context)) + (let ((a2-0 (-> arg0 light-group)) + (a1-0 (-> arg0 light-group 1)) + (v1-0 (-> arg0 light-group 2)) + ) + (set-vector! (-> a2-0 0 dir0 color) 0.0 0.0 0.0 1.0) + (set-vector! (-> a2-0 0 ambi color) 0.22 0.219 0.35 1.0) + (let ((a0-3 (-> a1-0 dir0))) + (set! (-> a0-3 direction x) 0.0) + (set! (-> a0-3 direction y) -1.0) + (set! (-> a0-3 direction z) 0.0) + (set! (-> a0-3 direction w) 1.0) + ) + (set-vector! (-> a1-0 dir0 color) 1.0 0.8 0.4 1.0) + (set! (-> a1-0 dir0 extra x) 1.0) + (set-vector! (-> a1-0 ambi color) 0.22 0.219 0.35 1.0) + (set! (-> a1-0 ambi extra x) 1.0) + (let ((a0-8 (-> v1-0 dir0))) + (set! (-> a0-8 direction x) 0.331) + (set! (-> a0-8 direction y) 0.943) + (set! (-> a0-8 direction z) 0.0) + (set! (-> a0-8 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir0 color) 0.256 0.685 0.573 1.0) + (set! (-> v1-0 dir0 extra x) 1.0) + (let ((a0-11 (-> v1-0 dir1))) + (set! (-> a0-11 direction x) -1.0) + (set! (-> a0-11 direction y) 0.0) + (set! (-> a0-11 direction z) 0.0) + (set! (-> a0-11 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir1 color) 0.202 0.205 0.15 1.0) + (set! (-> v1-0 dir1 extra x) 1.0) + (set-vector! (-> v1-0 ambi color) 0.22 0.219 0.35 1.0) + (set! (-> v1-0 ambi extra x) 1.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-hideout +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-hideout time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-hideout-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (cond + ((movie?) + (update-mood-flames arg0 1 2 0 0.333 0.0005859375 2.0) + (update-mood-flames arg0 3 2 8 0.333 0.0005859375 3.0) + ) + (else + (update-mood-flames arg0 1 2 0 0.333 0.001953125 2.0) + (update-mood-flames arg0 3 2 8 0.333 0.001953125 3.0) + ) + ) + (let ((a0-10 (new 'stack-no-clear 'sphere)) + (a1-5 (-> *math-camera* trans)) + ) + (let ((v1-6 a0-10)) + (set! (-> v1-6 x) 4898816.0) + (set! (-> v1-6 y) 32768.0) + (set! (-> v1-6 z) 245760.0) + (set! (-> v1-6 r) 1.0) + ) + (let ((f0-5 (get-sphere-interp a0-10 a1-5 61440.0 69632.0))) + (set-vector! (-> arg0 times 0) 1.0 1.0 1.0 1.0) + (vector-lerp! + (the-as vector (-> arg0 times)) + (the-as vector (-> arg0 times)) + (the-as vector (-> *level* level-default mood-context times)) + f0-5 + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition of type hiphog-states +(deftype hiphog-states (structure) + ((door entity) + (door-current-interp float) + (door-target-interp float) + ) + ) + +;; definition for method 3 of type hiphog-states +(defmethod inspect ((this hiphog-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'hiphog-states) + (format #t "~1Tdoor: ~A~%" (-> this door)) + (format #t "~1Tdoor-current-interp: ~f~%" (-> this door-current-interp)) + (format #t "~1Tdoor-target-interp: ~f~%" (-> this door-target-interp)) + (label cfg-4) + this + ) + +;; definition for function init-mood-hiphog +;; WARN: Return type mismatch entity vs none. +(defun init-mood-hiphog ((arg0 mood-context)) + (let ((gp-0 (-> arg0 state))) + (set! (-> gp-0 0) (the-as uint (entity-by-name "hip-door-b-1"))) + ) + (none) + ) + +;; definition for function update-hiphog-lights +;; WARN: Return type mismatch int vs none. +(defun update-hiphog-lights ((arg0 mood-context)) + (let ((t1-0 (-> arg0 light-group)) + (t0-0 (-> arg0 light-group 1)) + (a3-0 (-> arg0 light-group 2)) + (a2-0 (-> arg0 light-group 3)) + (a1-0 (-> arg0 light-group 4)) + (v1-0 (-> arg0 light-group 5)) + ) + (set-vector! (-> t1-0 0 dir0 color) 0.0 0.0 0.0 1.0) + (set-vector! (-> t1-0 0 ambi color) 0.11 0.109 0.175 1.0) + (set-vector! (-> t0-0 dir0 color) 0.945 0.648 0.523 1.0) + (let ((a0-4 (-> t0-0 dir0))) + (set! (-> a0-4 direction x) 0.0) + (set! (-> a0-4 direction y) 1.0) + (set! (-> a0-4 direction z) 0.0) + (set! (-> a0-4 direction w) 1.0) + ) + (set! (-> t0-0 dir0 extra x) 1.0) + (set-vector! (-> t0-0 ambi color) 0.197 0.124 0.062 1.0) + (set! (-> t0-0 ambi extra x) 1.0) + (set-vector! (-> a3-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a3-0 dir1 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a3-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-11 (-> a3-0 dir0))) + (set! (-> a0-11 direction x) 0.0) + (set! (-> a0-11 direction y) 1.0) + (set! (-> a0-11 direction z) 0.0) + (set! (-> a0-11 direction w) 1.0) + ) + (let ((a0-12 (-> a3-0 dir1))) + (set! (-> a0-12 direction x) 0.0) + (set! (-> a0-12 direction y) -1.0) + (set! (-> a0-12 direction z) 0.0) + (set! (-> a0-12 direction w) 1.0) + ) + (set! (-> a3-0 dir0 extra x) 1.0) + (set! (-> a3-0 dir1 extra x) 1.0) + (set! (-> a3-0 ambi extra x) 1.0) + (set-vector! (-> a2-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a2-0 dir1 color) 0.02 0.97 0.0 1.0) + (set-vector! (-> a2-0 dir2 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a2-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-20 (-> a2-0 dir0))) + (set! (-> a0-20 direction x) 0.0) + (set! (-> a0-20 direction y) 1.0) + (set! (-> a0-20 direction z) 0.0) + (set! (-> a0-20 direction w) 1.0) + ) + (let ((a0-21 (-> a2-0 dir1))) + (set! (-> a0-21 direction x) 0.0) + (set! (-> a0-21 direction y) -1.0) + (set! (-> a0-21 direction z) 0.0) + (set! (-> a0-21 direction w) 1.0) + ) + (let ((a0-22 (-> a2-0 dir2))) + (set! (-> a0-22 direction x) 1.0) + (set! (-> a0-22 direction y) 0.0) + (set! (-> a0-22 direction z) 0.0) + (set! (-> a0-22 direction w) 1.0) + ) + (set! (-> a2-0 dir0 extra x) 1.0) + (set! (-> a2-0 dir1 extra x) 1.0) + (set! (-> a2-0 dir2 extra x) 1.0) + (set! (-> a2-0 ambi extra x) 1.0) + (set-vector! (-> a1-0 dir0 color) 0.945 0.648 0.523 1.0) + (set-vector! (-> a1-0 dir1 color) 0.02 0.97 0.0 1.0) + (set-vector! (-> a1-0 dir2 color) 1.0 0.237 0.386 1.0) + (set-vector! (-> a1-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-31 (-> a1-0 dir0))) + (set! (-> a0-31 direction x) 0.0) + (set! (-> a0-31 direction y) 1.0) + (set! (-> a0-31 direction z) 0.0) + (set! (-> a0-31 direction w) 1.0) + ) + (let ((a0-32 (-> a1-0 dir1))) + (set! (-> a0-32 direction x) 0.0) + (set! (-> a0-32 direction y) -1.0) + (set! (-> a0-32 direction z) 0.0) + (set! (-> a0-32 direction w) 1.0) + ) + (let ((a0-33 (-> a1-0 dir2))) + (set! (-> a0-33 direction x) -1.0) + (set! (-> a0-33 direction y) 0.0) + (set! (-> a0-33 direction z) 0.0) + (set! (-> a0-33 direction w) 1.0) + ) + (set! (-> a1-0 dir0 extra x) 1.0) + (set! (-> a1-0 dir1 extra x) 1.0) + (set! (-> a1-0 dir2 extra x) 1.0) + (set! (-> a1-0 ambi extra x) 1.0) + (set-vector! (-> v1-0 dir0 color) 0.9992 0.6868 0.7258 1.0) + (set-vector! (-> v1-0 dir1 color) 0.9992 0.6868 0.7258 1.0) + (set-vector! (-> v1-0 dir2 color) 0.9 0.9 0.9 1.0) + (set-vector! (-> v1-0 ambi color) 0.197 0.124 0.062 1.0) + (let ((a0-42 (-> v1-0 dir0))) + (set! (-> a0-42 direction x) 0.028) + (set! (-> a0-42 direction y) 0.731) + (set! (-> a0-42 direction z) -0.681) + (set! (-> a0-42 direction w) 1.0) + ) + (let ((a0-43 (-> v1-0 dir1))) + (set! (-> a0-43 direction x) -0.472) + (set! (-> a0-43 direction y) 0.719) + (set! (-> a0-43 direction z) 0.519) + (set! (-> a0-43 direction w) 1.0) + ) + (let ((a0-44 (-> v1-0 dir2))) + (set! (-> a0-44 direction x) 0.242) + (set! (-> a0-44 direction y) 0.786) + (set! (-> a0-44 direction z) 0.567) + (set! (-> a0-44 direction w) 1.0) + ) + (set! (-> v1-0 dir0 extra x) 1.0) + (set! (-> v1-0 dir1 extra x) 0.75) + (set! (-> v1-0 dir2 extra x) 0.0) + (set! (-> v1-0 ambi extra x) 1.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-hiphog +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-hiphog time-of-day-proc ((arg0 mood-context) (arg1 float)) + (update-mood-interior arg0 #t) + (update-hiphog-lights arg0) + (set! (-> arg0 light-group 0 dir0 extra x) 0.0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (let ((s5-0 (the-as hiphog-states (-> arg0 state)))) + (if (not (-> s5-0 door)) + (set! (-> s5-0 door) (entity-by-name "hip-door-b-1")) + ) + (if (and (-> s5-0 door) (logtest? (-> s5-0 door extra perm status) (entity-perm-status subtask-complete))) + (set! (-> s5-0 door-target-interp) 1.0) + (set! (-> s5-0 door-target-interp) 0.0) + ) + (vector4-lerp! + (the-as vector (-> arg0 times)) + (the-as vector (-> arg0 times)) + (the-as vector (-> *level* level-default mood-context times)) + (-> s5-0 door-current-interp) + ) + (if (not (paused?)) + (seek! (-> s5-0 door-current-interp) (-> s5-0 door-target-interp) (seconds-per-frame)) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition of type onintent-states +(deftype onintent-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + (flame2 flames-state :inline) + (green-flame flames-state :inline) + (totem0 flames-state :inline) + (totem1 flames-state :inline) + ) + ) + +;; definition for method 3 of type onintent-states +(defmethod inspect ((this onintent-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'onintent-states) + (format #t "~1Tflame0: #~%" (-> this flame0)) + (format #t "~1Tflame1: #~%" (-> this flame1)) + (format #t "~1Tflame2: #~%" (-> this flame2)) + (format #t "~1Tgreen-flame: #~%" (-> this green-flame)) + (format #t "~1Ttotem0: #~%" (-> this totem0)) + (format #t "~1Ttotem1: #~%" (-> this totem1)) + (label cfg-4) + this + ) + +;; definition for function update-onintent-lights +;; WARN: Return type mismatch int vs none. +(defun update-onintent-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (set-vector! (-> v1-0 0 dir0 color) 0.822 0.694 0.613 1.0) + (set-vector! (-> v1-0 0 ambi color) 0.21 0.188 0.163 1.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-onintent +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-onintent time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-onintent-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-flames arg0 2 1 0 0.75 0.0009765625 2.0) + (update-mood-flames arg0 3 1 8 0.75 0.0009765625 3.0) + (update-mood-flames arg0 4 1 16 0.75 0.0009765625 4.0) + (update-mood-flames arg0 5 1 24 0.75 0.0009765625 2.0) + (update-mood-flames arg0 6 1 32 0.333 0.001953125 2.0) + (update-mood-flames arg0 7 1 40 0.75 0.0009765625 2.0) + ) + ) + 0 + (none) + ) + +;; definition of type oracle-states +(deftype oracle-states (structure) + ((flame0 flames-state :inline) + (flame1 flames-state :inline) + (flame2 flames-state :inline) + (blue-flame flames-state :inline) + (door-entity entity) + (door-current float) + (door-target float) + (purple-flag symbol) + (purple float) + (purple-noise float) + ) + ) + +;; definition for method 3 of type oracle-states +(defmethod inspect ((this oracle-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'oracle-states) + (format #t "~1Tflame0: #~%" (-> this flame0)) + (format #t "~1Tflame1: #~%" (-> this flame1)) + (format #t "~1Tflame2: #~%" (-> this flame2)) + (format #t "~1Tblue-flame: #~%" (-> this blue-flame)) + (format #t "~1Tdoor-entity: ~A~%" (-> this door-entity)) + (format #t "~1Tdoor-current: ~f~%" (-> this door-current)) + (format #t "~1Tdoor-target: ~f~%" (-> this door-target)) + (format #t "~1Tpurple-flag: ~A~%" (-> this purple-flag)) + (format #t "~1Tpurple: ~f~%" (-> this purple)) + (format #t "~1Tpurple-noise: ~f~%" (-> this purple-noise)) + (label cfg-4) + this + ) + +;; definition for function init-mood-oracle +(defun init-mood-oracle ((arg0 mood-context)) + (let ((v1-0 (-> arg0 state))) + (set! (-> v1-0 8) (the-as uint #f)) + (set! (-> v1-0 9) (the-as uint 0.0)) + (set! (-> v1-0 10) (the-as uint 0.0)) + (set! (-> v1-0 11) (the-as uint #f)) + ) + #f + ) + +;; definition for function update-mood-oracle +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-oracle time-of-day-proc ((arg0 mood-context)) + (copy-mood-exterior-ambi arg0 #f) + (update-mood-interior arg0 #t) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((s5-0 (the-as oracle-states (-> arg0 state)))) + (cond + ((-> s5-0 door-entity) + (if (logtest? (-> s5-0 door-entity extra perm status) (entity-perm-status subtask-complete)) + (set! (-> s5-0 door-target) 1.0) + (set! (-> s5-0 door-target) 0.0) + ) + ) + (else + (set! (-> s5-0 door-entity) (entity-by-name "oracle-door-1")) + ) + ) + (when (not (paused?)) + (seek! (-> s5-0 door-current) (-> s5-0 door-target) (* 4.0 (seconds-per-frame))) + (cond + ((-> s5-0 purple-flag) + (set! (-> s5-0 purple) (fmin 1.9 (+ (-> s5-0 purple) (* 2.0 (seconds-per-frame))))) + (set! (-> s5-0 purple-noise) (rand-vu-float-range 0.0 (-> s5-0 purple))) + ) + (else + (set! (-> s5-0 purple) (fmax 0.0 (- (-> s5-0 purple) (* 2.0 (seconds-per-frame))))) + (set! (-> s5-0 purple-noise) 0.0) + ) + ) + ) + (set! (-> arg0 times 0 w) (-> s5-0 door-current)) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-flames arg0 2 1 0 0.75 0.0009765625 2.0) + (update-mood-flames arg0 3 1 8 0.75 0.0009765625 3.0) + (update-mood-flames arg0 4 1 16 0.75 0.0009765625 4.0) + (update-mood-flames arg0 5 1 24 0.75 0.0009765625 2.0) + (set! (-> arg0 times 6 w) (+ (-> s5-0 purple) (-> s5-0 purple-noise))) + ) + ) + ) + 0 + (none) + ) + +;; definition for function set-oracle-purple-flag! +(defun set-oracle-purple-flag! ((arg0 symbol)) + (let ((v1-1 (level-get *level* 'oracle))) + (when v1-1 + (set! (-> v1-1 mood-context state 11) (the-as uint arg0)) + arg0 + ) + ) + ) + +;; definition of type gungame-states +(deftype gungame-states (structure) + ((florescent florescent-state :inline) + ) + ) + +;; definition for method 3 of type gungame-states +(defmethod inspect ((this gungame-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'gungame-states) + (format #t "~1Tflorescent: #~%" (-> this florescent)) + (label cfg-4) + this + ) + +;; definition for function update-gungame-lights +;; WARN: Return type mismatch int vs none. +(defun update-gungame-lights ((arg0 mood-context)) + (let ((v1-0 (-> arg0 light-group))) + (let ((a0-1 (-> v1-0 0))) + (set! (-> a0-1 dir0 direction x) 0.0) + (set! (-> a0-1 dir0 direction y) 0.955) + (set! (-> a0-1 dir0 direction z) 0.3) + (set! (-> a0-1 dir0 direction w) 1.0) + ) + (set-vector! (-> v1-0 0 dir0 color) 1.0 1.0 0.7 1.0) + (set-vector! (-> v1-0 0 ambi color) 0.65 0.589 0.406 1.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-gungame +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-gungame time-of-day-proc ((arg0 mood-context)) + (update-mood-interior arg0 #t) + (update-gungame-lights arg0) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (set! (-> arg0 times 0 w) 1.0) + (set! (-> arg0 times 1 w) 1.0) + ) + ) + 0 + (none) + ) + +;; definition of type garage-states +(deftype garage-states (structure) + () + ) + +;; definition for method 3 of type garage-states +(defmethod inspect ((this garage-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'garage-states) + (label cfg-4) + this + ) + +;; definition for function init-mood-garage +(defun init-mood-garage ((arg0 mood-context)) + (-> arg0 state) + #f + ) + +;; definition for function update-garage-lights +;; WARN: Return type mismatch int vs none. +(defun update-garage-lights ((arg0 mood-context)) + (let ((a1-0 (-> *level* level-default mood-context)) + (a0-2 (-> arg0 current-fog)) + ) + (mem-copy! (the-as pointer a0-2) (the-as pointer a1-0) 48) + ) + (let ((s4-0 (-> *level* level-default mood-context light-group)) + (a1-1 (-> arg0 light-group)) + (s5-0 (-> arg0 light-group 1)) + (gp-1 (-> arg0 light-group 2)) + ) + (mem-copy! (the-as pointer s5-0) (the-as pointer a1-1) 192) + (set! (-> s5-0 dir0 extra x) 0.5) + (set! (-> s5-0 ambi extra x) 0.0) + (mem-copy! (the-as pointer gp-1) (the-as pointer s4-0) 192) + (set! (-> gp-1 dir0 extra x) 0.0) + (set! (-> gp-1 dir1 extra x) 0.0) + (set! (-> gp-1 dir2 extra x) 0.0) + ) + 0 + (none) + ) + +;; definition for function update-mood-garage +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-garage time-of-day-proc ((arg0 mood-context) (arg1 object) (arg2 int)) + (copy-mood-exterior-ambi arg0 #f) + (update-mood-interior arg0 #t) + (update-garage-lights arg0) + (when (and (= (-> *level* level arg2 status) 'active) + (< (the-as uint (-> *time-of-day-context* mode)) (the-as uint 9)) + ) + (-> arg0 state) + (set! (-> arg0 times 6 w) 0.75) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + ) + 0 + (none) + ) + +;; definition of type freehq-states +(deftype freehq-states (structure) + ((flicker float) + ) + ) + +;; definition for method 3 of type freehq-states +(defmethod inspect ((this freehq-states)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'freehq-states) + (format #t "~1Tflicker: ~f~%" (-> this flicker)) + (label cfg-4) + this + ) + +;; definition for function update-mood-freehq +;; WARN: Return type mismatch int vs none. +(defbehavior update-mood-freehq time-of-day-proc ((arg0 mood-context) (arg1 object) (arg2 int)) + (update-mood-interior-ambient arg0 #f 0.5) + (cond + ((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode))) + (palette-select-special arg0) + ) + (else + (let ((gp-0 (the-as object (-> arg0 state)))) + (set! (-> arg0 times 1 w) 1.0) + (set! (-> arg0 times 2 w) 1.0) + (set! (-> arg0 times 3 w) (if (< 36408.89 (-> (the-as freehq-states gp-0) flicker)) + 0.95 + 1.0 + ) + ) + (set! (-> arg0 times 4 w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 times 6 w) 1.0) + (set! (-> arg0 times 7 w) 1.0) + (when (not (paused?)) + (let ((f0-9 (+ (-> (the-as freehq-states gp-0) flicker) (* 196608.0 (seconds-per-frame))))) + (set! (-> (the-as freehq-states gp-0) flicker) (- f0-9 (* (the float (the int (/ f0-9 65536.0))) 65536.0))) + ) + ) + ) + ) + ) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-data_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-data_REF.gc new file mode 100644 index 0000000000..cc310a97fb --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-data_REF.gc @@ -0,0 +1,3112 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *blow-tower-paths*, type (array blow-tower-path) +(define *blow-tower-paths* + (new 'static 'boxed-array :type blow-tower-path + (new 'static 'blow-tower-path + :pts (new 'static 'inline-array vector 211 + (new 'static 'vector :x 2284351.0 :y 34682.88 :z -2180845.2 :w 1.0) + (new 'static 'vector :x 2298875.5 :y 30620.465 :z -2062090.1 :w 1.0) + (new 'static 'vector :x 2123357.8 :y 30620.465 :z -2032619.4 :w 1.0) + (new 'static 'vector :x 2072510.2 :y 30792.906 :z -2031001.4 :w 1.0) + (new 'static 'vector :x 1970392.9 :y 35240.344 :z -2030440.2 :w 1.0) + (new 'static 'vector :x 1862115.1 :y 30372.658 :z -2026831.6 :w 1.0) + (new 'static 'vector :x 1781915.5 :y 30626.61 :z -1851387.8 :w 1.0) + (new 'static 'vector :x 1751539.5 :y 34313.008 :z -1762180.9 :w 1.0) + (new 'static 'vector :x 1722179.4 :y 22528.0 :z -1597853.5 :w 1.0) + (new 'static 'vector :x 1856606.0 :y 33571.633 :z -1413353.2 :w 1.0) + (new 'static 'vector :x 2261196.5 :y 30626.61 :z -1380040.5 :w 1.0) + (new 'static 'vector :x 2311696.0 :y 30612.684 :z -1102212.9 :w 1.0) + (new 'static 'vector :x 2362576.5 :y 52257.17 :z -951111.56 :w 1.0) + (new 'static 'vector :x 2545942.2 :y 28762.52 :z -863088.56 :w 1.0) + (new 'static 'vector :x 2606096.2 :y 33117.797 :z -431804.38 :w 1.0) + (new 'static 'vector :x 2650144.5 :y 34299.082 :z -176179.6 :w 1.0) + (new 'static 'vector :x 2797666.0 :y 34299.082 :z -70122.28 :w 1.0) + (new 'static 'vector :x 2927390.2 :y 34313.008 :z -86630.39 :w 1.0) + (new 'static 'vector :x 2942742.2 :y 30579.096 :z -198454.45 :w 1.0) + (new 'static 'vector :x 2924150.5 :y 57072.43 :z -268357.6 :w 1.0) + (new 'static 'vector :x 2936139.5 :y 51054.18 :z -312295.78 :w 1.0) + (new 'static 'vector :x 3006385.8 :y 56557.562 :z -314998.75 :w 1.0) + (new 'static 'vector :x 3170877.0 :y 55698.223 :z -183322.6 :w 1.0) + (new 'static 'vector :x 3290824.2 :y 55698.223 :z -47499.258 :w 1.0) + (new 'static 'vector :x 3279101.5 :y 55698.223 :z 110277.83 :w 1.0) + (new 'static 'vector :x 3316756.2 :y 115752.54 :z 158990.31 :w 1.0) + (new 'static 'vector :x 3379027.5 :y 128403.85 :z 232089.17 :w 1.0) + (new 'static 'vector :x 3441991.2 :y 122452.77 :z 291556.5 :w 1.0) + (new 'static 'vector :x 3474099.8 :y 59388.72 :z 380325.84 :w 1.0) + (new 'static 'vector :x 3494739.5 :y 60537.645 :z 423456.72 :w 1.0) + (new 'static 'vector :x 3560107.8 :y 55702.316 :z 462741.47 :w 1.0) + (new 'static 'vector :x 3759947.5 :y 55697.812 :z 609275.8 :w 1.0) + (new 'static 'vector :x 3889282.8 :y 55692.082 :z 670547.9 :w 1.0) + (new 'static 'vector :x 4297399.5 :y 55698.223 :z 806838.2 :w 1.0) + (new 'static 'vector :x 4368711.0 :y 60867.78 :z 881168.3 :w 1.0) + (new 'static 'vector :x 4296171.0 :y 59382.574 :z 973508.5 :w 1.0) + (new 'static 'vector :x 4152360.5 :y 55317.703 :z 1028317.06 :w 1.0) + (new 'static 'vector :x 3908890.2 :y 59382.574 :z 994672.56 :w 1.0) + (new 'static 'vector :x 3627044.5 :y 63075.938 :z 962285.5 :w 1.0) + (new 'static 'vector :x 3488636.5 :y 55672.824 :z 1043791.75 :w 1.0) + (new 'static 'vector :x 3414597.2 :y 59378.477 :z 1216995.1 :w 1.0) + (new 'static 'vector :x 3391438.5 :y 59384.62 :z 1344753.5 :w 1.0) + (new 'static 'vector :x 3496771.2 :y 59382.574 :z 1450377.0 :w 1.0) + (new 'static 'vector :x 3672805.0 :y 59382.574 :z 1480912.8 :w 1.0) + (new 'static 'vector :x 3948596.8 :y 59382.574 :z 1455550.2 :w 1.0) + (new 'static 'vector :x 4141342.2 :y 64478.406 :z 1446076.2 :w 1.0) + (new 'static 'vector :x 4313169.0 :y 59386.26 :z 1333575.5 :w 1.0) + (new 'static 'vector :x 4430519.5 :y 59386.26 :z 1387851.6 :w 1.0) + (new 'static 'vector :x 4504616.0 :y 55251.625 :z 1557544.8 :w 1.0) + (new 'static 'vector :x 4595342.5 :y 63128.574 :z 1692610.4 :w 1.0) + (new 'static 'vector :x 4610825.5 :y 55264.086 :z 1791025.0 :w 1.0) + (new 'static 'vector :x 4510883.0 :y 56889.023 :z 1851731.8 :w 1.0) + (new 'static 'vector :x 4208311.5 :y 56889.023 :z 1825701.8 :w 1.0) + (new 'static 'vector :x 4068638.2 :y 55270.098 :z 1798389.6 :w 1.0) + (new 'static 'vector :x 3952295.5 :y 56889.023 :z 1860304.8 :w 1.0) + (new 'static 'vector :x 3932602.0 :y 55270.098 :z 1920982.9 :w 1.0) + (new 'static 'vector :x 3984486.0 :y 55270.098 :z 2042687.2 :w 1.0) + (new 'static 'vector :x 4008124.0 :y 55270.098 :z 2246307.5 :w 1.0) + (new 'static 'vector :x 4199136.5 :y 56889.023 :z 2269486.8 :w 1.0) + (new 'static 'vector :x 4348435.5 :y 55270.098 :z 2299633.2 :w 1.0) + (new 'static 'vector :x 4471234.0 :y 55270.098 :z 2318339.8 :w 1.0) + (new 'static 'vector :x 4558765.5 :y 55270.098 :z 2349788.8 :w 1.0) + (new 'static 'vector :x 4634009.0 :y 55270.098 :z 2461978.2 :w 1.0) + (new 'static 'vector :x 4572855.5 :y 55270.098 :z 2657312.5 :w 1.0) + (new 'static 'vector :x 4402830.5 :y 55859.625 :z 2685579.0 :w 1.0) + (new 'static 'vector :x 4297072.0 :y 56823.1 :z 2609430.2 :w 1.0) + (new 'static 'vector :x 4189388.5 :y 55270.098 :z 2603003.5 :w 1.0) + (new 'static 'vector :x 4084485.8 :y 55270.098 :z 2595294.8 :w 1.0) + (new 'static 'vector :x 3781357.2 :y 55270.098 :z 2575290.0 :w 1.0) + (new 'static 'vector :x 3735977.5 :y 55270.098 :z 2575462.0 :w 1.0) + (new 'static 'vector :x 3625058.0 :y 55270.098 :z 2602192.5 :w 1.0) + (new 'static 'vector :x 3502182.0 :y 55270.098 :z 2680033.0 :w 1.0) + (new 'static 'vector :x 3479101.0 :y 56889.023 :z 2816200.2 :w 1.0) + (new 'static 'vector :x 3505852.0 :y 55859.625 :z 2944884.2 :w 1.0) + (new 'static 'vector :x 3519782.5 :y 55270.098 :z 3078045.2 :w 1.0) + (new 'static 'vector :x 3522334.2 :y 55679.38 :z 3287269.0 :w 1.0) + (new 'static 'vector :x 3534425.8 :y 59365.78 :z 3447136.0 :w 1.0) + (new 'static 'vector :x 3626749.5 :y 59365.78 :z 3496554.0 :w 1.0) + (new 'static 'vector :x 3744694.0 :y 59365.78 :z 3490537.0 :w 1.0) + (new 'static 'vector :x 3864776.2 :y 59365.78 :z 3492318.8 :w 1.0) + (new 'static 'vector :x 3925475.0 :y 59365.78 :z 3519803.0 :w 1.0) + (new 'static 'vector :x 3928440.5 :y 59365.78 :z 3613687.5 :w 1.0) + (new 'static 'vector :x 3928313.5 :y 55679.38 :z 3668188.8 :w 1.0) + (new 'static 'vector :x 3923934.8 :y 57298.527 :z 3873595.0 :w 1.0) + (new 'static 'vector :x 3926290.0 :y 55679.38 :z 4071341.8 :w 1.0) + (new 'static 'vector :x 3932016.2 :y 55679.38 :z 4189757.0 :w 1.0) + (new 'static 'vector :x 3912310.5 :y 55679.38 :z 4367277.5 :w 1.0) + (new 'static 'vector :x 3809218.2 :y 55679.38 :z 4473118.0 :w 1.0) + (new 'static 'vector :x 3655073.5 :y 55679.38 :z 4506009.0 :w 1.0) + (new 'static 'vector :x 3451191.0 :y 55679.38 :z 4479180.0 :w 1.0) + (new 'static 'vector :x 3369152.2 :y 56247.086 :z 4516412.5 :w 1.0) + (new 'static 'vector :x 3358433.0 :y 55679.38 :z 4653915.5 :w 1.0) + (new 'static 'vector :x 3333517.0 :y 55679.38 :z 4770651.5 :w 1.0) + (new 'static 'vector :x 3272965.8 :y 55679.38 :z 4828528.0 :w 1.0) + (new 'static 'vector :x 3103878.8 :y 55667.91 :z 4857323.0 :w 1.0) + (new 'static 'vector :x 3046293.2 :y 40734.305 :z 5003959.5 :w 1.0) + (new 'static 'vector :x 3015560.8 :y 40971.875 :z 5205360.0 :w 1.0) + (new 'static 'vector :x 2987519.8 :y 40469.703 :z 5411757.5 :w 1.0) + (new 'static 'vector :x 2995908.2 :y 40469.703 :z 5495848.5 :w 1.0) + (new 'static 'vector :x 2941652.5 :y 54501.78 :z 5584485.5 :w 1.0) + (new 'static 'vector :x 2763075.2 :y 54503.01 :z 5716991.5 :w 1.0) + (new 'static 'vector :x 2578927.2 :y 54503.01 :z 5846302.0 :w 1.0) + (new 'static 'vector :x 2448846.5 :y 54498.504 :z 5947432.0 :w 1.0) + (new 'static 'vector :x 2381623.0 :y 40217.39 :z 6009159.0 :w 1.0) + (new 'static 'vector :x 2304003.8 :y 40153.492 :z 6071377.0 :w 1.0) + (new 'static 'vector :x 2207207.0 :y 22528.0 :z 6131097.0 :w 1.0) + (new 'static 'vector :x 2073190.2 :y 22528.0 :z 6246112.5 :w 1.0) + (new 'static 'vector :x 1892274.0 :y 22528.0 :z 6323568.0 :w 1.0) + (new 'static 'vector :x 1656377.1 :y 22528.0 :z 6414786.0 :w 1.0) + (new 'static 'vector :x 1451335.5 :y 22528.0 :z 6523657.5 :w 1.0) + (new 'static 'vector :x 1173213.0 :y 22528.0 :z 6515998.0 :w 1.0) + (new 'static 'vector :x 839057.3 :y 22528.0 :z 6422650.0 :w 1.0) + (new 'static 'vector :x 482090.97 :y 22528.0 :z 6302023.0 :w 1.0) + (new 'static 'vector :x 338103.88 :y 22528.0 :z 6004162.0 :w 1.0) + (new 'static 'vector :x 58911.94 :y 22528.0 :z 5562203.5 :w 1.0) + (new 'static 'vector :x -433536.97 :y 54653.742 :z 5685493.0 :w 1.0) + (new 'static 'vector :x -571903.94 :y 22528.0 :z 6040329.5 :w 1.0) + (new 'static 'vector :x -758407.06 :y 47869.13 :z 6212238.5 :w 1.0) + (new 'static 'vector :x -836186.0 :y 54528.816 :z 6277774.5 :w 1.0) + (new 'static 'vector :x -993402.8 :y 54571.004 :z 6490357.0 :w 1.0) + (new 'static 'vector :x -980164.5 :y 54371.12 :z 6730710.5 :w 1.0) + (new 'static 'vector :x -700047.25 :y 22528.0 :z 6827212.0 :w 1.0) + (new 'static 'vector :x -328246.44 :y 22528.0 :z 6976347.5 :w 1.0) + (new 'static 'vector :x -31220.527 :y 61626.363 :z 7261429.0 :w 1.0) + (new 'static 'vector :x 140720.92 :y 61626.363 :z 7397334.5 :w 1.0) + (new 'static 'vector :x 355214.9 :y 61626.363 :z 7370997.0 :w 1.0) + (new 'static 'vector :x 619790.25 :y 22528.0 :z 7325081.0 :w 1.0) + (new 'static 'vector :x 816648.1 :y 22528.0 :z 7138713.0 :w 1.0) + (new 'static 'vector :x 873496.5 :y 22528.0 :z 7018413.5 :w 1.0) + (new 'static 'vector :x 1169989.5 :y 36331.11 :z 6973521.0 :w 1.0) + (new 'static 'vector :x 1433804.6 :y 54399.793 :z 6944275.5 :w 1.0) + (new 'static 'vector :x 1534435.1 :y 54398.973 :z 6996827.5 :w 1.0) + (new 'static 'vector :x 1609674.6 :y 54391.19 :z 7095090.5 :w 1.0) + (new 'static 'vector :x 1570131.8 :y 54396.105 :z 7279410.5 :w 1.0) + (new 'static 'vector :x 1415901.0 :y 54392.008 :z 7390944.5 :w 1.0) + (new 'static 'vector :x 1240964.9 :y 54396.926 :z 7352974.5 :w 1.0) + (new 'static 'vector :x 1168371.5 :y 54410.85 :z 7214161.0 :w 1.0) + (new 'static 'vector :x 1239793.5 :y 54392.418 :z 6961110.5 :w 1.0) + (new 'static 'vector :x 1520422.8 :y 54427.234 :z 7036354.0 :w 1.0) + (new 'static 'vector :x 1608384.4 :y 54392.418 :z 7180164.5 :w 1.0) + (new 'static 'vector :x 1508990.8 :y 54388.73 :z 7364648.0 :w 1.0) + (new 'static 'vector :x 1320267.6 :y 54385.863 :z 7392787.5 :w 1.0) + (new 'static 'vector :x 970325.94 :y 22528.0 :z 7280885.0 :w 1.0) + (new 'static 'vector :x 759111.56 :y 93739.41 :z 7153622.5 :w 1.0) + (new 'static 'vector :x 270273.28 :y 54450.17 :z 7012843.0 :w 1.0) + (new 'static 'vector :x -20518.5 :y 56721.812 :z 6964469.0 :w 1.0) + (new 'static 'vector :x -147873.77 :y 56250.363 :z 6875422.0 :w 1.0) + (new 'static 'vector :x -367748.66 :y 22528.0 :z 6666526.0 :w 1.0) + (new 'static 'vector :x -523763.66 :y 22528.0 :z 6410034.5 :w 1.0) + (new 'static 'vector :x -666156.94 :y 22528.0 :z 6231244.0 :w 1.0) + (new 'static 'vector :x -758636.44 :y 40622.484 :z 6130318.5 :w 1.0) + (new 'static 'vector :x -839561.1 :y 40706.453 :z 6041886.0 :w 1.0) + (new 'static 'vector :x -1048207.25 :y 54494.41 :z 5860105.5 :w 1.0) + (new 'static 'vector :x -1284992.9 :y 54497.688 :z 5717687.5 :w 1.0) + (new 'static 'vector :x -1451720.5 :y 40467.656 :z 5546475.0 :w 1.0) + (new 'static 'vector :x -1462525.8 :y 40434.07 :z 5409750.5 :w 1.0) + (new 'static 'vector :x -1466220.4 :y 40467.656 :z 5259836.5 :w 1.0) + (new 'static 'vector :x -1476153.1 :y 40467.656 :z 5171854.5 :w 1.0) + (new 'static 'vector :x -1495080.8 :y 40467.656 :z 5037506.0 :w 1.0) + (new 'static 'vector :x -1526550.4 :y 44102.855 :z 4963491.0 :w 1.0) + (new 'static 'vector :x -1580605.2 :y 65972.22 :z 4898569.5 :w 1.0) + (new 'static 'vector :x -1569705.8 :y 64586.95 :z 4835778.0 :w 1.0) + (new 'static 'vector :x -1547104.1 :y 64045.05 :z 4770364.5 :w 1.0) + (new 'static 'vector :x -1523396.4 :y 22937.6 :z 4600421.5 :w 1.0) + (new 'static 'vector :x -1443454.8 :y 22937.6 :z 4442398.0 :w 1.0) + (new 'static 'vector :x -1310351.1 :y 22937.6 :z 4373749.0 :w 1.0) + (new 'static 'vector :x -1199173.5 :y 22937.6 :z 4341554.5 :w 1.0) + (new 'static 'vector :x -1059688.2 :y 22937.6 :z 4497817.0 :w 1.0) + (new 'static 'vector :x -915230.6 :y 22937.6 :z 4750704.0 :w 1.0) + (new 'static 'vector :x -826503.06 :y 22937.6 :z 4797398.5 :w 1.0) + (new 'static 'vector :x -623235.0 :y 61227.41 :z 4834917.5 :w 1.0) + (new 'static 'vector :x -504868.8 :y 57472.2 :z 4808867.0 :w 1.0) + (new 'static 'vector :x -355772.78 :y 61302.777 :z 4752219.5 :w 1.0) + (new 'static 'vector :x -244779.8 :y 62188.332 :z 4699872.5 :w 1.0) + (new 'static 'vector :x -145686.1 :y 61825.43 :z 4624219.5 :w 1.0) + (new 'static 'vector :x -79097.84 :y 67002.77 :z 4562944.0 :w 1.0) + (new 'static 'vector :x 4245.5034 :y 60411.9 :z 4453826.0 :w 1.0) + (new 'static 'vector :x 61986.402 :y 59705.34 :z 4324843.0 :w 1.0) + (new 'static 'vector :x 106796.23 :y 53560.11 :z 4194876.5 :w 1.0) + (new 'static 'vector :x 131281.69 :y 65499.95 :z 4053663.2 :w 1.0) + (new 'static 'vector :x 124079.3 :y 75325.84 :z 3903819.5 :w 1.0) + (new 'static 'vector :x 68268.43 :y 73226.64 :z 3797831.2 :w 1.0) + (new 'static 'vector :x -3556.5564 :y 70732.586 :z 3740389.0 :w 1.0) + (new 'static 'vector :x -51044.348 :y 64075.77 :z 3738799.8 :w 1.0) + (new 'static 'vector :x -193931.23 :y 22937.6 :z 3782618.8 :w 1.0) + (new 'static 'vector :x -388721.0 :y 22937.6 :z 3807141.5 :w 1.0) + (new 'static 'vector :x -513753.03 :y 22937.6 :z 3824209.5 :w 1.0) + (new 'static 'vector :x -624066.44 :y 22528.0 :z 3790192.2 :w 1.0) + (new 'static 'vector :x -732950.44 :y 22528.0 :z 3711454.8 :w 1.0) + (new 'static 'vector :x -756944.8 :y 22528.0 :z 3652534.0 :w 1.0) + (new 'static 'vector :x -778874.8 :y 22937.6 :z 3529694.8 :w 1.0) + (new 'static 'vector :x -711978.94 :y 22937.6 :z 3396726.5 :w 1.0) + (new 'static 'vector :x -583700.4 :y 22937.6 :z 3276033.8 :w 1.0) + (new 'static 'vector :x -491483.1 :y 22937.6 :z 3169419.0 :w 1.0) + (new 'static 'vector :x -408220.0 :y 22937.6 :z 3063893.8 :w 1.0) + (new 'static 'vector :x -374598.4 :y 22937.6 :z 2928680.5 :w 1.0) + (new 'static 'vector :x -421175.25 :y 22937.6 :z 2821791.2 :w 1.0) + (new 'static 'vector :x -526925.75 :y 22937.6 :z 2743296.0 :w 1.0) + (new 'static 'vector :x -609148.8 :y 22937.6 :z 2712968.8 :w 1.0) + (new 'static 'vector :x -688095.1 :y 22937.6 :z 2718220.0 :w 1.0) + (new 'static 'vector :x -833359.75 :y 22937.6 :z 2786766.5 :w 1.0) + (new 'static 'vector :x -888803.25 :y 22937.6 :z 2859769.5 :w 1.0) + (new 'static 'vector :x -955314.06 :y 22937.6 :z 2945212.0 :w 1.0) + (new 'static 'vector :x -998145.94 :y 22937.6 :z 3066683.0 :w 1.0) + (new 'static 'vector :x -1066622.8 :y 42519.344 :z 3163508.2 :w 1.0) + (new 'static 'vector :x -1158598.5 :y 55257.492 :z 3247353.5 :w 1.0) + (new 'static 'vector :x -1304465.2 :y 22937.6 :z 3312373.5 :w 1.0) + (new 'static 'vector :x -1441755.0 :y 22937.19 :z 3236060.8 :w 1.0) + (new 'static 'vector :x -1497669.5 :y 22937.6 :z 3002543.8 :w 1.0) + (new 'static 'vector :x -1452687.1 :y 22937.6 :z 2841079.5 :w 1.0) + (new 'static 'vector :x -1321074.5 :y 22937.6 :z 2646781.5 :w 1.0) + ) + :node-info (new 'static 'inline-array blow-tower-node-info 211 + (new 'static 'blow-tower-node-info :speed-scalar 0.5223 :event-id #x3e8) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7991 + :accum-dist 119708.98 + :accum-time 181157.69 + :accum-time-percentage 0.0049 + :event-id #x44c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 297683.66 + :accum-time 378995.28 + :accum-time-percentage 0.0102 + :event-id #x4b0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 348557.16 + :accum-time 429868.78 + :accum-time-percentage 0.0116 + :event-id #x514 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 450772.84 + :accum-time 532084.44 + :accum-time-percentage 0.0144 + :event-id #x578 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 559219.94 + :accum-time 628929.5 + :accum-time-percentage 0.017 + :event-id #x5dc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 752125.56 + :accum-time 779849.25 + :accum-time-percentage 0.0211 + :event-id #x640 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 846434.4 + :accum-time 861262.25 + :accum-time-percentage 0.0234 + :event-id #x672 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 1013779.44 + :accum-time 1010704.2 + :accum-time-percentage 0.0274 + :event-id #x6a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1242324.4 + :accum-time 1214798.6 + :accum-time-percentage 0.033 + :event-id #x708 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 1648294.5 + :accum-time 1583929.5 + :accum-time-percentage 0.043 + :event-id #x76c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 1930674.2 + :accum-time 1808147.2 + :accum-time-percentage 0.0491 + :event-id #x7d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 2091574.5 + :accum-time 1937968.2 + :accum-time-percentage 0.0526 + :event-id #x834 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6359 + :accum-dist 2296325.5 + :accum-time 2084449.1 + :accum-time-percentage 0.0566 + :event-id #x898 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 2731806.0 + :accum-time 2356999.2 + :accum-time-percentage 0.064 + :event-id #x8fc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 2991200.8 + :accum-time 2532337.0 + :accum-time-percentage 0.0688 + :event-id #x960 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 3172889.2 + :accum-time 2664052.5 + :accum-time-percentage 0.0723 + :event-id #x992 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3407 + :accum-dist 3303659.5 + :accum-time 2760905.0 + :accum-time-percentage 0.075 + :event-id #x9c4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4391 + :accum-dist 3416594.0 + :accum-time 2842152.8 + :accum-time-percentage 0.0772 + :event-id #xa28 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 3493626.2 + :accum-time 2905314.5 + :accum-time-percentage 0.0789 + :event-id #xa8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0607 + :accum-dist 3539566.5 + :accum-time 2949899.2 + :accum-time-percentage 0.0801 + :event-id #xaf0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5191 + :accum-dist 3610079.8 + :accum-time 3004560.5 + :accum-time-percentage 0.0816 + :event-id #xb54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5191 + :accum-dist 3820785.0 + :accum-time 3143255.2 + :accum-time-percentage 0.0854 + :event-id #xbb8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4001990.0 + :accum-time 3287114.2 + :accum-time-percentage 0.0893 + :event-id #xc1c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3351 + :accum-dist 4160201.8 + :accum-time 3422615.8 + :accum-time-percentage 0.093 + :event-id #xc80 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4246209.0 + :accum-time 3496277.2 + :accum-time-percentage 0.095 + :event-id #xce4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4343065.5 + :accum-time 3593133.8 + :accum-time-percentage 0.0976 + :event-id #xd48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 4429876.5 + :accum-time 3669297.0 + :accum-time-percentage 0.0997 + :event-id #xd54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4543401.5 + :accum-time 3768897.8 + :accum-time-percentage 0.1024 + :event-id #xd60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 4591230.0 + :accum-time 3816726.2 + :accum-time-percentage 0.1037 + :event-id #xd6c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7567 + :accum-dist 4667647.5 + :accum-time 3872165.5 + :accum-time-percentage 0.1052 + :event-id #xd7a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4979 + :accum-dist 4915454.0 + :accum-time 4024436.8 + :accum-time-percentage 0.1093 + :event-id #xdac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2579 + :accum-dist 5058568.5 + :accum-time 4128293.2 + :accum-time-percentage 0.1121 + :event-id #xe10 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9595 + :accum-dist 5488840.5 + :accum-time 4516345.0 + :accum-time-percentage 0.1227 + :event-id #xe74 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8395 + :accum-dist 5591976.0 + :accum-time 4630990.5 + :accum-time-percentage 0.1258 + :event-id #xe9c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9991 + :accum-dist 5709410.5 + :accum-time 4758720.0 + :accum-time-percentage 0.1293 + :event-id #xec4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4979 + :accum-dist 5863364.5 + :accum-time 4882021.0 + :accum-time-percentage 0.1326 + :event-id #xeec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5779 + :accum-dist 6109181.5 + :accum-time 5041850.0 + :accum-time-percentage 0.137 + :event-id #xf14 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5591 + :accum-dist 6392905.5 + :accum-time 5222727.0 + :accum-time-percentage 0.1419 + :event-id #xf3c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3379 + :accum-dist 6553699.5 + :accum-time 5333726.5 + :accum-time-percentage 0.1449 + :event-id #xf64 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 6742100.5 + :accum-time 5472440.0 + :accum-time-percentage 0.1487 + :event-id #xf8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2583 + :accum-dist 6871940.5 + :accum-time 5570923.0 + :accum-time-percentage 0.1513 + :event-id #xfb4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 7021109.0 + :accum-time 5692296.5 + :accum-time-percentage 0.1546 + :event-id #xfdc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1567 + :accum-dist 7199771.5 + :accum-time 5843936.5 + :accum-time-percentage 0.1588 + :event-id #x1004 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7476726.5 + :accum-time 6100756.5 + :accum-time-percentage 0.1657 + :event-id #x102c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7669771.5 + :accum-time 6293801.5 + :accum-time-percentage 0.171 + :event-id #x1054 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 7875214.0 + :accum-time 6465060.5 + :accum-time-percentage 0.1756 + :event-id #x107c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2391 + :accum-dist 8004508.0 + :accum-time 6563069.5 + :accum-time-percentage 0.1783 + :event-id #x10a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2767 + :accum-dist 8189719.0 + :accum-time 6710296.0 + :accum-time-percentage 0.1823 + :event-id #x10cc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2579 + :accum-dist 8352617.5 + :accum-time 6838825.5 + :accum-time-percentage 0.1858 + :event-id #x1130 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3779 + :accum-dist 8452552.0 + :accum-time 6914648.0 + :accum-time-percentage 0.1879 + :event-id #x1194 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4975 + :accum-dist 8569498.0 + :accum-time 6995984.5 + :accum-time-percentage 0.1901 + :event-id #x11f8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 8873187.0 + :accum-time 7208592.0 + :accum-time-percentage 0.1958 + :event-id #x125c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9015514.0 + :accum-time 7329249.0 + :accum-time-percentage 0.1991 + :event-id #x12c0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9147315.0 + :accum-time 7461050.0 + :accum-time-percentage 0.2027 + :event-id #x1324 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9211129.0 + :accum-time 7524864.0 + :accum-time-percentage 0.2044 + :event-id #x1356 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9343431.0 + :accum-time 7657166.0 + :accum-time-percentage 0.208 + :event-id #x1388 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 9548418.0 + :accum-time 7850586.5 + :accum-time-percentage 0.2133 + :event-id #x13ec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9740838.0 + :accum-time 8032149.0 + :accum-time-percentage 0.2182 + :event-id #x1450 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9893158.0 + :accum-time 8184469.0 + :accum-time-percentage 0.2224 + :event-id #x14b4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10017373.0 + :accum-time 8308684.0 + :accum-time-percentage 0.2257 + :event-id #x14e6 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10110382.0 + :accum-time 8401693.0 + :accum-time-percentage 0.2283 + :event-id #x1518 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10245467.0 + :accum-time 8536778.0 + :accum-time-percentage 0.2319 + :event-id #x157c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10450150.0 + :accum-time 8741461.0 + :accum-time-percentage 0.2375 + :event-id #x15e0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10622509.0 + :accum-time 8913820.0 + :accum-time-percentage 0.2422 + :event-id #x1644 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10752833.0 + :accum-time 9044144.0 + :accum-time-percentage 0.2457 + :event-id #x16a8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10860719.0 + :accum-time 9152030.0 + :accum-time-percentage 0.2487 + :event-id #x170c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 10965904.0 + :accum-time 9239698.0 + :accum-time-percentage 0.251 + :event-id #x1770 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11269690.0 + :accum-time 9492896.0 + :accum-time-percentage 0.2579 + :event-id #x17d4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11315070.0 + :accum-time 9538276.0 + :accum-time-percentage 0.2592 + :event-id #x1838 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11429165.0 + :accum-time 9652370.0 + :accum-time-percentage 0.2623 + :event-id #x189c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11574620.0 + :accum-time 9797826.0 + :accum-time-percentage 0.2662 + :event-id #x1900 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11712740.0 + :accum-time 9935945.0 + :accum-time-percentage 0.27 + :event-id #x1964 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11844179.0 + :accum-time 10067384.0 + :accum-time-percentage 0.2735 + :event-id #x19c8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 11978066.0 + :accum-time 10201272.0 + :accum-time-percentage 0.2772 + :event-id #x1a2c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12187305.0 + :accum-time 10410511.0 + :accum-time-percentage 0.2829 + :event-id #x1a90 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7995 + :accum-dist 12347670.0 + :accum-time 10588733.0 + :accum-time-percentage 0.2877 + :event-id #x1af4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7627 + :accum-dist 12452388.0 + :accum-time 10722779.0 + :accum-time-percentage 0.2913 + :event-id #x1b58 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12570485.0 + :accum-time 10856765.0 + :accum-time-percentage 0.295 + :event-id #x1bbc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12690580.0 + :accum-time 10976861.0 + :accum-time-percentage 0.2982 + :event-id #x1c20 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12757210.0 + :accum-time 11043491.0 + :accum-time-percentage 0.3001 + :event-id #x1c41 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12851141.0 + :accum-time 11137423.0 + :accum-time-percentage 0.3026 + :event-id #x1c62 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12905766.0 + :accum-time 11192048.0 + :accum-time-percentage 0.3041 + :event-id #x1c84 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 13111225.0 + :accum-time 11364818.0 + :accum-time-percentage 0.3088 + :event-id #x1ce8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13308993.0 + :accum-time 11531120.0 + :accum-time-percentage 0.3133 + :event-id #x1d4c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13427545.0 + :accum-time 11649673.0 + :accum-time-percentage 0.3165 + :event-id #x1db0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13606155.0 + :accum-time 11828283.0 + :accum-time-percentage 0.3214 + :event-id #x1e14 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13753905.0 + :accum-time 11976033.0 + :accum-time-percentage 0.3254 + :event-id #x1e78 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13911520.0 + :accum-time 12133646.0 + :accum-time-percentage 0.3297 + :event-id #x1edc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 14117160.0 + :accum-time 12310953.0 + :accum-time-percentage 0.3345 + :event-id #x1f40 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 14207254.0 + :accum-time 12380276.0 + :accum-time-percentage 0.3364 + :event-id #x1fa4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3383 + :accum-dist 14345175.0 + :accum-time 12485640.0 + :accum-time-percentage 0.3392 + :event-id #x2008 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 14464540.0 + :accum-time 12575455.0 + :accum-time-percentage 0.3417 + :event-id #x206c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 14548301.0 + :accum-time 12643025.0 + :accum-time-percentage 0.3435 + :event-id #x20d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 14719823.0 + :accum-time 12778188.0 + :accum-time-percentage 0.3472 + :event-id #x2134 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3783 + :accum-dist 14878068.0 + :accum-time 12892990.0 + :accum-time-percentage 0.3503 + :event-id #x2198 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15081798.0 + :accum-time 13064308.0 + :accum-time-percentage 0.355 + :event-id #x21fc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15290091.0 + :accum-time 13272600.0 + :accum-time-percentage 0.3606 + :event-id #x2260 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15374600.0 + :accum-time 13357109.0 + :accum-time-percentage 0.3629 + :event-id #x22c4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15479468.0 + :accum-time 13461975.0 + :accum-time-percentage 0.3658 + :event-id #x2328 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15701835.0 + :accum-time 13684344.0 + :accum-time-percentage 0.3718 + :event-id #x238c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 15926849.0 + :accum-time 13909358.0 + :accum-time-percentage 0.3779 + :event-id #x23f0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16091615.0 + :accum-time 14074125.0 + :accum-time-percentage 0.3824 + :event-id #x2454 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16183991.0 + :accum-time 14166500.0 + :accum-time-percentage 0.3849 + :event-id #x24b8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16283468.0 + :accum-time 14265976.0 + :accum-time-percentage 0.3876 + :event-id #x251c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16398561.0 + :accum-time 14381070.0 + :accum-time-percentage 0.3908 + :event-id #x2580 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 16575165.0 + :accum-time 14498089.0 + :accum-time-percentage 0.3939 + :event-id #x25e4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 16771965.0 + :accum-time 14628488.0 + :accum-time-percentage 0.3975 + :event-id #x2648 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 17024884.0 + :accum-time 14881406.0 + :accum-time-percentage 0.4044 + :event-id #x26ac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9595 + :accum-dist 17257036.0 + :accum-time 15118345.0 + :accum-time-percentage 0.4108 + :event-id #x2710 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6763 + :accum-dist 17535260.0 + :accum-time 15329441.0 + :accum-time-percentage 0.4165 + :event-id #x2774 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0123 + :accum-dist 17882210.0 + :accum-time 15517550.0 + :accum-time-percentage 0.4216 + :event-id #x27d8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0131 + :accum-dist 18259006.0 + :accum-time 15704749.0 + :accum-time-percentage 0.4267 + :event-id #x283c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 18589840.0 + :accum-time 15889945.0 + :accum-time-percentage 0.4318 + :event-id #x28a0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5603 + :accum-dist 19112600.0 + :accum-time 16225045.0 + :accum-time-percentage 0.4409 + :event-id #x2904 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4467 + :accum-dist 19621260.0 + :accum-time 16563341.0 + :accum-time-percentage 0.4501 + :event-id #x2968 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4055 + :accum-dist 20003472.0 + :accum-time 16831334.0 + :accum-time-percentage 0.4573 + :event-id #x29cc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 20258380.0 + :accum-time 17024066.0 + :accum-time-percentage 0.4626 + :event-id #x2a30 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 20360304.0 + :accum-time 17102492.0 + :accum-time-percentage 0.4647 + :event-id #x2a32 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20624706.0 + :accum-time 17299864.0 + :accum-time-percentage 0.4701 + :event-id #x2a34 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20865420.0 + :accum-time 17482278.0 + :accum-time-percentage 0.475 + :event-id #x2a36 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 21163400.0 + :accum-time 17708088.0 + :accum-time-percentage 0.4812 + :event-id #x2a38 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4795 + :accum-dist 21563998.0 + :accum-time 17994308.0 + :accum-time-percentage 0.4889 + :event-id #x2a3a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 21977548.0 + :accum-time 18327868.0 + :accum-time-percentage 0.498 + :event-id #x2a3c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 22196712.0 + :accum-time 18547034.0 + :accum-time-percentage 0.504 + :event-id #x2a3e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 22412818.0 + :accum-time 18763138.0 + :accum-time-percentage 0.5098 + :event-id #x2a40 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 22684178.0 + :accum-time 18997108.0 + :accum-time-percentage 0.5162 + :event-id #x2a42 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 22955260.0 + :accum-time 19196520.0 + :accum-time-percentage 0.5216 + :event-id #x2a44 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 23088312.0 + :accum-time 19294410.0 + :accum-time-percentage 0.5243 + :event-id #x2a46 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 23388500.0 + :accum-time 19515266.0 + :accum-time-percentage 0.5303 + :event-id #x2a48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4383 + :accum-dist 23654544.0 + :accum-time 19702778.0 + :accum-time-percentage 0.5354 + :event-id #x2a4a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3587 + :accum-dist 23768070.0 + :accum-time 19783948.0 + :accum-time-percentage 0.5376 + :event-id #x2a4c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4383 + :accum-dist 23891830.0 + :accum-time 19872436.0 + :accum-time-percentage 0.54 + :event-id #x2a4e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 24080344.0 + :accum-time 20007204.0 + :accum-time-percentage 0.5436 + :event-id #x2a50 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3987 + :accum-dist 24270676.0 + :accum-time 20145224.0 + :accum-time-percentage 0.5474 + :event-id #x2a52 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4391 + :accum-dist 24449684.0 + :accum-time 20271372.0 + :accum-time-percentage 0.5508 + :event-id #x2a54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 24606330.0 + :accum-time 20388324.0 + :accum-time-percentage 0.554 + :event-id #x2a56 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 24869268.0 + :accum-time 20590644.0 + :accum-time-percentage 0.5595 + :event-id #x2a58 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25159808.0 + :accum-time 20810816.0 + :accum-time-percentage 0.5655 + :event-id #x2a5a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25328384.0 + :accum-time 20942558.0 + :accum-time-percentage 0.5691 + :event-id #x2a5c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 25537940.0 + :accum-time 21106320.0 + :accum-time-percentage 0.5735 + :event-id #x2a5e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 25728748.0 + :accum-time 21253140.0 + :accum-time-percentage 0.5775 + :event-id #x2a60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26097524.0 + :accum-time 21532600.0 + :accum-time-percentage 0.5851 + :event-id #x2a62 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26354190.0 + :accum-time 21727104.0 + :accum-time-percentage 0.5904 + :event-id #x2a64 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 26864410.0 + :accum-time 22119700.0 + :accum-time-percentage 0.6011 + :event-id #x2a66 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4395 + :accum-dist 27159204.0 + :accum-time 22336524.0 + :accum-time-percentage 0.6069 + :event-id #x2a68 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 27314604.0 + :accum-time 22454284.0 + :accum-time-percentage 0.6101 + :event-id #x2a6a + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 27619758.0 + :accum-time 22704490.0 + :accum-time-percentage 0.6169 + :event-id #x2a6c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 27919970.0 + :accum-time 22946678.0 + :accum-time-percentage 0.6235 + :event-id #x2a6e + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 28148536.0 + :accum-time 23128132.0 + :accum-time-percentage 0.6285 + :event-id #x2a70 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 28286612.0 + :accum-time 23249276.0 + :accum-time-percentage 0.6318 + :event-id #x2a72 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2607 + :accum-dist 28406484.0 + :accum-time 23355318.0 + :accum-time-percentage 0.6346 + :event-id #x2a94 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 28683550.0 + :accum-time 23588108.0 + :accum-time-percentage 0.641 + :event-id #x2af8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1963 + :accum-dist 28959864.0 + :accum-time 23826720.0 + :accum-time-percentage 0.6474 + :event-id #x2b5c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3715 + :accum-dist 29199258.0 + :accum-time 24013160.0 + :accum-time-percentage 0.6525 + :event-id #x2bc0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2363 + :accum-dist 29336408.0 + :accum-time 24089184.0 + :accum-time-percentage 0.6546 + :event-id #x2c24 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8815 + :accum-dist 29486364.0 + :accum-time 24162016.0 + :accum-time-percentage 0.6566 + :event-id #x2c88 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8883 + :accum-dist 29574904.0 + :accum-time 24208984.0 + :accum-time-percentage 0.6578 + :event-id #x2cec + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8999 + :accum-dist 29710580.0 + :accum-time 24280610.0 + :accum-time-percentage 0.6598 + :event-id #x2d50 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8355 + :accum-dist 29791088.0 + :accum-time 24323712.0 + :accum-time-percentage 0.661 + :event-id #x2db4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5799 + :accum-dist 29878350.0 + :accum-time 24374810.0 + :accum-time-percentage 0.6623 + :event-id #x2e18 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 29942092.0 + :accum-time 24418780.0 + :accum-time-percentage 0.6635 + :event-id #x2e7c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4575 + :accum-dist 30011304.0 + :accum-time 24468630.0 + :accum-time-percentage 0.6649 + :event-id #x2ee0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6583 + :accum-dist 30187748.0 + :accum-time 24581880.0 + :accum-time-percentage 0.668 + :event-id #x2f44 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6395 + :accum-dist 30364840.0 + :accum-time 24689270.0 + :accum-time-percentage 0.6709 + :event-id #x2fa8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6551 + :accum-dist 30514604.0 + :accum-time 24780180.0 + :accum-time-percentage 0.6734 + :event-id #x300c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6767 + :accum-dist 30630348.0 + :accum-time 24849652.0 + :accum-time-percentage 0.6752 + :event-id #x3070 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5595 + :accum-dist 30839808.0 + :accum-time 24979092.0 + :accum-time-percentage 0.6788 + :event-id #x30d4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7191 + :accum-dist 31131044.0 + :accum-time 25156740.0 + :accum-time-percentage 0.6836 + :event-id #x3138 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7991 + :accum-dist 31231310.0 + :accum-time 25213736.0 + :accum-time-percentage 0.6851 + :event-id #x319c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7959 + :accum-dist 31441528.0 + :accum-time 25330678.0 + :accum-time-percentage 0.6883 + :event-id #x3200 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0391 + :accum-dist 31562784.0 + :accum-time 25393910.0 + :accum-time-percentage 0.69 + :event-id #x3264 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1375 + :accum-dist 31722324.0 + :accum-time 25470300.0 + :accum-time-percentage 0.6921 + :event-id #x32c8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1187 + :accum-dist 31845044.0 + :accum-time 25527964.0 + :accum-time-percentage 0.6937 + :event-id #x332c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7779 + :accum-dist 31969712.0 + :accum-time 25591948.0 + :accum-time-percentage 0.6954 + :event-id #x3390 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3983 + :accum-dist 32060350.0 + :accum-time 25635352.0 + :accum-time-percentage 0.6966 + :event-id #x33f4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3955 + :accum-dist 32197812.0 + :accum-time 25692698.0 + :accum-time-percentage 0.6982 + :event-id #x3458 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3739 + :accum-dist 32339130.0 + :accum-time 25751952.0 + :accum-time-percentage 0.6998 + :event-id #x34bc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3983 + :accum-dist 32476740.0 + :accum-time 25809620.0 + :accum-time-percentage 0.7013 + :event-id #x3520 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3931 + :accum-dist 32620558.0 + :accum-time 25869650.0 + :accum-time-percentage 0.703 + :event-id #x3584 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3527 + :accum-dist 32770896.0 + :accum-time 25933000.0 + :accum-time-percentage 0.7047 + :event-id #x35e8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1987 + :accum-dist 32890698.0 + :accum-time 25985640.0 + :accum-time-percentage 0.7061 + :event-id #x364c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8799 + :accum-dist 32982700.0 + :accum-time 26030752.0 + :accum-time-percentage 0.7073 + :event-id #x36b0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0179 + :accum-dist 33030678.0 + :accum-time 26055370.0 + :accum-time-percentage 0.708 + :event-id #x3714 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0188 + :accum-dist 33185690.0 + :accum-time 26132168.0 + :accum-time-percentage 0.7101 + :event-id #x3778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0951 + :accum-dist 33382016.0 + :accum-time 26227610.0 + :accum-time-percentage 0.7127 + :event-id #x37dc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0091 + :accum-dist 33508204.0 + :accum-time 26289100.0 + :accum-time-percentage 0.7144 + :event-id #x3840 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0579 + :accum-dist 33623644.0 + :accum-time 26345864.0 + :accum-time-percentage 0.7159 + :event-id #x38a4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0207 + :accum-dist 33758012.0 + :accum-time 26411750.0 + :accum-time-percentage 0.7177 + :event-id #x3908 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0551 + :accum-dist 33821628.0 + :accum-time 26442964.0 + :accum-time-percentage 0.7185 + :event-id #x396c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 33946410.0 + :accum-time 26504224.0 + :accum-time-percentage 0.7202 + :event-id #x39d0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0795 + :accum-dist 34095252.0 + :accum-time 26576868.0 + :accum-time-percentage 0.7222 + :event-id #x3a34 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0767 + :accum-dist 34271380.0 + :accum-time 26661618.0 + :accum-time-percentage 0.7245 + :event-id #x3a98 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0551 + :accum-dist 34412340.0 + :accum-time 26729844.0 + :accum-time-percentage 0.7263 + :event-id #x3afc + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 34546756.0 + :accum-time 26811438.0 + :accum-time-percentage 0.7286 + :event-id #x3b60 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0367 + :accum-dist 34686084.0 + :accum-time 26896484.0 + :accum-time-percentage 0.7309 + :event-id #x3bc4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 34802680.0 + :accum-time 26953990.0 + :accum-time-percentage 0.7324 + :event-id #x3c28 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9535 + :accum-dist 34934376.0 + :accum-time 27020300.0 + :accum-time-percentage 0.7342 + :event-id #x3c8c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0183 + :accum-dist 35022012.0 + :accum-time 27064428.0 + :accum-time-percentage 0.7354 + :event-id #x3cf0 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0523 + :accum-dist 35101132.0 + :accum-time 27103298.0 + :accum-time-percentage 0.7365 + :event-id #x3d54 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3967 + :accum-dist 35261756.0 + :accum-time 27175500.0 + :accum-time-percentage 0.7384 + :event-id #x3db8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3935 + :accum-dist 35353424.0 + :accum-time 27213770.0 + :accum-time-percentage 0.7395 + :event-id #x3e1c + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 35461700.0 + :accum-time 27258978.0 + :accum-time-percentage 0.7407 + :event-id #x3e80 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2795 + :accum-dist 35590500.0 + :accum-time 27314064.0 + :accum-time-percentage 0.7422 + :event-id #x3ee4 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3131 + :accum-dist 35710696.0 + :accum-time 27366404.0 + :accum-time-percentage 0.7436 + :event-id #x3f48 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 35835800.0 + :accum-time 27419530.0 + :accum-time-percentage 0.7451 + :event-id #x3fac + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3719 + :accum-dist 35998736.0 + :accum-time 27487870.0 + :accum-time-percentage 0.7469 + :event-id #x4010 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3963 + :accum-dist 36155810.0 + :accum-time 27553750.0 + :accum-time-percentage 0.7487 + :event-id #x4074 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7535 + :accum-dist 36395924.0 + :accum-time 27669468.0 + :accum-time-percentage 0.7519 + :event-id #x40d8 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6211 + :accum-dist 36563536.0 + :accum-time 27768798.0 + :accum-time-percentage 0.7546 + :event-id #x413c + ) + (new 'static 'blow-tower-node-info + :accum-dist 36798212.0 + :accum-time 28058304.0 + :accum-time-percentage 0.7624 + :event-id #x41a0 + ) + ) + :num-nodes #xd3 + ) + (new 'static 'blow-tower-path + :index 1 + :pts (new 'static 'inline-array vector 202 + (new 'static 'vector :x 2213322.5 :y 36271.715 :z -2253037.2 :w 1.0) + (new 'static 'vector :x 2308742.8 :y 34682.88 :z -2178232.0 :w 1.0) + (new 'static 'vector :x 2319748.8 :y 30620.465 :z -2027974.5 :w 1.0) + (new 'static 'vector :x 2088783.6 :y 34059.465 :z -2056302.4 :w 1.0) + (new 'static 'vector :x 1768537.9 :y 34059.055 :z -1961484.1 :w 1.0) + (new 'static 'vector :x 1697369.9 :y 34313.008 :z -1852579.6 :w 1.0) + (new 'static 'vector :x 1763426.1 :y 30626.61 :z -1706512.2 :w 1.0) + (new 'static 'vector :x 1786802.0 :y 30372.658 :z -1428799.2 :w 1.0) + (new 'static 'vector :x 1921175.4 :y 30612.684 :z -1368330.0 :w 1.0) + (new 'static 'vector :x 2044481.4 :y 34305.227 :z -1361289.0 :w 1.0) + (new 'static 'vector :x 2300849.8 :y 34313.008 :z -1412857.6 :w 1.0) + (new 'static 'vector :x 2295877.2 :y 34305.227 :z -1240891.2 :w 1.0) + (new 'static 'vector :x 2435792.5 :y 47738.465 :z -1000751.0 :w 1.0) + (new 'static 'vector :x 2616499.8 :y 34299.082 :z -760774.56 :w 1.0) + (new 'static 'vector :x 2685669.0 :y 33523.3 :z -510156.75 :w 1.0) + (new 'static 'vector :x 2624634.5 :y 34361.75 :z -116717.555 :w 1.0) + (new 'static 'vector :x 2822676.0 :y 30612.684 :z -77614.68 :w 1.0) + (new 'static 'vector :x 2921570.0 :y 33054.31 :z -203830.86 :w 1.0) + (new 'static 'vector :x 2942291.5 :y 51053.36 :z -276078.12 :w 1.0) + (new 'static 'vector :x 3027410.5 :y 56557.562 :z -316736.25 :w 1.0) + (new 'static 'vector :x 3194257.0 :y 55698.223 :z -149792.33 :w 1.0) + (new 'static 'vector :x 3298148.0 :y 55698.223 :z 20970.697 :w 1.0) + (new 'static 'vector :x 3413769.8 :y 55698.223 :z 110923.766 :w 1.0) + (new 'static 'vector :x 3487981.2 :y 55702.316 :z 135606.25 :w 1.0) + (new 'static 'vector :x 3511893.8 :y 59447.29 :z 382744.12 :w 1.0) + (new 'static 'vector :x 3865452.2 :y 55697.812 :z 646987.7 :w 1.0) + (new 'static 'vector :x 4088688.2 :y 59384.62 :z 764092.3 :w 1.0) + (new 'static 'vector :x 4310220.0 :y 55698.223 :z 776974.25 :w 1.0) + (new 'static 'vector :x 4366949.5 :y 59389.945 :z 840687.5 :w 1.0) + (new 'static 'vector :x 4312514.0 :y 59384.62 :z 925704.1 :w 1.0) + (new 'static 'vector :x 4217527.5 :y 59926.523 :z 1031737.25 :w 1.0) + (new 'static 'vector :x 4077981.2 :y 59389.945 :z 1154854.8 :w 1.0) + (new 'static 'vector :x 3956969.0 :y 59414.523 :z 1226805.0 :w 1.0) + (new 'static 'vector :x 3771956.8 :y 56055.8 :z 1219526.5 :w 1.0) + (new 'static 'vector :x 3694632.5 :y 59622.598 :z 1251975.0 :w 1.0) + (new 'static 'vector :x 3673485.0 :y 59382.574 :z 1370808.1 :w 1.0) + (new 'static 'vector :x 3737243.2 :y 59985.094 :z 1461092.1 :w 1.0) + (new 'static 'vector :x 3936763.5 :y 59382.574 :z 1420230.5 :w 1.0) + (new 'static 'vector :x 4061188.0 :y 59382.574 :z 1421483.9 :w 1.0) + (new 'static 'vector :x 4211875.0 :y 59386.26 :z 1360252.8 :w 1.0) + (new 'static 'vector :x 4347002.0 :y 59846.242 :z 1308520.2 :w 1.0) + (new 'static 'vector :x 4426464.5 :y 59386.26 :z 1341042.5 :w 1.0) + (new 'static 'vector :x 4487863.5 :y 55698.633 :z 1413230.4 :w 1.0) + (new 'static 'vector :x 4485529.0 :y 55255.258 :z 1618120.5 :w 1.0) + (new 'static 'vector :x 4486143.5 :y 56900.094 :z 1713299.2 :w 1.0) + (new 'static 'vector :x 4368342.5 :y 58044.094 :z 1761050.4 :w 1.0) + (new 'static 'vector :x 4061384.2 :y 55270.098 :z 1750835.0 :w 1.0) + (new 'static 'vector :x 4018929.2 :y 55270.098 :z 1941942.1 :w 1.0) + (new 'static 'vector :x 4034887.2 :y 55859.625 :z 2163633.8 :w 1.0) + (new 'static 'vector :x 4185292.5 :y 56510.926 :z 2344300.2 :w 1.0) + (new 'static 'vector :x 4536565.0 :y 55270.098 :z 2331344.5 :w 1.0) + (new 'static 'vector :x 4577975.5 :y 55270.098 :z 2361138.8 :w 1.0) + (new 'static 'vector :x 4615536.0 :y 55787.867 :z 2570092.2 :w 1.0) + (new 'static 'vector :x 4458946.0 :y 55859.625 :z 2687069.8 :w 1.0) + (new 'static 'vector :x 4198317.5 :y 55270.098 :z 2624405.2 :w 1.0) + (new 'static 'vector :x 4092669.5 :y 55787.867 :z 2615115.5 :w 1.0) + (new 'static 'vector :x 3747036.8 :y 62364.906 :z 2594946.8 :w 1.0) + (new 'static 'vector :x 3557842.5 :y 55270.098 :z 2618404.5 :w 1.0) + (new 'static 'vector :x 3439046.2 :y 55270.156 :z 2786807.5 :w 1.0) + (new 'static 'vector :x 3534147.2 :y 55270.098 :z 3072524.0 :w 1.0) + (new 'static 'vector :x 3525148.2 :y 59365.78 :z 3233619.5 :w 1.0) + (new 'static 'vector :x 3583815.2 :y 59365.78 :z 3391561.2 :w 1.0) + (new 'static 'vector :x 3707395.8 :y 55679.38 :z 3458912.0 :w 1.0) + (new 'static 'vector :x 3887410.8 :y 55679.38 :z 3516997.2 :w 1.0) + (new 'static 'vector :x 3943010.0 :y 57298.527 :z 3893927.5 :w 1.0) + (new 'static 'vector :x 3962580.5 :y 55679.38 :z 4174806.8 :w 1.0) + (new 'static 'vector :x 3908165.2 :y 55679.38 :z 4493966.5 :w 1.0) + (new 'static 'vector :x 3604213.5 :y 55679.38 :z 4542914.0 :w 1.0) + (new 'static 'vector :x 3386081.0 :y 57232.582 :z 4549099.0 :w 1.0) + (new 'static 'vector :x 3376439.0 :y 55679.38 :z 4701634.0 :w 1.0) + (new 'static 'vector :x 3355897.5 :y 55679.38 :z 4821810.5 :w 1.0) + (new 'static 'vector :x 3157450.5 :y 40461.92 :z 4988517.5 :w 1.0) + (new 'static 'vector :x 3120320.2 :y 40461.92 :z 5013708.0 :w 1.0) + (new 'static 'vector :x 3104374.5 :y 40461.92 :z 5208677.5 :w 1.0) + (new 'static 'vector :x 3095879.2 :y 40455.777 :z 5411634.5 :w 1.0) + (new 'static 'vector :x 3100638.8 :y 40455.777 :z 5524151.5 :w 1.0) + (new 'static 'vector :x 3070189.2 :y 40468.887 :z 5622496.5 :w 1.0) + (new 'static 'vector :x 3006148.2 :y 54494.41 :z 5683035.5 :w 1.0) + (new 'static 'vector :x 2840841.8 :y 54503.01 :z 5828115.5 :w 1.0) + (new 'static 'vector :x 2666831.5 :y 54503.01 :z 5971107.0 :w 1.0) + (new 'static 'vector :x 2517634.8 :y 54487.855 :z 6057778.5 :w 1.0) + (new 'static 'vector :x 2437771.0 :y 40278.42 :z 6117907.5 :w 1.0) + (new 'static 'vector :x 2352471.8 :y 40221.08 :z 6180945.0 :w 1.0) + (new 'static 'vector :x 2211688.0 :y 22528.0 :z 6251642.0 :w 1.0) + (new 'static 'vector :x 1959817.0 :y 22528.0 :z 6387260.5 :w 1.0) + (new 'static 'vector :x 1722740.5 :y 22528.0 :z 6471065.0 :w 1.0) + (new 'static 'vector :x 1431535.4 :y 22528.0 :z 6590504.5 :w 1.0) + (new 'static 'vector :x 1265561.4 :y 22528.0 :z 6572400.0 :w 1.0) + (new 'static 'vector :x 961761.2 :y 22528.0 :z 6608772.5 :w 1.0) + (new 'static 'vector :x 656056.25 :y 22528.0 :z 6363913.5 :w 1.0) + (new 'static 'vector :x 549154.75 :y 22528.0 :z 6262414.5 :w 1.0) + (new 'static 'vector :x 446468.06 :y 22528.0 :z 6164561.0 :w 1.0) + (new 'static 'vector :x 334913.5 :y 61773.816 :z 5702860.0 :w 1.0) + (new 'static 'vector :x -122377.82 :y 61767.266 :z 5519277.5 :w 1.0) + (new 'static 'vector :x -316160.0 :y 54702.074 :z 5634948.5 :w 1.0) + (new 'static 'vector :x -248442.03 :y 22528.0 :z 6050405.5 :w 1.0) + (new 'static 'vector :x -259939.92 :y 22528.0 :z 6152273.0 :w 1.0) + (new 'static 'vector :x -325270.7 :y 22528.0 :z 6235913.5 :w 1.0) + (new 'static 'vector :x -499326.94 :y 22528.0 :z 6255164.5 :w 1.0) + (new 'static 'vector :x -624103.3 :y 22528.0 :z 6247054.5 :w 1.0) + (new 'static 'vector :x -852197.3 :y -20976.84 :z 6428179.5 :w 1.0) + (new 'static 'vector :x -918400.94 :y 58213.984 :z 6479789.5 :w 1.0) + (new 'static 'vector :x -943931.3 :y 58136.57 :z 6587801.0 :w 1.0) + (new 'static 'vector :x -796647.3 :y 22528.0 :z 6744514.0 :w 1.0) + (new 'static 'vector :x -636870.56 :y 22528.0 :z 6785637.5 :w 1.0) + (new 'static 'vector :x -397686.3 :y 59936.76 :z 6810828.0 :w 1.0) + (new 'static 'vector :x -188366.42 :y 60303.355 :z 6923836.5 :w 1.0) + (new 'static 'vector :x 5806.079 :y 58110.355 :z 7096606.0 :w 1.0) + (new 'static 'vector :x 14178.303 :y 58117.73 :z 7199989.0 :w 1.0) + (new 'static 'vector :x 93215.12 :y 58134.523 :z 7294443.0 :w 1.0) + (new 'static 'vector :x 261522.2 :y 58106.668 :z 7346134.5 :w 1.0) + (new 'static 'vector :x 389577.88 :y 59983.867 :z 7321312.5 :w 1.0) + (new 'static 'vector :x 700170.1 :y 22528.0 :z 7334747.5 :w 1.0) + (new 'static 'vector :x 670162.9 :y 97130.89 :z 7159725.5 :w 1.0) + (new 'static 'vector :x 866942.9 :y 22528.0 :z 6965616.0 :w 1.0) + (new 'static 'vector :x 1033248.7 :y 22528.0 :z 6958161.0 :w 1.0) + (new 'static 'vector :x 1385226.0 :y 58157.46 :z 7014112.5 :w 1.0) + (new 'static 'vector :x 1489321.8 :y 58143.94 :z 7051304.5 :w 1.0) + (new 'static 'vector :x 1535938.4 :y 58139.438 :z 7144078.5 :w 1.0) + (new 'static 'vector :x 1510469.5 :y 58152.137 :z 7224933.5 :w 1.0) + (new 'static 'vector :x 1458048.9 :y 58146.402 :z 7293091.0 :w 1.0) + (new 'static 'vector :x 1371131.8 :y 58155.82 :z 7307795.5 :w 1.0) + (new 'static 'vector :x 1290895.1 :y 58140.668 :z 7297883.5 :w 1.0) + (new 'static 'vector :x 1213308.8 :y 58134.523 :z 7214202.0 :w 1.0) + (new 'static 'vector :x 1247678.2 :y 58137.39 :z 7063264.5 :w 1.0) + (new 'static 'vector :x 1329336.1 :y 58153.773 :z 7022673.0 :w 1.0) + (new 'static 'vector :x 1468870.5 :y 58145.17 :z 7027998.0 :w 1.0) + (new 'static 'vector :x 1535053.6 :y 58129.605 :z 7089192.0 :w 1.0) + (new 'static 'vector :x 1515294.5 :y 58160.332 :z 7178649.0 :w 1.0) + (new 'static 'vector :x 1497137.0 :y 58123.465 :z 7294320.0 :w 1.0) + (new 'static 'vector :x 1390579.5 :y 58120.598 :z 7344659.5 :w 1.0) + (new 'static 'vector :x 1263910.8 :y 58115.68 :z 7318609.0 :w 1.0) + (new 'static 'vector :x 1098661.8 :y 61188.09 :z 7191879.0 :w 1.0) + (new 'static 'vector :x 1001807.75 :y 78499.016 :z 7168081.0 :w 1.0) + (new 'static 'vector :x 832327.56 :y 97425.805 :z 7122001.0 :w 1.0) + (new 'static 'vector :x 382914.5 :y 58066.938 :z 6995844.5 :w 1.0) + (new 'static 'vector :x 186420.4 :y 58096.43 :z 6942555.5 :w 1.0) + (new 'static 'vector :x -56898.348 :y 22528.0 :z 6826311.0 :w 1.0) + (new 'static 'vector :x -268414.53 :y 22528.0 :z 6668328.0 :w 1.0) + (new 'static 'vector :x -428163.03 :y 22528.0 :z 6365429.0 :w 1.0) + (new 'static 'vector :x -670375.8 :y 4045.623 :z 6142893.5 :w 1.0) + (new 'static 'vector :x -732516.25 :y 40706.043 :z 6077890.0 :w 1.0) + (new 'static 'vector :x -997658.5 :y 54494.41 :z 5972008.5 :w 1.0) + (new 'static 'vector :x -1136832.4 :y 54494.41 :z 5873090.0 :w 1.0) + (new 'static 'vector :x -1304850.2 :y 54501.78 :z 5768969.5 :w 1.0) + (new 'static 'vector :x -1436327.8 :y 54503.01 :z 5681724.5 :w 1.0) + (new 'static 'vector :x -1496919.9 :y 40508.617 :z 5592964.5 :w 1.0) + (new 'static 'vector :x -1508044.6 :y 40467.656 :z 5479996.5 :w 1.0) + (new 'static 'vector :x -1516957.5 :y 40467.656 :z 5366332.5 :w 1.0) + (new 'static 'vector :x -1536110.4 :y 40467.656 :z 5204049.0 :w 1.0) + (new 'static 'vector :x -1469210.4 :y 40467.656 :z 5102960.0 :w 1.0) + (new 'static 'vector :x -1594593.1 :y 40467.656 :z 5004819.5 :w 1.0) + (new 'static 'vector :x -1494568.8 :y 68468.73 :z 4847779.0 :w 1.0) + (new 'static 'vector :x -1551638.4 :y 22528.0 :z 4679515.5 :w 1.0) + (new 'static 'vector :x -1556082.5 :y 22937.6 :z 4623441.0 :w 1.0) + (new 'static 'vector :x -1492488.1 :y 22937.6 :z 4508794.0 :w 1.0) + (new 'static 'vector :x -1415430.0 :y 22937.6 :z 4389273.0 :w 1.0) + (new 'static 'vector :x -1294196.5 :y 22937.6 :z 4381244.5 :w 1.0) + (new 'static 'vector :x -1161817.9 :y 22937.6 :z 4319559.0 :w 1.0) + (new 'static 'vector :x -1023340.44 :y 22937.6 :z 4423515.5 :w 1.0) + (new 'static 'vector :x -861556.6 :y 22937.6 :z 4691803.5 :w 1.0) + (new 'static 'vector :x -677941.1 :y 22937.6 :z 4719246.5 :w 1.0) + (new 'static 'vector :x -476962.78 :y 22937.6 :z 4660837.5 :w 1.0) + (new 'static 'vector :x -321350.8 :y 22937.6 :z 4560240.0 :w 1.0) + (new 'static 'vector :x -150446.06 :y 22937.6 :z 4436540.5 :w 1.0) + (new 'static 'vector :x -92784.625 :y 22937.6 :z 4356587.0 :w 1.0) + (new 'static 'vector :x -23246.846 :y 22937.6 :z 4206468.5 :w 1.0) + (new 'static 'vector :x -26907.031 :y 22937.6 :z 4139417.2 :w 1.0) + (new 'static 'vector :x -64465.3 :y 57198.586 :z 4061110.0 :w 1.0) + (new 'static 'vector :x -108548.91 :y 63928.316 :z 3959373.5 :w 1.0) + (new 'static 'vector :x -203891.89 :y 58245.523 :z 3897372.2 :w 1.0) + (new 'static 'vector :x -282336.4 :y 61637.01 :z 3903536.8 :w 1.0) + (new 'static 'vector :x -396686.9 :y 62035.96 :z 3930873.5 :w 1.0) + (new 'static 'vector :x -519835.6 :y 58378.234 :z 3946184.2 :w 1.0) + (new 'static 'vector :x -556150.7 :y 22937.6 :z 3904225.0 :w 1.0) + (new 'static 'vector :x -658960.3 :y 22528.0 :z 3858878.0 :w 1.0) + (new 'static 'vector :x -717422.5 :y 22937.6 :z 3793055.2 :w 1.0) + (new 'static 'vector :x -775680.0 :y 22937.6 :z 3710287.5 :w 1.0) + (new 'static 'vector :x -810868.6 :y 22937.6 :z 3609730.8 :w 1.0) + (new 'static 'vector :x -734441.4 :y 22528.0 :z 3447996.0 :w 1.0) + (new 'static 'vector :x -678424.5 :y 22528.0 :z 3301949.0 :w 1.0) + (new 'static 'vector :x -548843.44 :y 22937.6 :z 3281407.8 :w 1.0) + (new 'static 'vector :x -469905.38 :y 22937.6 :z 3183922.8 :w 1.0) + (new 'static 'vector :x -367360.78 :y 22937.6 :z 3027341.0 :w 1.0) + (new 'static 'vector :x -397723.6 :y 22937.6 :z 2920558.2 :w 1.0) + (new 'static 'vector :x -418942.94 :y 22937.6 :z 2847174.2 :w 1.0) + (new 'static 'vector :x -462852.06 :y 22528.0 :z 2706943.8 :w 1.0) + (new 'static 'vector :x -579387.3 :y 22937.6 :z 2696228.5 :w 1.0) + (new 'static 'vector :x -675295.1 :y 22937.6 :z 2728185.5 :w 1.0) + (new 'static 'vector :x -830193.56 :y 22937.6 :z 2813103.8 :w 1.0) + (new 'static 'vector :x -907337.6 :y 22937.6 :z 2914479.8 :w 1.0) + (new 'static 'vector :x -973250.44 :y 22937.6 :z 3054685.8 :w 1.0) + (new 'static 'vector :x -1004875.7 :y 22937.6 :z 3128790.8 :w 1.0) + (new 'static 'vector :x -1085288.2 :y 22528.0 :z 3248074.5 :w 1.0) + (new 'static 'vector :x -1202143.0 :y 22528.0 :z 3360128.8 :w 1.0) + (new 'static 'vector :x -1317994.2 :y 22528.0 :z 3387105.0 :w 1.0) + (new 'static 'vector :x -1464766.2 :y 22528.0 :z 3282509.5 :w 1.0) + (new 'static 'vector :x -1487236.9 :y 22937.6 :z 3181948.5 :w 1.0) + (new 'static 'vector :x -1635147.6 :y 22528.0 :z 2848775.8 :w 1.0) + (new 'static 'vector :x -1537372.0 :y 22528.0 :z 2695966.2 :w 1.0) + (new 'static 'vector :x -1439584.1 :y 22528.0 :z 2580320.0 :w 1.0) + (new 'static 'vector :x -1295146.9 :y 22937.6 :z 2414915.2 :w 1.0) + ) + :node-info (new 'static 'inline-array blow-tower-node-info 202 + (new 'static 'blow-tower-node-info :speed-scalar 1.5167) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0919 + :accum-dist 121257.445 + :accum-time 67200.99 + :accum-time-percentage 0.0018 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 271972.2 + :accum-time 161057.5 + :accum-time-percentage 0.0044 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5411 + :accum-dist 504693.4 + :accum-time 335983.28 + :accum-time-percentage 0.0092 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 838681.1 + :accum-time 572786.9 + :accum-time-percentage 0.0158 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3163 + :accum-dist 968777.75 + :accum-time 673015.4 + :accum-time-percentage 0.0185 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 1129129.5 + :accum-time 794807.7 + :accum-time-percentage 0.0219 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4183 + :accum-dist 1407824.6 + :accum-time 998591.8 + :accum-time-percentage 0.0275 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 1555177.1 + :accum-time 1112907.1 + :accum-time-percentage 0.0307 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1678739.1 + :accum-time 1227337.5 + :accum-time-percentage 0.0339 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 1940242.5 + :accum-time 1488840.9 + :accum-time-percentage 0.0411 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 2112280.5 + :accum-time 1660878.9 + :accum-time-percentage 0.0458 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7567 + :accum-dist 2390532.2 + :accum-time 1862744.6 + :accum-time-percentage 0.0514 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 2691238.5 + :accum-time 2040951.5 + :accum-time-percentage 0.0563 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4735 + :accum-dist 2951227.2 + :accum-time 2209141.8 + :accum-time-percentage 0.061 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 3349373.2 + :accum-time 2466708.0 + :accum-time-percentage 0.0681 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 3551273.0 + :accum-time 2612085.0 + :accum-time-percentage 0.0721 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3991 + :accum-dist 3711636.5 + :accum-time 2737427.8 + :accum-time-percentage 0.0756 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0983 + :accum-dist 3788921.8 + :accum-time 2799315.2 + :accum-time-percentage 0.0773 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4183 + :accum-dist 3883413.0 + :accum-time 2874403.5 + :accum-time-percentage 0.0793 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4179 + :accum-dist 4119440.0 + :accum-time 3040830.5 + :accum-time-percentage 0.0839 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0147 + :accum-dist 4319323.0 + :accum-time 3205153.8 + :accum-time-percentage 0.0885 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0175 + :accum-dist 4465815.0 + :accum-time 3349310.2 + :accum-time-percentage 0.0925 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1951 + :accum-dist 4544023.5 + :accum-time 3419997.5 + :accum-time-percentage 0.0944 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3191 + :accum-dist 4792343.5 + :accum-time 3617515.8 + :accum-time-percentage 0.0999 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 5233752.5 + :accum-time 3957218.0 + :accum-time-percentage 0.1093 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2551 + :accum-dist 5485866.0 + :accum-time 4156139.8 + :accum-time-percentage 0.1148 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 5707802.5 + :accum-time 4352961.5 + :accum-time-percentage 0.1202 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1191 + :accum-dist 5793191.0 + :accum-time 4433547.0 + :accum-time-percentage 0.1224 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1779 + :accum-dist 5894141.5 + :accum-time 4521437.0 + :accum-time-percentage 0.1248 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0999 + :accum-dist 6036499.0 + :accum-time 4646421.5 + :accum-time-percentage 0.1283 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 6222594.0 + :accum-time 4823654.5 + :accum-time-percentage 0.1332 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.5223 + :accum-dist 6363380.0 + :accum-time 5008607.0 + :accum-time-percentage 0.1383 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.4243 + :accum-dist 6548565.5 + :accum-time 5399788.5 + :accum-time-percentage 0.1491 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 6632497.5 + :accum-time 5517637.0 + :accum-time-percentage 0.1524 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 6753197.5 + :accum-time 5623532.5 + :accum-time-percentage 0.1553 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 6863726.5 + :accum-time 5711281.5 + :accum-time-percentage 0.1577 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7067388.5 + :accum-time 5893155.0 + :accum-time-percentage 0.1627 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7191819.0 + :accum-time 6017585.5 + :accum-time-percentage 0.1662 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7354471.0 + :accum-time 6180237.5 + :accum-time-percentage 0.1707 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7499162.5 + :accum-time 6324929.0 + :accum-time-percentage 0.1747 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.5811 + :accum-dist 7585023.5 + :accum-time 6433531.0 + :accum-time-percentage 0.1777 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7195 + :accum-dist 7679862.5 + :accum-time 6579347.0 + :accum-time-percentage 0.1817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7591 + :accum-dist 7884766.0 + :accum-time 6856468.0 + :accum-time-percentage 0.1893 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 7979960.5 + :accum-time 6964692.5 + :accum-time-percentage 0.1923 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 8107076.5 + :accum-time 7091808.5 + :accum-time-percentage 0.1958 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 8414217.0 + :accum-time 7418623.0 + :accum-time-percentage 0.2049 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 8609983.0 + :accum-time 7626929.0 + :accum-time-percentage 0.2106 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8395 + :accum-dist 8832248.0 + :accum-time 7868573.5 + :accum-time-percentage 0.2173 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9067327.0 + :accum-time 8124149.5 + :accum-time-percentage 0.2244 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9418840.0 + :accum-time 8475662.0 + :accum-time-percentage 0.2341 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9469854.0 + :accum-time 8526676.0 + :accum-time-percentage 0.2355 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9682157.0 + :accum-time 8738979.0 + :accum-time-percentage 0.2413 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 9877615.0 + :accum-time 8934437.0 + :accum-time-percentage 0.2467 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10145671.0 + :accum-time 9202493.0 + :accum-time-percentage 0.2541 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.3407 + :accum-dist 10251727.0 + :accum-time 9360691.0 + :accum-time-percentage 0.2585 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3167 + :accum-dist 10598010.0 + :accum-time 9778503.0 + :accum-time-percentage 0.2701 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10788784.0 + :accum-time 9943190.0 + :accum-time-percentage 0.2746 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 10994870.0 + :accum-time 10149277.0 + :accum-time-percentage 0.2803 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 11295999.0 + :accum-time 10408914.0 + :accum-time-percentage 0.2875 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 11457396.0 + :accum-time 10531221.0 + :accum-time-percentage 0.2908 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4791 + :accum-dist 11625881.0 + :accum-time 10651620.0 + :accum-time-percentage 0.2942 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6791 + :accum-dist 11766671.0 + :accum-time 10740771.0 + :accum-time-percentage 0.2966 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5375 + :accum-dist 11955825.0 + :accum-time 10858375.0 + :accum-time-percentage 0.2999 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6179 + :accum-dist 12336838.0 + :accum-time 11099858.0 + :accum-time-percentage 0.3065 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12618401.0 + :accum-time 11314956.0 + :accum-time-percentage 0.3125 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 12942166.0 + :accum-time 11638720.0 + :accum-time-percentage 0.3214 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13250034.0 + :accum-time 11946588.0 + :accum-time-percentage 0.3299 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13468259.0 + :accum-time 12164813.0 + :accum-time-percentage 0.336 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 13621105.0 + :accum-time 12317660.0 + :accum-time-percentage 0.3402 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9991 + :accum-dist 13743025.0 + :accum-time 12439628.0 + :accum-time-percentage 0.3436 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 14002646.0 + :accum-time 12715996.0 + :accum-time-percentage 0.3512 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.9599 + :accum-dist 14047515.0 + :accum-time 12764776.0 + :accum-time-percentage 0.3525 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14243135.0 + :accum-time 12964389.0 + :accum-time-percentage 0.3581 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14446269.0 + :accum-time 13167523.0 + :accum-time-percentage 0.3637 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14558885.0 + :accum-time 13280140.0 + :accum-time-percentage 0.3668 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14661835.0 + :accum-time 13383090.0 + :accum-time-percentage 0.3696 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 14751070.0 + :accum-time 13472325.0 + :accum-time-percentage 0.3721 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1195 + :accum-dist 14971011.0 + :accum-time 13679855.0 + :accum-time-percentage 0.3778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1623 + :accum-dist 15196235.0 + :accum-time 13877245.0 + :accum-time-percentage 0.3833 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 15368780.0 + :accum-time 14014098.0 + :accum-time-percentage 0.387 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3591 + :accum-dist 15469753.0 + :accum-time 14088385.0 + :accum-time-percentage 0.3891 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 15575816.0 + :accum-time 14172603.0 + :accum-time-percentage 0.3914 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2391 + :accum-dist 15734345.0 + :accum-time 14304775.0 + :accum-time-percentage 0.3951 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7503 + :accum-dist 16020405.0 + :accum-time 14496145.0 + :accum-time-percentage 0.4004 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0887 + :accum-dist 16271858.0 + :accum-time 14627135.0 + :accum-time-percentage 0.404 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1379 + :accum-dist 16586605.0 + :accum-time 14776065.0 + :accum-time-percentage 0.4081 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2207 + :accum-dist 16753563.0 + :accum-time 14875480.0 + :accum-time-percentage 0.4108 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4791 + :accum-dist 17059532.0 + :accum-time 15102123.0 + :accum-time-percentage 0.4171 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5351 + :accum-dist 17451208.0 + :accum-time 15361993.0 + :accum-time-percentage 0.4243 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7167 + :accum-dist 17598618.0 + :accum-time 15452650.0 + :accum-time-percentage 0.4268 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6767 + :accum-dist 17740460.0 + :accum-time 15536245.0 + :accum-time-percentage 0.4291 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5591 + :accum-dist 18217066.0 + :accum-time 15830809.0 + :accum-time-percentage 0.4372 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2059 + :accum-dist 18709830.0 + :accum-time 16187211.0 + :accum-time-percentage 0.4471 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.4795 + :accum-dist 18935620.0 + :accum-time 16355360.0 + :accum-time-percentage 0.4517 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2767 + :accum-dist 19357786.0 + :accum-time 16580130.0 + :accum-time-percentage 0.4579 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5103 + :accum-dist 19460300.0 + :accum-time 16622959.0 + :accum-time-percentage 0.4591 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0791 + :accum-dist 19566430.0 + :accum-time 16669206.0 + :accum-time-percentage 0.4604 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 19741546.0 + :accum-time 16771054.0 + :accum-time-percentage 0.4632 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 19866584.0 + :accum-time 16867266.0 + :accum-time-percentage 0.4659 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20161076.0 + :accum-time 17101064.0 + :accum-time-percentage 0.4723 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20276478.0 + :accum-time 17191250.0 + :accum-time-percentage 0.4748 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 20387464.0 + :accum-time 17276650.0 + :accum-time-percentage 0.4772 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 20605452.0 + :accum-time 17439376.0 + :accum-time-percentage 0.4817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 20770436.0 + :accum-time 17564400.0 + :accum-time-percentage 0.4851 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 21013832.0 + :accum-time 17754614.0 + :accum-time-percentage 0.4904 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 21251710.0 + :accum-time 17937650.0 + :accum-time-percentage 0.4954 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 21511624.0 + :accum-time 18137646.0 + :accum-time-percentage 0.5009 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21615344.0 + :accum-time 18216244.0 + :accum-time-percentage 0.5031 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21738504.0 + :accum-time 18306828.0 + :accum-time-percentage 0.5056 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 21914570.0 + :accum-time 18436326.0 + :accum-time-percentage 0.5092 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 22045020.0 + :accum-time 18533706.0 + :accum-time-percentage 0.5119 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 22358152.0 + :accum-time 18778414.0 + :accum-time-percentage 0.5186 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 22550760.0 + :accum-time 18926620.0 + :accum-time-percentage 0.5227 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 22837058.0 + :accum-time 19143576.0 + :accum-time-percentage 0.5287 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1595 + :accum-dist 23003530.0 + :accum-time 19280072.0 + :accum-time-percentage 0.5325 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8391 + :accum-dist 23361700.0 + :accum-time 19638458.0 + :accum-time-percentage 0.5424 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8391 + :accum-dist 23472240.0 + :accum-time 19770178.0 + :accum-time-percentage 0.546 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23576068.0 + :accum-time 19883080.0 + :accum-time-percentage 0.5492 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23660838.0 + :accum-time 19967850.0 + :accum-time-percentage 0.5515 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23746820.0 + :accum-time 20053834.0 + :accum-time-percentage 0.5539 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23834972.0 + :accum-time 20141986.0 + :accum-time-percentage 0.5563 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 23915820.0 + :accum-time 20222832.0 + :accum-time-percentage 0.5585 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24029932.0 + :accum-time 20336946.0 + :accum-time-percentage 0.5617 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24184732.0 + :accum-time 20491746.0 + :accum-time-percentage 0.566 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24275924.0 + :accum-time 20582936.0 + :accum-time-percentage 0.5685 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.8795 + :accum-dist 24415558.0 + :accum-time 20731514.0 + :accum-time-percentage 0.5726 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24505696.0 + :accum-time 20827424.0 + :accum-time-percentage 0.5752 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24597308.0 + :accum-time 20919036.0 + :accum-time-percentage 0.5778 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24714392.0 + :accum-time 21036120.0 + :accum-time-percentage 0.581 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24832240.0 + :accum-time 21153970.0 + :accum-time-percentage 0.5843 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 24961560.0 + :accum-time 21283288.0 + :accum-time-percentage 0.5878 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 25169830.0 + :accum-time 21472658.0 + :accum-time-percentage 0.5931 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 25271056.0 + :accum-time 21550548.0 + :accum-time-percentage 0.5952 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3995 + :accum-dist 25447704.0 + :accum-time 21676760.0 + :accum-time-percentage 0.5987 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3595 + :accum-dist 25916144.0 + :accum-time 22016304.0 + :accum-time-percentage 0.6081 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26119732.0 + :accum-time 22168284.0 + :accum-time-percentage 0.6123 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2395 + :accum-dist 26391730.0 + :accum-time 22380844.0 + :accum-time-percentage 0.6182 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2795 + :accum-dist 26655730.0 + :accum-time 22590436.0 + :accum-time-percentage 0.6239 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 26998172.0 + :accum-time 22853932.0 + :accum-time-percentage 0.6312 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.1995 + :accum-dist 27327610.0 + :accum-time 23115472.0 + :accum-time-percentage 0.6384 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8543 + :accum-dist 27424724.0 + :accum-time 23179070.0 + :accum-time-percentage 0.6402 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 0.7995 + :accum-dist 27710558.0 + :accum-time 23394468.0 + :accum-time-percentage 0.6461 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3431 + :accum-dist 27881304.0 + :accum-time 23553832.0 + :accum-time-percentage 0.6506 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3587 + :accum-dist 28078968.0 + :accum-time 23700140.0 + :accum-time-percentage 0.6546 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.2571 + :accum-dist 28236758.0 + :accum-time 23820776.0 + :accum-time-percentage 0.6579 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5747 + :accum-dist 28345132.0 + :accum-time 23897310.0 + :accum-time-percentage 0.66 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2943 + :accum-dist 28458648.0 + :accum-time 23955984.0 + :accum-time-percentage 0.6617 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1771 + :accum-dist 28572660.0 + :accum-time 24006978.0 + :accum-time-percentage 0.6631 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.934 + :accum-dist 28736068.0 + :accum-time 24086470.0 + :accum-time-percentage 0.6653 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7771 + :accum-dist 28857288.0 + :accum-time 24151798.0 + :accum-time-percentage 0.6671 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0547 + :accum-dist 29016510.0 + :accum-time 24234900.0 + :accum-time-percentage 0.6694 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9375 + :accum-dist 29204792.0 + :accum-time 24329220.0 + :accum-time-percentage 0.672 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3351 + :accum-dist 29388312.0 + :accum-time 24415120.0 + :accum-time-percentage 0.6743 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0203 + :accum-dist 29444564.0 + :accum-time 24440948.0 + :accum-time-percentage 0.6751 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.0 + :accum-dist 29575664.0 + :accum-time 24527758.0 + :accum-time-percentage 0.6775 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0579 + :accum-dist 29717872.0 + :accum-time 24620764.0 + :accum-time-percentage 0.68 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9163 + :accum-dist 29839370.0 + :accum-time 24681904.0 + :accum-time-percentage 0.6817 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 29985416.0 + :accum-time 24772164.0 + :accum-time-percentage 0.6842 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.3195 + :accum-dist 30158570.0 + :accum-time 24903380.0 + :accum-time-percentage 0.6878 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6583 + :accum-dist 30471860.0 + :accum-time 25113784.0 + :accum-time-percentage 0.6936 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5383 + :accum-dist 30657516.0 + :accum-time 25229932.0 + :accum-time-percentage 0.6968 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9783 + :accum-dist 30866808.0 + :accum-time 25348958.0 + :accum-time-percentage 0.7001 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8551 + :accum-dist 31052104.0 + :accum-time 25445624.0 + :accum-time-percentage 0.7028 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8335 + :accum-dist 31263076.0 + :accum-time 25560010.0 + :accum-time-percentage 0.706 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5195 + :accum-dist 31361650.0 + :accum-time 25618804.0 + :accum-time-percentage 0.7076 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5383 + :accum-dist 31527092.0 + :accum-time 25727004.0 + :accum-time-percentage 0.7106 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6183 + :accum-dist 31594244.0 + :accum-time 25769548.0 + :accum-time-percentage 0.7118 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.5007 + :accum-dist 31687604.0 + :accum-time 25829408.0 + :accum-time-percentage 0.7134 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7987 + :accum-dist 31798684.0 + :accum-time 25896736.0 + :accum-time-percentage 0.7153 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.7375 + :accum-dist 31912552.0 + :accum-time 25961132.0 + :accum-time-percentage 0.717 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.9559 + :accum-dist 31991310.0 + :accum-time 26003778.0 + :accum-time-percentage 0.7182 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.6203 + :accum-dist 32108884.0 + :accum-time 26069524.0 + :accum-time-percentage 0.72 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 1.8575 + :accum-dist 32233032.0 + :accum-time 26140916.0 + :accum-time-percentage 0.722 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0575 + :accum-dist 32298876.0 + :accum-time 26174550.0 + :accum-time-percentage 0.7229 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0391 + :accum-dist 32411240.0 + :accum-time 26229404.0 + :accum-time-percentage 0.7245 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2975 + :accum-dist 32499278.0 + :accum-time 26270000.0 + :accum-time-percentage 0.7256 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4331 + :accum-dist 32600490.0 + :accum-time 26312790.0 + :accum-time-percentage 0.7268 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3747 + :accum-dist 32707024.0 + :accum-time 26357104.0 + :accum-time-percentage 0.728 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4331 + :accum-dist 32885908.0 + :accum-time 26431512.0 + :accum-time-percentage 0.73 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3743 + :accum-dist 33042328.0 + :accum-time 26496584.0 + :accum-time-percentage 0.7318 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1747 + :accum-dist 33173524.0 + :accum-time 26554260.0 + :accum-time-percentage 0.7334 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1379 + :accum-dist 33298964.0 + :accum-time 26612430.0 + :accum-time-percentage 0.735 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0947 + :accum-dist 33486130.0 + :accum-time 26700864.0 + :accum-time-percentage 0.7375 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0983 + :accum-dist 33597144.0 + :accum-time 26753812.0 + :accum-time-percentage 0.7389 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.0767 + :accum-dist 33673532.0 + :accum-time 26790404.0 + :accum-time-percentage 0.74 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1963 + :accum-dist 33820476.0 + :accum-time 26859178.0 + :accum-time-percentage 0.7419 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2491 + :accum-dist 33937500.0 + :accum-time 26911824.0 + :accum-time-percentage 0.7433 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1319 + :accum-dist 34038588.0 + :accum-time 26957970.0 + :accum-time-percentage 0.7446 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4735 + :accum-dist 34215236.0 + :accum-time 27034680.0 + :accum-time-percentage 0.7467 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4367 + :accum-dist 34342624.0 + :accum-time 27086564.0 + :accum-time-percentage 0.7481 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5351 + :accum-dist 34497548.0 + :accum-time 27148880.0 + :accum-time-percentage 0.7499 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4735 + :accum-dist 34578116.0 + :accum-time 27181050.0 + :accum-time-percentage 0.7507 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.4147 + :accum-dist 34721972.0 + :accum-time 27239908.0 + :accum-time-percentage 0.7524 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3351 + :accum-dist 34883868.0 + :accum-time 27308072.0 + :accum-time-percentage 0.7542 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3535 + :accum-dist 35002816.0 + :accum-time 27358810.0 + :accum-time-percentage 0.7557 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.3691 + :accum-dist 35183044.0 + :accum-time 27435130.0 + :accum-time-percentage 0.7578 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.5287 + :accum-dist 35286084.0 + :accum-time 27477204.0 + :accum-time-percentage 0.7589 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1315 + :accum-dist 35650612.0 + :accum-time 27633640.0 + :accum-time-percentage 0.7632 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.2439 + :accum-dist 35832024.0 + :accum-time 27716560.0 + :accum-time-percentage 0.7655 + ) + (new 'static 'blow-tower-node-info + :speed-scalar 2.1871 + :accum-dist 35983470.0 + :accum-time 27784912.0 + :accum-time-percentage 0.7674 + ) + (new 'static 'blow-tower-node-info :accum-dist 36203064.0 :accum-time 27985710.0 :accum-time-percentage 0.773) + ) + :num-nodes #xca + ) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-extra_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-extra_REF.gc new file mode 100644 index 0000000000..ca3f13ef67 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-extra_REF.gc @@ -0,0 +1,289 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type hud-pickup +(deftype hud-pickup (hud) + () + ) + +;; definition for method 3 of type hud-pickup +(defmethod inspect ((this hud-pickup)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type hud inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type hud-hellcat +(deftype hud-hellcat (hud) + () + ) + +;; definition for method 3 of type hud-hellcat +(defmethod inspect ((this hud-hellcat)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type hud inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 15 of type hud-pickup +;; WARN: Return type mismatch int vs none. +(defmethod draw ((this hud-pickup)) + (set-hud-piece-position! + (-> this sprites 2) + (the int (+ 20.0 (* -130.0 (-> this offset)))) + (the int (+ 15.0 (* -100.0 (-> this offset)))) + ) + (set! (-> this sprites 0 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> this values 0 current)) 100))))) + (set-as-offset-from! (the-as hud-sprite (-> this sprites)) (the-as vector4w (-> this sprites 2)) 40 16) + (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites 2)) 1 16) + (set-as-offset-from! (-> this sprites 3) (the-as vector4w (-> this sprites 2)) 15 2) + (let* ((f0-9 (the float (-> this sprites 2 color x))) + (f26-0 (the float (-> this sprites 2 color y))) + (f30-0 (the float (-> this sprites 2 color z))) + (f28-0 (seek f0-9 128.0 (* 512.0 (seconds-per-frame)))) + (f26-1 (seek f26-0 128.0 (* 512.0 (seconds-per-frame)))) + (f0-16 (seek f30-0 128.0 (* 512.0 (seconds-per-frame)))) + ) + (set! (-> this sprites 2 color x) (the int f28-0)) + (set! (-> this sprites 2 color y) (the int f26-1)) + (set! (-> this sprites 2 color z) (the int f0-16)) + ) + (let* ((f0-19 (the float (-> this sprites 3 color x))) + (f26-2 (the float (-> this sprites 3 color y))) + (f30-1 (the float (-> this sprites 3 color z))) + (f28-1 (seek f0-19 128.0 (* 512.0 (seconds-per-frame)))) + (f26-3 (seek f26-2 128.0 (* 512.0 (seconds-per-frame)))) + (f0-26 (seek f30-1 128.0 (* 512.0 (seconds-per-frame)))) + ) + (set! (-> this sprites 3 color x) (the int f28-1)) + (set! (-> this sprites 3 color y) (the int f26-3)) + (set! (-> this sprites 3 color z) (the int f0-26)) + ) + ((method-of-type hud draw) this) + 0 + (none) + ) + +;; definition for method 16 of type hud-pickup +;; WARN: Return type mismatch int vs none. +(defmethod update-values! ((this hud-pickup)) + (set! (-> this values 0 target) (the int (-> *game-info* bot-health 0))) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +;; definition for method 17 of type hud-pickup +;; WARN: Return type mismatch int vs none. +(defmethod init-callback ((this hud-pickup)) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-upper-left) (gui-action hidden) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this sprites 0 tid) (the-as texture-id (get-texture hud-transparent-01 level-default-minimap))) + (set! (-> this sprites 0 scale-x) 12.0) + (set! (-> this sprites 0 scale-y) 11.2) + (set! (-> this sprites 0 pos z) #xfffff2) + (set! (-> this sprites 1 tid) (the-as texture-id (get-texture hud-npcring-bar-01 level-default-minimap))) + (set! (-> this sprites 1 pos z) #xfffff0) + (set! (-> this sprites 2 tid) (the-as texture-id (get-texture hud-npcring-01 level-default-minimap))) + (set! (-> this sprites 2 pos z) #xffffff) + (set! (-> this sprites 3 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x7 :page #xc16))) + ) + (set! (-> this sprites 3 scale-x) 1.0) + (set! (-> this sprites 3 scale-y) 1.4) + (set! (-> this sprites 3 pos z) #xffffff) + 0 + (none) + ) + +;; definition for method 18 of type hud-pickup +(defmethod event-callback ((this hud-pickup) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('hit) + (set! (-> this sprites 2 color x) 255) + (set! (-> this sprites 2 color y) 0) + (set! (-> this sprites 2 color z) 0) + (set! (-> this sprites 3 color x) 255) + (set! (-> this sprites 3 color y) 255) + (let ((v0-0 (the-as object 255))) + (set! (-> this sprites 3 color z) (the-as int v0-0)) + v0-0 + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 15 of type hud-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod draw ((this hud-hellcat)) + (set-hud-piece-position! (the-as hud-sprite (-> this sprites)) 5 366) + (set! (-> this sprites 0 pos z) #xffffff) + (set-as-offset-from! (-> this sprites 1) (the-as vector4w (-> this sprites)) 4 9) + (set! (-> this sprites 1 pos z) #xffffff) + (let ((f0-1 (fmax 0.0 (fmin 1.0 (the-as float (-> this values 0 current)))))) + (set! (-> this sprites 1 color x) (the int (* 255.0 (- 1.0 f0-1)))) + (set! (-> this sprites 1 color y) (the int (* 255.0 f0-1))) + (set! (-> this sprites 1 color z) 0) + (set! (-> this sprites 1 scale-x) (* 20.5 f0-1)) + ) + ((method-of-type hud draw) this) + 0 + (none) + ) + +;; definition for method 16 of type hud-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod update-values! ((this hud-hellcat)) + (set! (-> this values 0 target) (the-as int (-> *game-info* health-bar-vehicle))) + (logclear! (-> this flags) (hud-flags disable)) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +;; definition for method 17 of type hud-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod init-callback ((this hud-hellcat)) + (vehicle-entity-hack 27) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-lower-center) (gui-action play) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this sprites 0 tid) + (the-as + texture-id + (lookup-texture-by-name "hud-vehicle-health-bar-01" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (set! (-> this sprites 0 flags) (hud-sprite-flags)) + (set! (-> this sprites 0 scale-x) 0.7) + (set! (-> this sprites 0 scale-y) 0.8) + (set! (-> this sprites 1 tid) (the-as texture-id (get-texture common-white common))) + (set! (-> this sprites 1 flags) (hud-sprite-flags)) + (set! (-> this sprites 1 scale-x) 0.0) + (set! (-> this sprites 1 scale-y) 2.0) + (set! (-> this sprites 1 color w) 48) + 0 + (none) + ) + +;; definition of type hud-pickup-arrows +(deftype hud-pickup-arrows (hud) + ((offscreen uint8) + (alpha float 2) + ) + ) + +;; definition for method 3 of type hud-pickup-arrows +(defmethod inspect ((this hud-pickup-arrows)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type hud inspect))) + (t9-0 this) + ) + (format #t "~2Toffscreen: ~D~%" (-> this offscreen)) + (format #t "~2Talpha[2] @ #x~X~%" (-> this alpha)) + (label cfg-4) + this + ) + +;; definition for method 15 of type hud-pickup-arrows +;; WARN: Return type mismatch int vs none. +(defmethod draw ((this hud-pickup-arrows)) + (set! (-> this sprites 0 color w) 0) + (set-hud-piece-position! (the-as hud-sprite (-> this sprites)) 32 208) + (set! (-> this sprites 0 color w) (the int (-> this alpha 0))) + (set! (-> this sprites 1 color w) 0) + (set-hud-piece-position! (-> this sprites 1) 480 208) + (set! (-> this sprites 1 color w) (the int (-> this alpha 1))) + ((method-of-type hud draw) this) + 0 + (none) + ) + +;; definition for method 16 of type hud-pickup-arrows +;; WARN: Return type mismatch int vs none. +(defmethod update-values! ((this hud-pickup-arrows)) + (logclear! (-> this flags) (hud-flags disable)) + (when (not (logtest? (-> *kernel-context* prevent-from-run) (process-mask pause))) + (dotimes (s5-0 2) + (if (not (logtest? (-> this offscreen) (ash 1 s5-0))) + (seek! (-> this alpha s5-0) 0.0 (* 256.0 (seconds-per-frame))) + (seek! + (-> this alpha s5-0) + (+ 80.0 (* 32.0 (sin (* 218.45334 (the float (mod (current-time) 300)))))) + (* 128.0 (seconds-per-frame)) + ) + ) + ) + ) + ((method-of-type hud update-values!) this) + 0 + (none) + ) + +;; definition for method 17 of type hud-pickup-arrows +;; WARN: Return type mismatch int vs none. +(defmethod init-callback ((this hud-pickup-arrows)) + (set! (-> this gui-id) + (add-process *gui-control* this (gui-channel hud-middle-left) (gui-action hidden) (-> this name) 81920.0 0) + ) + (logior! (-> this flags) (hud-flags show)) + (set! (-> this offscreen) (the-as uint 0)) + (set! (-> this alpha 0) 0.0) + (set! (-> this alpha 1) 0.0) + (set! (-> this sprites 0 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #xc16))) + ) + (set! (-> this sprites 0 flags) (hud-sprite-flags hsf0 hsf3)) + (set! (-> this sprites 0 scale-x) 1.0) + (set! (-> this sprites 0 scale-y) 1.0) + (set! (-> this sprites 1 tid) + (the-as texture-id (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #xc16))) + ) + (set! (-> this sprites 1 flags) (hud-sprite-flags hsf3)) + (set! (-> this sprites 1 scale-x) 1.0) + (set! (-> this sprites 1 scale-y) 1.0) + 0 + (none) + ) + +;; definition for method 18 of type hud-pickup-arrows +(defmethod event-callback ((this hud-pickup-arrows) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('reset-arrows) + (set! (-> this offscreen) (the-as uint 0)) + 0 + ) + (('off-to-left) + (logior! (-> this offscreen) 1) + ) + (('off-to-right) + (logior! (-> this offscreen) 2) + ) + ) + ((method-of-type hud event-callback) this arg0 arg1 arg2 arg3) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc new file mode 100644 index 0000000000..70f3393bd0 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs2_REF.gc @@ -0,0 +1,3291 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type bt-roboguard +(deftype bt-roboguard (blow-tower-enemy) + ((focus-pos vector :inline) + (focus handle) + (rotation-matrix matrix :inline) + (me-to-focus-dir vector :inline) + (me-to-focus-angle float) + (torso-aim-blend float) + (torso-angle float) + (torso-seek-speed float) + (torso-to-focus-angle float) + (last-torso-frame-num float) + (stand-angle-threshold float) + (fire-time time-frame) + (fire-count int8) + (fire-delay time-frame) + (path-clock-time time-frame) + (difficulty float) + (active-clock-time time-frame) + ) + (:state-methods + hostile-stand + shoot-attack + ) + (:methods + (bt-roboguard-method-40 (_type_) none) + (bt-roboguard-method-41 (_type_) none) + (bt-roboguard-method-42 (_type_) none) + (fire-shot-from-joint-idx (_type_ int) none) + (bt-roboguard-method-44 (_type_) none) + (bt-roboguard-method-45 (_type_) symbol) + (bt-roboguard-method-46 (_type_) object) + ) + ) + +;; definition for method 3 of type bt-roboguard +(defmethod inspect ((this bt-roboguard)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type blow-tower-enemy inspect))) + (t9-0 this) + ) + (format #t "~2Tfocus-pos: #~%" (-> this focus-pos)) + (format #t "~2Tfocus: ~D~%" (-> this focus)) + (format #t "~2Trotation-matrix: #~%" (-> this rotation-matrix)) + (format #t "~2Tme-to-focus-dir: #~%" (-> this me-to-focus-dir)) + (format #t "~2Tme-to-focus-angle: ~f~%" (-> this me-to-focus-angle)) + (format #t "~2Ttorso-aim-blend: ~f~%" (-> this torso-aim-blend)) + (format #t "~2Ttorso-angle: ~f~%" (-> this torso-angle)) + (format #t "~2Ttorso-seek-speed: ~f~%" (-> this torso-seek-speed)) + (format #t "~2Ttorso-to-focus-angle: ~f~%" (-> this torso-to-focus-angle)) + (format #t "~2Tlast-torso-frame-num: ~f~%" (-> this last-torso-frame-num)) + (format #t "~2Tstand-angle-threshold: ~f~%" (-> this stand-angle-threshold)) + (format #t "~2Tfire-time: ~D~%" (-> this fire-time)) + (format #t "~2Tfire-count: ~D~%" (-> this fire-count)) + (format #t "~2Tfire-delay: ~D~%" (-> this fire-delay)) + (format #t "~2Tpath-clock-time: ~D~%" (-> this path-clock-time)) + (format #t "~2Tdifficulty: ~f~%" (-> this difficulty)) + (format #t "~2Tactive-clock-time: ~D~%" (-> this active-clock-time)) + (label cfg-4) + this + ) + +;; definition for method 11 of type bt-roboguard +(defmethod init-from-entity! ((this bt-roboguard) (arg0 entity-actor)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtmh)) + (bt-roboguard-method-44 this) + (process-drawable-from-entity! this arg0) + (init this) + (go (method-of-object this idle)) + ) + ) + +;; definition for function bt-roboguard-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-roboguard-init-by-other bt-roboguard ((arg0 vector)) + (set! (-> self level) (level-get *level* 'lblowtmh)) + (bt-roboguard-method-44 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (init self) + (go-virtual idle) + ) + +;; definition for method 44 of type bt-roboguard +;; WARN: Return type mismatch int vs none. +(defmethod bt-roboguard-method-44 ((this bt-roboguard)) + (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) + ) + (let ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy los-blocker)) + (set! (-> v1-6 prim-core collide-with) + (collide-spec backgnd jak bot enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-6 prim-core action) (collide-action solid semi-solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 12288.0 0.0 18432.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) 8192.0) + (let ((v1-8 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-8 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-8 prim-core collide-with)) + ) + (set! (-> s5-0 event-priority) (the-as uint 8)) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> this root) s5-0) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 32 of type bt-roboguard +;; INFO: Used lq/sq +(defmethod on-death ((this bt-roboguard)) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (send-event (handle->process (-> this focus)) 'bt-roboguard-release) + (sound-play "hc-target-hit") + (go (method-of-object this dormant)) + ) + +;; definition for method 36 of type bt-roboguard +;; WARN: Return type mismatch focus-status vs none. +(defmethod blow-tower-enemy-method-36 ((this bt-roboguard)) + (set! (-> this focus) (the-as handle #f)) + (set! (-> this hit-points) 3.0) + (logclear! (-> this focus-status) (focus-status dead)) + (none) + ) + +;; definition for method 33 of type bt-roboguard +;; WARN: Return type mismatch none vs object. +(defmethod init ((this bt-roboguard)) + (local-vars (a0-19 int)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-roboguard" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) + (call-parent-method this) + (blow-tower-enemy-method-35 this) + (logclear! (-> this mask) (process-mask actor-pause)) + (let ((v1-11 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 3) 2)) + (s5-1 0) + ) + 0 + (let* ((a0-13 10) + (s3-0 0) + (s4-1 (+ a0-13 -3)) + ) + (dotimes (a0-14 v1-11) + (set! s3-0 (logior s3-0 (ash 1 a0-14))) + ) + (dotimes (s2-0 s4-1) + (let ((a0-16 (mod (the-as int (rand-uint31-gen *random-generator*)) s4-1)) + (a1-6 (logtest? s3-0 (ash 1 s2-0))) + ) + (let ((v1-19 (logtest? s3-0 (ash 1 a0-16)))) + (if a1-6 + (set! a0-19 (logior s3-0 (ash 1 a0-16))) + (set! a0-19 (logclear s3-0 (ash 1 a0-16))) + ) + (if v1-19 + (set! s3-0 (logior a0-19 (ash 1 s2-0))) + (set! s3-0 (logclear a0-19 (ash 1 s2-0))) + ) + ) + ) + ) + (let ((v1-29 0)) + (dotimes (a0-23 s4-1) + (while (or (= v1-29 0) (= v1-29 1) (= v1-29 4)) + (+! v1-29 1) + ) + (if (logtest? s3-0 (ash 1 a0-23)) + (set! s5-1 (logior s5-1 (ash 1 v1-29))) + ) + (+! v1-29 1) + ) + ) + ) + (let* ((f30-0 0.2) + (v1-34 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-35 (the-as number (logior #x3f800000 v1-34))) + (f0-6 (+ -1.0 (the-as float v1-35))) + ) + (cond + ((< f0-6 (* 0.5 f30-0)) + (set! s5-1 (logior s5-1 2)) + ) + ((< f0-6 f30-0) + (set! s5-1 (logior s5-1 16)) + ) + ) + ) + (setup-masks (-> this draw) -1 0) + (setup-masks (-> this draw) 0 s5-1) + ) + (set! (-> this focus) (the-as handle #f)) + (let ((v1-47 (-> this node-list data 4))) + (set! (-> v1-47 param0) + (lambda ((arg0 cspace) (arg1 transformq)) + (let ((s3-0 (the-as bt-roboguard (-> arg0 param1))) + (gp-0 (new 'stack-no-clear 'quaternion)) + ) + (cspace<-parented-transformq-joint! arg0 arg1) + (let ((s1-0 (-> s3-0 rotation-matrix)) + (s2-1 (vector-! (new 'stack-no-clear 'vector) (-> s3-0 focus-pos) (-> arg0 bone transform trans))) + ) + (set! (-> s2-1 y) 0.0) + (set! (-> s1-0 fvec y) 0.0) + (set! (-> s1-0 rvec y) 0.0) + (vector-xz-normalize! s2-1 1.0) + (vector-xz-normalize! (-> s1-0 fvec) 1.0) + (vector-xz-normalize! (-> s1-0 rvec) 1.0) + (let ((f0-5 (acos (fmax 0.0 (vector-dot (-> s1-0 fvec) s2-1))))) + (if (< (vector-dot (-> s1-0 rvec) s2-1) 0.0) + (set! f0-5 (* -1.0 f0-5)) + ) + (set! (-> s3-0 torso-angle) + (* (-> s3-0 torso-aim-blend) + (seek (-> s3-0 torso-angle) f0-5 (* (-> s3-0 torso-seek-speed) (seconds-per-frame))) + ) + ) + ) + ) + (quaternion-vector-angle! gp-0 *y-vector* (-> s3-0 torso-angle)) + (quaternion*! (-> arg1 quat) (-> arg1 quat) gp-0) + ) + (cspace<-parented-transformq-joint! arg0 arg1) + (none) + ) + ) + (set! (-> v1-47 param1) this) + ) + (blow-tower-enemy-method-36 this) + ) + +;; definition for method 46 of type bt-roboguard +;; INFO: Used lq/sq +(defmethod bt-roboguard-method-46 ((this bt-roboguard)) + (local-vars (s5-1 object)) + (let* ((s5-0 (handle->process (-> this focus))) + (a0-5 (if (type? s5-0 process-focusable) + s5-0 + ) + ) + ) + (cond + (a0-5 + (set! s5-1 (-> this focus-pos)) + (set! (-> (the-as vector s5-1) quad) (-> (get-trans (the-as process-focusable a0-5) 3) quad)) + s5-1 + ) + (else + (when (< (vector-vector-xz-distance (-> this root trans) (camera-pos)) 737280.0) + (set! s5-1 (-> *blow-tower-targets* target-handles (logand (rand-uint31-gen *random-generator*) 1))) + (set! (-> this focus) (the-as handle s5-1)) + s5-1 + ) + ) + ) + ) + ) + +;; definition for method 34 of type bt-roboguard +;; WARN: Return type mismatch int vs none. +(defmethod blow-tower-enemy-method-34 ((this bt-roboguard)) + (local-vars (sv-16 int) (sv-24 time-frame)) + (bt-roboguard-method-46 this) + (set! sv-16 (the-as int (- (-> this path-clock-time) (-> this active-clock-time)))) + (set! sv-24 (- (-> *blow-tower-targets* mission-time) (-> this active-clock-time))) + (cond + ((= (-> this focus) (-> *blow-tower-targets* pickup)) + (set! sv-16 (max 750 sv-16)) + ) + (else + (set! sv-16 (max 450 sv-16)) + (set! sv-16 (the int (* 0.75 (the float sv-16)))) + ) + ) + (set! (-> this difficulty) (fmax 0.0 (fmin 1.0 (/ (the float sv-24) (the float sv-16))))) + (cond + ((= (-> this focus) (-> *blow-tower-targets* pickup)) + (set! (-> this difficulty) (* (-> this difficulty) (-> this difficulty))) + ) + (else + ) + ) + (vector-! (-> this me-to-focus-dir) (-> this focus-pos) (-> this root trans)) + (set! (-> this me-to-focus-dir y) 0.0) + (vector-xz-normalize! (-> this me-to-focus-dir) 1.0) + (let* ((a1-5 (-> this rotation-matrix fvec)) + (s5-0 (-> this rotation-matrix)) + (f0-8 (vector-vector-angle-safe (-> this me-to-focus-dir) a1-5)) + ) + (if (< (vector-dot (-> this me-to-focus-dir) (the-as vector s5-0)) 0.0) + (set! f0-8 (* -1.0 f0-8)) + ) + (set! (-> this me-to-focus-angle) f0-8) + ) + (quaternion->matrix (-> this rotation-matrix) (-> this root quat)) + (call-parent-method this) + (set-vector! (-> this draw color-emissive) 0.2 0.2 0.2 1.0) + (transform-post) + (none) + ) + +;; failed to figure out what this is: +(defstate idle (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set! (-> self state-time) 0) + 0 + ) + :trans (behavior () + (bt-roboguard-method-46 self) + (when (handle->process (-> self focus)) + (when (time-elapsed? (-> self state-time) (seconds 0.3)) + (set-time! (-> self state-time)) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (set! (-> gp-0 start-pos quad) (-> self focus-pos quad)) + (vector-! (-> gp-0 move-dist) (get-trans self 3) (-> self focus-pos)) + (let ((v1-13 gp-0)) + (set! (-> v1-13 radius) 409.6) + (set! (-> v1-13 collide-with) (collide-spec backgnd)) + (set! (-> v1-13 ignore-process0) #f) + (set! (-> v1-13 ignore-process1) #f) + (set! (-> v1-13 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-13 action-mask) (collide-action solid)) + ) + (cond + ((< (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) + (cond + ((not (send-event (handle->process (-> self focus)) 'bt-roboguard-attack?)) + (set! (-> self focus) (the-as handle #f)) + ) + (else + (set! (-> self active-clock-time) (-> *blow-tower-targets* mission-time)) + (let ((gp-1 (new 'stack 'blow-tower-path-cursor))) + (set! (-> gp-1 path) (the-as blow-tower-path (send-event (handle->process (-> self focus)) 'get-path))) + (cond + ((-> gp-1 path) + (blow-tower-path-cursor-method-11 gp-1 (-> self root trans)) + (set! (-> self path-clock-time) (-> gp-1 current-time)) + ) + (else + (set! (-> self focus) (the-as handle #f)) + ) + ) + ) + (bt-roboguard-method-42 self) + ) + ) + ) + (else + (send-event (handle->process (-> self focus)) 'bt-roboguard-release) + (set! (-> self focus) (the-as handle #f)) + ) + ) + ) + ) + ) + ) + :code sleep-code + :post ja-post + ) + +;; definition for method 42 of type bt-roboguard +;; WARN: Return type mismatch object vs none. +(defmethod bt-roboguard-method-42 ((this bt-roboguard)) + (go (method-of-object this hostile-stand)) + (none) + ) + +;; definition for function bt-roboguard-turret-code +;; WARN: new jak 2 until loop case, check carefully +(defbehavior bt-roboguard-turret-code bt-roboguard () + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-roboguard-idle-shoot0-loop-ja :num! zero) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.2)) + (suspend) + ) + ) + (let ((gp-1 + (lambda ((arg0 bt-roboguard) (arg1 symbol)) + (quaternion-rotate-y! (-> arg0 root quat) (-> arg0 root quat) (* 20480.0 (seconds-per-frame) (if arg1 + 1.0 + -1.0 + ) + ) + ) + ) + ) + (f30-0 (-> self stand-angle-threshold)) + ) + (until #f + (when (< (fabs (-> self me-to-focus-angle)) f30-0) + (let ((s5-0 (current-time))) + (until (time-elapsed? s5-0 (seconds 0.5)) + (suspend) + ) + ) + (while (< (fabs (-> self me-to-focus-angle)) f30-0) + (suspend) + ) + ) + (ja-channel-push! 1 0) + (let ((v1-20 (if (< 0.0 (-> self me-to-focus-angle)) + 6 + 8 + ) + ) + (s5-1 (< 0.0 (-> self me-to-focus-angle))) + ) + (ja-no-eval :group! (-> self draw art-group data v1-20) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (gp-1 self s5-1) + (suspend) + (ja :num! (seek!)) + ) + ) + (when (< (fabs (-> self me-to-focus-angle)) f30-0) + (let ((s5-2 (current-time))) + (until (time-elapsed? s5-2 (seconds 0.5)) + (suspend) + ) + ) + (while (< (fabs (-> self me-to-focus-angle)) f30-0) + (suspend) + ) + ) + (ja-channel-push! 1 0) + (let ((v1-40 (if (< 0.0 (-> self me-to-focus-angle)) + 7 + 9 + ) + ) + (s5-3 (< 0.0 (-> self me-to-focus-angle))) + ) + (ja-no-eval :group! (-> self draw art-group data v1-40) :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (gp-1 self s5-3) + (suspend) + (ja :num! (seek!)) + ) + ) + ) + ) + #f + ) + +;; definition for function bt-roboguard-turn-torso-post +;; INFO: Used lq/sq +(defbehavior bt-roboguard-turn-torso-post bt-roboguard () + (seek! (-> self torso-aim-blend) 1.0 (* 5.0 (seconds-per-frame))) + (let ((v1-3 (joint-node bt-roboguard-lod0-jg chest)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 quad) (-> v1-3 bone transform fvec quad)) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> v1-3 bone transform trans)))) + (set! (-> gp-0 y) 0.0) + (set! (-> s5-1 y) 0.0) + (vector-xz-normalize! gp-0 1.0) + (vector-xz-normalize! s5-1 1.0) + (set! (-> self torso-to-focus-angle) (acos (vector-dot gp-0 s5-1))) + ) + ) + (if (>= 910.2222 (-> self torso-to-focus-angle)) + (seek! (-> self torso-seek-speed) 163840.0 (* 36408.89 (seconds-per-frame))) + (seek! (-> self torso-seek-speed) 174762.67 (* 36408.89 (seconds-per-frame))) + ) + (blow-tower-enemy-method-34 self) + (none) + ) + +;; failed to figure out what this is: +(defstate hostile-stand (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self stand-angle-threshold) 9102.223) + ) + :trans (behavior () + (if (and (< (-> self path-clock-time) (-> *blow-tower-targets* mission-time)) (not (bt-roboguard-method-45 self))) + (send-event (handle->process (-> self focus)) 'bt-roboguard-release) + ) + (vector-vector-distance (-> self root trans) (target-pos 0)) + 0.0 + (let ((f30-0 (lerp 1.0 0.75 (-> self difficulty)))) + (if (and (< (fabs (-> self torso-to-focus-angle)) 3640.889) + (bt-roboguard-method-45 self) + (time-elapsed? (-> self fire-delay) (the int (* 300.0 f30-0))) + ) + (go-virtual shoot-attack) + ) + ) + ) + :code bt-roboguard-turret-code + :post bt-roboguard-turn-torso-post + ) + +;; definition for method 45 of type bt-roboguard +(defmethod bt-roboguard-method-45 ((this bt-roboguard)) + (let ((f0-0 (vector-vector-xz-distance (-> this focus-pos) (-> this root trans)))) + (let ((f1-0 655360.0)) + (if (< (-> this path-clock-time) (-> *blow-tower-targets* mission-time)) + (set! f1-0 143360.0) + ) + (< f0-0 f1-0) + ) + ) + ) + +;; failed to figure out what this is: +(defstate shoot-attack (bt-roboguard) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self fire-time) 0) + (set! (-> self last-torso-frame-num) 0.0) + (set! (-> self stand-angle-threshold) 16384.0) + (set! (-> self fire-count) 0) + 0 + ) + :trans (behavior () + (vector-vector-distance (-> self root trans) (target-pos 0)) + 0.0 + (let ((f30-0 0.6)) + (when (time-elapsed? (-> self fire-time) (the int (* 300.0 f30-0))) + (if (< 5461.3335 (fabs (-> self torso-to-focus-angle))) + (go-virtual hostile-stand) + ) + (if (not (bt-roboguard-method-45 self)) + (go-virtual hostile-stand) + ) + (when (< (the int (lerp 4.0 6.0 (-> self difficulty))) (-> self fire-count)) + (set-time! (-> self fire-delay)) + (go-virtual hostile-stand) + ) + (set-time! (-> self fire-time)) + ) + (let ((f30-1 (/ (* 0.0033333334 (the float (- (current-time) (-> self fire-time)))) f30-0))) + (if (and (< 0.0 f30-1) (>= 0.0 (-> self last-torso-frame-num))) + (fire-shot-from-joint-idx self 11) + ) + (if (and (< 0.5 f30-1) (>= 0.5 (-> self last-torso-frame-num))) + (fire-shot-from-joint-idx self 15) + ) + (set! (-> self last-torso-frame-num) f30-1) + ) + ) + ) + :code bt-roboguard-turret-code + :post bt-roboguard-turn-torso-post + ) + +;; definition of type bt-roboguard-shot +(deftype bt-roboguard-shot (guard-shot) + () + ) + +;; definition for method 3 of type bt-roboguard-shot +(defmethod inspect ((this bt-roboguard-shot)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type guard-shot inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 28 of type bt-roboguard-shot +;; WARN: Return type mismatch int vs none. +(defmethod play-impact-sound ((this bt-roboguard-shot) (arg0 projectile-options)) + (let ((v1-0 arg0)) + (cond + ((zero? v1-0) + (sound-play "robo-fire") + ) + ((= v1-0 (projectile-options po0)) + (sound-play "guard-shot-hit") + ) + ) + ) + 0 + (none) + ) + +;; definition for function spawn-bt-roboguard-projectile +;; INFO: Used lq/sq +(defun spawn-bt-roboguard-projectile ((arg0 bt-roboguard) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) + (let ((gp-0 (new 'stack-no-clear 'projectile-init-by-other-params))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) + (set! (-> gp-0 ent) (-> arg0 entity)) + (set! (-> gp-0 charge) 1.0) + (set! (-> gp-0 options) (projectile-options)) + (logclear! (-> gp-0 options) (projectile-options po14 po15 po16)) + (set! (-> gp-0 notify-handle) (process->handle arg0)) + (set! (-> gp-0 owner-handle) (the-as handle #f)) + (set! (-> gp-0 target-handle) (the-as handle #f)) + (set! (-> gp-0 target-pos quad) (the-as uint128 0)) + (set! (-> gp-0 ignore-handle) (process->handle arg0)) + (let* ((a0-13 *game-info*) + (a2-12 (+ (-> a0-13 attack-id) 1)) + ) + (set! (-> a0-13 attack-id) a2-12) + (set! (-> gp-0 attack-id) a2-12) + ) + (set! (-> gp-0 timeout) (seconds 4)) + (set! (-> gp-0 damage) 0.75) + (logior! (-> gp-0 options) (projectile-options po14)) + (set! (-> gp-0 vehicle-damage-factor) 4.0) + (logior! (-> gp-0 options) (projectile-options po15)) + (set! (-> gp-0 vehicle-impulse-factor) 4.0) + (logior! (-> gp-0 options) (projectile-options po16)) + (if arg4 + (set! (-> gp-0 pos quad) (-> arg4 quad)) + (set! (-> gp-0 pos quad) (-> arg1 quad)) + ) + (vector-normalize-copy! (-> gp-0 vel) v1-1 arg3) + ) + (spawn-projectile bt-roboguard-shot gp-0 arg0 *default-dead-pool*) + ) + ) + +;; definition for function bt-roboguard-fire-backcheck +;; INFO: Used lq/sq +(defbehavior bt-roboguard-fire-backcheck bt-roboguard ((arg0 bt-roboguard) (arg1 vector) (arg2 vector)) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (let ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0))) + (set! (-> gp-0 start-pos quad) (-> (get-trans arg0 3) quad)) + (vector-! (-> gp-0 move-dist) arg1 (-> gp-0 start-pos)) + (vector+float*! (-> gp-0 move-dist) (-> gp-0 move-dist) s5-0 8192.0) + ) + (let ((v1-6 gp-0)) + (set! (-> v1-6 radius) 40.96) + (set! (-> v1-6 collide-with) (collide-spec backgnd hit-by-others-list pusher impenetrable-obj)) + (set! (-> v1-6 ignore-process0) #f) + (set! (-> v1-6 ignore-process1) #f) + (set! (-> v1-6 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-6 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) + #f + #t + ) + ) + ) + +;; definition for method 43 of type bt-roboguard +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod fire-shot-from-joint-idx ((this bt-roboguard) (arg0 int)) + (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data arg0))) + (v1-3 (-> this node-list data 4)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s4-0 quad) (-> v1-3 bone transform fvec quad)) + (set! (-> s4-0 y) 0.0) + (let ((f0-1 (vector-vector-xz-distance s5-0 (-> this focus-pos)))) + (vector-normalize! s4-0 f0-1) + ) + (set! (-> s4-0 y) (- (-> this focus-pos y) (-> s5-0 y))) + (let* ((f30-0 (lerp 1.0 0.0 (-> this difficulty))) + (f28-0 20480.0) + (f26-0 20480.0) + (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-11 (the-as number (logior #x3f800000 v1-10))) + (f1-2 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-11))))) + ) + (+! (-> s4-0 y) (* f30-0 f1-2)) + ) + (vector-normalize! s4-0 40960.0) + (when (bt-roboguard-fire-backcheck this s5-0 s4-0) + (spawn-bt-roboguard-projectile + this + s5-0 + (vector+! (new 'stack-no-clear 'vector) s5-0 s4-0) + 819200.0 + (the-as vector #f) + ) + (+! (-> this fire-count) 1) + ) + ) + 0 + (none) + ) + +;; definition of type kg-flyer +(deftype kg-flyer (tower-flyer) + () + ) + +;; definition for method 3 of type kg-flyer +(defmethod inspect ((this kg-flyer)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type tower-flyer inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 33 of type kg-flyer +(defmethod init ((this kg-flyer)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-kg-flyer" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 2.0 2.0 2.0 1.0) + (set! (-> this bob-y-scalar) 8192.0) + (sound-play "kg-flyer-buzz" :id (-> this buzz-sound)) + (call-parent-method this) + ) + +;; definition of type bt-mh-flyer +(deftype bt-mh-flyer (tower-flyer) + ((rotation-vec vector :inline) + (xz-dir vector :inline) + (main-joint-movement vector 3 :inline) + (thrust float 2 :offset 768) + (engine-part sparticle-launch-control) + ) + (:methods + (fly-anim (_type_ int float int int) none) + (bt-mh-flyer-method-51 (_type_) quaternion) + (bt-mh-flyer-method-52 (_type_) none) + ) + ) + +;; definition for method 3 of type bt-mh-flyer +(defmethod inspect ((this bt-mh-flyer)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type tower-flyer inspect))) + (t9-0 this) + ) + (format #t "~2Trotation-vec: #~%" (-> this rotation-vec)) + (format #t "~2Txz-dir: #~%" (-> this xz-dir)) + (format #t "~2Tmain-joint-movement[3] @ #x~X~%" (-> this main-joint-movement)) + (format #t "~2Tthrust[2] @ #x~X~%" (-> this thrust)) + (format #t "~2Tengine-part: ~A~%" (-> this engine-part)) + (label cfg-4) + this + ) + +;; definition for method 33 of type bt-mh-flyer +(defmethod init ((this bt-mh-flyer)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-mh-flyer" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> this root scale) 0.75 0.75 0.75 1.0) + (add-connection + *part-engine* + this + 7 + this + 468 + (new 'static 'vector :x 1187.84 :y -3112.96 :z 1392.64 :w 163840.0) + ) + (add-connection + *part-engine* + this + 7 + this + 468 + (new 'static 'vector :x -1187.84 :y -3112.96 :z 1392.64 :w 163840.0) + ) + (add-connection *part-engine* this 7 this 2204 (new 'static 'vector :y 1433.6 :z 1228.8 :w 163840.0)) + (set! (-> this engine-part) (create-launch-control (-> *part-group-id-table* 1462) this)) + (call-parent-method this) + ) + +;; definition for method 50 of type bt-mh-flyer +;; WARN: Return type mismatch int vs none. +(defmethod fly-anim ((this bt-mh-flyer) (arg0 int) (arg1 float) (arg2 int) (arg3 int)) + (local-vars (v1-1 int)) + 0 + (if (< 0.0 arg1) + (set! v1-1 arg2) + (set! v1-1 arg3) + ) + (let ((a3-5 (-> this skel root-channel arg0))) + (let ((f0-2 (fabs arg1))) + (set! (-> a3-5 frame-interp 1) f0-2) + (set! (-> a3-5 frame-interp 0) f0-2) + ) + (set! (-> a3-5 frame-group) (the-as art-joint-anim (-> this draw art-group data v1-1))) + (set! (-> a3-5 param 0) 0.0) + (set! (-> a3-5 frame-num) (-> this skel root-channel 0 frame-num)) + (joint-control-channel-group! a3-5 (the-as art-joint-anim (-> this draw art-group data v1-1)) num-func-chan) + ) + (none) + ) + +;; definition for method 51 of type bt-mh-flyer +;; INFO: Used lq/sq +(defmethod bt-mh-flyer-method-51 ((this bt-mh-flyer)) + (let ((f30-0 0.3)) + (set! (-> (new 'stack-no-clear 'vector) quad) (-> this bob-vec quad)) + (set! (-> this xz-dir x) (-> this bobbers 0 current-speed)) + (set! (-> this xz-dir z) (* 0.25 (-> this bobbers 2 current-speed))) + (let ((f26-0 (lerp-scale 0.0 10922.667 (-> this xz-dir z) f30-0 1.0)) + (f24-0 (lerp-scale 0.0 -10922.667 (-> this xz-dir z) (- f30-0) -1.0)) + (f28-0 (lerp-scale 0.0 -10922.667 (-> this xz-dir x) f30-0 1.0)) + (f30-1 (lerp-scale 0.0 10922.667 (-> this xz-dir x) (- f30-0) -1.0)) + ) + (set! (-> this rotation-vec x) + (deg-seek (-> this rotation-vec x) (+ f26-0 f24-0) (* 4551.1113 (seconds-per-frame))) + ) + (set! (-> this rotation-vec z) + (deg-seek (-> this rotation-vec z) (+ f28-0 f30-1) (* 5461.3335 (seconds-per-frame))) + ) + ) + ) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (vector-normalize! s5-0 1.0) + (set! (-> this rotation-vec y) (vector-y-angle s5-0)) + ) + (let ((s5-1 (new 'stack-no-clear 'matrix))) + (new 'stack-no-clear 'vector) + (matrix-rotate-zxy! s5-1 (-> this rotation-vec)) + (matrix->quaternion (-> this root quat) s5-1) + ) + ) + +;; definition for function bt-mh-flyer-flight-code +;; WARN: Return type mismatch symbol vs none. +;; WARN: new jak 2 until loop case, check carefully +(defbehavior bt-mh-flyer-flight-code bt-mh-flyer () + (until #f + (fly-anim self 1 (-> self xz-dir x) 5 4) + (fly-anim self 2 (-> self xz-dir z) 6 7) + (suspend) + (ja :num! (loop!)) + ) + #f + (none) + ) + +;; failed to figure out what this is: +(defstate hovering (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code (behavior () + (ja-channel-push! 3 (seconds 0.2)) + (ja-no-eval :group! bt-wasp-idle-ja :num! (seek!) :frame-num 0.0) + (let ((a0-2 (-> self skel root-channel 1))) + (let ((f0-4 0.0)) + (set! (-> a0-2 frame-interp 1) f0-4) + (set! (-> a0-2 frame-interp 0) f0-4) + ) + (set! (-> a0-2 frame-group) (the-as art-joint-anim bt-wasp-idle-ja)) + (set! (-> a0-2 param 0) (the float (+ (-> (the-as art-joint-anim bt-wasp-idle-ja) frames num-frames) -1))) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim bt-wasp-idle-ja) num-func-seek!) + ) + (let ((a0-3 (-> self skel root-channel 2))) + (let ((f0-9 0.0)) + (set! (-> a0-3 frame-interp 1) f0-9) + (set! (-> a0-3 frame-interp 0) f0-9) + ) + (set! (-> a0-3 frame-group) (the-as art-joint-anim bt-wasp-idle-ja)) + (set! (-> a0-3 param 0) (the float (+ (-> (the-as art-joint-anim bt-wasp-idle-ja) frames num-frames) -1))) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim bt-wasp-idle-ja) num-func-seek!) + ) + (bt-mh-flyer-flight-code) + ) + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +;; failed to figure out what this is: +(defstate charging (kg-flyer) + :virtual #t + :trans (behavior () + (sound-play "charge-loop" :id (-> self charge-sound) :position (-> self root trans)) + (let ((t9-2 (-> (find-parent-state) trans))) + (if t9-2 + (t9-2) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate charging (bt-mh-flyer) + :virtual #t + :trans (behavior () + (sound-play "charge-loop" :id (-> self charge-sound) :position (-> self root trans)) + (let ((t9-2 (-> (find-parent-state) trans))) + (if t9-2 + (t9-2) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code bt-mh-flyer-flight-code + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +;; failed to figure out what this is: +(defstate fleeing (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code bt-mh-flyer-flight-code + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +;; failed to figure out what this is: +(defstate firing (bt-mh-flyer) + :virtual #t + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (bt-mh-flyer-method-51 self) + ) + :code (behavior () + (sound-play "wasp-fire") + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-wasp-shoot0-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (bt-mh-flyer-flight-code) + ) + :post (behavior () + (let ((t9-1 (-> (find-parent-state) post))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (bt-mh-flyer-method-52 self) + ) + ) + +;; failed to figure out what this is: +(defstate firing (kg-flyer) + :virtual #t + :enter (behavior () + (sound-play "charge-fire") + (let ((t9-3 (-> (find-parent-state) enter))) + (if t9-3 + (t9-3) + ) + ) + ) + ) + +;; definition for method 10 of type tower-flyer-bobber +;; WARN: Return type mismatch time-frame vs none. +(defmethod tower-flyer-bobber-method-10 ((this tower-flyer-bobber)) + (with-pp + (let* ((f1-2 (/ (the float (-> this current-time)) (the float (-> this total-time)))) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (set! (-> this time-scalar) (lerp (-> this start-time-scalar) (-> this desired-time-scalar) f30-0)) + (set! (-> this current-speed) (* (-> this dir) (cos (* 32768.0 f30-0)))) + (let ((f1-4 (sin (* 32768.0 f30-0)))) + (set! (-> this current-val) (+ (-> this start-val) (* (-> this current-size-scalar) f1-4 (-> this dir)))) + ) + ) + (set! (-> this output-val) (* (-> this output-scale) (-> this current-val))) + (when (< (-> this total-time) (-> this current-time)) + (set! (-> this start-val) (-> this current-val)) + (set! (-> this start-time-scalar) (-> this time-scalar)) + (set! (-> this current-time) 0) + (tower-flyer-bobber-method-11 this) + ) + (+! (-> this current-time) + (max 1 (the int (* (the float (- (current-time) (-> pp clock old-frame-counter))) (-> this time-scalar)))) + ) + (none) + ) + ) + +;; definition for method 9 of type tower-flyer-bobber +(defmethod init-fields ((this tower-flyer-bobber)) + (set! (-> this start-val) 0.0) + (set! (-> this current-val) 0.0) + (set! (-> this dir) 1.0) + (set! (-> this scale-min) 0.65) + (set! (-> this scale-max) 1.35) + (set! (-> this current-size-scalar) 1.0) + (set! (-> this num-iterations) 1.0) + (set! (-> this time-scalar) 1.0) + (set! (-> this start-time-scalar) 1.0) + (set! (-> this desired-time-scalar) 1.0) + (set! (-> this output-scale) 6144.0) + (set! (-> this time-min) 0.7) + (set! (-> this time-max) 0.8) + (set! (-> this base-time) 1.0) + (set! (-> this desired-time-scalar) 0.75) + (tower-flyer-bobber-method-11 this) + (none) + ) + +;; definition for method 11 of type tower-flyer-bobber +;; WARN: Return type mismatch int vs none. +(defmethod tower-flyer-bobber-method-11 ((this tower-flyer-bobber)) + (set! (-> this dir) (* -1.0 (-> this dir))) + (let* ((f28-0 (if (< (-> this dir) 0.0) + (+ 1.0 (-> this current-val)) + (- 1.0 (-> this current-val)) + ) + ) + (f30-0 (fmin (-> this scale-min) f28-0)) + (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-6 (the-as number (logior #x3f800000 v1-5))) + ) + (set! (-> this current-size-scalar) + (+ f30-0 + (* (+ -1.0 (the-as float v1-6)) (- (fmin (-> this scale-max) f28-0) (fmin (-> this scale-min) f28-0))) + ) + ) + ) + (let ((f0-13 (-> this current-size-scalar))) + (set! (-> this total-time) + (the-as time-frame (the int (* 300.0 (-> this base-time) (-> this num-iterations) f0-13))) + ) + ) + (none) + ) + +;; definition of type bt-grunt +(deftype bt-grunt (blow-tower-enemy) + ((target handle) + (last-parent-xform matrix :inline) + (idle-time time-frame) + (rider-index int16) + (start-pos vector :inline) + (jump-cursor blow-tower-path-cursor :inline) + (jump-start-pos vector :inline) + (jump-start-quat quaternion :inline) + (jump-end-pos vector :inline) + (jump-end-quat quaternion :inline) + (apex-height float) + (total-jump-time time-frame) + (jump-start-time time-frame) + (jump-height-percentage-start float) + (jump-height-percentage-end float) + (jump-time-offset float) + (ragdoll-proc handle) + (no-real-rider? symbol) + (jump-time-scalar float) + (start-ride-time time-frame) + (hit-sound sound-id) + (breathe-sound sound-id) + (landed-on-player? symbol) + ) + (:state-methods + waiting-to-jump + riding-land + (riding-idle symbol) + riding-attack + jumping + jumping-start + riding-idle-ship + ragdolled + ) + (:methods + (bt-grunt-method-46 (_type_) none) + (riding-trans (_type_) symbol) + (attack-vehicle (_type_ symbol) object) + (calculate-jump-trajectory (_type_) float) + (bt-grunt-method-50 (_type_) none) + (start-ragdoll (_type_) none) + (ragdoll-settled? (_type_) object) + (bt-grunt-method-53 (_type_) none) + (bt-grunt-method-54 (_type_ vector) vector) + ) + ) + +;; definition for method 3 of type bt-grunt +(defmethod inspect ((this bt-grunt)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type blow-tower-enemy inspect))) + (t9-0 this) + ) + (format #t "~2Ttarget: ~D~%" (-> this target)) + (format #t "~2Tlast-parent-xform: #~%" (-> this last-parent-xform)) + (format #t "~2Tidle-time: ~D~%" (-> this idle-time)) + (format #t "~2Trider-index: ~D~%" (-> this rider-index)) + (format #t "~2Tstart-pos: #~%" (-> this start-pos)) + (format #t "~2Tjump-cursor: #~%" (-> this jump-cursor)) + (format #t "~2Tjump-start-pos: #~%" (-> this jump-start-pos)) + (format #t "~2Tjump-start-quat: #~%" (-> this jump-start-quat)) + (format #t "~2Tjump-end-pos: #~%" (-> this jump-end-pos)) + (format #t "~2Tjump-end-quat: #~%" (-> this jump-end-quat)) + (format #t "~2Tapex-height: ~f~%" (-> this apex-height)) + (format #t "~2Ttotal-jump-time: ~D~%" (-> this total-jump-time)) + (format #t "~2Tjump-start-time: ~D~%" (-> this jump-start-time)) + (format #t "~2Tjump-height-percentage-start: ~f~%" (-> this jump-height-percentage-start)) + (format #t "~2Tjump-height-percentage-end: ~f~%" (-> this jump-height-percentage-end)) + (format #t "~2Tjump-time-offset: ~f~%" (-> this jump-time-offset)) + (format #t "~2Tragdoll-proc: ~D~%" (-> this ragdoll-proc)) + (format #t "~2Tno-real-rider?: ~A~%" (-> this no-real-rider?)) + (format #t "~2Tjump-time-scalar: ~f~%" (-> this jump-time-scalar)) + (format #t "~2Tstart-ride-time: ~D~%" (-> this start-ride-time)) + (format #t "~2Thit-sound: ~D~%" (-> this hit-sound)) + (format #t "~2Tbreathe-sound: ~D~%" (-> this breathe-sound)) + (format #t "~2Tlanded-on-player?: ~A~%" (-> this landed-on-player?)) + (label cfg-4) + this + ) + +;; definition for function bt-grunt-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-grunt-init-by-other bt-grunt ((arg0 tower-enemy-init-params)) + (set! (-> self level) (level-get *level* 'lblowtmh)) + (bt-grunt-method-46 self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self target) (-> arg0 target)) + (quaternion-identity! (-> self root quat)) + (set! (-> self jump-time-offset) (-> arg0 time-offset)) + (if (= (-> self jump-time-offset) 0.0) + (set! (-> self jump-time-offset) 1.0) + ) + (set! (-> self jump-time-scalar) 1.0) + (init self) + (go-virtual idle) + ) + +;; definition for method 11 of type bt-grunt +(defmethod init-from-entity! ((this bt-grunt) (arg0 entity-actor)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtmh)) + (bt-grunt-method-46 this) + (process-drawable-from-entity! this arg0) + (set! (-> this target) + (-> *blow-tower-targets* + target-handles + (res-lump-value arg0 'bt-target uint128 :default (the-as uint128 1) :time -1000000000.0) + ) + ) + (set! (-> this jump-time-offset) (res-lump-float arg0 'trig-dist :default 1.0)) + (set! (-> this jump-time-scalar) (res-lump-float arg0 'jump-time-scalar :default 1.0)) + (init this) + (go (method-of-object this idle)) + ) + ) + +;; definition for method 46 of type bt-grunt +;; WARN: Return type mismatch collide-shape-moving vs none. +(defmethod bt-grunt-method-46 ((this bt-grunt)) + (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 + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + flut-attack + board + mech-punch + dark-punch + dark-smack + flut + ) + ) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-7 prim-core collide-with) + (collide-spec backgnd jak bot crate civilian enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-7 prim-core action) (collide-action solid can-ride deadly no-standon)) + (set-vector! (-> v1-7 local-sphere) 0.0 6144.0 0.0 14336.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) 8192.0) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> s5-0 event-self) 'touched) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> this root) s5-0) + ) + (none) + ) + +;; definition for method 33 of type bt-grunt +;; INFO: Used lq/sq +;; WARN: Return type mismatch vector vs object. +(defmethod init ((this bt-grunt)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-grunt" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (call-parent-method this) + (set! (-> this landed-on-player?) #f) + (logclear! (-> this mask) (process-mask actor-pause)) + (blow-tower-enemy-method-35 this) + (set! (-> this hit-sound) (new-sound-id)) + (set! (-> this breathe-sound) (new-sound-id)) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1459) this)) + (let ((v0-8 (-> this start-pos))) + (set! (-> v0-8 quad) (-> this root trans quad)) + v0-8 + ) + ) + +;; definition for method 36 of type bt-grunt +;; INFO: Used lq/sq +;; WARN: Return type mismatch matrix vs none. +(defmethod blow-tower-enemy-method-36 ((this bt-grunt)) + (process-entity-status! this (entity-perm-status no-kill) #t) + (set! (-> this root trans quad) (-> this start-pos quad)) + (set-vector! (-> this root scale) 1.5 1.5 1.5 1.0) + (set! (-> this hit-points) 5.0) + (set! (-> this rider-index) -1) + (init-fields (-> this jump-cursor)) + (logclear! (-> this focus-status) (focus-status dead)) + (set! (-> this apex-height) 0.0) + (set! (-> this total-jump-time) 0) + (set! (-> this jump-start-time) 0) + (set! (-> this jump-height-percentage-start) 0.0) + (set! (-> this jump-height-percentage-end) 0.0) + (matrix-identity! (-> this last-parent-xform)) + (none) + ) + +;; definition for function bt-grunt-idle-code +;; WARN: Return type mismatch symbol vs none. +(defbehavior bt-grunt-idle-code bt-grunt () + (let ((gp-0 (+ (logand (rand-uint31-gen *random-generator*) 1) 1))) + (dotimes (s5-0 (the-as int gp-0)) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bt-grunt-idle-ja :num! (seek! max 6.0) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 6.0)) + ) + ) + ) + (let* ((v1-29 (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 3) 1)) + (gp-2 (max 1 (+ v1-29 -1))) + ) + (dotimes (s5-1 gp-2) + (ja-channel-push! 1 (seconds 0.2)) + (let ((s4-0 (-> self skel root-channel 0))) + (set! (-> s4-0 frame-group) (the-as art-joint-anim bt-grunt-idle2-ja)) + (set! (-> s4-0 param 0) (the float (+ (-> (the-as art-joint-anim bt-grunt-idle2-ja) frames num-frames) -1))) + (let* ((f30-0 1.0) + (v1-44 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-45 (the-as number (logior #x3f800000 v1-44))) + ) + (set! (-> s4-0 param 1) (+ f30-0 (+ -1.0 (the-as float v1-45)))) + ) + (set! (-> s4-0 frame-num) 0.0) + (joint-control-channel-group! s4-0 (the-as art-joint-anim bt-grunt-idle2-ja) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 param 0) (the float (+ (-> s4-1 frame-group frames num-frames) -1))) + (let* ((f30-1 1.0) + (v1-58 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-59 (the-as number (logior #x3f800000 v1-58))) + ) + (set! (-> s4-1 param 1) (+ f30-1 (+ -1.0 (the-as float v1-59)))) + ) + (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defstate idle (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + '() + ) + :trans (behavior () + (set-vector! (-> self root scale) 1.5 1.5 1.5 1.0) + (let ((gp-0 (the-as process-focusable (handle->process (-> self target))))) + (when gp-0 + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 root trans) (-> self root trans)))) + (set! (-> s5-1 y) 0.0) + (vector-normalize! s5-1 1.0) + (quaternion-look-at! (-> self root quat) s5-1 *up-vector*) + ) + (when (< (vector-vector-xz-distance (-> self root trans) (get-trans gp-0 0)) 491520.0) + (when (send-event (handle->process (-> self target)) 'predict-position (-> self jump-cursor) (-> self root trans)) + (let ((s5-3 (the int (* 300.0 (-> self jump-time-offset)))) + (gp-1 60) + ) + (let ((f0-9 122880.0)) + (when (= (-> self target) (-> *blow-tower-targets* pickup)) + (set! f0-9 143360.0) + (set! gp-1 0) + ) + (let ((f30-0 (/ f0-9 (-> self jump-time-scalar)))) + (blow-tower-path-cursor-method-9 + (-> self jump-cursor) + (+ gp-1 (- (-> self jump-cursor current-time) (the-as time-frame s5-3))) + ) + (let ((s4-1 (new 'stack 'blow-tower-path-cursor))) + (let ((s3-0 90)) + (if (= (-> self target) (-> *blow-tower-targets* pickup)) + (set! s3-0 75) + ) + (mem-copy! (the-as pointer s4-1) (the-as pointer (-> self jump-cursor)) 128) + (blow-tower-path-cursor-method-9 + s4-1 + (the-as int (- (-> self jump-cursor current-time) (the-as time-frame s3-0))) + ) + ) + (set! (-> self jump-cursor pos quad) (-> s4-1 pos quad)) + ) + (let ((s4-2 (new 'stack-no-clear 'vector))) + (set! (-> s4-2 quad) (-> self jump-cursor pos quad)) + (let ((f28-0 (-> s4-2 y))) + (set! (-> s4-2 y) (+ f28-0 (the-as float (send-event (handle->process (-> self target)) 'predict-height)))) + ) + (let ((f0-12 (vector-vector-distance s4-2 (-> self root trans)))) + (set! (-> self total-jump-time) (the-as time-frame (the int (* 300.0 (/ f0-12 f30-0))))) + (format + 0 + "Total jump time ~f, offset ~f, Dist ~m~%" + (* 0.0033333334 (the float (-> self total-jump-time))) + (* 0.0033333334 (the float s5-3)) + f0-12 + ) + ) + ) + ) + ) + (set! (-> self jump-start-time) (- (-> self jump-cursor current-time) (-> self total-jump-time))) + (set! (-> self jump-start-time) (- (-> self jump-start-time) (the-as time-frame gp-1))) + ) + (go-virtual waiting-to-jump) + ) + ) + ) + ) + ) + :code (behavior () + (until #f + (bt-grunt-idle-code) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(defstate waiting-to-jump (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (set-vector! (-> self root scale) 1.5 1.5 1.5 1.0) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self jump-cursor pos) (-> self root trans)))) + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 1.0) + (quaternion-look-at! (-> self root quat) gp-1 *up-vector*) + ) + (when (and (>= (-> *blow-tower-targets* mission-time) (+ (-> self jump-start-time) (seconds -0.3))) + (>= (-> self jump-start-time) (-> *blow-tower-targets* mission-time)) + (not (-> *blow-tower-targets* debug?)) + ) + (set! (-> self rider-index) + (the-as int (send-event (handle->process (-> self target)) 'assign-rider (process->handle self))) + ) + (cond + ((>= (-> self rider-index) 0) + (set! (-> self no-real-rider?) #f) + (go-virtual jumping-start) + ) + (else + (set! (-> self rider-index) 0) + (set! (-> self no-real-rider?) #t) + (go-virtual jumping-start) + ) + ) + ) + ) + :code (behavior () + (until #f + (bt-grunt-idle-code) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(when (or (zero? *grunt-jump-curve*) (!= loading-level global)) + (set! *grunt-jump-curve* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *grunt-jump-curve* 3 'loading-level (the-as int #t)) + ) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 0 first) 0.0) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 0 second) 0.0) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 1 first) 0.1) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 1 second) 0.3) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 2 first) 1.0) + +;; failed to figure out what this is: +(set! (-> *grunt-jump-curve* pts data 2 second) 1.0) + +;; definition for method 50 of type bt-grunt +;; WARN: Return type mismatch object vs none. +(defmethod bt-grunt-method-50 ((this bt-grunt)) + (when (-> this no-real-rider?) + (set! (-> this rider-index) + (the-as int (send-event (handle->process (-> this target)) 'assign-rider (process->handle this))) + ) + (if (>= (-> this rider-index) 0) + (set! (-> this no-real-rider?) #f) + ) + ) + (let* ((f1-2 (/ (the float (- (-> *blow-tower-targets* mission-time) (-> this jump-start-time))) + (the float (-> this total-jump-time)) + ) + ) + (s5-0 (new 'stack-no-clear 'vector)) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (when (and (< 0.95 f30-0) (= (-> this target) (-> *blow-tower-targets* pickup))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'quaternion))) + (send-event (handle->process (-> this target)) 'get-rider-transform (-> this rider-index) s4-0 s3-0) + (quaternion-slerp! (-> this jump-end-quat) (-> this jump-end-quat) s3-0 (* 10.0 (seconds-per-frame))) + ) + (vector-lerp! (-> this jump-end-pos) (-> this jump-end-pos) s4-0 (* 10.0 (seconds-per-frame))) + ) + (let ((t9-4 vector-lerp!) + (a0-20 (-> this root scale)) + (a1-4 (-> this root scale)) + (a2-4 (new 'stack-no-clear 'vector)) + ) + (set! (-> a2-4 x) 1.1) + (set! (-> a2-4 y) 1.1) + (set! (-> a2-4 z) 1.1) + (set! (-> a2-4 w) 1.0) + (t9-4 a0-20 a1-4 a2-4 (* 10.0 (seconds-per-frame))) + ) + ) + (let ((f0-14 f30-0)) + (vector-! s5-0 (-> this jump-end-pos) (-> this jump-start-pos)) + (set! (-> s5-0 y) 0.0) + (vector+float*! (-> this root trans) (-> this jump-start-pos) s5-0 f0-14) + ) + (let ((f0-15 f30-0)) + 0.0 + (let* ((f0-16 (curve2d-method-9 *grunt-jump-curve* f0-15 3)) + (f0-17 (* f0-16 f0-16)) + (f0-18 (lerp (-> this jump-height-percentage-start) (-> this jump-height-percentage-end) f0-17)) + (f0-20 (- (* 2.0 f0-18) (* f0-18 f0-18))) + (f0-21 (* (-> this apex-height) f0-20)) + ) + (set! (-> this root trans y) (+ (-> this jump-start-pos y) f0-21)) + ) + ) + (let ((f28-0 f30-0)) + (when (< f28-0 0.75) + (let ((a1-11 (vector-normalize-copy! (new 'stack-no-clear 'vector) s5-0 1.0)) + (s5-1 (new 'stack-no-clear 'quaternion)) + ) + (quaternion-look-at! s5-1 a1-11 *up-vector*) + (quaternion-slerp! (-> this jump-start-quat) (-> this jump-start-quat) s5-1 (* 2.0 (seconds-per-frame))) + ) + ) + (let* ((f1-16 (lerp-scale 0.0 1.0 f28-0 0.75 1.0)) + (f0-27 (fmax 0.0 (fmin 1.0 f1-16))) + ) + (quaternion-slerp! (-> this root quat) (-> this jump-start-quat) (-> this jump-end-quat) f0-27) + ) + ) + (if (>= f30-0 1.0) + (go (method-of-object this riding-land)) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defstate jumping-start (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (change-parent self (handle->process (-> self target))) + (sound-play "grunt-leap" :position (-> self root trans)) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-jump-wind-up-ja :num! (seek! max 2.0) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 2.0)) + ) + (go-virtual jumping) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(defstate jumping (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (calculate-jump-trajectory self) + (if (or (< (-> self hit-points) 5.0) (< (-> self total-jump-time) (seconds 0.75))) + (set! (-> self hit-points) 1.0) + (set! (-> self hit-points) (fmin 2.0 (-> self hit-points))) + ) + ) + :trans (behavior () + (bt-grunt-method-50 self) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-jump-in-air-ja :num! (seek! max 0.5) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max 0.5)) + ) + (sleep-code) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for method 49 of type bt-grunt +;; INFO: Used lq/sq +(defmethod calculate-jump-trajectory ((this bt-grunt)) + (set! (-> this jump-start-pos quad) (-> this root trans quad)) + (quaternion-copy! (-> this jump-start-quat) (-> this root quat)) + (let ((f30-0 (-> this jump-cursor pos y))) + (set! (-> this jump-cursor pos y) + (+ f30-0 (the-as float (send-event (handle->process (-> this target)) 'predict-height))) + ) + ) + (quaternion-look-at! (-> this jump-end-quat) (-> this jump-cursor norm) *up-vector*) + (set! (-> this jump-end-pos quad) (-> this jump-cursor pos quad)) + (send-event + (handle->process (-> this target)) + 'rider-predict-transform + (-> this rider-index) + (-> this jump-end-pos) + (-> this jump-end-quat) + ) + (let* ((f1-1 (- (-> this jump-end-pos y) (-> this jump-start-pos y))) + (f0-4 (fmax 61440.0 (+ 12288.0 (fabs f1-1)))) + (f2-3 (/ (fabs f1-1) f0-4)) + ) + 0.0 + (set! (-> this apex-height) f0-4) + (let ((f0-5 -1.0) + (f3-2 2.0) + (f2-4 (- f2-3)) + ) + (cond + ((< 0.0 f1-1) + (set! (-> this jump-height-percentage-start) 0.0) + (set! (-> this jump-height-percentage-end) + (/ (- (- f3-2) (sqrtf (- (* f3-2 f3-2) (* 4.0 f2-4 f0-5)))) (* 2.0 f0-5)) + ) + ) + (else + (let ((f1-5 (-> this jump-end-pos y))) + (set! (-> this jump-end-pos y) (-> this jump-start-pos y)) + (set! (-> this jump-start-pos y) f1-5) + ) + (set! (-> this jump-height-percentage-start) + (/ (+ (- f3-2) (sqrtf (- (* f3-2 f3-2) (* 4.0 f2-4 f0-5)))) (* 2.0 f0-5)) + ) + (set! (-> this jump-height-percentage-end) 2.0) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(when (or (zero? *grunt-dists*) (!= loading-level global)) + (set! *grunt-dists* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *grunt-dists* 5 'loading-level (the-as int #t)) + ) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 0 first) 0.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 0 second) 0.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 1 first) 0.17) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 1 second) 0.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 2 first) 0.2) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 2 second) -4096.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 3 first) 0.66) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 3 second) -4096.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 4 first) 1.0) + +;; failed to figure out what this is: +(set! (-> *grunt-dists* pts data 4 second) 0.0) + +;; failed to figure out what this is: +(defstate riding-land (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-vector! (-> self root scale) 1.1 1.1 1.1 1.0) + (cond + ((= (-> self target) (-> *blow-tower-targets* hellcat)) + (activate! *camera-smush-control* 1638.4 90 150 1.0 0.9 (-> *display* camera-clock)) + (sound-play "grunt-land-ship") + ) + (else + (sound-play "grunt-land-ship") + ) + ) + (set! (-> self entity extra vis-dist) 40960000000000.0) + (let ((a0-13 (the-as process-focusable (handle->process (-> self target))))) + (when a0-13 + (let ((gp-3 (vector-! (new 'stack-no-clear 'vector) (get-trans a0-13 3) (get-trans self 3)))) + (vector-normalize! gp-3 12288.0) + (send-event (handle->process (-> self target)) 'bounce gp-3) + ) + ) + ) + (cond + ((-> self no-real-rider?) + (attack-vehicle self #f) + (on-death self) + ) + (else + (send-event (handle->process (-> self target)) 'grunt-rider-board) + ) + ) + ) + :trans (behavior () + (riding-trans self) + ) + :code (behavior () + (cond + ((= (-> self target) (-> *blow-tower-targets* pickup)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((f30-0 0.0)) + (ja-no-eval :group! bt-grunt-jump-land-ja :num! (seek! max 0.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-0 (ja-frame-num 0))) + (if (and (< f30-0 1.0) (>= f28-0 1.0)) + (attack-vehicle self #f) + ) + (set! f30-0 f28-0) + ) + (suspend) + (ja :num! (seek! max 0.5)) + ) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.01)) + (let ((f30-1 0.0)) + (ja-no-eval :group! bt-grunt-jump-land-ja :num! (seek! 0.2 0.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-1 (ja-frame-num 0))) + (let ((f26-0 (/ f28-1 (the float (ja-num-frames 0)))) + (gp-0 (new-stack-vector0)) + ) + 0.0 + (vector-float*! + gp-0 + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) + (curve2d-method-9 *grunt-dists* f26-0 3) + ) + (vector+float*! (-> self root trans) (-> self root trans) gp-0 1.0) + ) + (when (and (< f30-1 1.0) (>= f28-1 1.0)) + ) + (set! f30-1 f28-1) + ) + (suspend) + (ja :num! (seek! 0.2 0.5)) + ) + ) + (ja-channel-push! 1 (seconds 0.05)) + (let ((f30-2 0.0)) + (ja-no-eval :group! bt-grunt-close-attack1-ja :num! (seek! max 1.5) :frame-num 11.0) + (until (ja-done? 0) + (let* ((f26-1 (ja-frame-num 0)) + (f0-27 (/ f26-1 (the float (ja-num-frames 0)))) + (gp-1 (new-stack-vector0)) + (f28-2 (curve2d-method-9 *curve-linear-up-down* f0-27 3)) + ) + (vector-float*! gp-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! gp-1 gp-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! (-> self root trans) (-> self root trans) gp-1 f28-2) + (if (and (< f30-2 12.5) (>= f26-1 12.5)) + (attack-vehicle self #f) + ) + (set! f30-2 f26-1) + (suspend) + (ja :num! (seek! max (lerp 2.0 2.0 f28-2))) + ) + ) + ) + ) + ) + (cond + ((= (-> self target) (-> *blow-tower-targets* hellcat)) + (set! (-> self hit-points) 5.0) + (set! (-> self landed-on-player?) #t) + (go-virtual riding-idle #t) + ) + (else + (set! (-> self hit-points) 4.0) + (set-time! (-> self start-ride-time)) + (go-virtual riding-idle-ship) + ) + ) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for method 48 of type bt-grunt +;; INFO: Used lq/sq +(defmethod attack-vehicle ((this bt-grunt) (arg0 symbol)) + (with-pp + (let ((f0-0 (if (= (-> this target) (-> *blow-tower-targets* hellcat)) + 8.0 + 1.5 + ) + ) + (a1-1 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-1 from) (process->ppointer pp)) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'attack) + (set! (-> a1-1 param 0) (the-as uint #f)) + (let ((v1-6 (new 'static 'attack-info + :mask (attack-mask trans mode control id damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-3 *game-info*) + (a2-1 (+ (-> a0-3 attack-id) 1)) + ) + (set! (-> a0-3 attack-id) a2-1) + (set! (-> v1-6 id) a2-1) + ) + (set! (-> v1-6 damage) f0-0) + (set! (-> v1-6 vehicle-damage-factor) 1.0) + (set! (-> v1-6 vehicle-impulse-factor) 1.0) + (set! (-> v1-6 mode) 'eco-dark) + (set! (-> v1-6 trans quad) (-> this root trans quad)) + (set! (-> v1-6 control) 0.0) + (set! (-> a1-1 param 1) (the-as uint v1-6)) + ) + (send-event-function (handle->process (-> this target)) a1-1) + ) + (cond + ((= (-> this target) (-> *blow-tower-targets* hellcat)) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.4)) + (let* ((a0-16 *screen-filter*) + (t9-2 (method-of-object a0-16 setup)) + (a1-3 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-3 x) 128.0) + (set! (-> a1-3 y) 0.0) + (set! (-> a1-3 z) 0.0) + (set! (-> a1-3 w) 128.0) + (let ((a2-4 (new 'stack-no-clear 'vector))) + (set! (-> a2-4 x) 128.0) + (set! (-> a2-4 y) 0.0) + (set! (-> a2-4 z) 0.0) + (set! (-> a2-4 w) 0.0) + (t9-2 a0-16 a1-3 a2-4 (* 2.0 (seconds-per-frame)) (bucket-id tex-hud-pris2) #x3fffff #x33001 #f) + ) + ) + (if arg0 + (activate! *camera-smush-control* 819.2 45 90 1.0 0.9 (-> *display* camera-clock)) + ) + ) + (else + (sound-play "gnt-attack-p") + ) + ) + ) + ) + +;; definition for function grunt-part-callback +;; INFO: Used lq/sq +;; ERROR: failed type prop at 0: Could not figure out load: (set! v1 (l.d (+ a0 220))) +;; ERROR: Unsupported inline assembly instruction kind - [sllv a1, v1, r0] +(defun grunt-part-callback ((a0-0 bt-grunt)) + (local-vars + (v0-1 none) + (v0-2 none) + (v0-3 none) + (v1-0 none) + (v1-1 none) + (v1-3 none) + (v1-4 none) + (v1-5 none) + (v1-6 none) + (v1-7 none) + (v1-9 none) + (v1-10 none) + (v1-11 none) + (a0-1 none) + (a1-0 none) + (a1-1 none) + (a1-2 none) + (a1-3 none) + (a1-4 none) + (a1-5 none) + (a1-6 none) + (a1-7 none) + (a2-0 none) + (a2-1 none) + (a2-2 none) + (a2-3 none) + (a2-4 none) + (a2-5 none) + (a2-6 none) + (a2-7 none) + (a2-8 none) + (a3-0 none) + (a3-1 none) + (t0-0 none) + (t0-1 none) + (t1-0 none) + (t9-0 none) + (t9-1 none) + (sp-0 none) + (f0-0 none) + (f0-1 none) + ) + (with-pp + (when (begin + (and (begin (set! v1-0 (the-as none (l.d (+ a0-0 220)))) (set! a1-0 (the-as none (subu-s7 v1-0))) (nonzero? a1-0)) + (begin + (if (begin + (.sllv a1-2 v1-0 r0) + (set! a2-0 (the-as none (l.wu a1-2))) + (set! a1-3 (the-as none (l.w (+ a2-0 40)))) + (set! v1-1 (the-as none (sra v1-0 32))) + (= v1-1 a1-3) + ) + (set! a1-1 (the-as none a2-0)) + ) + (set! v1-2 (the-as none a1-1)) + ) + ) + a1-1 + ) + (and (begin (set! v1-3 (the-as none (l.wu (+ a1-1 68)))) v1-3) (begin + (set! v1-5 (the-as none (l.wu (+ a1-1 68)))) + (set! v1-6 (the-as none (l.wu v1-5))) + (set! a2-1 (the-as none 'riding-idle-ship)) + (set! v1-4 (the-as none (= v1-6 a2-1))) + ) + ) + (cond + ((not v1-4) + (set! v1-7 (the-as none (l.wu (+ a0-0 -4)))) + (set! t9-0 (the-as none (l.wu (+ v1-7 56)))) + (call!) + (set! v1-8 (the-as none v0-1)) + (set! t9-1 (the-as none enter-state)) + (set! v1-9 (the-as none empty-state)) + (s.w! (+ s6-0 68) v1-9) + (call!) + ) + (else + (set! v1-10 (the-as none (+ sp-0 16))) + (set! a2-2 (the-as none (l.wu (+ a1-1 124)))) + (set! a2-3 (the-as none (+ a2-2 12))) + (set! a2-4 (the-as none (l.q a2-3))) + (s.q! v1-10 a2-4) + (set! a1-4 (the-as none (l.wu (+ a1-1 128)))) + (set! a1-5 (the-as none (l.wu (+ a1-4 28)))) + (set! a1-6 (the-as none (+ a1-5 0))) + (set! a2-5 (the-as none v1-10)) + (set! a3-0 (the-as none v1-10)) + (set! t0-0 (the-as none (+ a1-6 16))) + (set! t1-0 (the-as none #x45a66666)) + (set! f0-0 (the-as none (gpr->fpr t1-0))) + (set! a2-6 (the-as none (vecplusfloattimes a2-5 a3-0 t0-0 f0-0))) + (set! a2-7 (the-as none v1-10)) + (set! a3-1 (the-as none v1-10)) + (set! a1-7 (the-as none (+ a1-6 32))) + (set! t0-1 (the-as none #x4599999a)) + (set! f0-1 (the-as none (gpr->fpr t0-1))) + (set! a2-8 (the-as none (vecplusfloattimes a2-7 a3-1 a1-7 f0-1))) + (set! a0-1 (the-as none (l.wu (+ a0-0 124)))) + (set! v0-3 (the-as none (+ a0-1 12))) + (set! v1-11 (the-as none (l.q v1-10))) + (s.q! v0-3 v1-11) + ) + ) + ) + (ret-none) + ) + ) + +;; definition for method 54 of type bt-grunt +;; INFO: Used lq/sq +(defmethod bt-grunt-method-54 ((this bt-grunt) (arg0 vector)) + (let ((v1-2 (-> this node-list data 0 bone transform))) + (set! (-> arg0 quad) (-> this root trans quad)) + (vector+float*! arg0 arg0 (-> v1-2 uvec) 5324.8) + (vector+float*! arg0 arg0 (-> v1-2 fvec) 4915.2) + ) + arg0 + ) + +;; failed to figure out what this is: +(defstate riding-idle-ship (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (riding-trans self) + (if (or (time-elapsed? (-> self start-ride-time) (seconds 10)) + (and (time-elapsed? (-> self start-ride-time) (seconds 1)) + (not (logtest? (-> self draw status) (draw-control-status on-screen))) + ) + ) + (on-death self) + ) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(if #t + (set! *grunt-idle-shift* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -0.3 :z -0.7 :w -1.0) + :ys (new 'static 'vector :y 1.0 :z 1.0) + :one-over-x-deltas (new 'static 'vector :x 3.3333333 :z -3.3333333 :w 1.0) + ) + ) + ) + +;; failed to figure out what this is: +(defstate riding-idle (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior ((arg0 symbol)) + (if arg0 + (set! (-> self idle-time) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 451) 150)) + ) + (set! (-> self idle-time) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 451) 150)) + ) + ) + (set-time! (-> self state-time)) + ) + :exit (behavior () + (sound-stop (-> self breathe-sound)) + ) + :trans (behavior () + (sound-play "grunt-breath" :id (-> self breathe-sound) :position (-> self root trans)) + (riding-trans self) + (if (time-elapsed? (-> self state-time) (-> self idle-time)) + (go-virtual riding-attack) + ) + (let ((f0-2 (/ (* 0.0033333334 (the float (- (current-time) (-> self state-time)))) + (* 0.0033333334 (the float (-> self idle-time))) + ) + ) + ) + (+! (-> self root trans y) (* 409.6 (curve2d-method-9 *grunt-idle-shift* f0-2 3))) + ) + ) + :code (behavior ((arg0 symbol)) + (until #f + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bt-grunt-closeup-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for method 30 of type bt-grunt +(defmethod bt-enemy-handler ((this bt-grunt) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('rider-eject) + (on-death this) + #t + ) + (('rider-eject-if-boarded) + (when (and (-> this next-state) (let ((v1-6 (-> this next-state name))) + (or (= v1-6 'riding) + (= v1-6 'ridle-idle-ship) + (= v1-6 'riding-land) + (= v1-6 'riding-idle) + (= v1-6 'riding-attack) + ) + ) + ) + (on-death this) + #t + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 31 of type bt-grunt +;; WARN: Return type mismatch int vs none. +(defmethod on-hit ((this bt-grunt) (arg0 float)) + (call-parent-method this arg0) + (sound-play "grunt-take-hit" :id (-> this hit-sound)) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate riding-attack (bt-grunt) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (riding-trans self) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.1)) + (cond + ((zero? (mod (the-as int (rand-uint31-gen *random-generator*)) 3)) + (let ((f30-0 0.0)) + (ja-no-eval :group! bt-grunt-close-attack0-ja :num! (seek! max 1.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-0 (ja-frame-num 0))) + (when (and (< f30-0 11.0) (>= f28-0 11.0)) + (attack-vehicle self #t) + (sound-play "grunt-punch") + ) + (set! f30-0 f28-0) + ) + (suspend) + (ja :num! (seek! max 1.5)) + ) + ) + ) + (else + (let ((f30-1 0.0)) + (ja-no-eval :group! bt-grunt-close-attack1-ja :num! (seek! max 1.5) :frame-num 0.0) + (until (ja-done? 0) + (let ((f28-1 (ja-frame-num 0))) + (let* ((f0-15 (/ f28-1 (the float (ja-num-frames 0)))) + (gp-1 (new-stack-vector0)) + (f26-0 (curve2d-method-9 *curve-linear-up-down* f0-15 3)) + ) + (vector-float*! gp-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! gp-1 gp-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) -1228.8) + (vector+float*! (-> self root trans) (-> self root trans) gp-1 f26-0) + ) + (when (and (< f30-1 12.5) (>= f28-1 12.5)) + (attack-vehicle self #t) + (sound-play "grunt-bite") + ) + (set! f30-1 f28-1) + ) + (suspend) + (ja :num! (seek! max 1.5)) + ) + ) + ) + ) + (go-virtual riding-idle #f) + ) + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for method 47 of type bt-grunt +;; INFO: Used lq/sq +(defmethod riding-trans ((this bt-grunt)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (cond + ((send-event (handle->process (-> this target)) 'get-rider-transform (-> this rider-index) s4-0 s5-0) + (set-vector! (-> this root scale) 1.1 1.1 1.1 1.0) + (set! (-> this root trans quad) (-> s4-0 quad)) + (quaternion-copy! (-> this root quat) s5-0) + ) + (else + (on-death this) + ) + ) + ) + (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)) + #f + ) + +;; definition for method 32 of type bt-grunt +;; INFO: Used lq/sq +(defmethod on-death ((this bt-grunt)) + (send-event (handle->process (-> this target)) 'kill-rider (process->handle this)) + (sound-play "grunt-die") + (if (nonzero? (-> this part)) + (kill-particles (-> this part)) + ) + (cond + ((and (and (-> this next-state) (= (-> this next-state name) 'jumping)) + (or (not (logtest? (-> *blow-tower-speech* 9 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 9 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 9 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 9 *blow-tower-speech-list* (target-pos 0)) + ) + ((and (or (not (logtest? (-> *blow-tower-speech* 18 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 18 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 18 play-time) (seconds 10)) + ) + ) + (-> this landed-on-player?) + ) + (speech-play *blow-tower-speech* 18 *blow-tower-speech-list* (target-pos 0)) + ) + ) + (let ((f30-0 (cond + ((and (-> this next-state) (let ((v1-49 (-> this next-state name))) + (or (= v1-49 'waiting-to-jump) (= v1-49 'jumping-start)) + ) + ) + 163840.0 + ) + ((and (-> this next-state) (= (-> this next-state name) 'jumping)) + 245760.0 + ) + ((and (-> this next-state) (= (-> this next-state name) 'riding-idle-ship)) + 204800.0 + ) + (else + 327680.0 + ) + ) + ) + ) + (if (and (= (-> this target) (-> *blow-tower-targets* hellcat)) + (and (-> this next-state) (let ((v1-63 (-> this next-state name))) + (or (= v1-63 'riding) (= v1-63 'riding-idle) (= v1-63 'riding-land)) + ) + ) + ) + (vector-float*! + (-> this last-attack-dir) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) + -1.0 + ) + ) + (let ((a0-39 (-> this last-attack-dir))) + (set! (-> a0-39 quad) (-> this last-attack-dir quad)) + (set! (-> a0-39 y) 0.0) + (vector-normalize! a0-39 1.0) + ) + (let ((f0-5 (cond + ((= (-> this target) (-> *blow-tower-targets* pickup)) + (+! (-> this last-attack-dir y) 0.75) + (* 0.75 f30-0) + ) + (else + (+! (-> this last-attack-dir y) 0.25) + (* 0.95 f30-0) + ) + ) + ) + ) + (vector-float*! (-> this root transv) (-> this last-attack-dir) f0-5) + ) + ) + (go (method-of-object this ragdolled)) + ) + +;; failed to figure out what this is: +(defstate dormant (bt-grunt) + :virtual #t + :enter (behavior () + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + (set! (-> self root trans quad) (-> self start-pos quad)) + (set! (-> self entity extra vis-dist) 819200.0) + ) + :exit (behavior () + (initialize (-> self part) (-> *part-group-id-table* 1459) self) + ) + ) + +;; definition for method 10 of type bt-grunt +(defmethod deactivate ((this bt-grunt)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (set! (-> this entity extra vis-dist) 819200.0) + (sound-stop (-> this breathe-sound)) + (call-parent-method this) + (none) + ) + +;; failed to figure out what this is: +(defstate ragdolled (bt-grunt) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + (start-ragdoll self) + ) + :exit (behavior () + (let ((a0-1 (handle->process (-> self ragdoll-proc)))) + (if a0-1 + (deactivate a0-1) + ) + ) + ) + :trans (behavior () + (if (time-elapsed? (-> self state-time) (seconds 0.2)) + (logior! (-> self focus-status) (focus-status dead)) + ) + ) + :code (behavior () + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.3)) + (suspend) + ) + ) + (until #f + (suspend) + (when (ragdoll-settled? self) + (if (-> self skel effect) + (logior! (-> self skel effect flags) (effect-control-flag ecf1)) + ) + (do-effect (-> self skel effect) "death-default" 0.0 -1) + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.3)) + (suspend) + ) + ) + (logior! (-> self draw status) (draw-control-status no-draw)) + (let ((gp-2 (current-time))) + (until (time-elapsed? gp-2 (seconds 0.8)) + (suspend) + ) + ) + (go-virtual dormant) + ) + ) + #f + ) + :post transform-post + ) + +;; definition of type bt-missile +(deftype bt-missile (blow-tower-enemy) + ((xforms xform 4 :inline) + (parent-xform xform :inline :overlay-at (-> xforms 0)) + (last-parent-quat quaternion :inline) + (local-xform xform :inline :overlay-at (-> xforms 1)) + (base-y float) + (bob-xform xform :inline :overlay-at (-> xforms 2)) + (bob-orient xform :inline :overlay-at (-> xforms 3)) + (bobbers tower-flyer-bobber 3 :inline) + (target handle) + (chase-start-time time-frame) + (chase-end-time time-frame) + (chase-start-dist float) + (preferred-height-offset float) + (particle-trail sparticle-subsampler) + (travel-sound uint32) + (dumb-fire? symbol) + (dumb-speed float) + (dumb-start vector :inline) + (dumb-dest vector :inline) + ) + (:state-methods + chasing + explode + ) + (:methods + (chase-trans (_type_) none) + ) + ) + +;; definition for method 3 of type bt-missile +(defmethod inspect ((this bt-missile)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type blow-tower-enemy inspect))) + (t9-0 this) + ) + (format #t "~2Txforms[4] @ #x~X~%" (-> this xforms)) + (format #t "~2Tparent-xform: #~%" (-> this xforms)) + (format #t "~2Tlast-parent-quat: #~%" (-> this last-parent-quat)) + (format #t "~2Tlocal-xform: #~%" (-> this local-xform)) + (format #t "~2Tbase-y: ~f~%" (-> this base-y)) + (format #t "~2Tbob-xform: #~%" (-> this bob-xform)) + (format #t "~2Tbob-orient: #~%" (-> this bob-orient)) + (format #t "~2Tbobbers[3] @ #x~X~%" (-> this bobbers)) + (format #t "~2Ttarget: ~D~%" (-> this target)) + (format #t "~2Tchase-start-time: ~D~%" (-> this chase-start-time)) + (format #t "~2Tchase-end-time: ~D~%" (-> this chase-end-time)) + (format #t "~2Tchase-start-dist: ~f~%" (-> this chase-start-dist)) + (format #t "~2Tpreferred-height-offset: ~f~%" (-> this preferred-height-offset)) + (format #t "~2Tparticle-trail: ~A~%" (-> this particle-trail)) + (format #t "~2Ttravel-sound: ~D~%" (-> this travel-sound)) + (format #t "~2Tdumb-fire?: ~A~%" (-> this dumb-fire?)) + (format #t "~2Tdumb-speed: ~f~%" (-> this dumb-speed)) + (format #t "~2Tdumb-start: #~%" (-> this dumb-start)) + (format #t "~2Tdumb-dest: #~%" (-> this dumb-dest)) + (label cfg-4) + this + ) + +;; definition for function bt-missile-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-missile-init-by-other bt-missile ((arg0 tower-enemy-init-params)) + (let ((s5-0 (new 'process 'collide-shape self (collide-list-enum usually-hit-by-player)))) + (let ((v1-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-2 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-2 prim-core collide-with) (collide-spec obstacle)) + (set! (-> v1-2 prim-core action) (collide-action solid)) + (set-vector! (-> v1-2 local-sphere) 0.0 0.0 0.0 12288.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! (-> self root) s5-0) + ) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self target) (-> arg0 target)) + (set! (-> self chase-start-time) (-> arg0 activate-time)) + (set! (-> self dumb-fire?) (-> arg0 bool-userdata?)) + (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-14 (the-as number (logior #x3f800000 v1-13))) + (f30-0 (+ -1.0 (the-as float v1-14))) + ) + (set! (-> self chase-end-time) + (+ (-> self chase-start-time) (the int (* 300.0 (lerp 3.0 3.0 f30-0) (-> arg0 time-offset)))) + ) + (set! (-> self chase-start-dist) + (+ (* 122880.0 (sqrtf (-> arg0 time-offset))) (* (-> arg0 time-offset) (lerp 0.0 40960.0 f30-0))) + ) + ) + (when (-> self dumb-fire?) + (set! (-> self chase-end-time) (+ (-> self chase-start-time) (the int (* 300.0 (-> arg0 time-offset))))) + (let ((gp-1 (new 'stack 'blow-tower-path-cursor))) + (when (send-event (handle->process (-> self target)) 'predict-position gp-1 (-> self root trans)) + (blow-tower-path-cursor-method-9 gp-1 (the-as int (-> self chase-end-time))) + (set! (-> self dumb-dest quad) (-> gp-1 pos quad)) + (+! (-> self dumb-dest y) 8192.0) + (let ((f30-1 (-> self dumb-dest y))) + (set! (-> self dumb-dest y) + (+ f30-1 (the-as float (send-event (handle->process (-> self target)) 'predict-height))) + ) + ) + (set! (-> self dumb-start quad) (-> self root trans quad)) + ) + ) + ) + (let* ((f30-2 -10240.0) + (f28-2 22528.0) + (v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-50 (the-as number (logior #x3f800000 v1-49))) + ) + (set! (-> self preferred-height-offset) (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-50))))) + ) + (init self) + (go-virtual idle) + ) + +;; definition for method 33 of type bt-missile +;; WARN: Return type mismatch sound-id vs object. +(defmethod init ((this bt-missile)) + (set! (-> self level) (level-get *level* 'lblowtkg)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-missile" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (dotimes (s5-1 3) + (init-fields (-> this bobbers s5-1)) + ) + (dotimes (s5-2 4) + (reset (-> this xforms s5-2)) + ) + self + (set! (-> this particle-trail) + (new 'process 'sparticle-subsampler *sp-particle-system-2d* (-> *part-id-table* 4806) 4.0) + ) + (call-parent-method this) + (set! (-> this hit-points) 2.0) + (let ((v0-8 (new-sound-id))) + (set! (-> this travel-sound) (the-as uint v0-8)) + v0-8 + ) + ) + +;; failed to figure out what this is: +(defstate idle (bt-missile) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (logior! (-> self draw status) (draw-control-status no-draw)) + ) + :trans (behavior () + (when (< (-> self chase-start-time) (-> *blow-tower-targets* mission-time)) + (logclear! (-> self draw status) (draw-control-status no-draw)) + (sound-play "missile-launch") + (go-virtual chasing) + ) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(defstate chasing (bt-missile) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (let* ((gp-0 (handle->process (-> self target))) + (v1-3 (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + ) + (when v1-3 + (set! (-> self base-y) (-> v1-3 root trans y)) + (quaternion-copy! (-> self last-parent-quat) (-> v1-3 root quat)) + ) + ) + ) + :trans (behavior () + (sound-play "bt-missile" :id (the-as sound-id (-> self travel-sound)) :position (-> self root trans)) + (chase-trans self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for method 10 of type bt-missile +(defmethod deactivate ((this bt-missile)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (sound-stop (the-as sound-id (-> this travel-sound))) + (call-parent-method this) + (none) + ) + +;; definition for method 40 of type bt-missile +;; INFO: Used lq/sq +;; WARN: Return type mismatch matrix vs none. +(defmethod chase-trans ((this bt-missile)) + (let ((f30-0 (/ (the float (- (-> *blow-tower-targets* mission-time) (-> this chase-start-time))) + (the float (- (-> this chase-end-time) (-> this chase-start-time))) + ) + ) + ) + (if (>= f30-0 1.0) + (go (method-of-object this explode)) + ) + (cond + ((-> this dumb-fire?) + (quaternion-identity! (-> this local-xform root quat)) + (set! (-> this local-xform root trans quad) (the-as uint128 0)) + (set! (-> this local-xform root trans w) 1.0) + (let ((s5-0 (-> this xforms)) + (s4-1 (vector-! (new 'stack-no-clear 'vector) (-> this dumb-dest) (-> this dumb-start))) + (s3-0 (new 'stack-no-clear 'matrix)) + ) + (vector-lerp! (the-as vector (-> s5-0 0)) (-> this dumb-start) (-> this dumb-dest) f30-0) + (vector-normalize! s4-1 1.0) + (matrix-f-u-compose s3-0 s4-1 *up-vector*) + (matrix->quaternion (-> s5-0 0 root quat) s3-0) + ) + ) + (else + (set! f30-0 (fmax 0.0 (fmin 1.0 f30-0))) + (set! (-> this local-xform root trans z) (- (lerp (-> this chase-start-dist) 16384.0 f30-0))) + (set! (-> this local-xform root trans y) (lerp (-> this preferred-height-offset) 0.0 f30-0)) + (set! (-> this local-xform root trans w) 1.0) + (let* ((s5-1 (-> this xforms)) + (s3-1 (handle->process (-> this target))) + (s4-2 (if (type? s3-1 process-focusable) + (the-as process-focusable s3-1) + ) + ) + ) + (when s4-2 + (set! (-> s5-1 0 root trans quad) (-> (get-trans s4-2 3) quad)) + (let ((s4-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-2 root quat)))) + (set! (-> s4-3 y) 0.0) + (vector-normalize! s4-3 1.0) + (quaternion-look-at! (-> s5-1 0 root quat) s4-3 *up-vector*) + ) + (let* ((f0-12 (lerp 8.0 8.0 f30-0)) + (f0-14 (fmin 1.0 (* f0-12 (seconds-per-frame)))) + ) + (quaternion-slerp! (-> s5-1 0 root quat) (-> this last-parent-quat) (-> s5-1 0 root quat) f0-14) + ) + (quaternion-copy! (-> this last-parent-quat) (-> s5-1 0 root quat)) + (set! (-> s5-1 0 root trans w) 1.0) + ) + ) + ) + ) + (set! (-> this bobbers 0 output-scale) 8192.0) + (set! (-> this bobbers 1 output-scale) 16384.0) + (set! (-> this bobbers 1 base-time) 0.95) + (set! (-> this bobbers 2 output-scale) 6144.0) + (set! (-> this bobbers 2 base-time) 1.1) + (dotimes (s5-2 3) + (tower-flyer-bobber-method-10 (-> this bobbers s5-2)) + ) + (let ((v1-42 (new 'stack-no-clear 'vector))) + (set! (-> v1-42 x) (-> this bobbers 0 output-val)) + (set! (-> v1-42 y) (-> this bobbers 1 output-val)) + (set! (-> v1-42 z) (-> this bobbers 2 output-val)) + (set! (-> v1-42 w) 1.0) + (set! (-> this bob-xform root trans quad) (-> v1-42 quad)) + ) + (when (= (-> this target) (-> *blow-tower-targets* hellcat)) + (let ((f0-26 (- 1.0 (* f30-0 f30-0)))) + (vector-float*! (the-as vector (-> this bob-xform)) (the-as vector (-> this bob-xform)) 2.0) + (vector-float*! (the-as vector (-> this bob-xform)) (the-as vector (-> this bob-xform)) f0-26) + ) + ) + ) + (let ((s5-3 (reset (new 'stack-no-clear 'xform)))) + (process-xform-list s5-3 s5-3 (-> this xforms) 2) + (when (not (-> this dumb-fire?)) + (set! (-> this base-y) (lerp (-> this base-y) (-> s5-3 root trans y) (* 2.0 (seconds-per-frame)))) + (set! (-> s5-3 root trans y) (-> this base-y)) + ) + (process-xform-list s5-3 s5-3 (the-as (inline-array xform) (-> this bob-xform)) 1) + (set! (-> this root trans quad) (-> s5-3 root trans quad)) + (let ((s3-3 (new 'stack-no-clear 'vector))) + (set! (-> s3-3 x) (-> this bobbers 0 current-speed)) + (set! (-> s3-3 y) (-> this bobbers 1 current-speed)) + (set! (-> s3-3 z) (-> this bobbers 2 current-speed)) + (set! (-> s3-3 w) 1.0) + (let ((s4-4 (new 'stack-no-clear 'quaternion))) + (vector-normalize! s3-3 1.0) + (+! (-> s3-3 y) 1.0) + (set! (-> s3-3 y) (* 0.5 (-> s3-3 y))) + (+! (-> s3-3 x) 1.0) + (set! (-> s3-3 x) (* 0.5 (-> s3-3 x))) + (quaternion-rotate-x! + s4-4 + (quaternion-identity! (new 'stack-no-clear 'quaternion)) + (lerp 3640.889 -3640.889 (-> s3-3 y)) + ) + (quaternion-rotate-local-y! s4-4 s4-4 (lerp 3640.889 -3640.889 (-> s3-3 x))) + (quaternion-slerp! + (-> this bob-orient root quat) + (-> this bob-orient root quat) + s4-4 + (* 2.0 (seconds-per-frame)) + ) + ) + ) + (quaternion*! (-> s5-3 root quat) (-> s5-3 root quat) (-> this bob-orient root quat)) + (quaternion-copy! (-> this root quat) (-> s5-3 root quat)) + ) + (let ((a1-28 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector+float*! (-> a1-28 trans) (-> this root trans) (-> a1-28 fvec) -10240.0) + (init-with-mat! (-> this particle-trail) a1-28) + ) + (none) + ) + +;; definition for method 7 of type bt-missile +(defmethod relocate ((this bt-missile) (offset int)) + (if (nonzero? (-> this particle-trail)) + (&+! (-> this particle-trail) offset) + ) + (call-parent-method this offset) + ) + +;; failed to figure out what this is: +(defstate explode (bt-missile) + :virtual #t + :enter (behavior () + (sound-stop (the-as sound-id (-> self travel-sound))) + (sound-play "missile-explode") + (let ((v1-3 (get-trans self 3))) + (cond + ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> v1-3 quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> v1-3 quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + ) + ) + (let ((f30-0 6.0)) + (when (= (-> self target) (-> *blow-tower-targets* hellcat)) + (sound-play "hellcat-hit") + (set! f30-0 (cond + ((not (time-elapsed? (-> *blow-tower-targets* last-player-attack-time) (seconds 0.75))) + 2.0 + ) + (else + (if (and (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + f30-0 + ) + ) + ) + (set-time! (-> *blow-tower-targets* last-player-attack-time)) + ) + (format 0 "Damage missile is ~f~%" f30-0) + (let ((a1-11 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-11 from) (process->ppointer self)) + (set! (-> a1-11 num-params) 2) + (set! (-> a1-11 message) 'attack) + (set! (-> a1-11 param 0) (the-as uint #f)) + (let ((v1-59 (new 'static 'attack-info + :mask (attack-mask trans mode id damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-35 *game-info*) + (a2-15 (+ (-> a0-35 attack-id) 1)) + ) + (set! (-> a0-35 attack-id) a2-15) + (set! (-> v1-59 id) a2-15) + ) + (set! (-> v1-59 damage) f30-0) + (set! (-> v1-59 vehicle-damage-factor) 1.0) + (set! (-> v1-59 vehicle-impulse-factor) 1.0) + (set! (-> v1-59 mode) 'eco-dark) + (set! (-> v1-59 trans quad) (-> self root trans quad)) + (set! (-> a1-11 param 1) (the-as uint v1-59)) + ) + (send-event-function (handle->process (-> self target)) a1-11) + ) + ) + ) + :code nothing + ) + +;; definition for method 51 of type bt-grunt +;; INFO: Used lq/sq +;; WARN: Return type mismatch vector vs none. +(defmethod start-ragdoll ((this bt-grunt)) + (set! (-> this ragdoll-proc) + (ppointer->handle + (process-spawn ragdoll-proc *bt-grunt-ragdoll-info* :name "ragdoll-proc" :to this :stack-size #x5000) + ) + ) + (let ((s5-1 (handle->process (-> this ragdoll-proc)))) + (when s5-1 + (when (not s5-1) + (format 0 "deactivated ~A because a ragdoll allocate failed~%" (-> this name)) + (deactivate this) + ) + (if (-> (the-as ragdoll-proc s5-1) ragdoll) + (logior! (-> (the-as ragdoll-proc s5-1) ragdoll ragdoll-flags) (ragdoll-flag rf3 rf4)) + ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (vector-float*! s4-0 (-> this root transv) (seconds-per-frame)) + (ragdoll-proc-method-15 (the-as ragdoll-proc s5-1) #f (the-as vector #f) #t) + (ragdoll-method-23 (-> (the-as ragdoll-proc s5-1) ragdoll) (-> this root trans) s4-0 1.0 #t) + (set! (-> (the-as ragdoll-proc s5-1) ragdoll ragdoll-joints 0 velocity quad) (-> s4-0 quad)) + ) + ) + ) + (none) + ) + +;; definition for method 52 of type bt-grunt +(defmethod ragdoll-settled? ((this bt-grunt)) + (local-vars (f0-0 float)) + (let ((gp-0 (the-as ragdoll-proc (handle->process (-> this ragdoll-proc))))) + (or (not gp-0) + (or (ragdoll-proc-method-19 gp-0) + (and (time-elapsed? (-> this state-time) (seconds 0.5)) + (let ((f1-0 4096.0)) + (set! f0-0 364.0889) + (< (vector-length (-> gp-0 ragdoll ragdoll-joints 0 velocity)) (* f1-0 (seconds-per-frame))) + ) + (< (cos (* f0-0 (seconds-per-frame))) (-> gp-0 ragdoll rotate-vel w)) + ) + ) + ) + ) + ) + +;; definition for method 12 of type bt-grunt +(defmethod run-logic? ((this bt-grunt)) + "Should this process be run? Checked by execute-process-tree." + #t + ) + +;; definition for method 53 of type bt-grunt +;; WARN: Return type mismatch float vs none. +(defmethod bt-grunt-method-53 ((this bt-grunt)) + (fmax + 0.0 + (fmin + 1.0 + (lerp-scale-clamp 0.0 1.0 (vector-vector-distance (-> this root trans) (math-camera-pos)) 204800.0 532480.0) + ) + ) + (vector-vector-distance (-> this root trans) (math-camera-pos)) + (let ((f30-1 0.0)) + (set! (-> this draw color-mult x) (lerp 1.0 2.0 f30-1)) + (set! (-> this draw color-mult y) (lerp 1.0 0.5 f30-1)) + (set! (-> this draw color-mult z) (lerp 1.0 0.6999 f30-1)) + (set! (-> this draw color-emissive x) (* 1.7 f30-1)) + (set! (-> this draw color-emissive y) f30-1) + (set! (-> this draw color-emissive z) (* 0.6999 f30-1)) + ) + (none) + ) + +;; definition for method 34 of type bt-grunt +(defmethod blow-tower-enemy-method-34 ((this bt-grunt)) + (call-parent-method this) + (bt-grunt-method-53 this) + (none) + ) + +;; definition for method 34 of type bt-mh-flyer +(defmethod blow-tower-enemy-method-34 ((this bt-mh-flyer)) + (logior! (-> this skel status) (joint-control-status sync-math)) + (sound-play "wasp-jets" :id (-> this buzz-sound) :position (-> this root trans)) + (call-parent-method this) + (none) + ) + +;; definition for method 52 of type bt-mh-flyer +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod bt-mh-flyer-method-52 ((this bt-mh-flyer)) + (local-vars (at-0 int) (at-1 int)) + (with-pp + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((a0-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> this node-list data 3))) + (v1-1 (new 'stack-no-clear 'vector)) + ) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (vector-! v1-1 a0-2 (the-as vector (-> this main-joint-movement))) + (let ((a2-1 v1-1)) + (.lvf vf1 (&-> v1-1 quad)) + (let ((f0-0 (-> pp clock frames-per-second))) + (.mov at-0 f0-0) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-1 quad) vf1) + ) + (vector-! a1-1 v1-1 (-> this main-joint-movement 1)) + (let ((a2-3 (-> this main-joint-movement 2))) + (.lvf vf1 (&-> a1-1 quad)) + (let ((f0-1 (-> pp clock frames-per-second))) + (.mov at-1 f0-1) + ) + (.mov vf2 at-1) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-3 quad) vf1) + ) + ) + (set! (-> this main-joint-movement 0 quad) (-> a0-2 quad)) + (set! (-> this main-joint-movement 1 quad) (-> v1-1 quad)) + ) + (let ((s4-0 (-> this main-joint-movement 1)) + (s5-0 (-> this main-joint-movement 2)) + (s3-0 + (lambda ((arg0 bt-mh-flyer) (arg1 cspace) (arg2 float) (arg3 float) (arg4 vector) (arg5 vector) (arg6 int)) + (local-vars (sv-192 float) (sv-208 quaternion) (sv-224 vector)) + (set! sv-192 arg2) + (let ((s0-0 arg3)) + (set! sv-224 arg4) + (let ((s1-0 arg5) + (s3-0 arg6) + (s4-0 (vector<-cspace! (new 'stack-no-clear 'vector) arg1)) + (s5-0 (new 'stack-no-clear 'matrix)) + (a1-3 (matrix-with-scale->quaternion (new 'stack-no-clear 'quaternion) (-> arg1 bone transform))) + ) + (set! sv-208 (new 'stack-no-clear 'quaternion)) + (let ((s2-1 (new 'stack-no-clear 'vector))) + 0.75 + (quaternion-rotate-local-z! sv-208 a1-3 sv-192) + (quaternion->matrix s5-0 sv-208) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) + (scale-matrix! s5-0 s2-1 s5-0) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) + (t9-6 vector-inv-orient-by-quat!) + (a0-10 (new 'stack-no-clear 'vector)) + (a2-4 (-> arg0 root quat)) + (v0-6 (t9-6 a0-10 sv-224 a2-4)) + (f30-0 (* 1638400.0 (seconds-per-frame))) + (f28-0 (seek + (-> arg0 thrust s3-0) + (+ (* 0.4 (fmax 0.0 (* (-> v0-6 x) s0-0))) + (fmax 0.0 (-> v0-6 y)) + (fabs (* 0.2 (-> v0-6 z))) + (fmax 0.0 (-> s1-1 y)) + ) + (* 0.2 f30-0) + ) + ) + ) + (let ((f20-0 (lerp-scale 819.2 4096.0 f28-0 1638.4 f30-0)) + (f26-0 (lerp-scale 4915.2 11468.8 f28-0 1638.4 f30-0)) + ) + (lerp-scale 0.0 -4915.2 f28-0 1638.4 f30-0) + (let ((f22-0 (lerp-scale 0.5 1.5 f28-0 1638.4 f30-0)) + (f24-0 (lerp-scale 0.1 1.0 f28-0 1638.4 f30-0)) + ) + (lerp-scale 0.1 1.0 f28-0 1638.4 f30-0) + (let ((f1-10 (lerp-scale 0.02 0.6 f28-0 1638.4 f30-0)) + (f2-6 (fmin 1.0 (-> s2-1 x))) + (f0-15 (fmin 1.0 (-> s2-1 y))) + ) + (set! (-> *part-id-table* 4817 init-specs 4 initial-valuef) (* f20-0 f2-6)) + (set! (-> *part-id-table* 4817 init-specs 5 initial-valuef) (* f26-0 f0-15)) + (set! (-> *part-id-table* 4821 init-specs 3 initial-valuef) (* f22-0 f2-6)) + (set! (-> *part-id-table* 4818 init-specs 1 initial-valuef) (* f24-0 f0-15)) + (set! (-> *part-id-table* 4819 init-specs 1 initial-valuef) (* f1-10 f0-15)) + (set! (-> *part-id-table* 4820 init-specs 0 initial-valuef) (* f24-0 f0-15)) + (set! (-> arg0 thrust s3-0) f28-0) + (let ((f0-16 (* f26-0 f0-15))) + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 uvec) (* 0.3 f0-16)) + ) + ) + ) + ) + (set! (-> s5-0 trans quad) (-> s4-0 quad)) + (spawn-from-mat (-> arg0 engine-part) s5-0) + (lerp-scale 0.75 1.0 f28-0 1638.4 f30-0) + ) + ) + ) + ) + 0 + (none) + ) + ) + ) + (s3-0 this (-> this node-list data 10) 16384.0 -1.0 s5-0 s4-0 0) + (s3-0 this (-> this node-list data 13) -16384.0 1.0 s5-0 s4-0 1) + ) + 0 + (none) + ) + ) + ) + +;; definition for method 34 of type kg-flyer +(defmethod blow-tower-enemy-method-34 ((this kg-flyer)) + (sound-play "f-turret-engine" :id (-> this buzz-sound) :position (-> this root trans)) + (call-parent-method this) + (none) + ) + +;; definition for method 32 of type bt-missile +;; INFO: Used lq/sq +(defmethod on-death ((this bt-missile)) + (logior! (-> this focus-status) (focus-status dead)) + (cond + ((logtest? (-> *part-group-id-table* 218 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 218)) + ) + ) + (sound-play "missile-explode") + (go empty-state) + ) + +;; definition for method 46 of type bt-mh-flyer +;; INFO: Used lq/sq +;; WARN: Return type mismatch vector vs none. +(defmethod tower-flyer-method-46 ((this bt-mh-flyer)) + (call-parent-method this) + (set! (-> this main-joint-movement 0 quad) (-> this root trans quad)) + (set! (-> this main-joint-movement 1 quad) (the-as uint128 0)) + (set! (-> this main-joint-movement 2 quad) (the-as uint128 0)) + (none) + ) + +;; definition for method 10 of type bt-mh-flyer +(defmethod deactivate ((this bt-mh-flyer)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this engine-part)) + (kill-particles (-> this engine-part)) + ) + (call-parent-method this) + (none) + ) + +;; definition for method 7 of type bt-mh-flyer +(defmethod relocate ((this bt-mh-flyer) (offset int)) + (if (nonzero? (-> this engine-part)) + (&+! (-> this engine-part) offset) + ) + (call-parent-method this offset) + ) + +;; definition of type kg-bombbot +(deftype kg-bombbot (bombbot) + ((start-time time-frame) + ) + ) + +;; definition for method 3 of type kg-bombbot +(defmethod inspect ((this kg-bombbot)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type bombbot inspect))) + (t9-0 this) + ) + (format #t "~2Tstart-time: ~D~%" (-> this start-time)) + (label cfg-4) + this + ) + +;; definition for method 207 of type kg-bombbot +(defmethod bombbot-method-207 ((this kg-bombbot)) + #f + ) + +;; definition for method 59 of type kg-bombbot +(defmethod enemy-common-post ((this kg-bombbot)) + (if (< (seconds 20) (- (-> *blow-tower-targets* mission-time) (-> this start-time))) + (go empty-state) + ) + (call-parent-method this) + (none) + ) + +;; definition for method 121 of type kg-bombbot +(defmethod init-enemy! ((this kg-bombbot)) + (with-pp + (set! (-> pp level) (level-get *level* 'lblowtkg)) + (set! (-> this start-time) (-> *blow-tower-targets* mission-time)) + (call-parent-method this) + (none) + ) + ) + +;; definition for function kg-bombbot-find-nearest-nav-mesh +(defun kg-bombbot-find-nearest-nav-mesh ((arg0 kg-bombbot) (arg1 float)) + (local-vars (v1-15 float) (sv-64 nav-poly) (sv-68 nav-mesh) (sv-72 float) (sv-76 kg-bombbot)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (set! sv-64 (new 'stack-no-clear 'nav-poly)) + (set! sv-68 (the-as nav-mesh #f)) + (set! sv-72 arg1) + (set! sv-76 arg0) + (set! (-> sv-64 data 20) (the-as uint 7)) + (dotimes (gp-0 (-> *level* length)) + (let ((v1-5 (-> *level* level gp-0))) + (when (= (-> v1-5 status) 'active) + (let ((s5-0 (-> v1-5 bsp nav-meshes))) + (when (nonzero? s5-0) + (dotimes (s4-0 (-> s5-0 length)) + (let ((s3-0 (-> s5-0 s4-0 nav-mesh))) + (when s3-0 + (vector-! (the-as vector (-> sv-64 vertex)) (the-as vector sv-76) (the-as vector (-> s3-0 bounds))) + (.lvf vf1 (&-> (-> sv-64 vertex) 0 quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-15 vf1) + (let ((f0-1 v1-15) + (f1-0 (-> s3-0 bounds r)) + ) + (when (< f0-1 (* f1-0 f1-0)) + (set! (-> sv-64 vertex1 x) 4096.0) + (nav-mesh-method-46 s3-0 sv-64) + (when (>= sv-72 (-> sv-64 vertex1 w)) + (set! sv-72 (-> sv-64 vertex1 w)) + (set! sv-68 s3-0) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + sv-68 + ) + ) + +;; definition for method 205 of type kg-bombbot +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod bombbot-method-205 ((this kg-bombbot)) + (when (= (-> this nav state mesh) *default-nav-mesh*) + (let ((a0-4 (kg-bombbot-find-nearest-nav-mesh (the-as kg-bombbot (-> this root trans)) (the-as float #x7f800000)))) + (when a0-4 + (change-to a0-4 this) + (dotimes (s5-0 4) + (let ((s4-0 (-> this feet s5-0))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (vector-orient-by-quat! s3-0 (-> s4-0 pos-offset) (-> this root quat)) + (vector+! s3-0 s3-0 (-> this root trans)) + (set! (-> s4-0 next-position quad) (-> s3-0 quad)) + (set! (-> s4-0 position quad) (-> s3-0 quad)) + ) + (set! (-> s4-0 delta-y) 0.0) + ) + (set! (-> this legs-strength s5-0) 1.0) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 196 of type kg-bombbot +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defmethod bombbot-method-196 ((this kg-bombbot) (arg0 vector)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let* ((s4-0 + (handle->process (-> *blow-tower-targets* target-handles (logand (rand-uint31-gen *random-generator*) 1))) + ) + (s5-0 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (cond + (s5-0 + (set! (-> this target-pos quad) (-> (get-trans s5-0 3) quad)) + (let ((v1-9 (-> this target-pos))) + (let ((a0-9 (-> s5-0 root trans))) + (let ((a1-5 (-> s5-0 root transv))) + (let ((a2-0 0.0)) + (.mov vf7 a2-0) + ) + (.lvf vf5 (&-> a1-5 quad)) + ) + (.lvf vf4 (&-> a0-9 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> v1-9 quad) vf6) + ) + (set! (-> this start-target-pos quad) (-> this target-pos quad)) + (set! (-> this start-target-vel quad) (-> s5-0 root transv quad)) + (try-update-focus (-> this focus) s5-0 this) + ) + (else + (clear-focused (-> this focus)) + ) + ) + ) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate hostile (kg-bombbot) + :virtual #t + :enter (behavior () + (set! (-> self hit-points) 10.0) + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate die (kg-bombbot) + :virtual #t + :enter (behavior () + (sound-play "bb-explode") + (go-virtual explode) + ) + ) + +;; definition for method 31 of type bt-mh-flyer +(defmethod on-hit ((this bt-mh-flyer) (arg0 float)) + ((method-of-type blow-tower-enemy on-hit) this arg0) + (none) + ) + +;; definition for method 32 of type bt-mh-flyer +(defmethod on-death ((this bt-mh-flyer)) + (sound-play "wasp-die") + (sound-play "hc-target-hit") + ((method-of-type blow-tower-enemy on-death) this) + ) diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc new file mode 100644 index 0000000000..b122ab3cc8 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-obs_REF.gc @@ -0,0 +1,2229 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type tower-enemy-init-params +(deftype tower-enemy-init-params (structure) + ((pos vector :inline) + (entity-name string) + (target handle) + (time-offset float) + (activate-time time-frame) + (bool-userdata? symbol) + ) + ) + +;; definition for method 3 of type tower-enemy-init-params +(defmethod inspect ((this tower-enemy-init-params)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'tower-enemy-init-params) + (format #t "~1Tpos: #~%" (-> this pos)) + (format #t "~1Tentity-name: ~A~%" (-> this entity-name)) + (format #t "~1Ttarget: ~D~%" (-> this target)) + (format #t "~1Ttime-offset: ~f~%" (-> this time-offset)) + (format #t "~1Tactivate-time: ~D~%" (-> this activate-time)) + (format #t "~1Tbool-userdata?: ~A~%" (-> this bool-userdata?)) + (label cfg-4) + this + ) + +;; definition of type blow-tower-enemy +(deftype blow-tower-enemy (process-focusable) + ((hit-points float) + (last-attack-id uint32) + (last-attack-dir vector :inline) + (last-attack-pos vector :inline) + ) + (:state-methods + idle + dormant + ) + (:methods + (bt-enemy-handler (_type_ process int symbol event-message-block) object) + (on-hit (_type_ float) none) + (on-death (_type_) object) + (init (_type_) object :behavior blow-tower-enemy) + (blow-tower-enemy-method-34 (_type_) none) + (blow-tower-enemy-method-35 (_type_) none) + (blow-tower-enemy-method-36 (_type_) none) + (get-damage-from-attack (_type_ attack-info process-focusable) float) + ) + ) + +;; definition for method 3 of type blow-tower-enemy +(defmethod inspect ((this blow-tower-enemy)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Thit-points: ~f~%" (-> this hit-points)) + (format #t "~2Tlast-attack-id: ~D~%" (-> this last-attack-id)) + (format #t "~2Tlast-attack-dir: #~%" (-> this last-attack-dir)) + (format #t "~2Tlast-attack-pos: #~%" (-> this last-attack-pos)) + (label cfg-4) + this + ) + +;; definition for function blow-tower-enemy-handler +(defbehavior blow-tower-enemy-handler blow-tower-enemy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-enemy-handler self arg0 arg1 arg2 arg3) + ) + +;; definition for method 36 of type blow-tower-enemy +;; WARN: Return type mismatch int vs none. +(defmethod blow-tower-enemy-method-36 ((this blow-tower-enemy)) + (logclear! (-> this focus-status) (focus-status dead)) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate idle (blow-tower-enemy) + :virtual #t + :code nothing + ) + +;; failed to figure out what this is: +(defstate dormant (blow-tower-enemy) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('blow-tower-debug-end) + (when (type? (-> self root) collide-shape) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) + ) + ) + (logclear! (-> self draw status) (draw-control-status no-draw)) + (transform-post) + (blow-tower-enemy-method-36 self) + (go-virtual idle) + ) + ) + ) + :enter (behavior () + (when (type? (-> self root) collide-shape) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (collide-spec)) + (set! (-> v1-2 prim-core collide-with) (collide-spec)) + ) + 0 + ) + (logior! (-> self draw status) (draw-control-status no-draw)) + (transform-post) + (logior! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status no-kill) #f) + ) + :code sleep-code + ) + +;; definition for method 33 of type blow-tower-enemy +(defmethod init ((this blow-tower-enemy)) + (set! (-> this hit-points) 5.0) + (if (!= (status-of-level-and-borrows *level* 'lctyblow #f) 'active) + (go empty-state) + ) + ) + +;; definition for method 31 of type blow-tower-enemy +;; WARN: Return type mismatch rgbaf vs none. +(defmethod on-hit ((this blow-tower-enemy) (arg0 float)) + (set-vector! (-> this draw color-emissive) 2.0 2.0 2.0 2.0) + (none) + ) + +;; definition for method 34 of type blow-tower-enemy +;; WARN: Return type mismatch float vs none. +(defmethod blow-tower-enemy-method-34 ((this blow-tower-enemy)) + (let ((f30-0 (fmin 1.0 (* 20.0 (seconds-per-frame))))) + (seek! (-> this draw color-emissive x) 0.0 f30-0) + (seek! (-> this draw color-emissive y) 0.0 f30-0) + (seek! (-> this draw color-emissive z) 0.0 f30-0) + (seek! (-> this draw color-emissive w) 0.0 f30-0) + ) + (none) + ) + +;; definition for method 35 of type blow-tower-enemy +;; INFO: Used lq/sq +;; WARN: Return type mismatch float vs none. +(defmethod blow-tower-enemy-method-35 ((this blow-tower-enemy)) + (let ((s5-0 (new 'stack-no-clear 'collide-query)) + (gp-0 (-> this root trans)) + ) + (vector+float*! (-> s5-0 start-pos) gp-0 *up-vector* 24576.0) + (set! (-> s5-0 move-dist quad) (the-as uint128 0)) + (set! (-> s5-0 move-dist y) -81920.0) + (let ((v1-5 s5-0)) + (set! (-> v1-5 radius) 409.6) + (set! (-> v1-5 collide-with) (collide-spec backgnd)) + (set! (-> v1-5 ignore-process0) #f) + (set! (-> v1-5 ignore-process1) #f) + (set! (-> v1-5 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-5 action-mask) (collide-action solid)) + ) + (when (>= (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) + (if (< (fabs (- (-> s5-0 best-other-tri intersect y) (-> this root trans y))) 12288.0) + (set! (-> gp-0 y) (fmax 0.0 (-> s5-0 best-other-tri intersect y))) + ) + ) + ) + (none) + ) + +;; definition for method 32 of type blow-tower-enemy +;; INFO: Used lq/sq +(defmethod on-death ((this blow-tower-enemy)) + (logior! (-> this focus-status) (focus-status dead)) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (get-trans this 3) quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (go empty-state) + ) + +;; definition for method 37 of type blow-tower-enemy +(defmethod get-damage-from-attack ((this blow-tower-enemy) (arg0 attack-info) (arg1 process-focusable)) + (if (logtest? (attack-mask damage) (-> arg0 mask)) + (-> arg0 damage) + (penetrate-using->damage (-> arg0 penetrate-using)) + ) + ) + +;; definition for method 30 of type blow-tower-enemy +;; INFO: Used lq/sq +(defmethod bt-enemy-handler ((this blow-tower-enemy) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack) + (let ((s4-0 (the-as attack-info (-> arg3 param 1)))) + (when (and (!= (-> s4-0 id) (-> this last-attack-id)) (or (= (-> s4-0 mode) 'eco-blue) (= (-> s4-0 mode) 'explode))) + (set! (-> this last-attack-id) (-> s4-0 id)) + (let ((f30-0 (get-damage-from-attack this s4-0 (the-as process-focusable arg0)))) + (let ((s3-0 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 s4-0 s3-0 (the-as process-drawable arg0) this) + (set! (-> this last-attack-dir quad) (-> s3-0 trans quad)) + (set! (-> this last-attack-pos quad) (-> s3-0 intersection quad)) + ) + (set! (-> this hit-points) (- (-> this hit-points) f30-0)) + (if (>= 0.0 (-> this hit-points)) + (on-death this) + (on-hit this f30-0) + ) + ) + ) + ) + ) + (else + #f + ) + ) + ) + +;; definition of type tower-flyer-bobber +(deftype tower-flyer-bobber (structure) + ((start-val float) + (current-val float) + (total-time time-frame) + (current-time time-frame) + (current-size-scalar float) + (dir float) + (num-iterations float) + (time-scalar float) + (start-time-scalar float) + (desired-time-scalar float) + (scale-min float) + (scale-max float) + (time-min float) + (time-max float) + (base-time float) + (current-speed float) + (output-scale float) + (output-val float) + (charge-time time-frame) + (wait-time time-frame) + ) + :allow-misaligned + (:methods + (init-fields (_type_) none) + (tower-flyer-bobber-method-10 (_type_) none) + (tower-flyer-bobber-method-11 (_type_) none) + ) + ) + +;; definition for method 3 of type tower-flyer-bobber +(defmethod inspect ((this tower-flyer-bobber)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'tower-flyer-bobber) + (format #t "~1Tstart-val: ~f~%" (-> this start-val)) + (format #t "~1Tcurrent-val: ~f~%" (-> this current-val)) + (format #t "~1Ttotal-time: ~D~%" (-> this total-time)) + (format #t "~1Tcurrent-time: ~D~%" (-> this current-time)) + (format #t "~1Tcurrent-size-scalar: ~f~%" (-> this current-size-scalar)) + (format #t "~1Tdir: ~f~%" (-> this dir)) + (format #t "~1Tnum-iterations: ~f~%" (-> this num-iterations)) + (format #t "~1Ttime-scalar: ~f~%" (-> this time-scalar)) + (format #t "~1Tstart-time-scalar: ~f~%" (-> this start-time-scalar)) + (format #t "~1Tdesired-time-scalar: ~f~%" (-> this desired-time-scalar)) + (format #t "~1Tscale-min: ~f~%" (-> this scale-min)) + (format #t "~1Tscale-max: ~f~%" (-> this scale-max)) + (format #t "~1Ttime-min: ~f~%" (-> this time-min)) + (format #t "~1Ttime-max: ~f~%" (-> this time-max)) + (format #t "~1Tbase-time: ~f~%" (-> this base-time)) + (format #t "~1Tcurrent-speed: ~f~%" (-> this current-speed)) + (format #t "~1Toutput-scale: ~f~%" (-> this output-scale)) + (format #t "~1Toutput-val: ~f~%" (-> this output-val)) + (format #t "~1Tcharge-time: ~D~%" (-> this charge-time)) + (format #t "~1Twait-time: ~D~%" (-> this wait-time)) + (label cfg-4) + this + ) + +;; definition of type tower-flyer +(deftype tower-flyer (blow-tower-enemy) + ((focus handle) + (local-offset vector :inline) + (basetrans vector :inline) + (surround-spot int32) + (desired-z-dist float) + (current-z-dist float) + (use-z-dist float) + (bobbers tower-flyer-bobber 3 :inline) + (spot-base-pos vector :inline) + (hover-end-time time-frame) + (total-charge-time time-frame :overlay-at hover-end-time) + (charge-part sparticle-launch-control) + (charge-t float) + (last-wall-clip-time time-frame) + (spawn-path-time time-frame) + (bob-vec vector :inline) + (bob-y-scalar float) + (entity-pos vector) + (buzz-sound sound-id) + (charge-sound sound-id) + ) + (:state-methods + hovering + charging + firing + fleeing + ) + (:methods + (tower-flyer-method-42 (_type_) none) + (tower-flyer-method-43 (_type_) none) + (fire-projectile (_type_) none) + (tower-flyer-method-45 (_type_) none) + (tower-flyer-method-46 (_type_) none) + (tower-flyer-method-47 (_type_ vector quaternion vector) symbol) + (tower-flyer-method-48 (_type_ vector) quaternion) + (tower-flyer-method-49 (_type_ vector quaternion) quaternion) + ) + ) + +;; definition for method 3 of type tower-flyer +(defmethod inspect ((this tower-flyer)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type blow-tower-enemy inspect))) + (t9-0 this) + ) + (format #t "~2Tfocus: ~D~%" (-> this focus)) + (format #t "~2Tlocal-offset: #~%" (-> this local-offset)) + (format #t "~2Tbasetrans: #~%" (-> this basetrans)) + (format #t "~2Tsurround-spot: ~D~%" (-> this surround-spot)) + (format #t "~2Tdesired-z-dist: ~f~%" (-> this desired-z-dist)) + (format #t "~2Tcurrent-z-dist: ~f~%" (-> this current-z-dist)) + (format #t "~2Tuse-z-dist: ~f~%" (-> this use-z-dist)) + (format #t "~2Tbobbers[3] @ #x~X~%" (-> this bobbers)) + (format #t "~2Tspot-base-pos: #~%" (-> this spot-base-pos)) + (format #t "~2Thover-end-time: ~D~%" (-> this hover-end-time)) + (format #t "~2Ttotal-charge-time: ~D~%" (-> this hover-end-time)) + (format #t "~2Tcharge-part: ~A~%" (-> this charge-part)) + (format #t "~2Tcharge-t: ~f~%" (-> this charge-t)) + (format #t "~2Tlast-wall-clip-time: ~D~%" (-> this last-wall-clip-time)) + (format #t "~2Tspawn-path-time: ~D~%" (-> this spawn-path-time)) + (format #t "~2Tbob-vec: #~%" (-> this bob-vec)) + (format #t "~2Tbob-y-scalar: ~f~%" (-> this bob-y-scalar)) + (format #t "~2Tentity-pos: #~%" (-> this entity-pos)) + (format #t "~2Tbuzz-sound: ~D~%" (-> this buzz-sound)) + (format #t "~2Tcharge-sound: ~D~%" (-> this charge-sound)) + (label cfg-4) + this + ) + +;; definition for method 31 of type tower-flyer +(defmethod on-hit ((this tower-flyer) (arg0 float)) + (if (and (-> this next-state) (= (-> this next-state name) 'charging)) + (go (method-of-object this hovering)) + ) + (call-parent-method this arg0) + (none) + ) + +;; definition for method 33 of type tower-flyer +;; WARN: Return type mismatch int vs object. +(defmethod init ((this tower-flyer)) + (call-parent-method this) + (set! (-> this charge-part) (create-launch-control (-> *part-group-id-table* 1456) this)) + (set! (-> this charge-t) 0.0) + (set! (-> this buzz-sound) (new-sound-id)) + (set! (-> this charge-sound) (new-sound-id)) + (set! (-> this hit-points) 3.0) + 0 + ) + +;; definition for method 10 of type tower-flyer +(defmethod deactivate ((this tower-flyer)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (sound-stop (-> this buzz-sound)) + (sound-stop (-> this charge-sound)) + (call-parent-method this) + (none) + ) + +;; definition for function tower-flyer-init-by-other +(defbehavior tower-flyer-init-by-other tower-flyer ((arg0 tower-enemy-init-params)) + (tower-flyer-method-42 self) + (quaternion-identity! (-> self root quat)) + (set! (-> self focus) (-> arg0 target)) + (set! (-> self entity-pos) #f) + (let ((v1-4 (entity-by-name (-> arg0 entity-name)))) + (if v1-4 + (set! (-> self entity-pos) (-> v1-4 extra trans)) + ) + ) + (set! (-> self spawn-path-time) + (+ (-> *blow-tower-targets* mission-time) (the int (* 300.0 (-> arg0 time-offset)))) + ) + (init self) + (set! (-> self surround-spot) + (the-as int (send-event (handle->process (-> self focus)) 'assign-spot (process->handle self) #f)) + ) + (if (< (-> self surround-spot) 0) + (go empty-state) + (go-virtual idle) + ) + ) + +;; definition for method 46 of type tower-flyer +;; INFO: Used lq/sq +;; WARN: Return type mismatch float vs none. +(defmethod tower-flyer-method-46 ((this tower-flyer)) + (cond + ((-> this entity-pos) + (set! (-> this basetrans quad) (-> this entity-pos quad)) + (set! (-> this root trans quad) (-> this entity-pos quad)) + (let* ((s4-0 (handle->process (-> this focus))) + (s5-0 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (when s5-0 + (let ((a0-9 (new 'stack-no-clear 'vector))) + (set! (-> a0-9 quad) + (-> (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> this root trans)) quad) + ) + (set! (-> a0-9 y) 0.0) + (let ((a1-5 (vector-normalize! a0-9 1.0))) + (vector-! (-> this local-offset) (-> this basetrans) (-> s5-0 root trans)) + (quaternion-look-at! (-> this root quat) a1-5 *up-vector*) + ) + ) + ) + ) + ) + (else + (let ((s5-1 (new 'stack 'blow-tower-path-cursor))) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'quaternion))) + (set! (-> s5-1 path) (the-as blow-tower-path (send-event (handle->process (-> this focus)) 'get-path))) + (blow-tower-path-cursor-method-9 s5-1 (the-as int (-> this spawn-path-time))) + (set! (-> s4-1 quad) (-> s5-1 pos quad)) + (let ((s2-0 quaternion-look-at!) + (s1-0 s3-0) + (a0-22 (-> s5-1 norm)) + ) + (set! (-> a0-22 quad) (-> s5-1 norm quad)) + (set! (-> a0-22 y) 0.0) + (s2-0 s1-0 (vector-normalize! a0-22 1.0) *up-vector*) + ) + (send-event (handle->process (-> this focus)) 'retrieve-spot (-> this surround-spot) s4-1 s3-0) + (let ((s2-1 (new 'stack-no-clear 'collide-query))) + (let ((v1-33 (vector-z-quaternion! (new 'stack-no-clear 'vector) s3-0))) + (set! (-> s2-1 start-pos quad) (-> s4-1 quad)) + (vector-float*! (-> s2-1 move-dist) v1-33 61440.0) + ) + (let ((v1-34 s2-1)) + (set! (-> v1-34 radius) 4096.0) + (set! (-> v1-34 collide-with) (collide-spec backgnd)) + (set! (-> v1-34 ignore-process0) #f) + (set! (-> v1-34 ignore-process1) #f) + (set! (-> v1-34 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-34 action-mask) (collide-action solid)) + ) + (let ((f0-4 (fill-and-probe-using-line-sphere *collide-cache* s2-1))) + (if (>= f0-4 0.0) + (vector-float*! (-> s2-1 move-dist) (-> s2-1 move-dist) f0-4) + ) + ) + (vector+! s4-1 s4-1 (-> s2-1 move-dist)) + ) + ) + (set! (-> this basetrans quad) (-> s4-1 quad)) + ) + (set! (-> this root trans quad) (-> this basetrans quad)) + (let* ((s4-2 (handle->process (-> this focus))) + (a1-20 (if (type? s4-2 process-focusable) + (the-as process-focusable s4-2) + ) + ) + ) + (if a1-20 + (vector-! (-> this local-offset) (-> this basetrans) (-> a1-20 root trans)) + ) + ) + (vector-float*! (-> s5-1 norm) (-> s5-1 norm) -1.0) + (quaternion-look-at! (-> this root quat) (-> s5-1 norm) *up-vector*) + ) + ) + ) + (set! (-> this desired-z-dist) (cond + ((= (-> this focus) (-> *blow-tower-targets* hellcat)) + (let* ((f30-0 40960.0) + (f28-0 40960.0) + (v1-57 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-58 (the-as number (logior #x3f800000 v1-57))) + ) + (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-58)))) + ) + ) + (else + (let* ((f30-1 16384.0) + (f28-1 14336.0) + (v1-64 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-65 (the-as number (logior #x3f800000 v1-64))) + ) + (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-65)))) + ) + ) + ) + ) + (set! (-> this current-z-dist) (-> this desired-z-dist)) + (set! (-> this use-z-dist) (-> this desired-z-dist)) + (none) + ) + +;; failed to figure out what this is: +(defstate idle (tower-flyer) + :virtual #t + :enter (behavior () + (go-virtual hovering) + ) + :exit (behavior () + (dotimes (gp-0 3) + (init-fields (-> self bobbers gp-0)) + ) + (tower-flyer-method-46 self) + ) + :code sleep-code + :post transform-post + ) + +;; failed to figure out what this is: +(defstate hovering (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self hover-end-time) + (the-as time-frame (+ (logand 0 (rand-uint31-gen *random-generator*)) 450 (current-time))) + ) + ) + :trans (behavior () + (if (< (-> self hover-end-time) (current-time)) + (go-virtual charging) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(defstate charging (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self hover-end-time) (the-as time-frame (+ (logand 0 (rand-uint31-gen *random-generator*)) 300))) + ) + :exit (behavior () + (sound-stop (-> self charge-sound)) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self focus))) + (a1-2 (-> (the-as process-focusable (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + root + trans + ) + ) + ) + (if (or (< 143360.0 (vector-vector-xz-distance (-> self root trans) a1-2)) + (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) + (let ((gp-1 sphere-in-view-frustum?) + (a0-6 (new 'stack 'sphere)) + ) + (set! (-> a0-6 quad) (-> self root trans quad)) + (set! (-> a0-6 r) 409.6) + (not (gp-1 a0-6)) + ) + ) + ) + (set-time! (-> self state-time)) + ) + ) + (if (time-elapsed? (-> self state-time) (-> self hover-end-time)) + (go-virtual firing) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (logior! (-> self skel status) (joint-control-status sync-math)) + (transform-post) + (let ((f1-2 (/ (the float (- (current-time) (-> self state-time))) (the float (-> self hover-end-time))))) + (set! (-> self charge-t) (fmax 0.0 (fmin 1.0 f1-2))) + ) + (tower-flyer-method-45 self) + ) + ) + +;; failed to figure out what this is: +(defstate fleeing (tower-flyer) + :virtual #t + :event blow-tower-enemy-handler + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let ((gp-0 (-> self spot-base-pos)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> gp-0 quad) (the-as uint128 0)) + (quaternion-identity! s5-0) + (send-event (handle->process (-> self focus)) 'retrieve-spot (-> self surround-spot) gp-0 s5-0 #t) + (let* ((s4-0 (handle->process (-> self focus))) + (a1-3 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (if a1-3 + (vector+! gp-0 (-> self spot-base-pos) (-> a1-3 root trans)) + ) + ) + (let* ((f1-2 (* 0.0022222223 (the float (- (current-time) (-> self state-time))))) + (f0-2 (fmax 0.0 (fmin 1.0 f1-2))) + (f0-3 (* -32768.0 f0-2)) + ) + (quaternion-rotate-local-x! s5-0 s5-0 f0-3) + ) + (if (or (not (logtest? (-> self draw status) (draw-control-status on-screen))) + (let ((s4-1 sphere-in-view-frustum?) + (a0-16 (new 'stack 'sphere)) + ) + (set! (-> a0-16 quad) (-> self root trans quad)) + (set! (-> a0-16 r) 20480.0) + (not (s4-1 a0-16)) + ) + ) + (go empty-state) + ) + (tower-flyer-method-49 self gp-0 s5-0) + ) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; failed to figure out what this is: +(defstate firing (tower-flyer) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('notify) + (case (-> block param 0) + (('attack) + (if (= (-> self focus) (-> *blow-tower-targets* hellcat)) + (go-virtual fleeing) + ) + ) + ) + ) + (else + (blow-tower-enemy-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + (fire-projectile self) + ) + :trans (behavior () + (when (time-elapsed? (-> self state-time) (seconds 1)) + (if (= (-> self focus) (-> *blow-tower-targets* hellcat)) + (go-virtual fleeing) + (go-virtual charging) + ) + ) + (tower-flyer-method-43 self) + ) + :code sleep-code + :post (behavior () + (blow-tower-enemy-method-34 self) + (transform-post) + ) + ) + +;; definition for symbol *current-color*, type rgba +(define *current-color* (new 'static 'rgba :r #xff :a #x80)) + +;; definition for function tower-fly-quick-raycast +;; INFO: Used lq/sq +(defun tower-fly-quick-raycast ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float)) + (let ((s4-0 (new 'stack 'collide-query))) + (set! (-> s4-0 start-pos quad) (-> arg0 quad)) + (vector-! (-> s4-0 move-dist) arg1 arg0) + (let ((v1-3 s4-0)) + (set! (-> v1-3 radius) arg3) + (set! (-> v1-3 collide-with) (collide-spec backgnd)) + (set! (-> v1-3 ignore-process0) #f) + (set! (-> v1-3 ignore-process1) #f) + (set! (-> v1-3 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-3 action-mask) (collide-action solid)) + ) + (let ((f0-1 (fill-and-probe-using-line-sphere *collide-cache* s4-0))) + (cond + ((!= f0-1 -100000000.0) + (set! (-> arg2 quad) (-> s4-0 best-other-tri intersect quad)) + (vector+float*! arg2 arg0 (-> s4-0 move-dist) f0-1) + ) + (else + (set! (-> arg2 quad) (-> arg1 quad)) + ) + ) + f0-1 + ) + ) + ) + +;; definition for function compute-tower-flyer-lerp-point +(defun compute-tower-flyer-lerp-point ((arg0 tower-flyer) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg3 arg2))) + (vector-lerp! s4-1 (-> arg0 local-offset) s4-1 arg4) + (vector+! arg1 arg2 s4-1) + ) + (vector-lerp! arg1 (-> arg0 basetrans) arg3 arg4) + arg1 + ) + +;; definition for method 47 of type tower-flyer +;; INFO: Used lq/sq +;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3] +;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4] +;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] +(defmethod tower-flyer-method-47 ((this tower-flyer) (arg0 vector) (arg1 quaternion) (arg2 vector)) + (local-vars (f0-10 float) (sv-208 vector)) + (with-pp + (rlet ((vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + ) + (init-vf0-vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + (f30-0 (-> pp clock frames-per-second)) + ) + (set! (-> s1-0 quad) (-> arg2 quad)) + (compute-tower-flyer-lerp-point this s3-0 arg0 s1-0 (* f30-0 (seconds-per-frame))) + (set! *current-color* *color-red*) + (when (= (tower-fly-quick-raycast (-> this basetrans) s3-0 (new 'stack-no-clear 'vector) 8192.0) -100000000.0) + (set! (-> arg2 quad) (-> s1-0 quad)) + (return #t) + ) + (let ((s2-0 (new 'stack-no-clear 'vector)) + (s3-1 (new 'stack-no-clear 'vector)) + ) + (set! *current-color* *color-green*) + (tower-fly-quick-raycast arg0 s1-0 s2-0 8192.0) + (compute-tower-flyer-lerp-point this s3-1 arg0 s2-0 (* f30-0 (seconds-per-frame))) + (set! *current-color* *color-blue*) + (when (= (tower-fly-quick-raycast s3-1 (-> this basetrans) (new 'stack-no-clear 'vector) 0.0) -100000000.0) + (set! (-> arg2 quad) (-> s2-0 quad)) + (return #t) + ) + (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) arg0 s2-0))) + 0.0 + (set! sv-208 (new 'stack-no-clear 'vector)) + (let ((v1-19 s2-0) + (a0-11 (-> this basetrans)) + ) + (.lvf vf4 (&-> v1-19 quad)) + (.lvf vf5 (&-> a0-11 quad)) + ) + (.mov.vf vf6 vf0 :mask #b1000) + (.sub.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> sv-208 quad) vf6) + 0.0 + (let ((s2-1 (new 'stack-no-clear 'vector))) + (let ((s0-0 (new 'stack-no-clear 'vector))) + (vector-normalize-ret-len! s1-2 1.0) + (let* ((v1-21 s1-2) + (f0-9 (-> sv-208 x)) + (f1-2 (-> sv-208 y)) + (f2-0 (-> sv-208 z)) + (f3-0 (-> v1-21 x)) + (f4-0 (-> v1-21 y)) + (f5-0 (-> v1-21 z)) + ) + (.mula.s f0-9 f3-0) + (.madda.s f1-2 f4-0) + (.madd.s f0-10 f2-0 f5-0) + ) + (let ((f0-11 f0-10)) + (vector+float*! s2-1 (-> this basetrans) s1-2 f0-11) + ) + (compute-tower-flyer-lerp-point this s0-0 arg0 s2-1 (* f30-0 (seconds-per-frame))) + ) + (set! *current-color* *color-white*) + (when (= (tower-fly-quick-raycast (-> this basetrans) s3-1 (new 'stack-no-clear 'vector) 2048.0) -100000000.0) + (set! (-> arg2 quad) (-> s2-1 quad)) + (return #t) + ) + ) + ) + ) + ) + #f + ) + ) + ) + +;; definition for method 48 of type tower-flyer +(defmethod tower-flyer-method-48 ((this tower-flyer) (arg0 vector)) + (set! (-> this bobbers 1 output-scale) (-> this bob-y-scalar)) + (set! (-> this bobbers 1 base-time) 0.9) + (set! (-> this bobbers 2 output-scale) 6144.0) + (set! (-> this bobbers 2 base-time) 1.1) + (set! (-> this bobbers 2 output-scale) 4096.0) + (dotimes (s4-0 3) + (tower-flyer-bobber-method-10 (-> this bobbers s4-0)) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 x) (-> this bobbers 0 output-val)) + (set! (-> s4-1 y) (-> this bobbers 1 output-val)) + (set! (-> s4-1 z) (-> this bobbers 2 output-val)) + (set! (-> s4-1 w) 1.0) + (let ((a2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-matrix*! s4-1 s4-1 a2-0) + ) + (vector-lerp! (-> this bob-vec) (-> this bob-vec) s4-1 (* 2.0 (seconds-per-frame))) + ) + (vector+! (-> this root trans) (-> this basetrans) (-> this bob-vec)) + (let ((s4-3 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this basetrans))) + (s5-1 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> s4-3 y) 0.0) + (vector-normalize! s4-3 1.0) + (quaternion-look-at! s5-1 s4-3 *up-vector*) + (quaternion-slerp! (-> this root quat) (-> this root quat) s5-1 (* 3.0 (seconds-per-frame))) + ) + ) + +;; definition for method 49 of type tower-flyer +;; INFO: Used lq/sq +(defmethod tower-flyer-method-49 ((this tower-flyer) (arg0 vector) (arg1 quaternion)) + (local-vars (sv-608 collide-query) (sv-612 vector) (sv-616 symbol)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! sv-608 (new 'stack-no-clear 'collide-query)) + (set! sv-612 (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1)) + (set! sv-616 #t) + (set! (-> sv-608 start-pos quad) (-> arg0 quad)) + (vector-float*! (-> sv-608 move-dist) sv-612 (+ 16384.0 (-> this desired-z-dist))) + (let ((v1-7 sv-608)) + (set! (-> v1-7 radius) 4096.0) + (set! (-> v1-7 collide-with) (collide-spec backgnd)) + (set! (-> v1-7 ignore-process0) #f) + (set! (-> v1-7 ignore-process1) #f) + (set! (-> v1-7 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-7 action-mask) (collide-action solid)) + ) + (let ((f0-3 (fill-and-probe-using-line-sphere *collide-cache* sv-608))) + (cond + ((>= f0-3 0.0) + (vector-float*! (-> sv-608 move-dist) (-> sv-608 move-dist) f0-3) + (let ((v1-15 (vector-! (new 'stack-no-clear 'vector) (-> this basetrans) arg0)) + (a1-5 (new 'stack-no-clear 'collide-query)) + ) + 0.0 + (let ((f30-0 (vector-length (-> sv-608 move-dist))) + (f28-0 (vector-dot v1-15 sv-612)) + ) + (vector+float*! s4-0 arg0 sv-612 f28-0) + (set! (-> a1-5 start-pos quad) (-> this basetrans quad)) + (vector-! (-> a1-5 move-dist) s4-0 (-> a1-5 start-pos)) + (let ((v1-21 a1-5)) + (set! (-> v1-21 radius) 40.96) + (set! (-> v1-21 collide-with) (collide-spec backgnd)) + (set! (-> v1-21 ignore-process0) #f) + (set! (-> v1-21 ignore-process1) #f) + (set! (-> v1-21 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-21 action-mask) (collide-action solid)) + ) + (cond + ((or (>= (fill-and-probe-using-line-sphere *collide-cache* a1-5) 0.0) (>= (+ 6144.0 f30-0) f28-0)) + (set! (-> this use-z-dist) (fmin (+ -8192.0 f30-0) (-> this desired-z-dist))) + (set! (-> this current-z-dist) (fmin (-> this current-z-dist) f30-0)) + (seek! (-> this current-z-dist) (-> this use-z-dist) (* 61440.0 (seconds-per-frame))) + (set-time! (-> this last-wall-clip-time)) + ) + (else + (set! (-> this current-z-dist) f28-0) + (set-time! (-> this last-wall-clip-time)) + (set! sv-616 (the-as symbol #f)) + ) + ) + ) + ) + ) + ((time-elapsed? (-> this last-wall-clip-time) (seconds 1)) + (seek! (-> this current-z-dist) (-> this use-z-dist) (* 20480.0 (seconds-per-frame))) + (seek! (-> this use-z-dist) (-> this desired-z-dist) (* 8192.0 (seconds-per-frame))) + ) + ) + ) + (when sv-616 + (vector-normalize! (-> sv-608 move-dist) (-> this current-z-dist)) + (vector+! s4-0 arg0 (-> sv-608 move-dist)) + ) + (vector-! s2-0 s4-0 arg0) + (let ((a0-36 (vector-! (new 'stack-no-clear 'vector) s2-0 (-> this local-offset)))) + 0.0 + (vector-normalize-ret-len! a0-36 1.0) + ) + (when (and (and (-> this next-state) (= (-> this next-state name) 'charging)) + (< 40960.0 (vector-vector-distance s4-0 (-> this basetrans))) + ) + (let ((v1-58 (- (-> this hover-end-time) (- (current-time) (-> this state-time))))) + 0 + (when (< v1-58 (seconds 1)) + (let ((v1-59 (- (seconds 1) v1-58))) + (+! (-> this hover-end-time) v1-59) + ) + ) + ) + ) + (let ((f30-2 0.5)) + (if (< 81920.0 (vector-length (-> this local-offset))) + (set! f30-2 1.0) + ) + (if (< (vector-vector-distance s4-0 (-> this basetrans)) 40960.0) + (set! f30-2 1.0) + ) + (vector-lerp! (-> this local-offset) (-> this local-offset) s2-0 (* f30-2 (seconds-per-frame))) + ) + ) + (vector+! s4-0 arg0 (-> this local-offset)) + (tower-flyer-method-47 this arg0 arg1 s4-0) + (vector-! (-> this local-offset) s4-0 arg0) + (when #f + (let ((a0-53 (vector-! (new 'stack-no-clear 'vector) s4-0 arg0))) + 0.0 + (let ((f30-3 10240.0) + (f0-40 (vector-normalize-ret-len! a0-53 1.0)) + ) + (when (< f0-40 f30-3) + (let ((f0-41 (- f30-3 f0-40))) + (+! (-> s4-0 y) f0-41) + ) + ) + ) + ) + ) + (set! (-> this basetrans quad) (-> s4-0 quad)) + ) + (tower-flyer-method-48 this arg0) + ) + +;; definition for method 43 of type tower-flyer +;; INFO: Used lq/sq +;; WARN: Return type mismatch quaternion vs none. +(defmethod tower-flyer-method-43 ((this tower-flyer)) + (let ((s5-0 (-> this spot-base-pos)) + (s4-0 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> s5-0 quad) (the-as uint128 0)) + (quaternion-identity! s4-0) + (send-event (handle->process (-> this focus)) 'retrieve-spot (-> this surround-spot) s5-0 s4-0 #t) + (let* ((s3-0 (handle->process (-> this focus))) + (a1-3 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (if a1-3 + (vector+! s5-0 (-> this spot-base-pos) (-> (the-as process-focusable a1-3) root trans)) + ) + ) + (tower-flyer-method-49 this s5-0 s4-0) + ) + (none) + ) + +;; definition for method 42 of type tower-flyer +;; WARN: Return type mismatch int vs none. +(defmethod tower-flyer-method-42 ((this tower-flyer)) + (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 + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + flut-attack + board + mech-punch + dark-punch + dark-smack + flut + ) + ) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-7 prim-core collide-with) + (collide-spec backgnd jak bot enemy obstacle hit-by-others-list player-list) + ) + (set! (-> v1-7 prim-core action) (collide-action solid semi-solid no-standon)) + (set-vector! (-> v1-7 local-sphere) 0.0 0.0 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) 40.96) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition of type flyer-projectile-params +(deftype flyer-projectile-params (structure) + ((total-travel-time time-frame) + (target handle) + (damage float) + ) + ) + +;; definition for method 3 of type flyer-projectile-params +(defmethod inspect ((this flyer-projectile-params)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'flyer-projectile-params) + (format #t "~1Ttotal-travel-time: ~D~%" (-> this total-travel-time)) + (format #t "~1Ttarget: ~D~%" (-> this target)) + (format #t "~1Tdamage: ~f~%" (-> this damage)) + (label cfg-4) + this + ) + +;; definition of type flyer-projectile +(deftype flyer-projectile (process-drawable) + ((original-offset-vec vector :inline) + (params flyer-projectile-params :inline) + (size-t float) + ) + (:state-methods + active + ) + (:methods + (spawn-part (_type_) none) + ) + ) + +;; definition for method 3 of type flyer-projectile +(defmethod inspect ((this flyer-projectile)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Toriginal-offset-vec: #~%" (-> this original-offset-vec)) + (format #t "~2Tparams: #~%" (-> this params)) + (format #t "~2Tsize-t: ~f~%" (-> this size-t)) + (label cfg-4) + this + ) + +;; definition for function flyer-projectile-init-by-other +;; INFO: Used lq/sq +(defbehavior flyer-projectile-init-by-other flyer-projectile ((arg0 flyer-projectile-params) (arg1 vector)) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg1 quad)) + (mem-copy! (the-as pointer (-> self params)) (the-as pointer arg0) 20) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> self params target)) 'get-attack-pos gp-1) + (vector-! (-> self original-offset-vec) (-> self root trans) gp-1) + ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1456) self)) + (set! (-> self size-t) 1.0) + (go-virtual active) + ) + +;; definition for method 44 of type tower-flyer +;; WARN: Return type mismatch (pointer process) vs none. +(defmethod fire-projectile ((this tower-flyer)) + (let ((gp-0 (new 'stack-no-clear 'flyer-projectile-params))) + (set! (-> gp-0 total-travel-time) (seconds 0.5)) + (set! (-> gp-0 target) (-> this focus)) + (set! (-> gp-0 damage) (if (= (-> this focus) (-> *blow-tower-targets* hellcat)) + 4.0 + 6.0 + ) + ) + (process-spawn flyer-projectile gp-0 (-> this root trans) :name "flyer-projectile") + ) + (none) + ) + +;; definition for method 7 of type tower-flyer +(defmethod relocate ((this tower-flyer) (offset int)) + (if (nonzero? (-> this charge-part)) + (&+! (-> this charge-part) offset) + ) + (call-parent-method this offset) + ) + +;; definition for method 45 of type tower-flyer +;; WARN: Return type mismatch object vs none. +(defmethod tower-flyer-method-45 ((this tower-flyer)) + (set! (-> *part-id-table* 4791 init-specs 2 initial-valuef) (lerp 409.6 5120.0 (-> this charge-t))) + (set! (-> *part-id-table* 4792 init-specs 2 initial-valuef) (lerp 409.6 6144.0 (-> this charge-t))) + (set! (-> *part-id-table* 4790 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> this charge-t))) + (spawn (-> this charge-part) (-> this root trans)) + (none) + ) + +;; definition for method 21 of type flyer-projectile +;; WARN: Return type mismatch object vs none. +(defmethod spawn-part ((this flyer-projectile)) + (set! (-> *part-id-table* 4791 init-specs 2 initial-valuef) (lerp 409.6 5120.0 (-> this size-t))) + (set! (-> *part-id-table* 4792 init-specs 2 initial-valuef) (lerp 409.6 6144.0 (-> this size-t))) + (set! (-> *part-id-table* 4790 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> this size-t))) + (spawn (-> this part) (-> this root trans)) + (none) + ) + +;; failed to figure out what this is: +(defstate active (flyer-projectile) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let* ((f1-2 (/ (the float (- (current-time) (-> self state-time))) (the float (-> self params total-travel-time)))) + (f30-0 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> self params target)) 'get-attack-pos gp-0) + (vector+float*! (-> self root trans) gp-0 (-> self original-offset-vec) (- 1.0 f30-0)) + ) + (spawn-part self) + (when (= f30-0 1.0) + (when (= (-> self params target) (-> *blow-tower-targets* hellcat)) + (if (and (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + (sound-play "hellcat-hit") + ) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) (process->ppointer self)) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'attack) + (set! (-> a1-4 param 0) (the-as uint #f)) + (let ((v1-40 + (new 'static 'attack-info + :mask (attack-mask trans mode id attacker-velocity damage vehicle-damage-factor vehicle-impulse-factor) + ) + ) + ) + (let* ((a0-20 *game-info*) + (a2-4 (+ (-> a0-20 attack-id) 1)) + ) + (set! (-> a0-20 attack-id) a2-4) + (set! (-> v1-40 id) a2-4) + ) + (set! (-> v1-40 damage) (-> self params damage)) + (set! (-> v1-40 vehicle-damage-factor) 1.0) + (set! (-> v1-40 vehicle-impulse-factor) 1.0) + (set! (-> v1-40 mode) 'eco-dark) + (set! (-> v1-40 trans quad) (-> self root trans quad)) + (set! (-> v1-40 attacker-velocity quad) + (-> (vector-float*! + (new 'stack-no-clear 'vector) + (-> self original-offset-vec) + (/ 1.0 (* 0.0033333334 (the float (-> self params total-travel-time)))) + ) + quad + ) + ) + (set! (-> a1-4 param 1) (the-as uint v1-40)) + ) + (send-event-function (handle->process (-> self params target)) a1-4) + ) + (go empty-state) + ) + ) + ) + :code sleep-code + ) + +;; definition of type cast-rider +(deftype cast-rider (process-focusable) + ((anim-index int16) + (track-obj handle) + (neck joint-mod) + (track-pos vector :inline) + ) + (:state-methods + riding + ) + ) + +;; definition for method 3 of type cast-rider +(defmethod inspect ((this cast-rider)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tanim-index: ~D~%" (-> this anim-index)) + (format #t "~2Ttrack-obj: ~D~%" (-> this track-obj)) + (format #t "~2Tneck: ~A~%" (-> this neck)) + (format #t "~2Ttrack-pos: #~%" (-> this track-pos)) + (label cfg-4) + this + ) + +;; definition for function cast-rider-init-by-other +(defbehavior cast-rider-init-by-other cast-rider ((arg0 skeleton-group) (arg1 int) (arg2 int)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (let ((s3-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s3-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s3-0 reaction) cshape-reaction-default) + (set! (-> s3-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-sphere s3-0 (the-as uint 0)))) + (set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 409.6) + (set! (-> s3-0 total-prims) (the-as uint 1)) + (set! (-> s3-0 root-prim) v1-8) + ) + (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) + (let ((v1-11 (-> s3-0 root-prim))) + (set! (-> s3-0 backup-collide-as) (-> v1-11 prim-core collide-as)) + (set! (-> s3-0 backup-collide-with) (-> v1-11 prim-core collide-with)) + ) + (set! (-> self root) s3-0) + ) + (initialize-skeleton self arg0 (the-as pair 0)) + (set! (-> self anim-index) arg1) + (set! (-> self track-obj) (the-as handle #f)) + (set! (-> self neck) (new 'process 'joint-mod (joint-mod-mode flex-blend) self arg2)) + (set-vector! (-> self neck twist-max) 8192.0 8192.0 0.0 1.0) + (set! (-> self neck up) (the-as uint 1)) + (set! (-> self neck nose) (the-as uint 2)) + (set! (-> self neck ear) (the-as uint 0)) + (set! (-> self neck max-dist) 307200.0) + (set! (-> self neck ignore-angle) 16384.0) + (mode-set! (-> self neck) (joint-mod-mode look-at)) + (go-virtual riding) + ) + +;; definition for method 7 of type cast-rider +(defmethod relocate ((this cast-rider) (offset int)) + (if (nonzero? (-> this neck)) + (&+! (-> this neck) offset) + ) + (call-parent-method this offset) + ) + +;; failed to figure out what this is: +(defstate riding (cast-rider) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (local-vars (v0-0 object)) + (case message + (('die) + (logior! (-> self draw status) (draw-control-status no-draw)) + (go empty-state) + ) + (('set-track) + (set! v0-0 (-> block param 0)) + (set! (-> self track-obj) (the-as handle v0-0)) + v0-0 + ) + (('set-track-pos) + (set! v0-0 (-> self track-pos)) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> block param 0)) quad)) + v0-0 + ) + ) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self track-obj))) + (a0-4 (if (type? gp-0 process-focusable) + (the-as process-focusable gp-0) + ) + ) + ) + (if a0-4 + (set! (-> self track-pos quad) (-> (get-trans a0-4 2) quad)) + ) + ) + (target-set! (-> self neck) (-> self track-pos)) + ) + :code (behavior () + (ja-channel-push! 1 0) + (ja :group! (-> self draw art-group data (-> self anim-index)) :num! zero) + (sleep-code) + ) + :post ja-post + ) + +;; definition of type bt-barrel +(deftype bt-barrel (blow-tower-enemy) + ((nearby-barrels handle 16) + (nearby-barrel-pos vector 16 :inline) + (nearby-barrel-dist float 16) + (num-nearby-barrels int32) + (barrel-send-index int32) + (barrel-live-mask uint32) + (rot-vec vector :inline) + (rot-speed float) + ) + (:state-methods + explode + fly-up + ) + (:methods + (damage-targets (_type_) object) + (count-nearby-barrels (_type_) none) + (explode-nearby-barrels (_type_) object) + (update-draw-mask-and-color (_type_) none) + ) + ) + +;; definition for method 3 of type bt-barrel +(defmethod inspect ((this bt-barrel)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type blow-tower-enemy inspect))) + (t9-0 this) + ) + (format #t "~2Tnearby-barrels[16] @ #x~X~%" (-> this nearby-barrels)) + (format #t "~2Tnearby-barrel-pos[16] @ #x~X~%" (-> this nearby-barrel-pos)) + (format #t "~2Tnearby-barrel-dist[16] @ #x~X~%" (-> this nearby-barrel-dist)) + (format #t "~2Tnum-nearby-barrels: ~D~%" (-> this num-nearby-barrels)) + (format #t "~2Tbarrel-send-index: ~D~%" (-> this barrel-send-index)) + (format #t "~2Tbarrel-live-mask: ~D~%" (-> this barrel-live-mask)) + (format #t "~2Trot-vec: #~%" (-> this rot-vec)) + (format #t "~2Trot-speed: ~f~%" (-> this rot-speed)) + (label cfg-4) + this + ) + +;; definition for function bt-barrel-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-barrel-init-by-other bt-barrel ((arg0 vector)) + (init self) + (set! (-> self root trans quad) (-> arg0 quad)) + (go-virtual idle) + ) + +;; definition for method 31 of type bt-barrel +;; WARN: Return type mismatch rgbaf vs none. +(defmethod on-hit ((this bt-barrel) (arg0 float)) + (set-vector! (-> this draw color-emissive) 2.0 2.0 2.0 2.0) + (none) + ) + +;; failed to figure out what this is: +(defstate idle (bt-barrel) + :virtual #t + :event blow-tower-enemy-handler + :trans (behavior () + (update-draw-mask-and-color self) + ) + :code sleep-code + :post (behavior () + (transform-post) + (let ((f30-0 (fmin 1.0 (* 10.0 (seconds-per-frame))))) + (seek! (-> self draw color-emissive x) 0.0 f30-0) + (seek! (-> self draw color-emissive y) 0.0 f30-0) + (seek! (-> self draw color-emissive z) 0.0 f30-0) + (seek! (-> self draw color-emissive w) 0.0 f30-0) + ) + ) + ) + +;; definition for method 41 of type bt-barrel +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defmethod count-nearby-barrels ((this bt-barrel)) + (set! (-> this barrel-send-index) 0) + (set! (-> this barrel-live-mask) (the-as uint #xffffffff)) + (let ((s5-0 (new 'stack 'sphere))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (set! (-> s5-0 r) 131072.0) + (let ((s4-0 (new 'stack-no-clear 'array 'collide-shape 384))) + (countdown (s3-0 (fill-actor-list-for-box *actor-hash* s5-0 s4-0 384)) + (let* ((s2-0 (-> s4-0 s3-0)) + (v1-8 (if (type? s2-0 collide-shape) + s2-0 + ) + ) + ) + (when v1-8 + (let* ((s2-1 (-> v1-8 process)) + (a0-8 (if (type? s2-1 process-focusable) + s2-1 + ) + ) + ) + (when a0-8 + (when (and (= (-> a0-8 type) bt-barrel) (< (-> this num-nearby-barrels) 16) (!= a0-8 this)) + (set! (-> this nearby-barrels (-> this num-nearby-barrels)) (process->handle a0-8)) + (set! (-> this nearby-barrel-pos (-> this num-nearby-barrels) quad) + (-> (get-trans (the-as process-focusable a0-8) 3) quad) + ) + (set! (-> this nearby-barrel-dist (-> this num-nearby-barrels)) + (vector-vector-distance (-> this nearby-barrel-pos (-> this num-nearby-barrels)) (get-trans this 3)) + ) + (if (< (-> this nearby-barrel-dist (-> this num-nearby-barrels)) 131072.0) + (+! (-> this num-nearby-barrels) 1) + ) + ) + ) + ) + ) + ) + ) + ) + (let* ((s3-1 *target*) + (s4-1 (if (type? s3-1 process-focusable) + s3-1 + ) + ) + ) + (when (and s4-1 (< (vector-vector-distance (get-trans s4-1 0) s5-0) (-> s5-0 r))) + (when (and (= (-> s4-1 type) bt-barrel) (< (-> this num-nearby-barrels) 16) (!= s4-1 this)) + (set! (-> this nearby-barrels (-> this num-nearby-barrels)) (process->handle s4-1)) + (set! (-> this nearby-barrel-pos (-> this num-nearby-barrels) quad) (-> (get-trans s4-1 3) quad)) + (set! (-> this nearby-barrel-dist (-> this num-nearby-barrels)) + (vector-vector-distance (-> this nearby-barrel-pos (-> this num-nearby-barrels)) (get-trans this 3)) + ) + (if (< (-> this nearby-barrel-dist (-> this num-nearby-barrels)) 131072.0) + (+! (-> this num-nearby-barrels) 1) + ) + ) + ) + ) + ) + (format 0 "Found ~d barrels!~%" (-> this num-nearby-barrels)) + (none) + ) + +;; definition for method 43 of type bt-barrel +;; WARN: Return type mismatch int vs none. +(defmethod update-draw-mask-and-color ((this bt-barrel)) + (let* ((f0-0 0.9) + (f1-1 (* 0.0033333334 (the float (current-time)))) + (f0-1 (/ (- f1-1 (* (the float (the int (/ f1-1 f0-0))) f0-0)) f0-0)) + (f0-2 (curve2d-method-9 *curve-linear-up-down* f0-1 3)) + (f0-3 (sin (lerp -16384.0 16384.0 f0-2))) + (f0-4 (+ 1.0 f0-3)) + (f0-5 (* 0.5 f0-4)) + (f0-6 (* 0.8 f0-5)) + (f0-7 (+ 0.3 f0-6)) + ) + (set-vector! (-> this draw color-emissive) f0-7 f0-7 f0-7 0.0) + ) + (if #f + (setup-masks (-> this draw) 4 2) + (setup-masks (-> this draw) 2 4) + ) + (set-vector! (-> this draw color-mult) 1.0 1.0 1.0 1.0) + 0 + (none) + ) + +;; definition for method 42 of type bt-barrel +(defmethod explode-nearby-barrels ((this bt-barrel)) + (local-vars (v1-25 symbol)) + (let ((f30-0 409600000.0) + (s5-0 -1) + ) + (dotimes (s4-0 (-> this num-nearby-barrels)) + (when (logtest? (-> this barrel-live-mask) (ash 1 s4-0)) + (when (and (< (-> this nearby-barrel-dist s4-0) f30-0) + (let ((a1-1 (handle->process (-> this nearby-barrels s4-0)))) + (if a1-1 + (not (logtest? (-> (the-as process-focusable a1-1) focus-status) (focus-status dead))) + ) + ) + ) + (dotimes (s3-0 (-> this num-nearby-barrels)) + (when (and (not (logtest? (-> this barrel-live-mask) (ash 1 s3-0))) + (and (!= s4-0 s3-0) + (< (vector-vector-distance (-> this nearby-barrel-pos s4-0) (-> this nearby-barrel-pos s3-0)) + (-> this nearby-barrel-dist s4-0) + ) + ) + ) + (set! v1-25 #f) + (goto cfg-33) + ) + ) + (set! v1-25 #t) + (label cfg-33) + (when v1-25 + (set! s5-0 s4-0) + (set! f30-0 (-> this nearby-barrel-dist s4-0)) + ) + ) + ) + ) + (cond + ((>= s5-0 0) + (logclear! (-> this barrel-live-mask) (ash 1 s5-0)) + (send-event + (handle->process (-> this nearby-barrels s5-0)) + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + ) + (else + (go (method-of-object this fly-up)) + ) + ) + ) + ) + +;; definition for method 40 of type bt-barrel +;; INFO: Used lq/sq +(defmethod damage-targets ((this bt-barrel)) + (local-vars (v1-14 symbol) (v1-34 symbol)) + (let ((s5-0 (new 'stack 'sphere))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (set! (-> s5-0 r) 131072.0) + (let ((s4-0 (new 'stack-no-clear 'array 'collide-shape 384))) + (countdown (s3-0 (fill-actor-list-for-box *actor-hash* s5-0 s4-0 384)) + (let* ((s2-0 (-> s4-0 s3-0)) + (v1-6 (if (type? s2-0 collide-shape) + s2-0 + ) + ) + ) + (when v1-6 + (let* ((s1-0 (-> v1-6 process)) + (s2-1 (if (type? s1-0 process-focusable) + s1-0 + ) + ) + ) + (when s2-1 + (when (or (type? s2-1 blow-tower-enemy) (type? s2-1 bombbot)) + (let* ((s1-1 (get-trans (the-as process-focusable s2-1) 3)) + (a0-15 (get-trans this 3)) + (f30-0 (vector-vector-distance a0-15 s1-1)) + ) + (set! v1-14 (cond + ((!= (-> s2-1 type) bt-barrel) + (dotimes (s0-0 (-> this num-nearby-barrels)) + (when (< (vector-vector-distance (-> this nearby-barrel-pos s0-0) s1-1) f30-0) + (set! v1-14 #f) + (goto cfg-20) + ) + ) + #t + ) + (else + #f + ) + ) + ) + ) + (label cfg-20) + (cond + (v1-14 + (send-event + s2-1 + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + ) + (else + ) + ) + ) + ) + ) + ) + ) + ) + ) + (let* ((s3-1 *target*) + (s4-1 (if (type? s3-1 process-focusable) + s3-1 + ) + ) + ) + (when (and s4-1 (< (vector-vector-distance (get-trans s4-1 0) s5-0) (-> s5-0 r))) + (when (or (type? s4-1 blow-tower-enemy) (type? s4-1 bombbot)) + (let* ((s5-1 (get-trans s4-1 3)) + (a0-35 (get-trans this 3)) + (f30-1 (vector-vector-distance a0-35 s5-1)) + ) + (set! v1-34 (cond + ((!= (-> s4-1 type) bt-barrel) + (dotimes (s3-3 (-> this num-nearby-barrels)) + (when (< (vector-vector-distance (-> this nearby-barrel-pos s3-3) s5-1) f30-1) + (set! v1-34 #f) + (goto cfg-46) + ) + ) + #t + ) + (else + #f + ) + ) + ) + ) + (label cfg-46) + (if v1-34 + (send-event + s4-1 + 'attack + #f + (static-attack-info :mask (vehicle-impulse-factor) ((id (new-attack-id)) + (damage 16.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (penetrate-using (penetrate explode)) + (mode 'explode) + ) + ) + ) + #f + ) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate explode (bt-barrel) + :virtual #t + :code (behavior () + (setup-masks (-> self draw) 4 2) + (sound-play "barrel-explode") + (logior! (-> self focus-status) (focus-status dead)) + (count-nearby-barrels self) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (let ((gp-3 (current-time))) + (until (time-elapsed? gp-3 (seconds 0.1)) + (suspend) + ) + ) + (let ((v1-46 (-> self root root-prim))) + (set! (-> v1-46 prim-core collide-as) (collide-spec)) + (set! (-> v1-46 prim-core collide-with) (collide-spec)) + ) + 0 + (update-transforms (-> self root)) + (damage-targets self) + (until #f + (explode-nearby-barrels self) + (suspend) + ) + #f + ) + ) + +;; failed to figure out what this is: +(defstate fly-up (bt-barrel) + :virtual #t + :enter (behavior () + (set-vector! (-> self draw color-mult) 0.2 0.2 0.2 0.0) + (set-vector! (-> self draw color-emissive) 0.0 0.0 0.0 0.0) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> (math-camera-matrix) rvec quad)) + (let* ((s5-0 vector-rotate-around-y!) + (s4-0 gp-0) + (s3-0 gp-0) + (f30-0 -3640.889) + (f28-0 7281.778) + (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-10 (the-as number (logior #x3f800000 v1-9))) + ) + (s5-0 s4-0 s3-0 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-10))))) + ) + (if (not (logtest? (rand-uint31-gen *random-generator*) 1)) + (vector-float*! gp-0 gp-0 -1.0) + ) + (vector-normalize! gp-0 1.0) + (let* ((s5-1 (-> self root transv)) + (f30-1 20480.0) + (f28-1 40960.0) + (v1-20 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-21 (the-as number (logior #x3f800000 v1-20))) + ) + (vector-float*! s5-1 gp-0 (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-21))))) + ) + ) + (let* ((gp-1 (-> self root transv)) + (s5-3 (-> self root transv)) + (s4-1 (-> (math-camera-matrix) fvec)) + (f30-2 -20480.0) + (f28-2 40960.0) + (v1-28 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-29 (the-as number (logior #x3f800000 v1-28))) + ) + (vector+float*! gp-1 s5-3 s4-1 (+ f30-2 (* f28-2 (+ -1.0 (the-as float v1-29))))) + ) + (let* ((f30-3 266240.0) + (f28-3 102400.0) + (v1-34 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-35 (the-as number (logior #x3f800000 v1-34))) + ) + (set! (-> self root transv y) (+ f30-3 (* f28-3 (+ -1.0 (the-as float v1-35))) (-> self root transv y))) + ) + (let ((gp-3 (-> self rot-vec))) + (let* ((f30-4 -1.0) + (f28-4 2.0) + (v1-42 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-43 (the-as number (logior #x3f800000 v1-42))) + ) + (set! (-> gp-3 x) (+ f30-4 (* f28-4 (+ -1.0 (the-as float v1-43))))) + ) + (let* ((f30-5 -1.0) + (f28-5 2.0) + (v1-48 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-49 (the-as number (logior #x3f800000 v1-48))) + ) + (set! (-> gp-3 y) (+ f30-5 (* f28-5 (+ -1.0 (the-as float v1-49))))) + ) + (let* ((f30-6 -1.0) + (f28-6 2.0) + (v1-54 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-55 (the-as number (logior #x3f800000 v1-54))) + ) + (set! (-> gp-3 z) (+ f30-6 (* f28-6 (+ -1.0 (the-as float v1-55))))) + ) + (set! (-> gp-3 w) 1.0) + ) + (vector-normalize! (-> self rot-vec) 1.0) + (let* ((f30-7 91022.22) + (f28-7 98304.0) + (v1-61 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-62 (the-as number (logior #x3f800000 v1-61))) + ) + (set! (-> self rot-speed) (+ f30-7 (* f28-7 (+ -1.0 (the-as float v1-62))))) + ) + ) + :trans (behavior () + (let ((a1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) + (set! (-> a1-1 trans quad) (-> self root trans quad)) + (spawn-from-mat (-> self part) a1-1) + ) + (set! (-> self root transv y) (- (-> self root transv y) (* 368640.0 (seconds-per-frame)))) + (let ((gp-0 (new 'stack-no-clear 'collide-query))) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) + (vector-float*! (-> gp-0 move-dist) (-> self root transv) (seconds-per-frame)) + (when (< (-> self root transv y) 40960.0) + (let ((v1-14 gp-0)) + (set! (-> v1-14 radius) 10240.0) + (set! (-> v1-14 collide-with) (collide-spec backgnd)) + (set! (-> v1-14 ignore-process0) #f) + (set! (-> v1-14 ignore-process1) #f) + (set! (-> v1-14 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-14 action-mask) (collide-action solid)) + ) + (let ((f0-5 (fill-and-probe-using-line-sphere *collide-cache* gp-0))) + (when (!= f0-5 -100000000.0) + (vector+float*! (-> self root trans) (-> self root trans) (-> gp-0 move-dist) f0-5) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (sound-play "barrel-explode2") + (go empty-state) + ) + ) + ) + (vector+! (-> self root trans) (-> self root trans) (-> gp-0 move-dist)) + ) + (when (< (-> self root trans y) 0.0) + (set! (-> self root trans y) 0.0) + (cond + ((logtest? (-> *part-group-id-table* 1457 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1457)) + ) + ) + (go empty-state) + ) + (let ((a1-20 (quaternion-vector-angle! + (new 'stack-no-clear 'quaternion) + (-> self rot-vec) + (* (-> self rot-speed) (seconds-per-frame)) + ) + ) + ) + (quaternion*! (-> self root quat) a1-20 (-> self root quat)) + ) + ) + :code sleep-code + :post ja-post + ) + +;; definition for method 32 of type bt-barrel +(defmethod on-death ((this bt-barrel)) + (go (method-of-object this explode)) + ) + +;; definition for method 33 of type bt-barrel +;; WARN: Return type mismatch float vs object. +(defmethod init ((this bt-barrel)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 penetrate-using) (penetrate)) + (let ((v1-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-4 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-4 prim-core collide-with) (collide-spec jak player-list projectile)) + (set! (-> v1-4 prim-core action) (collide-action solid)) + (set-vector! (-> v1-4 local-sphere) 0.0 0.0 0.0 20480.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-4) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-7 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-7 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-barrel" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (call-parent-method this) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1455) this)) + (set! (-> this hit-points) 2.0) + ) + +;; definition of type bt-barrel-stack +(deftype bt-barrel-stack (process-drawable) + () + (:state-methods + idle + barrel-spawning + ) + ) + +;; definition for method 3 of type bt-barrel-stack +(defmethod inspect ((this bt-barrel-stack)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for function barrel-stack-init-by-other +;; INFO: Used lq/sq +(defbehavior barrel-stack-init-by-other bt-barrel-stack ((arg0 vector) (arg1 quaternion)) + (stack-size-set! (-> self main-thread) 512) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-scenecamera" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (go-virtual idle) + ) + +;; definition for function bt-barrel-ground-probe +;; INFO: Used lq/sq +(defun bt-barrel-ground-probe ((arg0 vector)) + (local-vars (sv-560 collide-query) (sv-564 vector)) + (set! sv-560 (new 'stack-no-clear 'collide-query)) + (set! sv-564 arg0) + (vector+float*! (-> sv-560 start-pos) sv-564 *up-vector* 24576.0) + (set! (-> sv-560 move-dist quad) (the-as uint128 0)) + (set! (-> sv-560 move-dist y) -81920.0) + (let ((v1-8 sv-560)) + (set! (-> v1-8 radius) 409.6) + (set! (-> v1-8 collide-with) (collide-spec backgnd)) + (set! (-> v1-8 ignore-process0) #f) + (set! (-> v1-8 ignore-process1) #f) + (set! (-> v1-8 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-8 action-mask) (collide-action solid)) + ) + (when (>= (fill-and-probe-using-line-sphere *collide-cache* sv-560) 0.0) + (if (< (fabs (- (-> sv-560 best-other-tri intersect y) (-> arg0 y))) 24576.0) + (set! (-> sv-564 y) (fmax 0.0 (+ 12697.6 (-> sv-560 best-other-tri intersect y)))) + ) + ) + ) + +;; definition for function setup-bt-barrels +;; INFO: Used lq/sq +;; WARN: Return type mismatch symbol vs none. +(defbehavior setup-bt-barrels bt-barrel-stack ((arg0 int) (arg1 int) (arg2 float) (arg3 float)) + (local-vars (sv-48 vector) (sv-52 vector) (sv-80 vector) (sv-84 float) (sv-112 process) (sv-128 vector)) + (set! sv-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (let ((v1-1 (new 'stack-no-clear 'vector))) + (set! (-> v1-1 quad) (-> self root trans quad)) + (set! sv-52 v1-1) + ) + (let ((a0-5 sv-48)) + (set! (-> a0-5 quad) (-> sv-48 quad)) + (set! (-> a0-5 y) 0.0) + (vector-normalize! a0-5 1.0) + ) + (dotimes (s2-0 arg0) + (let ((v1-4 (new 'stack-no-clear 'vector))) + (set! (-> v1-4 quad) (-> sv-52 quad)) + (set! sv-80 v1-4) + ) + (let* ((f30-0 (- (* 0.5 arg2))) + (v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + ) + (set! sv-84 (+ f30-0 (* (+ -1.0 (the-as float v1-7)) (+ (* 0.5 arg2) (* 0.5 arg2))))) + ) + (vector+float*! sv-80 sv-80 (vector-cross! (new 'stack-no-clear 'vector) sv-48 *up-vector*) (* sv-84 arg3)) + (bt-barrel-ground-probe sv-80) + (dotimes (s1-0 arg1) + (let ((s0-0 (handle->process (-> *blow-tower-targets* hellcat)))) + (set! sv-112 (get-process *default-dead-pool* bt-barrel #x4000 1)) + (when sv-112 + (let ((t9-5 (method-of-type bt-barrel activate))) + (t9-5 (the-as bt-barrel sv-112) s0-0 "bt-barrel" (the-as pointer #x70004000)) + ) + (run-now-in-process sv-112 bt-barrel-init-by-other sv-80) + (-> sv-112 ppointer) + ) + ) + ) + (suspend) + 0 + (vector+float*! sv-52 sv-52 sv-48 arg2) + (let ((s1-1 sv-52) + (s0-1 sv-52) + ) + (set! sv-128 sv-48) + (let* ((f30-1 arg3) + (f28-0 (- (* 0.25 arg2))) + (v1-30 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-31 (the-as number (logior #x3f800000 v1-30))) + (f0-18 (* f30-1 (+ f28-0 (* (+ -1.0 (the-as float v1-31)) (+ (* 0.25 arg2) (* 0.25 arg2)))))) + ) + (vector+float*! s1-1 s0-1 sv-128 f0-18) + ) + ) + ) + (none) + ) + +;; definition for method 12 of type bt-barrel +(defmethod run-logic? ((this bt-barrel)) + "Should this process be run? Checked by execute-process-tree." + #t + ) + +;; definition for method 11 of type bt-barrel-stack +(defmethod init-from-entity! ((this bt-barrel-stack) (arg0 entity-actor)) + (stack-size-set! (-> this main-thread) 512) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-scenecamera" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (set! (-> this entity) arg0) + (go (method-of-object this idle)) + ) + +;; definition for function attempt-barrel-spawn +;; INFO: Used lq/sq +(defbehavior attempt-barrel-spawn bt-barrel-stack () + (let ((a1-0 (new 'stack-no-clear 'collide-query))) + (vector+float*! (-> a1-0 start-pos) (-> self root trans) *up-vector* 24576.0) + (set! (-> a1-0 move-dist quad) (the-as uint128 0)) + (set! (-> a1-0 move-dist y) -81920.0) + (let ((v1-4 a1-0)) + (set! (-> v1-4 radius) 409.6) + (set! (-> v1-4 collide-with) (collide-spec backgnd)) + (set! (-> v1-4 ignore-process0) #f) + (set! (-> v1-4 ignore-process1) #f) + (set! (-> v1-4 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-4 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* a1-0) 0.0) + (go-virtual barrel-spawning) + ) + ) + ) + +;; failed to figure out what this is: +(defstate barrel-spawning (bt-barrel-stack) + :virtual #t + :code (behavior () + (let ((gp-0 (the int (res-lump-float (-> self entity) 'width :default 1.0))) + (s5-0 (the int (res-lump-float (-> self entity) 'height :default 1.0))) + (f30-0 (res-lump-float (-> self entity) 'distance :default 20480.0)) + (f0-4 (res-lump-float (-> self entity) 'rand :default 1.0)) + ) + (setup-bt-barrels gp-0 s5-0 f30-0 f0-4) + ) + (process-entity-status! self (entity-perm-status dead) #t) + (go empty-state) + ) + ) + +;; failed to figure out what this is: +(defstate idle (bt-barrel-stack) + :virtual #t + :code (behavior () + (until #f + (attempt-barrel-spawn) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 0.3)) + (suspend) + ) + ) + ) + #f + ) + ) + +;; definition for method 37 of type bt-barrel +(defmethod get-damage-from-attack ((this bt-barrel) (arg0 attack-info) (arg1 process-focusable)) + (let ((gp-1 (call-parent-method this arg0 arg1))) + (if (and (not (logtest? (penetrate explode) (-> arg0 penetrate-using))) + (< 368640.0 (vector-vector-distance (target-pos 0) (-> this root trans))) + ) + (set! gp-1 0.0) + ) + gp-1 + ) + ) + +;; definition for method 32 of type tower-flyer +(defmethod on-death ((this tower-flyer)) + (sound-play "hc-target-hit") + (call-parent-method this) + ) + +;; definition of type bt-pickup-barrel +(deftype bt-pickup-barrel (process-drawable) + ((index int32) + ) + (:state-methods + riding + ) + ) + +;; definition for method 3 of type bt-pickup-barrel +(defmethod inspect ((this bt-pickup-barrel)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Tindex: ~D~%" (-> this index)) + (label cfg-4) + this + ) + +;; definition for function bt-pickup-barrel-init-by-other +(defbehavior bt-pickup-barrel-init-by-other bt-pickup-barrel ((arg0 int)) + (set! (-> self level) (level-get *level* 'lblowcst)) + (set! (-> self root) (new 'process 'trsqv)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-barrel" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 0.5 0.3 0.5 1.0) + (set! (-> self index) arg0) + (go-virtual riding) + ) + +;; failed to figure out what this is: +(defstate riding (bt-pickup-barrel) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (cond + ((logtest? (-> *part-group-id-table* 1460 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1460)) + ) + ) + (go empty-state) + ) + ) + ) + :trans (behavior () + (send-event + (ppointer->process (-> self parent)) + 'update-barrel-pos + (-> self root trans) + (-> self root quat) + (-> self index) + ) + ) + :code sleep-code + :post ja-post + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-part_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-part_REF.gc new file mode 100644 index 0000000000..381658b71d --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-part_REF.gc @@ -0,0 +1,1356 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-bt-roboguard bt-roboguard bt-roboguard-lod0-jg bt-roboguard-idle0-ja + ((bt-roboguard-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow bt-roboguard-shadow-mg + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-grunt bt-grunt bt-grunt-lod0-jg -1 + ((bt-grunt-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :shadow bt-grunt-shadow-mg + :origin-joint-index 16 + ) + +;; failed to figure out what this is: +(defskelgroup skel-kg-flyer kg-flying-turret kg-flying-turret-lod0-jg kg-flying-turret-idle-ja + ((kg-flying-turret-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-mh-flyer bt-wasp bt-wasp-lod0-jg -1 + ((bt-wasp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7.5) + :shadow bt-wasp-shadow-mg + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-barrel cty-explode-barrel cty-explode-barrel-lod0-jg cty-explode-barrel-idle-ja + ((cty-explode-barrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-missile cty-homing-missile cty-homing-missile-lod0-jg cty-homing-missile-idle-ja + ((cty-homing-missile-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-hellcat hellcat-tower hellcat-tower-lod0-jg hellcat-tower-idle-ja + ((hellcat-tower-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-pickup kg-pickup kg-pickup-lod0-jg kg-pickup-idle-ja + ((kg-pickup-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :shadow kg-pickup-shadow-mg + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-torn bt-torn bt-torn-lod0-jg bt-torn-idle-ja + ((bt-torn-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-sig bt-sig bt-sig-lod0-jg bt-sig-idle-ja + ((bt-sig-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +;; failed to figure out what this is: +(defskelgroup skel-bt-jinx bt-jinx bt-jinx-lod0-jg bt-jinx-idle-ja + ((bt-jinx-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + ) + +;; failed to figure out what this is: +(defpartgroup group-barrel-damage + :id 1455 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4788 :flags (sp7)) + (sp-item 4789 :flags (sp3) :binding 4787) + (sp-item 4787 :flags (sp2) :period (seconds 4) :length (seconds 2)) + ) + ) + +;; failed to figure out what this is: +(defpart 4788 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:num 1.0) + (:x (meters 0) (meters 0.5)) + (:y (meters 0.5)) + (:scale-x (meters 0.5) (meters 1)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0 30.0) + (:b 30.0) + (:a 128.0) + (:vel-y (meters 0.0033333334)) + (:scalevel-x (meters -0.0033333334) (meters -0.0033333334)) + (:scalevel-y (meters 0.0033333334) (meters 0.0033333334)) + (:fade-g -0.8) + (:fade-b -0.2) + (:fade-a -0.2 -0.6666667) + (:accel-y (meters 0.00033333333) (meters 0.00033333333)) + (:friction 0.99) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees -5) (degrees 10)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4789 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 15)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 200.0) + (:a 128.0) + (:vel-y (meters 0.2)) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:accel-y (meters -0.00066666666) (meters -0.00066666666)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 2)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4787 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:birth-func 'birth-func-inherit-size) + (:num 0.3) + (:scale-x (meters 0.00024414062) (meters 0.00012207031)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 32.0) + (:a 128.0) + (:fade-a -0.36571428 -0.36571428) + (:accel-y (meters 0) (meters -0.00033333333)) + (:timer (seconds 1.167)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-flyer-shot-trail + :id 1456 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 4790 :flags (sp6)) (sp-item 4791 :flags (sp6)) (sp-item 4792 :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 4791 + :init-specs ((:texture (diamond-star level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2.25) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4792 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4790 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-bt-mh-flyer-explosion + :id 1457 + :duration (seconds 2) + :linger-duration (seconds 1) + :flags (sp0 sp5 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (0.25 0.25 0.25) + :parts ((sp-item 4793 :flags (sp6) :period (seconds 3) :length (seconds 0.017)) + (sp-item 4794 :flags (sp6) :period (seconds 3) :length (seconds 0.017)) + (sp-item 4795 :period (seconds 3) :length (seconds 0.05)) + (sp-item 4796 :fade-after (meters 200) :falloff-to (meters 200) :period (seconds 3) :length (seconds 0.085) :offset 20) + (sp-item 4797 :fade-after (meters 150) :falloff-to (meters 150) :period (seconds 3) :length (seconds 0.067) :offset 30) + ) + ) + +;; failed to figure out what this is: +(defpart 4794 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0) + (:scalevel-x (meters 0.10666667)) + (:rotvel-z (degrees 0.3)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -4.266667) + (:fade-b -4.266667) + (:fade-a 0.0) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:next-time (seconds 0.25)) + (:next-launcher 4798) + ) + ) + +;; failed to figure out what this is: +(defpart 4798 + :init-specs ((:scalevel-x (meters 0)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.85333335) + (:fade-g -1.7066667) + (:fade-b -1.7066667) + (:fade-a -0.64) + ) + ) + +;; failed to figure out what this is: +(defpart 4797 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 2.0 0.2) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0) (degrees 3600) :store) + (:scale-y (meters 0.8) (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:scalevel-x (meters 0.01) (meters 0.13333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -0.36) + (:fade-b -4.24) + (:fade-a -0.22068965) + (:friction 0.95) + (:timer (seconds 3.335)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085)) + (:next-launcher 4799) + (:conerot-x '*sp-temp*) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4796 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 3.0) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters 0.02) (meters 0.01)) + (:scalevel-x (meters 0.01) (meters 0.13333334)) + (:rotvel-z (degrees -0.12) (degrees 0.24)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -0.36) + (:fade-b -4.24) + (:fade-a -0.22068965) + (:friction 0.95) + (:timer (seconds 3.335)) + (:flags (sp-cpuinfo-flag-2)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400700)) + (:next-time (seconds 0.085)) + (:next-launcher 4799) + (:conerot-x (degrees 0) (degrees 3600)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4799 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:next-time (seconds 0.017) (seconds 0.065)) (:next-launcher 4800)) + ) + +;; failed to figure out what this is: +(defpart 4800 + :init-specs ((:scalevel-x (meters 0.016666668) (meters 0.016666668)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.44) + (:fade-g -2.36) + (:fade-b -2.64) + (:next-time (seconds 0.117) (seconds 0.047)) + (:next-launcher 4801) + ) + ) + +;; failed to figure out what this is: +(defpart 4801 + :init-specs ((:scalevel-x (meters 0.008333334) (meters 0.008333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r -1.2944444) + (:fade-g -0.7111111) + (:fade-b -0.094444446) + (:fade-a -0.06545454 -0.06545454) + (:next-time (seconds 0.5) (seconds 0.097)) + (:next-launcher 4802) + ) + ) + +;; failed to figure out what this is: +(defpart 4802 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0) (:fade-a -0.1125)) + ) + +;; failed to figure out what this is: +(defpart 4793 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.5)) + (:rotvel-z (degrees 0.3)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -1.28) + (:fade-b -5.1) + (:fade-a 0.0) + (:timer (seconds 0.217)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:next-time (seconds 0.1)) + (:next-launcher 4803) + ) + ) + +;; failed to figure out what this is: +(defpart 4803 + :init-specs ((:scalevel-x (meters -0.2857143)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.0) + (:fade-g -3.6571429) + (:fade-b 0.0) + (:fade-a -2.7428572) + ) + ) + +;; failed to figure out what this is: +(defpart 4795 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 8.0 1.0) + (:x (meters 0) (meters 0.6)) + (:scale-x (meters 2.5) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 70.0 20.0) + (:g 70.0 20.0) + (:b 70.0 20.0) + (:a 0.0 40.0) + (:vel-y (meters 0) (meters 0.1)) + (:scalevel-x (meters 0.033333335) (meters 0.02)) + (:rotvel-z (degrees -0.12) (degrees 0.24)) + (:scalevel-y :copy scalevel-x) + (:fade-r 3.3) + (:fade-g 3.12) + (:fade-b 1.18) + (:fade-a 1.76) + (:friction 0.88) + (:timer (seconds 2.367)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:next-time (seconds 0.117) (seconds 0.047)) + (:next-launcher 4804) + (:conerot-x (degrees 0) (degrees 3600)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4804 + :init-specs ((:scalevel-x (meters 0.0033333334)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.53333336) + (:fade-g -1.9666667) + (:fade-b -2.2) + (:fade-a -0.41666666) + (:next-time (seconds 0.15) (seconds 0.047)) + (:next-launcher 4805) + ) + ) + +;; failed to figure out what this is: +(defpart 4805 + :init-specs ((:scalevel-x (meters 0)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.38833332) + (:fade-g -0.21333334) + (:fade-b -0.028333334) + (:fade-a -0.38833332) + ) + ) + +;; failed to figure out what this is: +(defpart 4806 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 150.0) + (:g 150.0) + (:b 150.0) + (:a 30.0 30.0) + (:scalevel-x (meters 0.01)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.1 -0.1) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 20 1 0 #x400000 #x405c00)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-bt-dummy + :id 1458 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4807 :flags (sp3 sp7))) + ) + +;; failed to figure out what this is: +(defpart 4807 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 0.0) + (:b 0.0) + (:a 0.0) + (:timer (seconds 0.017)) + (:flags ()) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-grunt-hit-pickup + :id 1459 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 500) + :parts ((sp-item 4808 :flags (sp7) :period (seconds 1) :length (seconds 0.067)) (sp-item 4809 :flags (is-3d sp7))) + ) + +;; failed to figure out what this is: +(defpart 4808 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.3) (meters 0.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 120.0) + (:b 60.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.033333335)) + (:fade-a -0.425) + (:accel-y (meters -0.0026666666)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4809 + :init-specs ((:texture (crate-wood-01-splinter level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:scale-x (meters 0.5) (meters 1)) + (:scale-y (meters 0.5) (meters 1)) + (:r 20.0 50.0) + (:g :copy r) + (:b :copy r) + (:a 128.0) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:accel-y (meters -0.0016666667)) + (:timer (seconds 2.5)) + (:flags (launch-along-z left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #x400600 #x400500 #x40ae00 #x40a500 #x408800 #x405000) + ) + (:next-time (seconds 0.335)) + (:next-launcher 4810) + (:conerot-x (degrees 0) (degrees 90)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4810 + :init-specs ((:r 20.0 50.0) + (:g :copy r) + (:b :copy r) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:next-time (seconds 0.017) (seconds 0.997)) + (:next-launcher 4811) + ) + ) + +;; failed to figure out what this is: +(defpart 4811 + :init-specs ((:r 255.0) + (:g :copy r) + (:b :copy r) + (:rotvel-x (degrees -5) (degrees 10)) + (:rotvel-y (degrees -5) (degrees 10)) + (:rotvel-z (degrees -5) (degrees 10)) + (:next-time (seconds 0.017)) + (:next-launcher 4810) + ) + ) + +;; failed to figure out what this is: +(defpart 4812 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-curve) + (:num 30.0) + (:scale-x (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 1.0) + (:g 1.0) + (:b 128.0) + (:a 128.0) + (:vel-y (meters 0.05)) + (:friction 0.97) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-13)) + (:userdata 0.0) + (:func 'live-func-curve) + (:conerot-x (degrees 0) (degrees 360)) + (:conerot-z (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(if #t + (set! *range-bt-roboguard-dust-scale-x* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0) + :ys (new 'static 'vector :x 4.0 :y 10.0 :z 11.0 :w 12.0) + :one-over-x-deltas (new 'static 'vector :x 6.0 :y 1.0 :z 1.0 :w 1.0) + ) + ) + ) + +;; failed to figure out what this is: +(if #t + (set! *range-bt-roboguard-dust-scale-y* (new 'static 'curve2d-fast + :xs (new 'static 'vector :y -1.0 :z -2.0 :w -3.0) + :ys (new 'static 'vector :x 4.0 :y 10.0 :z 11.0 :w 12.0) + :one-over-x-deltas (new 'static 'vector :x 6.0 :y 1.0 :z 1.0 :w 1.0) + ) + ) + ) + +;; definition for symbol *part-bt-roboguard-explosion-dust-in-curve-settings*, type particle-curve-settings +(define *part-bt-roboguard-explosion-dust-in-curve-settings* (new 'static 'particle-curve-settings + :lifetime-base (seconds 0.5) + :lifetime-offset (seconds 1) + :flags (particle-curve-flags pcf0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 4812 init-specs 14 initial-valuef) + (the-as float *part-bt-roboguard-explosion-dust-in-curve-settings*) + ) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* color-start) *range-kgpickup-dust-color*) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* alpha-start) *range-kgpickup-dust-alpha*) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-x-start) + *range-bt-roboguard-dust-scale-x* + ) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-y-start) + *range-bt-roboguard-dust-scale-y* + ) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* r-scalar) #f) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* g-scalar) #f) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* b-scalar) #f) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* a-scalar) *curve-kgpickup-dust-alpha*) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-x-scalar) *curve-kgpickup-dust-scale-x*) + +;; failed to figure out what this is: +(set! (-> *part-bt-roboguard-explosion-dust-in-curve-settings* scale-y-scalar) *curve-kgpickup-dust-scale-y*) + +;; failed to figure out what this is: +(defpartgroup group-bt-roboguard-explode + :id 1460 + :duration (seconds 4) + :flags (sp0 sp5) + :bounds (static-bspherem 0 0 0 15) + :parts ((sp-item 1277 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 1279 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 4812 :period (seconds 30) :length (seconds 0.035)) + (sp-item 1282 :flags (sp3) :period (seconds 30) :length (seconds 0.017)) + (sp-item 1283 :period (seconds 30) :length (seconds 0.167)) + (sp-item 1285 :flags (sp3) :binding 1276) + (sp-item 1285 :flags (sp3) :binding 1276) + (sp-item 1276 :flags (sp2) :period (seconds 4) :length (seconds 2)) + (sp-item 1276 :flags (sp2) :period (seconds 4) :length (seconds 2)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-gun-hellcat-shot-hit + :id 1461 + :duration (seconds 0.017) + :flags (sp0) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4813 :flags (sp6) :period (seconds 2) :length (seconds 0.017)) + (sp-item 4814 :fade-after (meters 60) :falloff-to (meters 60) :period (seconds 2) :length (seconds 0.017)) + (sp-item 4815 :fade-after (meters 120) :falloff-to (meters 140) :period (seconds 2) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpart 4815 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 8.0 16.0) + (:scale-x (meters 1.5)) + (:rot-x 4) + (:scale-y (meters 0.05) (meters 0.05)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 64.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.06666667) (meters 0.33333334)) + (:fade-r -0.053333335) + (:fade-g -2.55) + (:fade-b -5.1) + (:fade-a -0.42666668 -0.42666668) + (:accel-y (meters -0.0013333333) (meters -0.001)) + (:friction 0.875) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 80) (degrees 40)) + (:conerot-y (degrees 80) (degrees 40)) + (:conerot-z (degrees 80) (degrees 40)) + (:conerot-radius (meters 0) (meters 0.2)) + ) + ) + +;; failed to figure out what this is: +(defpart 4814 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 8.0 16.0) + (:scale-x (meters 0.5) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 100.0) + (:b 80.0) + (:a 32.0 32.0) + (:vel-z (meters 0) (meters 0.016666668)) + (:scalevel-x (meters 0.0013333333) (meters 0.0033333334)) + (:rotvel-z (degrees -0.3) (degrees 0.6)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-x (degrees 90) (degrees 20)) + (:conerot-y (degrees 90) (degrees 20)) + (:conerot-z (degrees 90) (degrees 20)) + (:conerot-radius (meters 0) (meters 0.2)) + ) + ) + +;; failed to figure out what this is: +(defpart 4813 + :init-specs ((:texture (hitspark level-default-sprite)) + (:num 1.0) + (:sound (static-sound-spec "blue-gun-rico" :group 0)) + (:scale-x (meters 0.4) (meters 2)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 230.0 25.0) + (:g 230.0 25.0) + (:b 230.0 25.0) + (:a 128.0) + (:fade-a -5.12) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:next-time (seconds 0.035)) + (:next-launcher 4816) + ) + ) + +;; failed to figure out what this is: +(defpart 4816 + :init-specs ((:scalevel-x (meters 0.12) (meters 0.12)) (:scalevel-y :copy scalevel-x)) + ) + +;; failed to figure out what this is: +(defpartgroup group-bt-mh-flyer-engine + :id 1462 + :duration (seconds 0.017) + :flags (sp0 sp7) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4817 :flags (is-3d sp7)) + (sp-item 4818 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7)) + (sp-item 4819 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7)) + (sp-item 4820 :fade-after (meters 60) :falloff-to (meters 60) :flags (sp7)) + (sp-item 4821 :fade-after (meters 120) :falloff-to (meters 120) :flags (sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 4817 + :init-specs ((:texture (bt-wasp-flame lblowcst-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters -1.2) (meters 0.1)) + (:scale-x (meters 0.6)) + (:scale-y (meters 2.6)) + (:r 128.0 128.0) + (:g 64.0 64.0) + (:b :copy g) + (:a 128.0 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-x (degrees -90)) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4821 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.3)) + (:scale-x (meters 1.5) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 64.0 64.0) + (:b 0.0) + (:a 16.0 8.0) + (:omega (degrees 2718)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + ) + ) + +;; failed to figure out what this is: +(defpart 4818 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.5) + (:y (meters 0) (meters -0.25)) + (:scale-x (meters 0.2) (meters 0.2)) + (:rot-z (degrees 0) 1 (degrees 180)) + (:scale-y (meters 1) (meters 0.6)) + (:r 192.0) + (:g 64.0) + (:b 0.0) + (:a 0.0 16.0) + (:vel-y (meters -0.1) (meters -0.016666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y (meters 0.006666667)) + (:fade-r -2.0) + (:fade-g 2.0) + (:fade-b 5.0) + (:fade-a 0.32) + (:accel-x (meters 0) (meters 0.0016666667)) + (:accel-y (meters 0.00016666666) (meters 0.00033333333)) + (:friction 0.94) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z)) + (:next-time (seconds 0.085)) + (:next-launcher 4822) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 4822 + :init-specs ((:r 64.0 64.0) + (:g 64.0 64.0) + (:b 64.0 64.0) + (:fade-r 0.0) + (:fade-g 0.0) + (:fade-b 0.0) + (:fade-a -0.064 -0.128) + ) + ) + +;; failed to figure out what this is: +(defpart 4819 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.1 0.1) + (:y (meters 0.25) (meters -0.5)) + (:scale-x (meters 0.05)) + (:scale-y (meters 0.5)) + (:r 192.0 64.0) + (:g 0.0 128.0) + (:b 0.0) + (:a 128.0) + (:vel-y (meters -0.033333335) (meters -0.026666667)) + (:scalevel-x (meters 0.001)) + (:scalevel-y (meters -0.017)) + (:fade-g 0.0) + (:accel-x (meters 0) (meters 0.0016666667)) + (:accel-y (meters 0.00016666666) (meters 0.0005)) + (:friction 0.96) + (:timer (seconds 0.167) (seconds 0.247)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 launch-along-z)) + (:next-time (seconds 0.1)) + (:next-launcher 4823) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 4823 + :init-specs ((:scalevel-x (meters 0)) (:scalevel-y (meters 0))) + ) + +;; failed to figure out what this is: +(defpart 4820 + :init-specs ((:num 1.0) + (:rot-x 8) + (:r 1638.4) + (:g 1331.2) + (:b 1433.6) + (:vel-y (meters -0.1) (meters -0.016666668)) + (:fade-r 32.768) + (:fade-g 26.623999) + (:fade-b 28.671999) + (:accel-x (meters 0) (meters 0.0016666667)) + (:friction 0.94) + (:timer (seconds 0.335)) + (:flags (distort launch-along-z)) + (:next-time (seconds 0.167)) + (:next-launcher 4824) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 4824 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b -4.096)) + ) + +;; failed to figure out what this is: +(defpart 4825 + :init-specs ((:texture (gun-yellow-muzzleflash level-default-sprite)) + (:birth-func 'birth-func-set-quat) + (:num 1.0) + (:scale-x (meters 2)) + (:scale-y (meters 4)) + (: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)) + ) + ) + +;; definition for symbol *bt-grunt-ragdoll-info*, type ragdoll-setup +(define *bt-grunt-ragdoll-info* (new 'static 'ragdoll-setup + :orient-tform (new 'static 'vector :x 1.0 :w 10625.897) + :scale (new 'static 'vector :x 0.6399 :y 0.6399 :z 0.6399) + :bg-collide-with (collide-spec backgnd player-list) + :joint-setup (new 'static 'boxed-array :type ragdoll-joint-setup + (new 'static 'ragdoll-joint-setup + :joint-index 3 + :parent-joint -1 + :geo-tform (new 'static 'vector :x -1.0 :w 1170.3455) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 2268.7744 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 4 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 4000.9365) + :geo-tform (new 'static 'vector :x 1.0 :w 12817.95) + :axial-slop 2169.078 + :max-angle 2296.8184 + :coll-rad 2867.2 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 5 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 10540.374) + :geo-tform (new 'static 'vector :x -1.0 :w 12551.108) + :axial-slop 2169.078 + :max-angle 2226.3489 + :coll-rad 2209.3823 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 6 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 13046.233) + :geo-tform (new 'static 'vector :x 1.0 :w 18078.088) + :axial-slop 2169.078 + :max-angle 3210.7178 + :coll-rad 1644.544 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 7 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.4178 :z -0.9083 :w 11487.004) + :geo-tform (new 'static 'vector :x -0.5907 :y -0.4565 :z 0.665 :w 25388.248) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1641.6768 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 8 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.1565 :z -0.9875 :w 12747.589) + :geo-tform (new 'static 'vector :x -0.0123 :y 0.7268 :z 0.6864 :w 28823.824) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1295.1552 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 9 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z 0.3463 :w 15464.585) + :geo-tform (new 'static 'vector :x 0.0404 :y 0.9991 :z 0.0016 :w 26660.428) + :axial-slop 2169.078 + :max-angle 2671.921 + :coll-rad 1899.3152 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 10 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z 0.346 :w 14.381512) + :geo-tform (new 'static 'vector :x 0.5827 :y 0.8005 :z 0.1389 :w 27752.074) + :axial-slop 2169.078 + :max-angle 2077.3455 + :coll-rad 1787.904 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 11 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.418 :z 0.9082 :w 11484.565) + :geo-tform (new 'static 'vector :x 0.5908 :y -0.4564 :z 0.665 :w 40148.812) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1563.8528 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 12 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.1563 :z 0.9875 :w 12751.085) + :geo-tform (new 'static 'vector :x 0.0122 :y 0.7266 :z 0.6866 :w 36713.688) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 13 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.938 :z -0.3461 :w 15469.664) + :geo-tform (new 'static 'vector :x -0.0404 :y 0.9991 :z 0.0015 :w 38877.887) + :axial-slop 2169.078 + :max-angle 2330.5876 + :coll-rad 1610.1376 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 14 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9377 :z -0.3468 :w 16.074524) + :geo-tform (new 'static 'vector :x -0.2371 :y 0.2169 :z -0.9468 :w 20556.623) + :axial-slop 2169.078 + :max-angle 1879.882 + :coll-rad 1629.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 15 + :parent-joint 3 + :pre-tform (new 'static 'vector :x 1.0 :w 42847.234) + :geo-tform (new 'static 'vector :x -1.0 :w 16468.232) + :axial-slop 2169.078 + :max-angle 2508.973 + :coll-rad 1812.0704 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 16 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 1.0 :w 3567.2522) + :geo-tform (new 'static 'vector :x 1.0 :w 42973.14) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1858.3552 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 17 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.2349 :z -0.9718 :w 18020.252) + :geo-tform (new 'static 'vector :x 0.3808 :y 0.3151 :z 0.8691 :w 29486.395) + :axial-slop 2169.078 + :max-angle 3698.87 + :coll-rad 877.3632 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 18 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.9998 :z 0.0086 :w 4412.9214) + :geo-tform (new 'static 'vector :x 0.3995 :y -0.4805 :z 0.7804 :w 25729.781) + :axial-slop 2169.078 + :max-angle 3691.5154 + :coll-rad 1524.9408 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 19 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.7835 :z 0.621 :w 14960.958) + :geo-tform (new 'static 'vector :x 0.2887 :y 0.6587 :z 0.6945 :w 40555.97) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 20 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7644 :z -0.6445 :w 17272.176) + :geo-tform (new 'static 'vector :x 0.5513 :y 0.3614 :z 0.7516 :w 33063.24) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 44 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.9734 :z 0.2283 :w 7149.304) + :geo-tform (new 'static 'vector :x -0.7224 :y -0.6901 :z -0.0373 :w 15253.522) + :axial-slop 2169.078 + :max-angle 1294.1176 + :coll-rad 659.456 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 45 + :parent-joint 20 + :pre-tform (new 'static 'vector :x 0.4934 :z 0.8696 :w 6514.1875) + :geo-tform (new 'static 'vector :x -0.0332 :y 0.8825 :z 0.4687 :w 37613.457) + :axial-slop 2169.078 + :max-angle 1411.5544 + :coll-rad 605.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 21 + :parent-joint 16 + :pre-tform (new 'static 'vector :x -1.0 :w 9863.842) + :geo-tform (new 'static 'vector :x -1.0 :w 12698.965) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1488.0768 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 22 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -1.0 :w 1462.5452) + :geo-tform (new 'static 'vector :x 0.9995 :y -0.0161 :z -0.0185 :w 7921.737) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1285.7344 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 23 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9958 :z -0.09 :w 1956.7229) + :geo-tform (new 'static 'vector :x 0.9998 :y 0.0041 :z 0.0071 :w 33050.805) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1801.8304 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 24 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6114.891) + :geo-tform (new 'static 'vector :x 0.9998 :y -0.0127 :z 0.0043 :w 8018.73) + :axial-slop 2169.078 + :max-angle 2497.213 + :coll-rad 794.2144 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 25 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6305.8555) + :geo-tform (new 'static 'vector :x 0.9998 :y -0.0172 :z 0.0018 :w 6908.7324) + :axial-slop 2169.078 + :max-angle 1846.1127 + :coll-rad 556.2368 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 46 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.9998 :z 0.0159 :w 6830.7266) + :geo-tform (new 'static 'vector :x 0.9993 :y -0.0365 :z -0.006 :w 3790.2383) + :axial-slop 2169.078 + :max-angle 1491.563 + :coll-rad 542.3104 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 26 + :parent-joint 16 + :pre-tform (new 'static 'vector :x -0.2352 :z 0.9718 :w 18022.729) + :geo-tform (new 'static 'vector :x -0.3537 :y 0.3542 :z 0.8654 :w 34566.508) + :axial-slop 2169.078 + :max-angle 3739.2292 + :coll-rad 1540.096 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 27 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8967 :z -0.4423 :w 5274.7744) + :geo-tform (new 'static 'vector :x -0.0105 :y 0.862 :z -0.5065 :w 24694.367) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 28 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8194 :z -0.573 :w 13110.112) + :geo-tform (new 'static 'vector :x -0.2576 :y 0.7211 :z 0.6428 :w 24504.475) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1751.4496 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 29 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.8027 :z 0.596 :w 15135.011) + :geo-tform (new 'static 'vector :x -0.5895 :y 0.2007 :z 0.7821 :w 36329.734) + :axial-slop 2169.078 + :max-angle 3682.7046 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 48 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.8262 :z 0.5632 :w 7707.525) + :geo-tform (new 'static 'vector :x -0.6943 :y 0.7184 :z -0.0381 :w 14762.858) + :axial-slop 2169.078 + :max-angle 2015.6871 + :coll-rad 573.0304 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 49 + :parent-joint 29 + :pre-tform (new 'static 'vector :x 0.9975 :z -0.0684 :w 3277.692) + :geo-tform (new 'static 'vector :x -0.2795 :y 0.7979 :z 0.5336 :w 35258.77) + :axial-slop 2169.078 + :max-angle 1851.9927 + :coll-rad 468.992 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 41 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.5769 :z -0.8166 :w 8297.695) + :geo-tform (new 'static 'vector :x -0.6954 :y -0.0651 :z 0.7153 :w 9511.8955) + :axial-slop 2169.078 + :max-angle 2863.5044 + :coll-rad 1868.5952 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 42 + :parent-joint 4 + :pre-tform (new 'static 'vector :x 0.5774 :z 0.8162 :w 8293.489) + :geo-tform (new 'static 'vector :x 0.948 :y -0.2986 :z 0.1083 :w 34953.68) + :axial-slop 2169.078 + :max-angle 2569.885 + :coll-rad 1893.9904 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 31 + :parent-joint 10 + :pre-tform (new 'static 'vector :x 0.3449 :z -0.9384 :w 16372.404) + :geo-tform (new 'static 'vector :x 0.088 :y -0.8342 :z 0.5442 :w 20057.604) + :axial-slop 2169.078 + :max-angle 3185.0312 + :coll-rad 1327.9232 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 32 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.6081 :z 0.7936 :w 10429.526) + :geo-tform (new 'static 'vector :x 0.213 :y -0.975 :z -0.061 :w 19499.654) + :axial-slop 2169.078 + :max-angle 2031.8344 + :coll-rad 423.1168 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 33 + :parent-joint 10 + :pre-tform (new 'static 'vector :x 0.9512 :z -0.3084 :w 2006.2573) + :geo-tform (new 'static 'vector :x -0.0464 :y 0.9956 :z 0.0799 :w 26746.152) + :axial-slop 2169.078 + :max-angle 2505.2957 + :coll-rad 533.7088 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 34 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7105 :z 0.7034 :w 3017.6597) + :geo-tform (new 'static 'vector :x 0.0381 :y 0.9847 :z -0.1692 :w 26846.422) + :axial-slop 2169.078 + :max-angle 2064.8572 + :coll-rad 408.3712 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 35 + :parent-joint 8 + :pre-tform (new 'static 'vector :x 0.9371 :z 0.3486 :w 15668.893) + :geo-tform (new 'static 'vector :x -0.2897 :y 0.1004 :z 0.9516 :w 31568.328) + :axial-slop 2169.078 + :max-angle 2784.2424 + :coll-rad 1593.7535 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 36 + :parent-joint 14 + :pre-tform (new 'static 'vector :x 0.3452 :z 0.9383 :w 16373.424) + :geo-tform (new 'static 'vector :x 0.1347 :y 0.823 :z -0.5515 :w 19233.342) + :axial-slop 2169.078 + :max-angle 2773.2288 + :coll-rad 1373.3888 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 37 + :parent-joint -1 + :pre-tform (new 'static 'vector :x -0.4593 :z -0.888 :w 10428.289) + :geo-tform (new 'static 'vector :x 0.1971 :y 0.977 :z 0.079 :w 17810.5) + :axial-slop 2169.078 + :max-angle 1984.8488 + :coll-rad 616.448 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 38 + :parent-joint 14 + :pre-tform (new 'static 'vector :x 0.9998 :z -0.0063 :w 3668.4868) + :geo-tform (new 'static 'vector :x 0.0529 :y 0.9969 :z 0.056 :w 38759.062) + :axial-slop 2169.078 + :max-angle 1981.1897 + :coll-rad 1127.6288 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 39 + :parent-joint -1 + :pre-tform (new 'static 'vector :x 0.7207 :z -0.6929 :w 3011.8708) + :geo-tform (new 'static 'vector :x -0.0298 :y 0.9808 :z -0.1918 :w 38536.098) + :axial-slop 2169.078 + :max-angle 2276.2654 + :coll-rad 534.528 + ) + (new 'static 'ragdoll-joint-setup + :joint-index 40 + :parent-joint 12 + :pre-tform (new 'static 'vector :x 0.9375 :z -0.3477 :w 15673.973) + :geo-tform (new 'static 'vector :x 0.2894 :y 0.1005 :z 0.9517 :w 33957.168) + :axial-slop 2169.078 + :max-angle 2685.1372 + :coll-rad 1853.0304 + ) + ) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-script_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-script_REF.gc new file mode 100644 index 0000000000..ef42692aed --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-script_REF.gc @@ -0,0 +1,882 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type blow-tower-cmd +(deftype blow-tower-cmd (structure) + ((cmd-type blow-tower-cmd-type) + (spawn-type blow-tower-cmd-spawn-type) + (entity-name string) + (rotate-amount float) + (lock-min float) + (lock-max float) + (target uint8) + (path-height float) + (event-id uint32) + (time-offset float) + (clock-scalar float) + (entity-name2 string) + (snap-view? symbol) + (snd-name sound-name) + ) + ) + +;; definition for method 3 of type blow-tower-cmd +;; INFO: Used lq/sq +(defmethod inspect ((this blow-tower-cmd)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-cmd) + (format #t "~1Tcmd-type: ~D~%" (-> this cmd-type)) + (format #t "~1Tspawn-type: ~D~%" (-> this spawn-type)) + (format #t "~1Tentity-name: ~A~%" (-> this entity-name)) + (format #t "~1Trotate-amount: ~f~%" (-> this rotate-amount)) + (format #t "~1Tlock-min: ~f~%" (-> this lock-min)) + (format #t "~1Tlock-max: ~f~%" (-> this lock-max)) + (format #t "~1Ttarget: ~D~%" (-> this target)) + (format #t "~1Tpath-height: ~f~%" (-> this path-height)) + (format #t "~1Tevent-id: ~D~%" (-> this event-id)) + (format #t "~1Ttime-offset: ~f~%" (-> this time-offset)) + (format #t "~1Tclock-scalar: ~f~%" (-> this clock-scalar)) + (format #t "~1Tentity-name2: ~A~%" (-> this entity-name2)) + (format #t "~1Tsnap-view?: ~A~%" (-> this snap-view?)) + (format #t "~1Tsnd-name: ~D~%" (-> this snd-name)) + (label cfg-4) + this + ) + +;; definition of type tower-event-group +(deftype tower-event-group (structure) + ((event-id int32) + (command-list pair) + ) + ) + +;; definition for method 3 of type tower-event-group +(defmethod inspect ((this tower-event-group)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'tower-event-group) + (format #t "~1Tevent-id: ~D~%" (-> this event-id)) + (format #t "~1Tcommand-list: ~A~%" (-> this command-list)) + (label cfg-4) + this + ) + +;; definition for function get-blow-tower-target +(defun get-blow-tower-target ((arg0 pair) (arg1 int) (arg2 int)) + (let ((a0-1 arg0)) + (cond + ((>= ((method-of-type (rtype-of a0-1) length) a0-1) (+ arg2 1)) + (case (ref arg0 arg2) + (('player) + 0 + ) + (('pickup) + 1 + ) + (else + (the-as int (logand (rand-uint31-gen *random-generator*) 1)) + ) + ) + ) + (else + (empty) + arg1 + ) + ) + ) + ) + +;; definition for function parse-blow-tower-command +;; WARN: disable def twice: 179. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defun parse-blow-tower-command ((arg0 pair) (arg1 blow-tower-cmd)) + (local-vars (v0-8 object)) + (let ((a0-2 (ref arg0 0))) + (case a0-2 + (('spawn) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type spawn)) + (let ((v1-1 (ref arg0 1))) + (set! (-> arg1 entity-name) "") + (set! (-> arg1 spawn-type) (cond + ((= v1-1 'mh-flyer) + (blow-tower-cmd-spawn-type mh-flyer) + ) + ((= v1-1 'kg-flyer) + (blow-tower-cmd-spawn-type kg-flyer) + ) + ((= v1-1 'kg-flyer-ent) + (blow-tower-cmd-spawn-type kg-flyer-ent) + ) + ((= v1-1 'mh-flyer-ent) + (blow-tower-cmd-spawn-type mh-flyer-ent) + ) + ((= v1-1 'mh-grunt) + (blow-tower-cmd-spawn-type mh-grunt) + ) + ((= v1-1 'kg-bombbot) + (blow-tower-cmd-spawn-type kg-bombbot) + ) + ((= v1-1 'kg-bombbot-ent) + (blow-tower-cmd-spawn-type kg-bombbot-ent) + ) + ((= v1-1 'missiles) + (blow-tower-cmd-spawn-type missiles) + ) + ((= v1-1 'missiles-ent) + (blow-tower-cmd-spawn-type missiles-ent) + ) + (else + (blow-tower-cmd-spawn-type mh-flyer) + ) + ) + ) + ) + (set! (-> arg1 event-id) (the-as uint 0)) + (case (-> arg1 spawn-type) + (((blow-tower-cmd-spawn-type kg-bombbot)) + (set! (-> arg1 target) (the-as uint 0)) + (let ((a0-15 arg0)) + (if (>= ((method-of-type (rtype-of a0-15) length) a0-15) 3) + (set! (-> arg1 event-id) (the-as uint (command-get-int (ref arg0 2) 0))) + ) + ) + (let ((a0-18 arg0)) + (if (>= ((method-of-type (rtype-of a0-18) length) a0-18) 4) + (set! (-> arg1 entity-name) (the-as string (ref arg0 3))) + ) + ) + (let ((a0-20 arg0)) + (if (>= ((method-of-type (rtype-of a0-20) length) a0-20) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot-ent)) + (set! (-> arg1 target) (the-as uint 0)) + (let ((a0-24 arg0)) + (if (>= ((method-of-type (rtype-of a0-24) length) a0-24) 3) + (set! (-> arg1 entity-name) (the-as string (ref arg0 2))) + ) + ) + (let ((a0-26 arg0)) + (when (>= ((method-of-type (rtype-of a0-26) length) a0-26) 4) + (set! v0-8 (ref arg0 3)) + (set! (-> arg1 entity-name2) (the-as string v0-8)) + v0-8 + ) + ) + ) + (((blow-tower-cmd-spawn-type mh-flyer-ent) (blow-tower-cmd-spawn-type kg-flyer-ent)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! v0-8 (ref arg0 3)) + (set! (-> arg1 entity-name) (the-as string v0-8)) + v0-8 + ) + (((blow-tower-cmd-spawn-type missiles-ent)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 entity-name) (the-as string (ref arg0 3))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-35 arg0)) + (if (>= ((method-of-type (rtype-of a0-35) length) a0-35) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + (((blow-tower-cmd-spawn-type missiles)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-40 arg0)) + (if (>= ((method-of-type (rtype-of a0-40) length) a0-40) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (else + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 0.0) + (let ((a0-44 arg0)) + (if (>= ((method-of-type (rtype-of a0-44) length) a0-44) 4) + (set! (-> arg1 event-id) (the-as uint (command-get-int (ref arg0 3) 0))) + ) + ) + (let ((a0-47 arg0)) + (if (>= ((method-of-type (rtype-of a0-47) length) a0-47) 5) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 4) 0.0)) + ) + ) + ) + ) + ) + (('advance) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type advance)) + (set! v0-8 (command-get-int (ref arg0 1) 0)) + (set! (-> arg1 event-id) (the-as uint v0-8)) + v0-8 + ) + (('activate) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type activate)) + (set! (-> arg1 entity-name) (the-as string (ref arg0 1))) + (set! v0-8 (get-blow-tower-target arg0 0 2)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('lock-view) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type lock-view)) + (set! (-> arg1 lock-min) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 lock-max) (* 182.04445 (command-get-float (ref arg0 2) 0.0))) + ) + (('play-sound) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type play-sound)) + (set! (-> arg1 time-offset) 0.0) + (let ((a0-58 arg0)) + (if (>= ((method-of-type (rtype-of a0-58) length) a0-58) 3) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 2) 0.0)) + ) + ) + (set! v0-8 (get-blow-tower-target arg0 0 1)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('stop-sound) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type play-sound)) + (set! v0-8 (get-blow-tower-target arg0 0 2)) + (set! (-> arg1 target) (the-as uint v0-8)) + v0-8 + ) + (('look-at) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 1))) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 2) 0.0)) + (set! (-> arg1 path-height) 1.0) + (let ((a0-66 arg0)) + (if (>= ((method-of-type (rtype-of a0-66) length) a0-66) 4) + (set! (-> arg1 path-height) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('speech) + (speech-play + *blow-tower-speech* + (symbol->blow-tower-speech (the-as symbol (ref arg0 1))) + *blow-tower-speech-list* + (target-pos 0) + ) + ) + (('look-at-ent 'look-at-track 'look-at-bombbot) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-track)) + (cond + ((= a0-2 'look-at-ent) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-ent)) + ) + ((= a0-2 'look-at-bombbot) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type look-at-bombbot)) + ) + ) + (set! (-> arg1 entity-name) (the-as string (ref arg0 1))) + (set! (-> arg1 path-height) 1.0) + (let ((a0-74 arg0)) + (if (>= ((method-of-type (rtype-of a0-74) length) a0-74) 3) + (set! (-> arg1 path-height) (command-get-float (ref arg0 2) 0.0)) + ) + ) + ) + (('barrel-roll) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type barrel-roll)) + (set! (-> arg1 path-height) (command-get-float (ref arg0 1) 0.0)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 2.0) + (let ((a0-82 arg0)) + (if (>= ((method-of-type (rtype-of a0-82) length) a0-82) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('roll-amount) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type roll-amount)) + (set! (-> arg1 path-height) (command-get-float (ref arg0 1) 0.0)) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 0 2))) + (set! (-> arg1 time-offset) 1.0) + (let ((a0-90 arg0)) + (if (>= ((method-of-type (rtype-of a0-90) length) a0-90) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + (('clock-scalar) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type clock-scalar)) + (set! (-> arg1 clock-scalar) (command-get-float (ref arg0 1) 0.0)) + ) + (('path-height) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type path-height)) + (set! (-> arg1 path-height) (* 4096.0 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 target) (the-as uint (get-blow-tower-target arg0 3 2))) + (set! v0-8 (command-get-int (ref arg0 3) 0)) + (set! (-> arg1 event-id) (the-as uint v0-8)) + v0-8 + ) + (('unlock-view) + (set! v0-8 4) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('end) + (set! v0-8 19) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('save-progress) + (set! v0-8 13) + (set! (-> arg1 cmd-type) (the-as blow-tower-cmd-type v0-8)) + v0-8 + ) + (('constrain-angle) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type constrain-angle)) + (set! (-> arg1 rotate-amount) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + ) + (('rotate-view) + (set! (-> arg1 cmd-type) (blow-tower-cmd-type rotate-view)) + (set! (-> arg1 rotate-amount) (* 182.04445 (command-get-float (ref arg0 1) 0.0))) + (set! (-> arg1 snap-view?) #f) + (let ((a0-117 arg0)) + (if (>= ((method-of-type (rtype-of a0-117) length) a0-117) 3) + (set! (-> arg1 snap-view?) (the-as symbol (ref arg0 2))) + ) + ) + (set! (-> arg1 time-offset) 360.0) + (let ((a0-119 arg0)) + (if (>= ((method-of-type (rtype-of a0-119) length) a0-119) 4) + (set! (-> arg1 time-offset) (command-get-float (ref arg0 3) 0.0)) + ) + ) + ) + ) + ) + ) + +;; definition for symbol *blow-tower-script*, type (array tower-event-group) +(define *blow-tower-script* + (new 'static 'boxed-array :type tower-event-group + (new 'static 'tower-event-group + :event-id #x44c + :command-list '((speech mission-0) (look-at player (new 'static 'bfloat :data 1.5) (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x4b0 :command-list '()) + (new 'static 'tower-event-group :event-id #x578 :command-list '((spawn kg-flyer-ent player "bt-fliers-4"))) + (new 'static 'tower-event-group :event-id #x640 :command-list '()) + (new 'static 'tower-event-group :event-id #x76c :command-list '()) + (new 'static 'tower-event-group :event-id #x7d0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x898 + :command-list '((barrel-roll 80 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x8fc + :command-list '((play-sound pickup (new 'static 'bfloat :data 2.5)) + (barrel-roll -80 pickup (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x960 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x992 + :command-list '((path-height (new 'static 'bfloat :data 8.0) player 2500) (roll-amount (new 'static 'bfloat :data 20.0))) + ) + (new 'static 'tower-event-group + :event-id #x9c4 + :command-list '((path-height (new 'static 'bfloat :data 8.0) pickup 2900) + (path-height (new 'static 'bfloat :data 3.0) player 2700) + (roll-amount (new 'static 'bfloat :data -5.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xa8c + :command-list '((roll-amount (new 'static 'bfloat)) (path-height (new 'static 'bfloat) pickup 3000)) + ) + (new 'static 'tower-event-group + :event-id #xbb8 + :command-list '((speech mission-1) + (path-height (new 'static 'bfloat :data 8.0) player 3100) + (roll-amount (new 'static 'bfloat :data 10.0)) + (spawn kg-bombbot-ent "bbot-s-1" "bbots-e-5") + ) + ) + (new 'static 'tower-event-group + :event-id #xc1c + :command-list '((path-height (new 'static 'bfloat) player 3200)) + ) + (new 'static 'tower-event-group + :event-id #xc80 + :command-list '((play-sound player (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 10.0) player 3300) + (roll-amount (new 'static 'bfloat :data 30.0) player (new 'static 'bfloat :data 30.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xd48 + :command-list '((path-height (new 'static 'bfloat) player 3442) + (barrel-roll (new 'static 'bfloat) pickup (new 'static 'bfloat :data 2.0)) + (roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 30.0)) + ) + ) + (new 'static 'tower-event-group :event-id #xd54 :command-list '()) + (new 'static 'tower-event-group :event-id #xd60 :command-list '()) + (new 'static 'tower-event-group :event-id #xd6c :command-list '()) + (new 'static 'tower-event-group :event-id #xdac :command-list '((speech first-metalhead-pickup))) + (new 'static 'tower-event-group + :event-id #xe10 + :command-list '((play-sound pickup (new 'static 'bfloat :data 6.0))) + ) + (new 'static 'tower-event-group + :event-id #xe74 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat) player 3740) + (roll-amount (new 'static 'bfloat :data -10.0) player (new 'static 'bfloat :data 40.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xe9c + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group + :event-id #xec4 + :command-list '((look-at-track "bt-grunt-4" (new 'static 'bfloat :data 2.0)) (speech first-metalhead-player)) + ) + (new 'static 'tower-event-group + :event-id #xf14 + :command-list '((roll-amount (new 'static 'bfloat :data 20.0)) + (roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 40.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #xf3c + :command-list '((path-height (new 'static 'bfloat) player 3980) + (look-at player (new 'static 'bfloat :data 3.0) (new 'static 'bfloat :data 0.75)) + ) + ) + (new 'static 'tower-event-group :event-id #xf64 :command-list '((roll-amount (new 'static 'bfloat)))) + (new 'static 'tower-event-group + :event-id #xf8c + :command-list '((look-at player (new 'static 'bfloat :data 0.5) (new 'static 'bfloat :data 0.5))) + ) + (new 'static 'tower-event-group + :event-id #xfb4 + :command-list '((look-at pickup (new 'static 'bfloat)) (sound-play pickup (new 'static 'bfloat :data 3.0))) + ) + (new 'static 'tower-event-group + :event-id #xfdc + :command-list '((barrel-roll -45 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x1004 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 1.0)) (spawn kg-flyer-ent player "bt-fliers-6")) + ) + (new 'static 'tower-event-group + :event-id #x102c + :command-list '((path-height (new 'static 'bfloat :data 8.0) pickup 4180) (look-at player (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group + :event-id #x10cc + :command-list '((speech missiles-pickup-1) + (sound-play player (new 'static 'bfloat :data 0.75)) + (look-at pickup (new 'static 'bfloat :data -1.0) (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.75)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1130 + :command-list '((path-height (new 'static 'bfloat) pickup) + (rotate-view (new 'static 'bfloat :data 180.0) #f (new 'static 'bfloat :data 180.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x125c + :command-list '((look-at pickup (new 'static 'bfloat :data 1.0) (new 'static 'bfloat :data 0.3))) + ) + (new 'static 'tower-event-group :event-id #x12c0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x1324 + :command-list '((look-at pickup (new 'static 'bfloat :data -1.0) (new 'static 'bfloat :data 2.0)) + (look-at-track "bt-grunt-7" (new 'static 'bfloat :data 2.0)) + (clock-scalar (new 'static 'bfloat :data 0.75)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1388 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0)) + (roll-amount (new 'static 'bfloat :data 20.0) player (new 'static 'bfloat :data 180.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1450 + :command-list '((roll-amount (new 'static 'bfloat) player (new 'static 'bfloat :data 180.0))) + ) + (new 'static 'tower-event-group + :event-id #x14b4 + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0)) (spawn kg-bombbot-ent "bbot1-s-1" "bbots-e-1")) + ) + (new 'static 'tower-event-group + :event-id #x14e6 + :command-list '((look-at-track "bt-grunt-43" (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group :event-id #x1518 :command-list '()) + (new 'static 'tower-event-group + :event-id #x157c + :command-list '((play-sound player (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 20.0) player 5700) + (path-height (new 'static 'bfloat) pickup 5700) + (clock-scalar (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group :event-id #x1644 :command-list '((look-at-bombbot "bbot1-s-1"))) + (new 'static 'tower-event-group :event-id #x16a8 :command-list '()) + (new 'static 'tower-event-group + :event-id #x170c + :command-list '((speech missiles-player) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + (spawn missiles-ent player "bt-missile-launcher-1" (new 'static 'bfloat :data 3.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1838 + :command-list '((spawn kg-bombbot-ent "bbot-s-3" "bbots-e-7")) + ) + (new 'static 'tower-event-group + :event-id #x1900 + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x1964 :command-list '((look-at-bombbot "bbot-s-3"))) + (new 'static 'tower-event-group + :event-id #x1a2c + :command-list '((path-height (new 'static 'bfloat) player 6800) + (look-at-track "bt-grunt-10" (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x1a90 + :command-list '((spawn kg-bombbot-ent "bbot5-s-1" "bt-roboguard-19")) + ) + (new 'static 'tower-event-group + :event-id #x1af4 + :command-list '((sound-play player (new 'static 'bfloat :data 1.0)) + (look-at player (new 'static 'bfloat :data 1.0) (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group :event-id #x1ce8 :command-list '((speech mission-2))) + (new 'static 'tower-event-group + :event-id #x1bbc + :command-list '((path-height (new 'static 'bfloat :data 17.0) player 7300)) + ) + (new 'static 'tower-event-group + :event-id #x1e14 + :command-list '((path-height (new 'static 'bfloat) player 7900)) + ) + (new 'static 'tower-event-group :event-id #x1edc :command-list '((speech mission-3))) + (new 'static 'tower-event-group + :event-id #x2134 + :command-list '((speech missiles-pickup-2) + (rotate-view (new 'static 'bfloat :data 90.0) #t (new 'static 'bfloat :data 180.0)) + (path-height (new 'static 'bfloat :data 2.5) pickup) + (path-height (new 'static 'bfloat :data 2.5) player) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2198 + :command-list '((look-at pickup (new 'static 'bfloat :data -1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x21fc + :command-list '((spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2260 + :command-list '((spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + (spawn missiles pickup (new 'static 'bfloat :data 1.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x22c4 + :command-list '((spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x238c + :command-list '((look-at pickup (new 'static 'bfloat) (new 'static 'bfloat :data 0.4))) + ) + (new 'static 'tower-event-group :event-id #x251c :command-list '((save-progress))) + (new 'static 'tower-event-group + :event-id #x2580 + :command-list '((look-at player (new 'static 'bfloat :data 1.5))) + ) + (new 'static 'tower-event-group + :event-id #x25e4 + :command-list '((path-height (new 'static 'bfloat :data 35.0) player 9900)) + ) + (new 'static 'tower-event-group + :event-id #x2648 + :command-list '((spawn kg-flyer-ent player "bt-fliers-1") + (spawn kg-flyer-ent player "bt-fliers-1") + (spawn kg-flyer-ent player "bt-fliers-1") + (roll-amount 30 player 60) + ) + ) + (new 'static 'tower-event-group + :event-id #x26ac + :command-list '((spawn mh-flyer-ent pickup "bt-fliers-2") (spawn mh-flyer-ent pickup "bt-fliers-2")) + ) + (new 'static 'tower-event-group + :event-id #x27d8 + :command-list '((spawn mh-flyer-ent pickup "bt-fliers-2") + (spawn mh-flyer-ent pickup "bt-fliers-2") + (spawn mh-flyer-ent player "bt-fliers-2") + (spawn mh-flyer-ent player "bt-fliers-2") + (path-height (new 'static 'bfloat :data 5.0) player 10400) + (roll-amount (new 'static 'bfloat) player 30) + ) + ) + (new 'static 'tower-event-group + :event-id #x28a0 + :command-list '((path-height (new 'static 'bfloat) player 11000) (spawn kg-bombbot-ent "bbot-s-4" "bbots-e-8")) + ) + (new 'static 'tower-event-group + :event-id #x2904 + :command-list '((spawn mh-flyer-ent player "bt-fliers-2") (spawn mh-flyer-ent player "bt-fliers-2")) + ) + (new 'static 'tower-event-group + :event-id #x2968 + :command-list '((path-height (new 'static 'bfloat :data 15.0) pickup 10800)) + ) + (new 'static 'tower-event-group + :event-id #x29cc + :command-list '((play-sound pickup (new 'static 'bfloat :data 4.0)) + (speech missiles-pickup-3) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 1.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (spawn missiles pickup (new 'static 'bfloat :data 2.1)) + (look-at pickup (new 'static 'bfloat :data -1.0)) + (path-height (new 'static 'bfloat :data 5.0) player 10800) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a36 + :command-list '((spawn kg-flyer-ent player "bt-roboguard-53") (spawn kg-flyer-ent player "bt-roboguard-52")) + ) + (new 'static 'tower-event-group :event-id #x2a38 :command-list '((look-at pickup (new 'static 'bfloat)))) + (new 'static 'tower-event-group :event-id #x2a3a :command-list '()) + (new 'static 'tower-event-group + :event-id #x2a3e + :command-list '((path-height (new 'static 'bfloat :data 10.0) pickup 10816) + (path-height (new 'static 'bfloat :data -2.0) player 10818) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a40 + :command-list '((play-sound pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a48 + :command-list '((play-sound player (new 'static 'bfloat :data 2.0)) + (play-sound pickup (new 'static 'bfloat :data 10.0)) + (path-height (new 'static 'bfloat :data 40.0) player 10830) + (path-height (new 'static 'bfloat :data 35.0) pickup 10830) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 1.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (spawn missiles pickup (new 'static 'bfloat :data 2.0)) + (look-at pickup (new 'static 'bfloat :data -1.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a54 + :command-list '((barrel-roll 45 pickup (new 'static 'bfloat :data 1.0)) + (path-height (new 'static 'bfloat :data 76.0) player 10840) + (path-height (new 'static 'bfloat :data 73.0) pickup 10840) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a56 + :command-list '((look-at pickup (new 'static 'bfloat :data -0.5))) + ) + (new 'static 'tower-event-group + :event-id #x2a58 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group + :event-id #x2a5a + :command-list '((play-sound pickup (new 'static 'bfloat :data 1.0)) + (look-at-track "bt-grunt-30" (new 'static 'bfloat :data 2.0)) + ) + ) + (new 'static 'tower-event-group :event-id #x2a5c :command-list '()) + (new 'static 'tower-event-group :event-id #x2a70 :command-list '((speech first-metalhead-player))) + (new 'static 'tower-event-group + :event-id #x2a60 + :command-list '((look-at player (new 'static 'bfloat :data 1.0)) + (speech mission-5) + (spawn missiles-ent player "bt-roboguard-52" (new 'static 'bfloat :data 2.0)) + (spawn missiles-ent player "bt-roboguard-52" (new 'static 'bfloat :data 2.5)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a62 + :command-list '((path-height (new 'static 'bfloat) pickup 10856) (spawn mh-flyer-ent player "bt-roboguard-58")) + ) + (new 'static 'tower-event-group + :event-id #x2a64 + :command-list '((path-height (new 'static 'bfloat :data 3.0) player 10856) + (spawn kg-bombbot-ent "bt-roboguard-56" "bt-roboguard-57") + (spawn mh-flyer-ent player "bt-roboguard-53") + (spawn mh-flyer-ent player "bt-roboguard-58") + ) + ) + (new 'static 'tower-event-group :event-id #x2a66 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2a68 + :command-list '((spawn mh-flyer-ent player "bt-roboguard-55") (spawn mh-flyer-ent player "bt-roboguard-55")) + ) + (new 'static 'tower-event-group + :event-id #x2a6c + :command-list '((spawn mh-flyer-ent player "bt-grunt-15") + (spawn mh-flyer-ent player "bt-grunt-16") + (path-height (new 'static 'bfloat :data 7.0) pickup 10862) + (look-at player (new 'static 'bfloat :data 1.0)) + (clock-scalar (new 'static 'bfloat :data 1.75)) + ) + ) + (new 'static 'tower-event-group + :event-id #x2a6e + :command-list '((clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x2a70 :command-list '((roll-amount -10 player 30))) + (new 'static 'tower-event-group + :event-id #x2a72 + :command-list '((path-height (new 'static 'bfloat :data 3.0) pickup 10900)) + ) + (new 'static 'tower-event-group :event-id #x2a94 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2b5c + :command-list '((clock-scalar (new 'static 'bfloat :data 0.75)) + (spawn kg-bombbot-ent "bbot-e-1" "bbots-e-3") + (path-height (new 'static 'bfloat :data 10.0) player 11300) + (roll-amount 20 player 20) + (speech mission-6) + ) + ) + (new 'static 'tower-event-group + :event-id #x2c24 + :command-list '((sound-play pickup (new 'static 'bfloat :data 3.0))) + ) + (new 'static 'tower-event-group + :event-id #x2c88 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 1.0)) + (roll-amount 0 player 20) + (look-at player (new 'static 'bfloat :data 3.0)) + (speech mission-4) + ) + ) + (new 'static 'tower-event-group + :event-id #x2cec + :command-list '((barrel-roll -60 pickup (new 'static 'bfloat :data 2.0))) + ) + (new 'static 'tower-event-group :event-id #x2d50 :command-list '()) + (new 'static 'tower-event-group + :event-id #x2db4 + :command-list '((barrel-roll 60 pickup (new 'static 'bfloat :data 2.0)) + (path-height (new 'static 'bfloat :data 8.0) pickup 11800) + ) + ) + (new 'static 'tower-event-group + :event-id #x2e18 + :command-list '((path-height (new 'static 'bfloat) pickup 11900)) + ) + (new 'static 'tower-event-group + :event-id #x2f44 + :command-list '((barrel-roll 0 pickup (new 'static 'bfloat :data 2.0)) (clock-scalar (new 'static 'bfloat :data 1.0))) + ) + (new 'static 'tower-event-group :event-id #x30d4 :command-list '((look-at pickup (new 'static 'bfloat)))) + (new 'static 'tower-event-group :event-id #x3138 :command-list '()) + (new 'static 'tower-event-group + :event-id #x3200 + :command-list '((path-height (new 'static 'bfloat :data 2.0) player) (rotate-view (new 'static 'bfloat :data 30.0))) + ) + (new 'static 'tower-event-group + :event-id #x2c24 + :command-list '((path-height (new 'static 'bfloat) player 11700)) + ) + (new 'static 'tower-event-group :event-id #x32c8 :command-list '((spawn mh-flyer-ent player "bt-fliers-3"))) + (new 'static 'tower-event-group + :event-id #x3458 + :command-list '((path-height (new 'static 'bfloat :data 5.0) pickup 13600)) + ) + (new 'static 'tower-event-group :event-id #x3520 :command-list '((path-height (new 'static 'bfloat) pickup))) + (new 'static 'tower-event-group :event-id #x36b0 :command-list '()) + (new 'static 'tower-event-group + :event-id #x3778 + :command-list '((speech missiles-pickup-4) + (path-height (new 'static 'bfloat) player 14300) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + (spawn missiles pickup (new 'static 'bfloat :data 3.0)) + ) + ) + (new 'static 'tower-event-group + :event-id #x3a98 + :command-list '((roll-amount (new 'static 'bfloat :data -20.0) player 10)) + ) + (new 'static 'tower-event-group :event-id #x3c8c :command-list '()) + (new 'static 'tower-event-group :event-id #x3e80 :command-list '((unlock-view))) + (new 'static 'tower-event-group + :event-id #x4010 + :command-list '((roll-amount (new 'static 'bfloat) player 20)) + ) + (new 'static 'tower-event-group :event-id #x413c :command-list '((end))) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-shared_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-shared_REF.gc new file mode 100644 index 0000000000..76158b7f6a --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-shared_REF.gc @@ -0,0 +1,921 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type blow-tower-node-info +(deftype blow-tower-node-info (structure) + ((speed-scalar float) + (accum-dist float) + (accum-time float) + (accum-time-percentage float) + (event-id int32) + ) + ) + +;; definition for method 3 of type blow-tower-node-info +(defmethod inspect ((this blow-tower-node-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-node-info) + (format #t "~1Tspeed-scalar: ~f~%" (-> this speed-scalar)) + (format #t "~1Taccum-dist: ~f~%" (-> this accum-dist)) + (format #t "~1Taccum-time: ~f~%" (-> this accum-time)) + (format #t "~1Taccum-time-percentage: ~f~%" (-> this accum-time-percentage)) + (format #t "~1Tevent-id: ~D~%" (-> this event-id)) + (label cfg-4) + this + ) + +;; definition of type blow-tower-path +(deftype blow-tower-path (structure) + ((total-time time-frame) + (index int16) + (pts (inline-array vector)) + (node-info (inline-array blow-tower-node-info)) + (num-nodes int16) + ) + ) + +;; definition for method 3 of type blow-tower-path +(defmethod inspect ((this blow-tower-path)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-path) + (format #t "~1Ttotal-time: ~D~%" (-> this total-time)) + (format #t "~1Tindex: ~D~%" (-> this index)) + (format #t "~1Tpts: #x~X~%" (-> this pts)) + (format #t "~1Tnode-info: #x~X~%" (-> this node-info)) + (format #t "~1Tnum-nodes: ~D~%" (-> this num-nodes)) + (label cfg-4) + this + ) + +;; definition of type surround-spot +(deftype surround-spot (structure) + ((y-rot float) + (x-rot float) + (offset-dir vector :inline) + (turret-pos vector :inline) + (rider-index int16) + (owner handle) + ) + ) + +;; definition for method 3 of type surround-spot +(defmethod inspect ((this surround-spot)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'surround-spot) + (format #t "~1Ty-rot: ~f~%" (-> this y-rot)) + (format #t "~1Tx-rot: ~f~%" (-> this x-rot)) + (format #t "~1Toffset-dir: #~%" (-> this offset-dir)) + (format #t "~1Tturret-pos: #~%" (-> this turret-pos)) + (format #t "~1Trider-index: ~D~%" (-> this rider-index)) + (format #t "~1Towner: ~D~%" (-> this owner)) + (label cfg-4) + this + ) + +;; definition of type blow-tower-path-cursor +(deftype blow-tower-path-cursor (structure) + ((curve cubic-curve :inline) + (pos vector :inline) + (norm vector :inline) + (current-time time-frame) + (speed float) + (path blow-tower-path) + (current-tt float) + (interp-tt float) + (current-node-index int16) + (event-id uint32) + ) + (:methods + (blow-tower-path-cursor-method-9 (_type_ int) int) + (init-fields (_type_) none) + (blow-tower-path-cursor-method-11 (_type_ vector) none) + (blow-tower-path-cursor-method-12 (_type_ int) vector) + ) + ) + +;; definition for method 3 of type blow-tower-path-cursor +(defmethod inspect ((this blow-tower-path-cursor)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-path-cursor) + (format #t "~1Tcurve: #~%" (-> this curve)) + (format #t "~1Tpos: #~%" (-> this pos)) + (format #t "~1Tnorm: #~%" (-> this norm)) + (format #t "~1Tcurrent-time: ~D~%" (-> this current-time)) + (format #t "~1Tspeed: ~f~%" (-> this speed)) + (format #t "~1Tpath: #~%" (-> this path)) + (format #t "~1Tcurrent-tt: ~f~%" (-> this current-tt)) + (format #t "~1Tinterp-tt: ~f~%" (-> this interp-tt)) + (format #t "~1Tcurrent-node-index: ~D~%" (-> this current-node-index)) + (format #t "~1Tevent-id: ~D~%" (-> this event-id)) + (label cfg-4) + this + ) + +;; definition for function find-event-id-index +(defun find-event-id-index ((arg0 blow-tower-path-cursor) (arg1 int)) + (dotimes (v1-0 (-> arg0 path num-nodes)) + (if (= (-> arg0 path node-info v1-0 event-id) arg1) + (return v1-0) + ) + ) + -1 + ) + +;; definition for function find-path-event-id-index +(defun find-path-event-id-index ((arg0 blow-tower-path) (arg1 int)) + (dotimes (v1-0 (-> arg0 num-nodes)) + (if (= (-> arg0 node-info v1-0 event-id) arg1) + (return v1-0) + ) + ) + -1 + ) + +;; definition for method 10 of type blow-tower-path-cursor +;; WARN: Return type mismatch float vs none. +(defmethod init-fields ((this blow-tower-path-cursor)) + (set! (-> this current-tt) 0.0) + (set! (-> this interp-tt) 0.0) + (set! (-> this current-node-index) -1) + (set! (-> this speed) 0.0) + (none) + ) + +;; definition for function initialize-hermite-from-path +(defun initialize-hermite-from-path ((arg0 cubic-curve) (arg1 blow-tower-path) (arg2 int)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + (cond + ((<= arg2 0) + (vector-! s5-0 (-> arg1 pts 1) (-> arg1 pts 0)) + (vector-! s4-0 (-> arg1 pts 1) (-> arg1 pts 0)) + ) + (else + (vector-! s5-0 (-> arg1 pts arg2) (-> arg1 pts (+ arg2 -1))) + (vector-! s4-0 (-> arg1 pts (+ arg2 1)) (-> arg1 pts arg2)) + ) + ) + (let ((f30-0 (vector-vector-distance (-> arg1 pts arg2) (-> arg1 pts (+ arg2 1)))) + (f28-0 (/ (-> arg1 node-info (+ arg2 1) speed-scalar) (-> arg1 node-info arg2 speed-scalar))) + ) + (vector-normalize! s5-0 f30-0) + (vector-normalize! s4-0 (* f30-0 f28-0)) + ) + (cubic-curve-method-9 arg0 (-> arg1 pts arg2) s5-0 (-> arg1 pts (+ arg2 1)) s4-0) + ) + (none) + ) + +;; definition for method 12 of type blow-tower-path-cursor +(defmethod blow-tower-path-cursor-method-12 ((this blow-tower-path-cursor) (arg0 int)) + (set! (-> this speed) (lerp + (-> this path node-info arg0 speed-scalar) + (-> this path node-info (+ arg0 1) speed-scalar) + (-> this interp-tt) + ) + ) + (set! (-> this event-id) (the-as uint (-> this path node-info arg0 event-id))) + (when (!= (-> this current-node-index) arg0) + (set! (-> this current-node-index) arg0) + (initialize-hermite-from-path (-> this curve) (-> this path) (-> this current-node-index)) + ) + (cubic-curve-method-10 (-> this curve) (-> this pos) (-> this interp-tt)) + (cubic-curve-method-11 (-> this curve) (-> this norm) (-> this interp-tt)) + (vector-normalize! (-> this norm) 1.0) + ) + +;; definition for method 9 of type blow-tower-path-cursor +(defmethod blow-tower-path-cursor-method-9 ((this blow-tower-path-cursor) (arg0 int)) + (let* ((f1-2 (/ (the float arg0) (the float (-> this path total-time)))) + (f0-3 (fmax 0.0 (fmin f1-2 (-> this path node-info (+ (-> this path num-nodes) -1) accum-time-percentage)))) + ) + (dotimes (v1-7 (+ (-> this path num-nodes) -1)) + (when (< f0-3 (-> this path node-info (+ v1-7 1) accum-time-percentage)) + (let ((f1-6 (- (-> this path node-info (+ v1-7 1) accum-time-percentage) + (-> this path node-info v1-7 accum-time-percentage) + ) + ) + ) + 0.0 + (set! (-> this interp-tt) (/ (- f0-3 (-> this path node-info v1-7 accum-time-percentage)) f1-6)) + ) + (set! (-> this current-time) (the-as time-frame arg0)) + (set! (-> this current-tt) f0-3) + (blow-tower-path-cursor-method-12 this v1-7) + (return 0) + ) + ) + ) + (the-as int #f) + ) + +;; definition for method 11 of type blow-tower-path-cursor +;; WARN: Return type mismatch int vs none. +(defmethod blow-tower-path-cursor-method-11 ((this blow-tower-path-cursor) (arg0 vector)) + (local-vars (f1-5 number) (f2-4 float) (sv-32 number) (sv-40 int) (sv-48 vector) (sv-52 number)) + (set! sv-32 40960000.0) + (set! sv-40 -1) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! sv-52 0.0) + (dotimes (s4-0 (+ (-> this path num-nodes) -1)) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this path pts s4-0))) + (s3-1 (vector-! (new 'stack-no-clear 'vector) (-> this path pts (+ s4-0 1)) (-> this path pts s4-0))) + ) + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + (set! (-> s2-1 y) 0.0) + (set! (-> s3-1 y) 0.0) + (let ((f1-0 (vector-normalize-ret-len! s3-1 1.0)) + (f0-10 (vector-dot s2-1 s3-1)) + ) + (cond + ((< f0-10 0.0) + (set! f2-4 (sqrtf (+ (* (-> s2-1 x) (-> s2-1 x)) (* (-> s2-1 z) (-> s2-1 z))))) + (set! f1-5 0.0) + ) + ((< f1-0 f0-10) + (let ((v1-11 s2-1)) + (set! f2-4 (sqrtf (+ (* (-> v1-11 x) (-> v1-11 x)) (* (-> v1-11 z) (-> v1-11 z))))) + ) + (set! f1-5 1.0) + ) + (else + (let ((f2-9 (vector-dot s2-1 s2-1)) + (f3-2 f0-10) + ) + (set! f2-4 (sqrtf (- f2-9 (* f3-2 f3-2)))) + ) + (set! f1-5 (/ f0-10 f1-0)) + ) + ) + (when (< f2-4 (the-as float sv-32)) + (set! sv-32 f2-4) + (set! sv-40 s4-0) + (set! sv-52 f1-5) + (vector+float*! sv-48 (-> this path pts s4-0) s3-1 f0-10) + ) + ) + ) + ) + (set! (-> this interp-tt) (the-as float sv-52)) + (set! (-> this current-tt) + (lerp + (-> this path node-info sv-40 accum-time-percentage) + (-> this path node-info (+ sv-40 1) accum-time-percentage) + (-> this interp-tt) + ) + ) + (blow-tower-path-cursor-method-12 this sv-40) + (set! (-> this current-time) + (the-as time-frame (the int (* (-> this current-tt) (the float (-> this path total-time))))) + ) + (none) + ) + +;; definition of type xform +(deftype xform (structure) + ((root transformq :inline) + ) + (:methods + (reset (_type_) xform) + ) + ) + +;; definition for method 3 of type xform +(defmethod inspect ((this xform)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'xform) + (format #t "~1Troot: #~%" (-> this root)) + (label cfg-4) + this + ) + +;; definition for function process-xform-list +;; INFO: Used lq/sq +(defun process-xform-list ((arg0 xform) (arg1 xform) (arg2 (inline-array xform)) (arg3 int)) + (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (-> arg1 root)))) + (dotimes (s2-0 arg3) + (let ((a1-3 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> arg2 s2-0))))) + (matrix*! s5-0 a1-3 s5-0) + ) + ) + (matrix->quaternion (-> arg0 root quat) s5-0) + (set! (-> arg0 root trans quad) (-> s5-0 trans quad)) + (set-vector! + (-> arg0 root scale) + (vector-length (-> s5-0 rvec)) + (vector-length (-> s5-0 uvec)) + (vector-length (-> s5-0 fvec)) + 1.0 + ) + ) + arg0 + ) + +;; definition for method 9 of type xform +;; INFO: Used lq/sq +(defmethod reset ((this xform)) + (quaternion-identity! (-> this root quat)) + (set! (-> this root trans quad) (the-as uint128 0)) + (set-vector! (-> this root scale) 1.0 1.0 1.0 1.0) + this + ) + +;; definition of type blow-tower-clock +(deftype blow-tower-clock (structure) + ((elapsed-clock-time time-frame) + (debug? symbol) + (debug-lock-view? symbol) + ) + ) + +;; definition for method 3 of type blow-tower-clock +(defmethod inspect ((this blow-tower-clock)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-clock) + (format #t "~1Telapsed-clock-time: ~D~%" (-> this elapsed-clock-time)) + (format #t "~1Tdebug?: ~A~%" (-> this debug?)) + (format #t "~1Tdebug-lock-view?: ~A~%" (-> this debug-lock-view?)) + (label cfg-4) + this + ) + +;; definition of type blow-tower-global-target-info +(deftype blow-tower-global-target-info (structure) + ((target-handles handle 2) + (hellcat handle :overlay-at (-> target-handles 0)) + (pickup handle :overlay-at (-> target-handles 1)) + (mission-time time-frame) + (debug? symbol) + (difficulty-scalar float) + (last-player-attack-time time-frame) + (clock-scalar float) + ) + ) + +;; definition for method 3 of type blow-tower-global-target-info +(defmethod inspect ((this blow-tower-global-target-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-global-target-info) + (format #t "~1Ttarget-handles[2] @ #x~X~%" (-> this target-handles)) + (format #t "~1Thellcat: ~D~%" (-> this hellcat)) + (format #t "~1Tpickup: ~D~%" (-> this pickup)) + (format #t "~1Tmission-time: ~D~%" (-> this mission-time)) + (format #t "~1Tdebug?: ~A~%" (-> this debug?)) + (format #t "~1Tdifficulty-scalar: ~f~%" (-> this difficulty-scalar)) + (format #t "~1Tlast-player-attack-time: ~D~%" (-> this last-player-attack-time)) + (format #t "~1Tclock-scalar: ~f~%" (-> this clock-scalar)) + (label cfg-4) + this + ) + +;; definition for symbol *blow-tower-targets*, type blow-tower-global-target-info +(define *blow-tower-targets* (new 'static 'blow-tower-global-target-info)) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* hellcat) (the-as handle #f)) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* pickup) (the-as handle #f)) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* mission-time) 0) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* debug?) #f) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* difficulty-scalar) 1.0) + +;; failed to figure out what this is: +(set! (-> *blow-tower-targets* last-player-attack-time) 0) + +;; definition for symbol *blow-tower-speech-list*, type (inline-array talker-speech-class) +(define *blow-tower-speech-list* (new 'static 'inline-array talker-speech-class 60 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "sig141" + :channel (gui-channel rider) + :speech #x1 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "tor026" + :channel (gui-channel rider) + :speech #x2 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "tor023" + :channel (gui-channel rider) + :speech #x3 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx126" + :channel (gui-channel rider) + :speech #x4 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx127" + :channel (gui-channel rider) + :speech #x5 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx122" + :channel (gui-channel rider) + :speech #x6 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx123" + :channel (gui-channel rider) + :speech #x7 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig115" + :channel (gui-channel rider) + :speech #x8 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx128" + :channel (gui-channel rider) + :speech #x9 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx129" + :channel (gui-channel rider) + :speech #xa + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx130" + :channel (gui-channel rider) + :speech #xb + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "jinx131" + :channel (gui-channel rider) + :speech #xc + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig131" + :channel (gui-channel sig) + :speech #xd + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn205" + :channel (gui-channel voicebox) + :speech #xe + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn198" + :channel (gui-channel voicebox) + :speech #xf + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "torn194" + :channel (gui-channel rider) + :speech #x10 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig150" + :channel (gui-channel sig) + :speech #x11 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig132" + :channel (gui-channel sig) + :speech #x12 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig109" + :channel (gui-channel sig) + :speech #x13 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig110" + :channel (gui-channel sig) + :speech #x14 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig120" + :channel (gui-channel sig) + :speech #x15 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig119" + :channel (gui-channel sig) + :speech #x16 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig138" + :channel (gui-channel sig) + :speech #x17 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig113" + :channel (gui-channel sig) + :speech #x18 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig133" + :channel (gui-channel sig) + :speech #x19 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig137" + :channel (gui-channel sig) + :speech #x1a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig258" + :channel (gui-channel sig) + :speech #x1b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig183" + :channel (gui-channel sig) + :speech #x1c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig198" + :channel (gui-channel sig) + :speech #x1d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig135" + :channel (gui-channel sig) + :speech #x1e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig148" + :channel (gui-channel sig) + :speech #x1f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig136" + :channel (gui-channel sig) + :speech #x20 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig255" + :channel (gui-channel sig) + :speech #x21 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig153" + :channel (gui-channel sig) + :speech #x22 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig157" + :channel (gui-channel sig) + :speech #x23 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig192" + :channel (gui-channel sig) + :speech #x24 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig134" + :channel (gui-channel sig) + :speech #x25 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig103" + :channel (gui-channel sig) + :speech #x26 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig106" + :channel (gui-channel sig) + :speech #x27 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig105" + :channel (gui-channel sig) + :speech #x28 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig118" + :channel (gui-channel sig) + :speech #x29 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig128" + :channel (gui-channel sig) + :speech #x2a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig127" + :channel (gui-channel sig) + :speech #x2b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig101" + :channel (gui-channel sig) + :speech #x2c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig151" + :channel (gui-channel sig) + :speech #x2d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig159" + :channel (gui-channel sig) + :speech #x2e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig160" + :channel (gui-channel sig) + :speech #x2f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig161" + :channel (gui-channel sig) + :speech #x30 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig162" + :channel (gui-channel sig) + :speech #x31 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig163" + :channel (gui-channel sig) + :speech #x32 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig164" + :channel (gui-channel sig) + :speech #x33 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig165" + :channel (gui-channel sig) + :speech #x34 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig166" + :channel (gui-channel sig) + :speech #x35 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig167" + :channel (gui-channel sig) + :speech #x36 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig168" + :channel (gui-channel sig) + :speech #x37 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig169" + :channel (gui-channel sig) + :speech #x38 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig170" + :channel (gui-channel sig) + :speech #x39 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig171" + :channel (gui-channel sig) + :speech #x3a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "sig172" + :channel (gui-channel sig) + :speech #x3b + :neg #x1 + :on-close #f + :camera #f + ) + ) + ) + +;; definition of type blow-tower-speech-instance +(deftype blow-tower-speech-instance (speech-instance) + () + ) + +;; definition for method 3 of type blow-tower-speech-instance +(defmethod inspect ((this blow-tower-speech-instance)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'blow-tower-speech-instance) + (format #t "~1Tspeech: ~D~%" (-> this speech)) + (format #t "~1Tnum-play-times: ~D~%" (-> this num-play-times)) + (format #t "~1Tprobability: ~f~%" (-> this probability)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +0 + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-speech_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-speech_REF.gc new file mode 100644 index 0000000000..faa0b5e16c --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/blow-tower-speech_REF.gc @@ -0,0 +1,199 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for function symbol->blow-tower-speech +(defun symbol->blow-tower-speech ((arg0 symbol)) + (case arg0 + (('flyers) + 0 + ) + (('missiles-player) + 1 + ) + (('missiles-pickup-1) + 2 + ) + (('missiles-pickup-2) + 3 + ) + (('missiles-pickup-3) + 4 + ) + (('missiles-pickup-4) + 5 + ) + (('first-metalhead-pickup) + 6 + ) + (('first-metalhead-player) + 7 + ) + (('encouragement) + 8 + ) + (('sniper-shot) + 9 + ) + (('mission-intro) + 10 + ) + (('mission-0) + 11 + ) + (('mission-1) + 12 + ) + (('mission-2) + 13 + ) + (('mission-3) + 14 + ) + (('mission-4) + 15 + ) + (('mission-5) + 16 + ) + (('mission-6) + 17 + ) + (('grunt-land) + 18 + ) + (('hurt) + 19 + ) + (else + 0 + ) + ) + ) + +;; definition for symbol *blow-tower-speech*, type (array speech-info) +(define *blow-tower-speech* + (new 'static 'boxed-array :type speech-info + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xd :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x1 :probability 1.0)) + :flags (speech-info-flag si0) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xe :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x3 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #xf :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x10 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x11 :probability 1.0) + (new 'static 'speech-instance :speech #x12 :probability 1.0) + ) + :flags (speech-info-flag si4 si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x13 :probability 1.0) + (new 'static 'speech-instance :speech #x14 :probability 1.0) + (new 'static 'speech-instance :speech #x15 :probability 1.0) + (new 'static 'speech-instance :speech #x16 :probability 1.0) + (new 'static 'speech-instance :speech #x17 :probability 1.0) + (new 'static 'speech-instance :speech #x18 :probability 1.0) + (new 'static 'speech-instance :speech #x19 :probability 1.0) + (new 'static 'speech-instance :speech #x1a :probability 1.0) + (new 'static 'speech-instance :speech #x1b :probability 1.0) + (new 'static 'speech-instance :speech #x1c :probability 1.0) + (new 'static 'speech-instance :speech #x1d :probability 1.0) + (new 'static 'speech-instance :speech #x4 :probability 1.0) + ) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x1e :probability 1.0) + (new 'static 'speech-instance :speech #x1f :probability 1.0) + (new 'static 'speech-instance :speech #x20 :probability 1.0) + (new 'static 'speech-instance :speech #x21 :probability 1.0) + (new 'static 'speech-instance :speech #x22 :probability 1.0) + (new 'static 'speech-instance :speech #x23 :probability 1.0) + (new 'static 'speech-instance :speech #x5 :probability 1.0) + (new 'static 'speech-instance :speech #x24 :probability 1.0) + (new 'static 'speech-instance :speech #x25 :probability 1.0) + ) + :flags (speech-info-flag si4 si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x26 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x27 :probability 1.0) + (new 'static 'speech-instance :speech #x28 :probability 1.0) + ) + :flags (speech-info-flag si5) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x29 :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2a :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x6 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x7 :probability 1.0)) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2b :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance (new 'static 'speech-instance :speech #x2c :probability 1.0)) + ) + (new 'static 'speech-info + :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x8 :probability 1.0) + (new 'static 'speech-instance :speech #x2d :probability 1.0) + (new 'static 'speech-instance :speech #x9 :probability 1.0) + ) + :flags (speech-info-flag si4) + ) + (new 'static 'speech-info :speeches (new 'static 'boxed-array :type speech-instance + (new 'static 'speech-instance :speech #x2e :probability 1.0) + (new 'static 'speech-instance :speech #x2f :probability 1.0) + (new 'static 'speech-instance :speech #x30 :probability 1.0) + (new 'static 'speech-instance :speech #x31 :probability 1.0) + (new 'static 'speech-instance :speech #x32 :probability 1.0) + (new 'static 'speech-instance :speech #x33 :probability 1.0) + (new 'static 'speech-instance :speech #x34 :probability 1.0) + (new 'static 'speech-instance :speech #x35 :probability 1.0) + (new 'static 'speech-instance :speech #x36 :probability 1.0) + (new 'static 'speech-instance :speech #x37 :probability 1.0) + (new 'static 'speech-instance :speech #x38 :probability 1.0) + (new 'static 'speech-instance :speech #x39 :probability 1.0) + (new 'static 'speech-instance :speech #x3a :probability 1.0) + (new 'static 'speech-instance :speech #x3b :probability 1.0) + (new 'static 'speech-instance :speech #xa :probability 1.0) + (new 'static 'speech-instance :speech #xb :probability 1.0) + (new 'static 'speech-instance :speech #xc :probability 1.0) + ) + ) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc b/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc new file mode 100644 index 0000000000..5bab832cea --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/blow-tower/cty-blow-tower_REF.gc @@ -0,0 +1,5078 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *blow-tower-bombbat-path-cache*, type (array bombbot-path) +(define *blow-tower-bombbat-path-cache* + (new 'static 'boxed-array :type bombbot-path :length 0 :allocated-length 8) + ) + +;; failed to figure out what this is: +(dotimes (v1-1 8) + (set! (-> *blow-tower-bombbat-path-cache* v1-1) + (new 'static 'bombbot-path + :node-count #x2 + :node (new 'static 'inline-array bombbot-node 2 (new 'static 'bombbot-node) (new 'static 'bombbot-node)) + ) + ) + ) + +;; definition of type bombbot-spawn-record +(deftype bombbot-spawn-record (structure) + ((hand handle) + (ent-name string) + ) + ) + +;; definition for method 3 of type bombbot-spawn-record +(defmethod inspect ((this bombbot-spawn-record)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bombbot-spawn-record) + (format #t "~1Thand: ~D~%" (-> this hand)) + (format #t "~1Tent-name: ~A~%" (-> this ent-name)) + (label cfg-4) + this + ) + +;; definition of type task-manager-blow-tower +(deftype task-manager-blow-tower (task-manager) + ((dest-pos vector :inline) + (target-handles handle 2) + (hellcat handle :overlay-at (-> target-handles 0)) + (pickup handle :overlay-at (-> target-handles 1)) + (hellcat-turret handle) + (mission-elapsed-clock time-frame) + (debug-lock-viewport? symbol) + (debug-run-events? symbol) + (script (array tower-event-group)) + (script-index int16) + (cmd blow-tower-cmd :inline) + (event-cursor blow-tower-path-cursor :inline) + (last-missile-spawn-time time-frame) + (dest-clock-scalar float) + (clock-scalar float) + (bombbot-path-index int8) + (hud-arrows handle) + (hud-arrow-state uint32) + (left-arrow-last-time time-frame) + (right-arrow-last-time time-frame) + (show-skill-time time-frame) + (bombbot-records bombbot-spawn-record 3 :inline) + (bombbot-record-index int32) + (last-missile-ent string) + (missile-dir-vec vector :inline) + ) + (:state-methods + mission-play + mission-debug + wait-for-exit + wait-fail + wind-down-mission + ) + (:methods + (task-manager-blow-tower-method-37 (_type_ symbol) symbol) + (handle-bt-command (_type_ blow-tower-cmd) object) + (advance (_type_ time-frame) none) + ) + ) + +;; definition for method 3 of type task-manager-blow-tower +(defmethod inspect ((this task-manager-blow-tower)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type task-manager inspect))) + (t9-0 this) + ) + (format #t "~2Tdest-pos: #~%" (-> this dest-pos)) + (format #t "~2Ttarget-handles[2] @ #x~X~%" (-> this target-handles)) + (format #t "~2Thellcat: ~D~%" (-> this hellcat)) + (format #t "~2Tpickup: ~D~%" (-> this pickup)) + (format #t "~2Thellcat-turret: ~D~%" (-> this hellcat-turret)) + (format #t "~2Tmission-elapsed-clock: ~D~%" (-> this mission-elapsed-clock)) + (format #t "~2Tdebug-lock-viewport?: ~A~%" (-> this debug-lock-viewport?)) + (format #t "~2Tdebug-run-events?: ~A~%" (-> this debug-run-events?)) + (format #t "~2Tscript: ~A~%" (-> this script)) + (format #t "~2Tscript-index: ~D~%" (-> this script-index)) + (format #t "~2Tcmd: #~%" (-> this cmd)) + (format #t "~2Tevent-cursor: #~%" (-> this event-cursor)) + (format #t "~2Tlast-missile-spawn-time: ~D~%" (-> this last-missile-spawn-time)) + (format #t "~2Tdest-clock-scalar: ~f~%" (-> this dest-clock-scalar)) + (format #t "~2Tclock-scalar: ~f~%" (-> this clock-scalar)) + (format #t "~2Tbombbot-path-index: ~D~%" (-> this bombbot-path-index)) + (format #t "~2Thud-arrows: ~D~%" (-> this hud-arrows)) + (format #t "~2Thud-arrow-state: ~D~%" (-> this hud-arrow-state)) + (format #t "~2Tleft-arrow-last-time: ~D~%" (-> this left-arrow-last-time)) + (format #t "~2Tright-arrow-last-time: ~D~%" (-> this right-arrow-last-time)) + (format #t "~2Tshow-skill-time: ~D~%" (-> this show-skill-time)) + (format #t "~2Tbombbot-records[3] @ #x~X~%" (-> this bombbot-records)) + (format #t "~2Tbombbot-record-index: ~D~%" (-> this bombbot-record-index)) + (format #t "~2Tlast-missile-ent: ~A~%" (-> this last-missile-ent)) + (format #t "~2Tmissile-dir-vec: #~%" (-> this missile-dir-vec)) + (label cfg-4) + this + ) + +;; definition of type bt-gun-manager-target +(deftype bt-gun-manager-target (structure) + ((hand handle) + (transformed-pos vector4w :inline) + (size float) + (hit? symbol) + (alpha float) + (target-pers-index int32) + (num-overlap int32) + ) + ) + +;; definition for method 3 of type bt-gun-manager-target +(defmethod inspect ((this bt-gun-manager-target)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bt-gun-manager-target) + (format #t "~1Thand: ~D~%" (-> this hand)) + (format #t "~1Ttransformed-pos: #~%" (-> this transformed-pos)) + (format #t "~1Tsize: ~f~%" (-> this size)) + (format #t "~1Thit?: ~A~%" (-> this hit?)) + (format #t "~1Talpha: ~f~%" (-> this alpha)) + (format #t "~1Ttarget-pers-index: ~D~%" (-> this target-pers-index)) + (format #t "~1Tnum-overlap: ~D~%" (-> this num-overlap)) + (label cfg-4) + this + ) + +;; definition of type bt-hud-target-pers +(deftype bt-hud-target-pers (structure) + ((hand handle) + (rotate float) + (alpha float) + (size-scalar float) + (outer-alpha float) + (outer-rotate float) + (hold-start-time time-frame) + ) + :allow-misaligned + ) + +;; definition for method 3 of type bt-hud-target-pers +(defmethod inspect ((this bt-hud-target-pers)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bt-hud-target-pers) + (format #t "~1Thand: ~D~%" (-> this hand)) + (format #t "~1Trotate: ~f~%" (-> this rotate)) + (format #t "~1Talpha: ~f~%" (-> this alpha)) + (format #t "~1Tsize-scalar: ~f~%" (-> this size-scalar)) + (format #t "~1Touter-alpha: ~f~%" (-> this outer-alpha)) + (format #t "~1Touter-rotate: ~f~%" (-> this outer-rotate)) + (format #t "~1Thold-start-time: ~D~%" (-> this hold-start-time)) + (label cfg-4) + this + ) + +;; definition of type bt-gun-manager +(deftype bt-gun-manager (process) + ((root collide-shape) + (parent-vehicle handle) + (params target-turret-params) + (roty degrees) + (rotyv degrees) + (rotyvv degrees) + (roty-min degrees) + (roty-max degrees) + (rotx degrees) + (rotxv degrees) + (rotxvv degrees) + (rotx-min degrees) + (rotx-max degrees) + (dest-roty degrees) + (dest-rotx degrees) + (aim-quat quaternion :inline) + (parent-quat quaternion :inline) + (last-parent-xform matrix :inline) + (hit-pos vector :inline) + (aim-dir vector :inline) + (found-target? symbol) + (target-hand handle) + (target-start-find-time time-frame) + (hud-aim hud-sprite :inline) + (hud-target hud-sprite :inline) + (hud-target-inner hud-sprite :inline) + (rot-y-shift float) + (dest-rot-y-shift float) + (enable-controls? symbol) + (lock-control-time time-frame) + (fire-index uint32) + (last-fire-time time-frame) + (can-exit? symbol) + (is-snapping? symbol) + (onscreen-targets bt-gun-manager-target 32 :inline) + (num-onscreen-targets int32) + (hud-pers bt-hud-target-pers 32 :inline) + (rot-y-seek-rate float) + (cam-quat quaternion :inline) + (dest-roty-max float) + (dest-roty-min float) + (use-roty-min float) + (use-roty-max float) + (x-boost-scalar float) + (y-boost-scalar float) + (servo-sound sound-id) + (servo-sound-state uint64) + (servo-state-time time-frame) + (aim-pos vector :inline) + (look-cursor blow-tower-path-cursor :inline :offset 4288) + (look-time-offset time-frame) + (look-time-scalar float) + (look-mode uint8) + (look-ent entity-actor) + (look-proc handle) + (last-beep-time time-frame) + ) + (:state-methods + idle + setup + active + ) + (:methods + (bt-gun-manager-method-17 (_type_) none) + (bt-gun-manager-method-18 (_type_ float) none) + (bt-gun-manager-method-19 (_type_) none) + (find-target (_type_) object) + (fire-shot (_type_) none) + (bt-gun-handler (_type_ process int symbol event-message-block) object) + (bt-gun-manager-method-23 (_type_) symbol) + (bt-gun-manager-method-24 (_type_ quaternion) float) + ) + ) + +;; definition for method 3 of type bt-gun-manager +(defmethod inspect ((this bt-gun-manager)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process inspect))) + (t9-0 this) + ) + (format #t "~2Troot: ~A~%" (-> this root)) + (format #t "~2Tparent-vehicle: ~D~%" (-> this parent-vehicle)) + (format #t "~2Tparams: #~%" (-> this params)) + (format #t "~2Troty: (deg ~r)~%" (-> this roty)) + (format #t "~2Trotyv: (deg ~r)~%" (-> this rotyv)) + (format #t "~2Trotyvv: (deg ~r)~%" (-> this rotyvv)) + (format #t "~2Troty-min: (deg ~r)~%" (-> this roty-min)) + (format #t "~2Troty-max: (deg ~r)~%" (-> this roty-max)) + (format #t "~2Trotx: (deg ~r)~%" (-> this rotx)) + (format #t "~2Trotxv: (deg ~r)~%" (-> this rotxv)) + (format #t "~2Trotxvv: (deg ~r)~%" (-> this rotxvv)) + (format #t "~2Trotx-min: (deg ~r)~%" (-> this rotx-min)) + (format #t "~2Trotx-max: (deg ~r)~%" (-> this rotx-max)) + (format #t "~2Tdest-roty: (deg ~r)~%" (-> this dest-roty)) + (format #t "~2Tdest-rotx: (deg ~r)~%" (-> this dest-rotx)) + (format #t "~2Taim-quat: #~%" (-> this aim-quat)) + (format #t "~2Tparent-quat: #~%" (-> this parent-quat)) + (format #t "~2Tlast-parent-xform: #~%" (-> this last-parent-xform)) + (format #t "~2Thit-pos: #~%" (-> this hit-pos)) + (format #t "~2Taim-dir: #~%" (-> this aim-dir)) + (format #t "~2Tfound-target?: ~A~%" (-> this found-target?)) + (format #t "~2Ttarget-hand: ~D~%" (-> this target-hand)) + (format #t "~2Ttarget-start-find-time: ~D~%" (-> this target-start-find-time)) + (format #t "~2Thud-aim: #~%" (-> this hud-aim)) + (format #t "~2Thud-target: #~%" (-> this hud-target)) + (format #t "~2Thud-target-inner: #~%" (-> this hud-target-inner)) + (format #t "~2Trot-y-shift: ~f~%" (-> this rot-y-shift)) + (format #t "~2Tdest-rot-y-shift: ~f~%" (-> this dest-rot-y-shift)) + (format #t "~2Tenable-controls?: ~A~%" (-> this enable-controls?)) + (format #t "~2Tlock-control-time: ~D~%" (-> this lock-control-time)) + (format #t "~2Tfire-index: ~D~%" (-> this fire-index)) + (format #t "~2Tlast-fire-time: ~D~%" (-> this last-fire-time)) + (format #t "~2Tcan-exit?: ~A~%" (-> this can-exit?)) + (format #t "~2Tis-snapping?: ~A~%" (-> this is-snapping?)) + (format #t "~2Tonscreen-targets[32] @ #x~X~%" (-> this onscreen-targets)) + (format #t "~2Tnum-onscreen-targets: ~D~%" (-> this num-onscreen-targets)) + (format #t "~2Thud-pers[32] @ #x~X~%" (-> this hud-pers)) + (format #t "~2Trot-y-seek-rate: ~f~%" (-> this rot-y-seek-rate)) + (format #t "~2Tcam-quat: #~%" (-> this cam-quat)) + (format #t "~2Tdest-roty-max: ~f~%" (-> this dest-roty-max)) + (format #t "~2Tdest-roty-min: ~f~%" (-> this dest-roty-min)) + (format #t "~2Tuse-roty-min: ~f~%" (-> this use-roty-min)) + (format #t "~2Tuse-roty-max: ~f~%" (-> this use-roty-max)) + (format #t "~2Tx-boost-scalar: ~f~%" (-> this x-boost-scalar)) + (format #t "~2Ty-boost-scalar: ~f~%" (-> this y-boost-scalar)) + (format #t "~2Tservo-sound: ~D~%" (-> this servo-sound)) + (format #t "~2Tservo-sound-state: ~D~%" (-> this servo-sound-state)) + (format #t "~2Tservo-state-time: ~D~%" (-> this servo-state-time)) + (format #t "~2Taim-pos: #~%" (-> this aim-pos)) + (format #t "~2Taim-dir: #~%" (-> this aim-dir)) + (format #t "~2Tlook-cursor: #~%" (-> this look-cursor)) + (format #t "~2Tlook-time-offset: ~D~%" (-> this look-time-offset)) + (format #t "~2Tlook-time-scalar: ~f~%" (-> this look-time-scalar)) + (format #t "~2Tlook-mode: ~D~%" (-> this look-mode)) + (format #t "~2Tlook-ent: ~A~%" (-> this look-ent)) + (format #t "~2Tlook-proc: ~D~%" (-> this look-proc)) + (format #t "~2Tlast-beep-time: ~D~%" (-> this last-beep-time)) + (label cfg-4) + this + ) + +;; definition for method 7 of type bt-gun-manager +(defmethod relocate ((this bt-gun-manager) (offset int)) + (if (nonzero? (-> this root)) + (&+! (-> this root) offset) + ) + (call-parent-method this offset) + ) + +;; definition of type bt-obj-init-params +(deftype bt-obj-init-params (structure) + ((pos vector :inline) + (quat quaternion :inline) + (path blow-tower-path) + (task-man handle) + ) + ) + +;; definition for method 3 of type bt-obj-init-params +(defmethod inspect ((this bt-obj-init-params)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bt-obj-init-params) + (format #t "~1Tpos: #~%" (-> this pos)) + (format #t "~1Tquat: #~%" (-> this quat)) + (format #t "~1Tpath: #~%" (-> this path)) + (format #t "~1Ttask-man: ~D~%" (-> this task-man)) + (label cfg-4) + this + ) + +;; definition of type cast-rider-spot +(deftype cast-rider-spot (structure) + ((rider handle) + (offset-pos vector :inline) + ) + ) + +;; definition for method 3 of type cast-rider-spot +(defmethod inspect ((this cast-rider-spot)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'cast-rider-spot) + (format #t "~1Trider: ~D~%" (-> this rider)) + (format #t "~1Toffset-pos: #~%" (-> this offset-pos)) + (label cfg-4) + this + ) + +;; definition of type cast-rider-array +(deftype cast-rider-array (inline-array-class) + ((data cast-rider-spot :inline :dynamic) + ) + ) + +;; definition for method 3 of type cast-rider-array +(defmethod inspect ((this cast-rider-array)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this (-> this type)) + (format #t "~1Tlength: ~D~%" (-> this length)) + (format #t "~1Tallocated-length: ~D~%" (-> this allocated-length)) + (format #t "~1Tdata[0] @ #x~X~%" (-> this data)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(set! (-> cast-rider-array heap-base) (the-as uint 32)) + +;; definition of type bt-bouncer +(deftype bt-bouncer (structure) + ((mag-scalar float) + (duration time-frame) + (num-bounces float) + ) + ) + +;; definition for method 3 of type bt-bouncer +(defmethod inspect ((this bt-bouncer)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bt-bouncer) + (format #t "~1Tmag-scalar: ~f~%" (-> this mag-scalar)) + (format #t "~1Tduration: ~D~%" (-> this duration)) + (format #t "~1Tnum-bounces: ~f~%" (-> this num-bounces)) + (label cfg-4) + this + ) + +;; definition of type bt-vehicle-damage-info +(deftype bt-vehicle-damage-info (structure) + ((segd uint64) + (seg0 uint64) + (seg1 uint64) + (hp-threshold0 float) + (hp-threshold1 float) + ) + ) + +;; definition for method 3 of type bt-vehicle-damage-info +(defmethod inspect ((this bt-vehicle-damage-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'bt-vehicle-damage-info) + (format #t "~1Tsegd: ~D~%" (-> this segd)) + (format #t "~1Tseg0: ~D~%" (-> this seg0)) + (format #t "~1Tseg1: ~D~%" (-> this seg1)) + (format #t "~1Thp-threshold0: ~f~%" (-> this hp-threshold0)) + (format #t "~1Thp-threshold1: ~f~%" (-> this hp-threshold1)) + (label cfg-4) + this + ) + +;; definition of type bt-vehicle +(deftype bt-vehicle (process-focusable) + ((path-cursor blow-tower-path-cursor :inline) + (task-man handle) + (max-hit-points float) + (hit-points float) + (last-attack-id uint32) + (path-height-offset float) + (start-path-height-offset float) + (dest-path-height-offset float) + (path-height-start uint64) + (path-height-end uint64) + (path-pos vector :inline) + (rider-spots cast-rider-array) + (hud-health handle) + (path-height-vel float) + (inited? symbol) + (pre-bounce-pos vector :inline) + (bouncers bt-bouncer 3 :inline) + (bounce-start-time time-frame) + (barrel-roll-amount float) + (barrel-roll-quat quaternion :inline) + (barrel-roll-rate-scalar float) + (last-speed float) + (last-vel vector :inline) + (damage-info (array bt-vehicle-damage-info)) + (damage-state float 4) + (mission-fail? symbol) + (whoosh-sound sound-id) + (boost-thruster? symbol) + (sound-play-end time-frame) + ) + (:state-methods + die + ) + (:methods + (bt-vehicle-event-handler (_type_ process int symbol event-message-block) object) + (init-collision! (_type_) none) + (bt-vehicle-method-31 (_type_) none) + (on-attacked (_type_ float attack-info process-focusable) none) + (bt-vehicle-method-33 (_type_ handle) int) + (bt-vehicle-method-34 (_type_ handle) symbol) + (bt-vehicle-method-35 (_type_ int vector quaternion) none) + (bt-vehicle-method-36 (_type_ int vector quaternion) object) + (bt-vehicle-method-37 (_type_) symbol) + (init-params (_type_) none) + (init-hud (_type_) none) + (bt-vehicle-method-40 (_type_ int) float) + (bt-vehicle-method-41 (_type_ vector vector) symbol) + (bounce (_type_ vector) symbol) + (draw-thruster (_type_) object) + ) + ) + +;; definition for method 3 of type bt-vehicle +(defmethod inspect ((this bt-vehicle)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tpath-cursor: #~%" (-> this path-cursor)) + (format #t "~2Ttask-man: ~D~%" (-> this task-man)) + (format #t "~2Tmax-hit-points: ~f~%" (-> this max-hit-points)) + (format #t "~2Thit-points: ~f~%" (-> this hit-points)) + (format #t "~2Tlast-attack-id: ~D~%" (-> this last-attack-id)) + (format #t "~2Tpath-height-offset: ~f~%" (-> this path-height-offset)) + (format #t "~2Tstart-path-height-offset: ~f~%" (-> this start-path-height-offset)) + (format #t "~2Tdest-path-height-offset: ~f~%" (-> this dest-path-height-offset)) + (format #t "~2Tpath-height-start: ~D~%" (-> this path-height-start)) + (format #t "~2Tpath-height-end: ~D~%" (-> this path-height-end)) + (format #t "~2Tpath-pos: #~%" (-> this path-pos)) + (format #t "~2Trider-spots: ~A~%" (-> this rider-spots)) + (format #t "~2Thud-health: ~D~%" (-> this hud-health)) + (format #t "~2Tpath-height-vel: ~f~%" (-> this path-height-vel)) + (format #t "~2Tinited?: ~A~%" (-> this inited?)) + (format #t "~2Tpre-bounce-pos: #~%" (-> this pre-bounce-pos)) + (format #t "~2Tbouncers[3] @ #x~X~%" (-> this bouncers)) + (format #t "~2Tbounce-start-time: ~D~%" (-> this bounce-start-time)) + (format #t "~2Tbarrel-roll-amount: ~f~%" (-> this barrel-roll-amount)) + (format #t "~2Tbarrel-roll-quat: #~%" (-> this barrel-roll-quat)) + (format #t "~2Tbarrel-roll-rate-scalar: ~f~%" (-> this barrel-roll-rate-scalar)) + (format #t "~2Tlast-speed: ~f~%" (-> this last-speed)) + (format #t "~2Tlast-vel: #~%" (-> this last-vel)) + (format #t "~2Tdamage-info: ~A~%" (-> this damage-info)) + (format #t "~2Tdamage-state[4] @ #x~X~%" (-> this damage-state)) + (format #t "~2Tmission-fail?: ~A~%" (-> this mission-fail?)) + (format #t "~2Twhoosh-sound: ~D~%" (-> this whoosh-sound)) + (format #t "~2Tboost-thruster?: ~A~%" (-> this boost-thruster?)) + (format #t "~2Tsound-play-end: ~D~%" (-> this sound-play-end)) + (label cfg-4) + this + ) + +;; definition for method 42 of type bt-vehicle +(defmethod bounce ((this bt-vehicle) (arg0 vector)) + (set-time! (-> this bounce-start-time)) + (dotimes (s4-0 3) + (let ((s3-0 (-> this bouncers s4-0))) + (set! (-> s3-0 duration) + (the-as time-frame (+ (mod (the-as int (rand-uint31-gen *random-generator*)) 61) 120)) + ) + (set! (-> s3-0 mag-scalar) (-> arg0 data s4-0)) + (let* ((f30-0 1.0) + (f28-0 0.5) + (v1-12 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-13 (the-as number (logior #x3f800000 v1-12))) + ) + (set! (-> s3-0 num-bounces) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-13))))) + ) + ) + ) + #f + ) + +;; definition for method 41 of type bt-vehicle +;; INFO: Used lq/sq +(defmethod bt-vehicle-method-41 ((this bt-vehicle) (arg0 vector) (arg1 vector)) + (set! (-> arg0 quad) (the-as uint128 0)) + (set! (-> arg1 quad) (the-as uint128 0)) + (dotimes (s3-0 3) + (let ((v1-4 (-> this bouncers s3-0))) + (when (not (time-elapsed? (-> this bounce-start-time) (-> v1-4 duration))) + (let* ((f0-2 (/ (the float (- (current-time) (-> this bounce-start-time))) (the float (-> v1-4 duration)))) + (f30-0 (* 65536.0 f0-2 (-> v1-4 num-bounces))) + (f28-0 (* (-> v1-4 mag-scalar) (- 1.0 f0-2))) + ) + (set! (-> arg0 data s3-0) (* f28-0 (sin f30-0))) + (set! (-> arg1 data s3-0) (* f28-0 (cos f30-0))) + ) + ) + ) + ) + #f + ) + +;; definition for method 43 of type bt-vehicle +;; WARN: Return type mismatch int vs object. +(defmethod draw-thruster ((this bt-vehicle)) + (when (-> this boost-thruster?) + (if (and (> (-> this sound-play-end) 0) (< (-> this sound-play-end) (-> *blow-tower-targets* mission-time))) + (set! (-> this boost-thruster?) #f) + ) + ) + (let ((a1-3 0) + (a2-0 0) + ) + (dotimes (v1-7 4) + (cond + ((>= (-> this damage-state v1-7) (-> this damage-info v1-7 hp-threshold1)) + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 seg1))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg0)) (-> this damage-info v1-7 segd))) + ) + ((>= (-> this damage-state v1-7) (-> this damage-info v1-7 hp-threshold0)) + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 seg0))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg1)) (-> this damage-info v1-7 segd))) + ) + (else + (set! a1-3 (logior a1-3 (-> this damage-info v1-7 segd))) + (set! a2-0 (logior (logior a2-0 (-> this damage-info v1-7 seg0)) (-> this damage-info v1-7 seg1))) + ) + ) + ) + (let ((a2-4 (logclear a2-0 a1-3))) + (setup-masks (-> this draw) a1-3 a2-4) + ) + ) + 0 + ) + +;; definition for method 38 of type bt-vehicle +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod init-params ((this bt-vehicle)) + (set! (-> this path-pos quad) (-> this root trans quad)) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this root penetrated-by) (penetrate)) + (set! (-> this mission-fail?) #f) + 0 + (none) + ) + +;; definition for method 7 of type bt-vehicle +(defmethod relocate ((this bt-vehicle) (offset int)) + (if (nonzero? (-> this rider-spots)) + (&+! (-> this rider-spots) offset) + ) + (call-parent-method this offset) + ) + +;; definition for method 37 of type bt-vehicle +(defmethod bt-vehicle-method-37 ((this bt-vehicle)) + (dotimes (s5-0 (-> this rider-spots length)) + (let* ((s3-0 (handle->process (-> this rider-spots data s5-0 rider))) + (s4-0 (if (type? s3-0 process-focusable) + (the-as process-focusable s3-0) + ) + ) + ) + (when s4-0 + (let ((a2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat))) + (s3-1 (-> s4-0 root trans)) + ) + (vector-matrix*! + s3-1 + (the-as vector (+ (the-as uint (-> this rider-spots data 0 offset-pos)) (* s5-0 32))) + a2-0 + ) + (vector+! s3-1 s3-1 (-> this root trans)) + ) + (quaternion-copy! (-> s4-0 root quat) (-> this root quat)) + ) + ) + ) + #f + ) + +;; definition for method 39 of type bt-vehicle +;; WARN: Return type mismatch int vs none. +(defmethod init-hud ((this bt-vehicle)) + 0 + (none) + ) + +;; definition for method 33 of type bt-vehicle +(defmethod bt-vehicle-method-33 ((this bt-vehicle) (arg0 handle)) + -1 + ) + +;; definition for method 35 of type bt-vehicle +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod bt-vehicle-method-35 ((this bt-vehicle) (arg0 int) (arg1 vector) (arg2 quaternion)) + (set! (-> arg1 quad) (-> this root trans quad)) + (quaternion-copy! arg2 (-> this root quat)) + (bt-vehicle-method-36 this arg0 arg1 arg2) + 0 + (none) + ) + +;; definition for method 36 of type bt-vehicle +;; WARN: Return type mismatch int vs object. +(defmethod bt-vehicle-method-36 ((this bt-vehicle) (arg0 int) (arg1 vector) (arg2 quaternion)) + 0 + ) + +;; definition for function bt-vehicle-handler +(defbehavior bt-vehicle-handler bt-vehicle ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-vehicle-event-handler self arg0 arg1 arg2 arg3) + ) + +;; definition for method 30 of type bt-vehicle +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this bt-vehicle)) + 0 + (none) + ) + +;; definition for method 31 of type bt-vehicle +;; WARN: Return type mismatch int vs none. +(defmethod bt-vehicle-method-31 ((this bt-vehicle)) + (bt-vehicle-method-37 this) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate die (bt-vehicle) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + (logior! (-> self draw status) (draw-control-status no-draw)) + (let ((v1-4 (-> self root root-prim))) + (set! (-> v1-4 prim-core collide-as) (collide-spec)) + (set! (-> v1-4 prim-core collide-with) (collide-spec)) + ) + 0 + (sound-play "snd-ship-explod") + (cond + ((logtest? (-> *part-group-id-table* 296 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 296)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 296)) + ) + ) + (send-event (handle->process (-> self task-man)) 'vehicle-explode) + (dotimes (gp-3 (-> self rider-spots length)) + (let* ((s5-1 (handle->process (-> self rider-spots data gp-3 rider))) + (a0-26 (if (type? s5-1 process-focusable) + s5-1 + ) + ) + ) + (if a0-26 + (send-event a0-26 'die) + ) + ) + ) + ) + :code sleep-code + ) + +;; definition for method 32 of type bt-vehicle +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod on-attacked ((this bt-vehicle) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (local-vars + (sv-64 vector) + (sv-68 vector) + (sv-72 vector) + (sv-76 float) + (sv-80 (pointer float)) + (sv-88 int) + (sv-96 vector) + (sv-100 float) + ) + (set! sv-64 (new 'stack-no-clear 'vector)) + (set! sv-68 (-> this root trans)) + (set! sv-72 (new 'stack-no-clear 'vector)) + (set! sv-76 (the-as float 0.0)) + (set! sv-80 (new 'static 'array float 4 0.0 0.0 0.0 0.0)) + (set! sv-88 0) + (set! sv-96 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-100 (the-as float 0.0)) + (let ((s2-0 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 arg1 s2-0 arg2 this) + (set! (-> sv-64 quad) (-> s2-0 intersection quad)) + ) + (let ((a0-6 (if (type? arg2 process-focusable) + arg2 + ) + ) + ) + (if a0-6 + (set! (-> sv-64 quad) (-> (get-trans a0-6 3) quad)) + ) + ) + (vector-! sv-72 sv-64 sv-68) + (set! (-> sv-72 y) 0.0) + (let ((a0-8 sv-96)) + (set! (-> a0-8 quad) (-> sv-96 quad)) + (set! (-> a0-8 y) 0.0) + (vector-normalize! a0-8 1.0) + ) + (set! sv-100 (* 0.6 (-> this root root-prim local-sphere w))) + (vector-float*! sv-96 sv-96 sv-100) + (let ((s4-3 (vector-rotate-around-y! (new 'stack-no-clear 'vector) sv-96 8192.0)) + (f30-0 0.0) + ) + (dotimes (s3-1 4) + (set! (-> sv-80 s3-1) (/ (vector-vector-distance s4-3 sv-72) sv-100)) + (set! (-> sv-80 s3-1) (fmax 0.0 (fmin 1.0 (-> sv-80 s3-1)))) + (set! (-> sv-80 s3-1) (- 1.0 (-> sv-80 s3-1))) + (set! (-> sv-80 s3-1) (* (-> sv-80 s3-1) (-> sv-80 s3-1))) + (+! f30-0 (-> sv-80 s3-1)) + (vector-rotate-around-y! s4-3 s4-3 -16384.0) + ) + (when (< 0.1 f30-0) + (dotimes (v1-46 4) + (set! (-> sv-80 v1-46) (/ (-> sv-80 v1-46) f30-0)) + ) + (dotimes (v1-49 4) + (+! (-> this damage-state v1-49) (* (-> sv-80 v1-49) arg0)) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(when (or (zero? *bt-height-adjust*) (!= loading-level global)) + (set! *bt-height-adjust* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-height-adjust* 4 'loading-level (the-as int #t)) + ) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 0 first) 0.0) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 0 second) 0.0) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 1 first) 0.7) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 1 second) 1.0) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 2 first) 0.8) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 2 second) 1.07) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 3 first) 1.0) + +;; failed to figure out what this is: +(set! (-> *bt-height-adjust* pts data 3 second) 1.0) + +;; definition for method 40 of type bt-vehicle +(defmethod bt-vehicle-method-40 ((this bt-vehicle) (arg0 int)) + (with-pp + (let* ((f1-0 (lerp-scale + 0.0 + 1.0 + (the float arg0) + (the float (-> this path-height-start)) + (the float (-> this path-height-end)) + ) + ) + (f0-7 (fmax 0.0 (fmin 1.0 f1-0))) + ) + (cond + ((< (-> this start-path-height-offset) (-> this dest-path-height-offset)) + ) + (else + (set! f0-7 (* f0-7 f0-7)) + ) + ) + (let* ((f0-8 (curve2d-method-9 *bt-height-adjust* f0-7 3)) + (f0-9 (lerp (-> this start-path-height-offset) (-> this dest-path-height-offset) f0-8)) + ) + (set! (-> this path-height-vel) (* (- f0-9 (-> this path-height-offset)) (-> pp clock frames-per-second))) + (set! (-> this path-height-offset) f0-9) + f0-9 + ) + ) + ) + ) + +;; definition for method 29 of type bt-vehicle +(defmethod bt-vehicle-event-handler ((this bt-vehicle) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('boost-thruster) + (set! (-> this boost-thruster?) #t) + (let ((f0-0 (the-as float (-> arg3 param 0)))) + (cond + ((< 0.0 f0-0) + (set! v0-0 (+ (-> *blow-tower-targets* mission-time) (the int (* 300.0 f0-0)))) + (set! (-> this sound-play-end) (the-as time-frame v0-0)) + v0-0 + ) + (else + (set! (-> this sound-play-end) 0) + 0 + ) + ) + ) + ) + (('stop-sound) + (set! (-> this boost-thruster?) #f) + (sound-stop (-> this whoosh-sound)) + ) + (('bt-roboguard-attack?) + #t + ) + (('mission-fail) + (set! v0-0 #t) + (set! (-> this mission-fail?) (the-as symbol v0-0)) + v0-0 + ) + (('exit) + (go empty-state) + ) + (('notify-danger) + (send-event (handle->process (-> this task-man)) 'notify-danger (-> arg3 param 0)) + ) + (('barrel-roll) + (set! (-> this barrel-roll-amount) (* 182.04445 (the-as float (-> arg3 param 0)))) + (set! (-> this barrel-roll-rate-scalar) (the-as float (-> arg3 param 1))) + ) + (('get-path) + (-> this path-cursor path) + ) + (('bounce) + (bounce this (the-as vector (-> arg3 param 0))) + ) + (('rider-predict-transform) + (bt-vehicle-method-36 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (('predict-height) + (-> this dest-path-height-offset) + ) + (('predict-position) + (let ((a0-23 (the-as blow-tower-path-cursor (-> arg3 param 0)))) + (set! (-> a0-23 path) (-> this path-cursor path)) + (blow-tower-path-cursor-method-11 a0-23 (the-as vector (-> arg3 param 1))) + ) + #t + ) + (('assign-rider) + (bt-vehicle-method-33 this (the-as handle (-> arg3 param 0))) + ) + (('kill-rider) + (bt-vehicle-method-34 this (the-as handle (-> arg3 param 0))) + ) + (('get-rider-transform) + (bt-vehicle-method-35 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + #t + ) + (('set-path-height) + (set! (-> this dest-path-height-offset) (the-as float (-> arg3 param 0))) + (set! (-> this start-path-height-offset) (-> this path-height-offset)) + (set! (-> this path-height-start) (the-as uint (-> *blow-tower-targets* mission-time))) + (set! v0-0 (-> arg3 param 1)) + (set! (-> this path-height-end) (the-as uint v0-0)) + v0-0 + ) + (('attack) + (let ((s4-0 (the-as object (-> arg3 param 1)))) + (when (!= (-> (the-as attack-info s4-0) id) (-> this last-attack-id)) + (set! (-> this last-attack-id) (-> (the-as attack-info s4-0) id)) + (let ((f30-0 (if (logtest? (attack-mask damage) (-> (the-as attack-info s4-0) mask)) + (-> (the-as attack-info s4-0) damage) + (penetrate-using->damage (-> (the-as attack-info s4-0) penetrate-using)) + ) + ) + ) + (if (not (-> *blow-tower-targets* debug?)) + (set! (-> this hit-points) (- (-> this hit-points) (* f30-0 (-> *blow-tower-targets* difficulty-scalar)))) + ) + (when (and (type? arg0 projectile) (= (-> this type) bt-hellcat)) + (if (and (zero? (mod (the-as int (rand-uint31-gen *random-generator*)) 7)) + (or (not (logtest? (-> *blow-tower-speech* 19 flags) (speech-info-flag si6))) + (and (> (-> *blow-tower-speech* 19 play-time) 0) + (time-elapsed? (-> *blow-tower-speech* 19 play-time) (seconds 4)) + ) + ) + ) + (speech-play *blow-tower-speech* 19 *blow-tower-speech-list* (target-pos 0)) + ) + (set! f30-0 (* 2.0 f30-0)) + ) + (if (>= 0.0 (-> this hit-points)) + (go (method-of-object this die)) + (on-attacked this f30-0 (the-as attack-info s4-0) (the-as process-focusable arg0)) + ) + ) + ) + ) + ) + (else + #f + ) + ) + ) + +;; definition for symbol *bt-pickup-damage-info*, type (array bt-vehicle-damage-info) +(define *bt-pickup-damage-info* + (new 'static 'boxed-array :type bt-vehicle-damage-info + (new 'static 'bt-vehicle-damage-info :segd #x20 :seg0 #x2 :seg1 #x2 :hp-threshold0 10.0 :hp-threshold1 10.0) + (new 'static 'bt-vehicle-damage-info :segd #x80 :seg0 #x8 :seg1 #x8 :hp-threshold0 10.0 :hp-threshold1 10.0) + (new 'static 'bt-vehicle-damage-info + :segd #x100 + :seg0 #x10 + :seg1 #x10 + :hp-threshold0 10.0 + :hp-threshold1 10.0 + ) + (new 'static 'bt-vehicle-damage-info :segd #x40 :seg0 #x4 :seg1 #x4 :hp-threshold0 10.0 :hp-threshold1 10.0) + ) + ) + +;; definition of type bt-pickup +(deftype bt-pickup (bt-vehicle) + ((spots surround-spot 4 :inline) + (riders handle 2) + (quat-before-roll quaternion :inline) + (start-hit-time time-frame) + (roboguard-attackers handle 2) + (desired-thruster-length float) + (pickup-barrels handle 2) + ) + (:state-methods + wait-for-player + path-follow + ) + (:methods + (retrieve-spot (_type_ int vector quaternion) none) + (assign-spot (_type_ handle) none) + (bt-pickup-method-48 (_type_) none) + (update-barrel-pos (_type_ vector vector quaternion) quaternion) + (bt-pickup-method-50 (_type_ int vector) vector) + ) + ) + +;; definition for method 3 of type bt-pickup +(defmethod inspect ((this bt-pickup)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type bt-vehicle inspect))) + (t9-0 this) + ) + (format #t "~2Tspots[4] @ #x~X~%" (-> this spots)) + (format #t "~2Triders[2] @ #x~X~%" (-> this riders)) + (format #t "~2Tquat-before-roll: #~%" (-> this quat-before-roll)) + (format #t "~2Tstart-hit-time: ~D~%" (-> this start-hit-time)) + (format #t "~2Troboguard-attackers[2] @ #x~X~%" (-> this roboguard-attackers)) + (format #t "~2Tdesired-thruster-length: ~f~%" (-> this desired-thruster-length)) + (format #t "~2Tpickup-barrels[2] @ #x~X~%" (-> this pickup-barrels)) + (label cfg-4) + this + ) + +;; definition for method 49 of type bt-pickup +;; INFO: Used lq/sq +(defmethod update-barrel-pos ((this bt-pickup) (arg0 vector) (arg1 vector) (arg2 quaternion)) + (let ((v1-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (set! (-> arg0 quad) (-> this root trans quad)) + (vector+float*! arg0 arg0 (-> v1-1 uvec) 819.2) + (vector+float*! arg0 arg0 (-> v1-1 rvec) 4096.0) + (cond + ((zero? arg2) + (vector+float*! arg0 arg0 (-> v1-1 fvec) -16384.0) + ) + ((= arg2 1) + (vector+float*! arg0 arg0 (-> v1-1 fvec) -2048.0) + ) + ) + ) + (quaternion-copy! (the-as quaternion arg1) (-> this root quat)) + ) + +;; definition for method 29 of type bt-pickup +;; INFO: Used lq/sq +(defmethod bt-vehicle-event-handler ((this bt-pickup) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('update-barrel-pos) + (update-barrel-pos + this + (the-as vector (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (('bt-roboguard-release) + (dotimes (v1-2 2) + (when (= (handle->process (-> this roboguard-attackers v1-2)) arg0) + (set! (-> this roboguard-attackers v1-2) (the-as handle #f)) + (return 0) + ) + ) + #f + ) + (('bt-roboguard-attack?) + (dotimes (v1-6 2) + (when (not (handle->process (-> this roboguard-attackers v1-6))) + (set! (-> this roboguard-attackers v1-6) (process->handle arg0)) + (return #t) + ) + ) + #f + ) + (('get-attack-pos) + (let ((v0-0 (the-as object (-> arg3 param 0)))) + (set! (-> (the-as vector v0-0) quad) (-> this root trans quad)) + v0-0 + ) + ) + (('assign-spot) + (assign-spot this (the-as handle (-> arg3 param 0))) + ) + (('retrieve-spot) + (retrieve-spot + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + ) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 48 of type bt-pickup +;; WARN: Return type mismatch symbol vs none. +(defmethod bt-pickup-method-48 ((this bt-pickup)) + (dotimes (v1-0 4) + (set! (-> this spots v1-0 owner) (the-as handle #f)) + ) + (dotimes (v1-3 2) + (set! (-> this riders v1-3) (the-as handle #f)) + ) + (none) + ) + +;; definition for method 47 of type bt-pickup +;; WARN: Return type mismatch int vs none. +;; WARN: Function (method 47 bt-pickup) has a return type of none, but the expression builder found a return statement. +(defmethod assign-spot ((this bt-pickup) (arg0 handle)) + (let ((a1-1 0)) + (let ((v1-0 4)) + (dotimes (a0-1 4) + (when (handle->process (-> this spots a0-1 owner)) + (set! a1-1 (logior a1-1 (ash 1 a0-1))) + (+! v1-0 -1) + ) + ) + (if (zero? v1-0) + (return -1) + ) + ) + (set! (-> this spots (rand-vu-int-count-excluding 4 a1-1) owner) arg0) + ) + (none) + ) + +;; definition for method 46 of type bt-pickup +;; INFO: Used lq/sq +;; WARN: Return type mismatch vector vs none. +(defmethod retrieve-spot ((this bt-pickup) (arg0 int) (arg1 vector) (arg2 quaternion)) + (quaternion-look-at! arg2 *x-vector* *up-vector*) + (quaternion-rotate-local-y! arg2 arg2 (* 16384.0 (the float arg0))) + (quaternion-rotate-local-x! arg2 arg2 -9102.223) + (set! (-> arg1 quad) (the-as uint128 0)) + (none) + ) + +;; definition for method 34 of type bt-pickup +(defmethod bt-vehicle-method-34 ((this bt-pickup) (arg0 handle)) + (dotimes (v1-0 2) + (if (= arg0 (-> this riders v1-0)) + (set! (-> this riders v1-0) (the-as handle #f)) + ) + ) + #f + ) + +;; definition for method 33 of type bt-pickup +(defmethod bt-vehicle-method-33 ((this bt-pickup) (arg0 handle)) + (dotimes (v1-0 2) + (when (not (handle->process (-> this riders v1-0))) + (set! (-> this riders v1-0) arg0) + (return v1-0) + ) + ) + -1 + ) + +;; definition for method 36 of type bt-pickup +;; WARN: Return type mismatch structure vs object. +(defmethod bt-vehicle-method-36 ((this bt-pickup) (arg0 int) (arg1 vector) (arg2 quaternion)) + (cond + ((zero? arg0) + (+! (-> arg1 y) -2457.6) + (vector+float*! arg1 arg1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) 4096.0) + ) + (else + (+! (-> arg1 y) -2457.6) + (vector+float*! arg1 arg1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) -6963.2) + (vector+float*! arg1 arg1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) -6144.0) + (quaternion-rotate-local-y! arg2 arg2 -16384.0) + ) + ) + ) + +;; definition for symbol *bt-hellcat-gun-nodes*, type (array int32) +(define *bt-hellcat-gun-nodes* (new 'static 'boxed-array :type int32 9 12 8 11)) + +;; definition for symbol *bt-hellcat-damage-info*, type (array bt-vehicle-damage-info) +(define *bt-hellcat-damage-info* + (new 'static 'boxed-array :type bt-vehicle-damage-info + (new 'static 'bt-vehicle-damage-info :segd #x400 :seg0 #x40 :seg1 #x4 :hp-threshold0 5.0 :hp-threshold1 7.5) + (new 'static 'bt-vehicle-damage-info + :segd #x1000 + :seg0 #x100 + :seg1 #x10 + :hp-threshold0 5.0 + :hp-threshold1 7.5 + ) + (new 'static 'bt-vehicle-damage-info + :segd #x2000 + :seg0 #x200 + :seg1 #x20 + :hp-threshold0 5.0 + :hp-threshold1 7.5 + ) + (new 'static 'bt-vehicle-damage-info :segd #x800 :seg0 #x80 :seg1 #x8 :hp-threshold0 5.0 :hp-threshold1 7.5) + ) + ) + +;; definition of type bt-hellcat +(deftype bt-hellcat (bt-vehicle) + ((jmod-turret-guns joint-mod-rotate-world :inline) + (child-turret handle) + (spots surround-spot 12 :inline) + (assigned-spots handle 2) + (grunt-rider handle) + (grunt-rider-boarded? handle) + (rider-pitch float) + (pitch-quat quaternion :inline) + (roll-amount float) + (dest-roll-amount float) + (roll-amount-seek-rate float) + (quat-before-bounce quaternion :inline) + (quat-grunt-tilt quaternion :inline) + (jmod-lgun joint-mod-rotate-local :inline) + (jmod-rgun joint-mod-rotate-local :inline) + (jmod-barrels joint-mod-add-local 4 :inline) + (barrel-fire-state symbol 4) + (engine-sound sound-id) + (thrust-sound sound-id) + (land-grunt-offset float) + ) + (:state-methods + wait-for-player + player-riding + ) + (:methods + (bt-hellcat-method-46 (_type_ vector quaternion) quaternion) + (bt-hellcat-method-47 (_type_ int vector quaternion symbol) int) + (bt-hellcat-method-48 (_type_ handle quaternion) none) + (init-spots (_type_) symbol) + (bt-hellcat-method-50 (_type_ int quaternion vector vector) int) + (bt-hellcat-method-51 (_type_) symbol) + ) + ) + +;; definition for method 3 of type bt-hellcat +(defmethod inspect ((this bt-hellcat)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type bt-vehicle inspect))) + (t9-0 this) + ) + (format #t "~2Tjmod-turret-guns: #~%" (-> this jmod-turret-guns)) + (format #t "~2Tchild-turret: ~D~%" (-> this child-turret)) + (format #t "~2Tspots[12] @ #x~X~%" (-> this spots)) + (format #t "~2Tassigned-spots[2] @ #x~X~%" (-> this assigned-spots)) + (format #t "~2Tgrunt-rider: ~D~%" (-> this grunt-rider)) + (format #t "~2Tgrunt-rider-boarded?: ~D~%" (-> this grunt-rider-boarded?)) + (format #t "~2Trider-pitch: ~f~%" (-> this rider-pitch)) + (format #t "~2Tpitch-quat: #~%" (-> this pitch-quat)) + (format #t "~2Troll-amount: ~f~%" (-> this roll-amount)) + (format #t "~2Tdest-roll-amount: ~f~%" (-> this dest-roll-amount)) + (format #t "~2Troll-amount-seek-rate: ~f~%" (-> this roll-amount-seek-rate)) + (format #t "~2Tquat-before-bounce: #~%" (-> this quat-before-bounce)) + (format #t "~2Tquat-grunt-tilt: #~%" (-> this quat-grunt-tilt)) + (format #t "~2Tjmod-lgun: #~%" (-> this jmod-lgun)) + (format #t "~2Tjmod-rgun: #~%" (-> this jmod-rgun)) + (format #t "~2Tjmod-barrels[4] @ #x~X~%" (-> this jmod-barrels)) + (format #t "~2Tbarrel-fire-state[4] @ #x~X~%" (-> this barrel-fire-state)) + (format #t "~2Tengine-sound: ~D~%" (-> this engine-sound)) + (format #t "~2Tthrust-sound: ~D~%" (-> this thrust-sound)) + (format #t "~2Tland-grunt-offset: ~f~%" (-> this land-grunt-offset)) + (label cfg-4) + this + ) + +;; definition for method 34 of type bt-hellcat +(defmethod bt-vehicle-method-34 ((this bt-hellcat) (arg0 handle)) + (when (= arg0 (-> this grunt-rider)) + (set! (-> this grunt-rider) (the-as handle #f)) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + #f + ) + ) + +;; definition for method 33 of type bt-hellcat +(defmethod bt-vehicle-method-33 ((this bt-hellcat) (arg0 handle)) + (when (not (handle->process (-> this grunt-rider))) + (set! (-> this grunt-rider) arg0) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + (return 0) + ) + -1 + ) + +;; definition for method 36 of type bt-hellcat +;; INFO: Used lq/sq +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16 +;; WARN: Return type mismatch quaternion vs object. +(defmethod bt-vehicle-method-36 ((this bt-hellcat) (arg0 int) (arg1 vector) (arg2 quaternion)) + (local-vars (sv-176 float)) + (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) arg2))) + (quaternion-rotate-local-y! arg2 arg2 32768.0) + (let ((f30-0 0.7) + (f28-0 -1.1) + ) + (let ((v1-2 1)) + (cond + ((= v1-2 2) + (set! f30-0 1.1) + (set! f28-0 -1.57) + ) + ((zero? v1-2) + (set! f30-0 1.1) + (set! f28-0 -1.59) + ) + ((= v1-2 1) + (set! f30-0 1.1) + (set! f28-0 -1.3) + ) + ) + ) + (let ((v1-13 (new 'stack-no-clear 'vector))) + (vector-float*! v1-13 (-> s3-0 uvec) (* 4096.0 f30-0)) + (vector+float*! v1-13 v1-13 (-> s3-0 fvec) (* 4096.0 f28-0)) + ) + (when (handle->process (-> this child-turret)) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (let ((s0-0 (new 'stack-no-clear 'vector))) + (bt-hellcat-method-46 this s1-0 (new 'stack-no-clear 'quaternion)) + (vector-! s1-0 s1-0 (-> this root trans)) + (vector-float*! s0-0 (-> s3-0 uvec) (* 4096.0 f30-0)) + (vector+float*! s0-0 s0-0 (-> s3-0 fvec) (* 4096.0 f28-0)) + (vector-! s2-0 s0-0 s1-0) + ) + (let ((f30-1 (-> this land-grunt-offset))) + (let ((s4-1 vector-rotate-around-axis!) + (s3-1 s2-0) + (s0-1 s2-0) + ) + (set! sv-176 f30-1) + (let ((a3-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) arg2))) + (s4-1 s3-1 (the-as quaternion s0-1) sv-176 a3-1) + ) + ) + (vector+! s2-0 s2-0 s1-0) + (vector+! arg1 arg1 s2-0) + (quaternion-rotate-local-y! arg2 arg2 f30-1) + ) + ) + ) + ) + ) + ) + +;; definition for method 32 of type bt-hellcat +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod on-attacked ((this bt-hellcat) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (sound-play "snd-hellcat-hit") + (cond + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (if (logtest? (-> arg1 mask) (attack-mask control)) + (set! arg0 (-> arg1 control)) + ) + (let ((f28-0 (* 409.6 arg0)) + (f30-0 (lerp 0.05 1.0 (* 0.2 arg0))) + ) + (activate! *camera-smush-control* f28-0 45 (the int (* 300.0 f30-0)) 1.0 0.9 (-> *display* camera-clock)) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (the-as time-frame (the int (* 150.0 f30-0)))) + ) + (call-parent-method this arg0 arg1 arg2) + 0 + (none) + ) + +;; definition for method 50 of type bt-hellcat +;; INFO: Used lq/sq +(defmethod bt-hellcat-method-50 ((this bt-hellcat) (arg0 int) (arg1 quaternion) (arg2 vector) (arg3 vector)) + (local-vars (sv-48 vector) (sv-56 int) (sv-64 number) (sv-68 quaternion)) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! sv-56 -1) + (set! sv-64 -1.0) + (set! sv-68 (new 'stack-no-clear 'quaternion)) + (quaternion-copy! sv-68 arg1) + (let ((v1-5 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (quaternion-copy! sv-68 (-> v1-5 cam-quat)) + ) + (vector-z-quaternion! sv-48 sv-68) + (let ((a0-8 sv-48)) + (set! (-> a0-8 quad) (-> sv-48 quad)) + (set! (-> a0-8 y) 0.0) + (vector-normalize! a0-8 1.0) + ) + (dotimes (s2-0 12) + (when (= (-> this spots s2-0 rider-index) arg0) + (let ((a0-9 (new 'stack-no-clear 'vector))) + (set! (-> a0-9 quad) (-> this spots s2-0 offset-dir quad)) + (set! (-> a0-9 y) 0.0) + (let ((v1-18 (vector-normalize! a0-9 1.0))) + 0.0 + (let ((f0-5 (vector-dot v1-18 sv-48))) + (when (< (the-as float sv-64) f0-5) + (set! sv-64 f0-5) + (set! sv-56 s2-0) + (if arg3 + (set! (-> arg3 quad) (-> v1-18 quad)) + ) + ) + ) + ) + ) + ) + ) + (if arg2 + (set! (-> arg2 quad) (-> sv-48 quad)) + ) + sv-56 + ) + +;; definition for method 49 of type bt-hellcat +(defmethod init-spots ((this bt-hellcat)) + (dotimes (v1-0 12) + (set! (-> this spots v1-0 rider-index) -1) + ) + (dotimes (v1-3 2) + (set! (-> this assigned-spots v1-3) (the-as handle #f)) + ) + (let* ((f30-0 5461.3335) + (s5-0 (the int (/ 65536.0 f30-0))) + (f28-0 (* 0.5 f30-0)) + ) + (dotimes (s4-0 s5-0) + (vector-rotate-around-y! + (the-as vector (+ (the-as uint (-> this spots 0 offset-dir)) (* s4-0 64))) + *x-vector* + f28-0 + ) + (+! f28-0 f30-0) + (set! (-> this spots s4-0 owner) (the-as handle #f)) + (set! (-> this spots s4-0 rider-index) (logand s4-0 1)) + (let* ((f26-0 364.0889) + (f24-0 -4915.2) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + ) + (set! (-> this spots s4-0 y-rot) (+ f26-0 (* f24-0 (+ -1.0 (the-as float v1-17))))) + ) + ) + ) + #f + ) + +;; definition for method 48 of type bt-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod bt-hellcat-method-48 ((this bt-hellcat) (arg0 handle) (arg1 quaternion)) + (local-vars (s3-0 int) (sv-16 int) (sv-24 int) (sv-64 number) (sv-72 int) (sv-80 vector) (sv-84 vector)) + (set! sv-16 0) + (set! sv-24 2) + (dotimes (v1-1 2) + (when (handle->process (-> this assigned-spots v1-1)) + (set! sv-16 (logior sv-16 (ash 1 v1-1))) + (set! sv-24 (+ sv-24 -1)) + ) + ) + (when (zero? sv-24) + (set! s3-0 -1) + (goto cfg-26) + ) + (set! sv-64 -1.0) + (set! sv-72 -1) + (set! sv-80 (new 'stack-no-clear 'vector)) + (set! sv-84 (new 'stack-no-clear 'vector)) + (dotimes (s3-1 2) + (when (not (logtest? sv-16 (ash 1 s3-1))) + (bt-hellcat-method-50 this s3-1 arg1 sv-80 sv-84) + 0.0 + (let ((f0-3 (vector-dot sv-80 sv-84))) + (when (< (the-as float sv-64) f0-3) + (set! sv-72 s3-1) + (set! sv-64 f0-3) + ) + ) + ) + ) + (set! s3-0 sv-72) + (set! (-> this assigned-spots s3-0) arg0) + (set! (-> this spots (bt-hellcat-method-50 this s3-0 arg1 (the-as vector #f) (the-as vector #f)) owner) arg0) + (label cfg-26) + (none) + ) + +;; definition for method 47 of type bt-hellcat +;; INFO: Used lq/sq +;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3] +;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4] +;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] +(defmethod bt-hellcat-method-47 ((this bt-hellcat) (arg0 int) (arg1 vector) (arg2 quaternion) (arg3 symbol)) + (local-vars + (f0-4 float) + (sv-176 symbol) + (sv-192 int) + (sv-208 vector) + (sv-224 quaternion) + (sv-240 vector) + (sv-256 matrix) + ) + (set! sv-176 arg3) + (set! sv-192 0) + (while (< sv-192 12) + (when (and (= arg0 (-> this spots sv-192 rider-index)) (handle->process (-> this spots sv-192 owner))) + (let ((s0-0 (-> this spots sv-192))) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! sv-208 (new 'stack-no-clear 'vector)) + (let ((s1-0 (new 'stack-no-clear 'vector))) + (bt-hellcat-method-46 this s2-0 (the-as quaternion sv-208)) + (when sv-176 + (set! sv-224 (quaternion-copy! (new 'stack-no-clear 'quaternion) (the-as quaternion sv-208))) + (set! sv-240 (new 'stack-no-clear 'vector)) + (let ((v1-21 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (quaternion-copy! sv-224 (-> v1-21 cam-quat)) + ) + (vector-z-quaternion! sv-240 sv-224) + (let ((a0-14 sv-240)) + (set! (-> a0-14 quad) (-> sv-240 quad)) + (set! (-> a0-14 y) 0.0) + (vector-normalize! a0-14 1.0) + ) + (acos (vector-dot sv-240 (the-as vector (+ (the-as uint (-> this spots 0 offset-dir)) (* sv-192 64))))) + (let ((f30-0 4551.1113) + (t9-6 acos) + ) + (let* ((v1-29 (the-as object (+ (the-as uint (-> this spots 0 offset-dir)) (* sv-192 64)))) + (f0-3 (-> sv-240 x)) + (f1-0 (-> sv-240 y)) + (f2-0 (-> sv-240 z)) + (f3-0 (-> (the-as vector v1-29) x)) + (f4-0 (-> (the-as vector v1-29) y)) + (f5-0 (-> (the-as vector v1-29) z)) + ) + (.mula.s f0-3 f3-0) + (.madda.s f1-0 f4-0) + (.madd.s f0-4 f2-0 f5-0) + ) + (when (< f30-0 (t9-6 f0-4)) + (let ((v1-33 (bt-hellcat-method-50 this arg0 (-> this root quat) (the-as vector #f) (the-as vector #f)))) + (let ((a0-25 (-> s0-0 owner))) + (set! (-> s0-0 owner) (the-as handle #f)) + (set! (-> this spots v1-33 owner) a0-25) + ) + (set! s0-0 (-> this spots v1-33)) + ) + ) + ) + ) + (let ((v1-38 (handle->process (-> this child-turret)))) + (when v1-38 + (let ((s3-1 matrix-u-f-compose)) + (set! sv-256 (new 'stack-no-clear 'matrix)) + (let* ((a1-15 (vector-y-quaternion! (new 'stack-no-clear 'vector) (the-as quaternion (&-> v1-38 stack 4064)))) + (a2-3 (-> s0-0 offset-dir)) + (a1-16 (s3-1 sv-256 a1-15 a2-3)) + ) + (matrix->quaternion arg2 a1-16) + ) + ) + (quaternion-rotate-local-x! arg2 arg2 (* 0.5 (-> this roll-amount))) + ) + ) + (vector-! s1-0 s2-0 (-> this root trans)) + (vector+! arg1 arg1 s1-0) + ) + ) + (quaternion-rotate-local-x! arg2 arg2 (-> s0-0 y-rot)) + ) + (return 0) + ) + (set! sv-192 (+ sv-192 1)) + ) + 0 + ) + +;; definition for symbol *bt-turret-params*, type target-turret-params +(define *bt-turret-params* (new 'static 'target-turret-params + :fire-interval (seconds 0.1) + :max-health 16.0 + :roty-accel -118328.89 + :roty-friction 0.8 + :rotyv-max 98304.0 + :rotx-accel -81920.0 + :rotx-friction 0.8 + :rotxv-max 10922.667 + :rotx-min -6371.5557 + :rotx-max 2184.5334 + ) + ) + +;; definition for function bt-gun-manager-init-by-other +;; INFO: Used lq/sq +;; INFO: Process stack size was changed from 128 to 256 +(defbehavior bt-gun-manager-init-by-other bt-gun-manager ((arg0 target-turret-params)) + (stack-size-set! (-> self main-thread) 256) + (set! (-> self parent-vehicle) (the-as handle arg0)) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> (target-pos 0) quad)) + (quaternion-identity! (-> self root quat)) + (matrix-identity! (-> self last-parent-xform)) + (set! (-> self params) *bt-turret-params*) + (set! (-> self rotx-min) (-> self params rotx-min)) + (set! (-> self rotx-max) (-> self params rotx-max)) + (set! (-> self dest-roty-min) -20024.889) + (set! (-> self dest-roty-max) 20024.889) + (set! (-> self roty-min) (-> self dest-roty-min)) + (set! (-> self roty-max) (-> self dest-roty-max)) + (set! (-> self enable-controls?) #t) + (set! (-> self can-exit?) #f) + (set! (-> self target-hand) (the-as handle #f)) + (set! (-> self is-snapping?) #f) + (set! (-> self servo-sound) (new-sound-id)) + (set! (-> self look-cursor path) (-> *blow-tower-paths* 0)) + (set! (-> self look-time-offset) (seconds 0.5)) + (set! (-> self look-time-scalar) 1.0) + (set! (-> self rotx) 0.5) + (set! (-> self roty) 0.5) + (dotimes (v1-19 32) + (set! (-> self hud-pers v1-19 hand) (the-as handle #f)) + ) + (go-virtual idle) + ) + +;; failed to figure out what this is: +(defstate idle (bt-gun-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('pickup) + (go-virtual setup) + ) + ) + ) + :code sleep-code + ) + +;; definition for function bt-gun-manager-handler +(defbehavior bt-gun-manager-handler bt-gun-manager ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (bt-gun-handler self arg0 arg1 arg2 arg3) + ) + +;; definition for method 22 of type bt-gun-manager +;; INFO: Used lq/sq +(defmethod bt-gun-handler ((this bt-gun-manager) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('turret-type) + 'hellcat + ) + (('allow-exit) + (set! v0-0 #t) + (set! (-> this can-exit?) (the-as symbol v0-0)) + v0-0 + ) + (('trans 'player-pos) + (let ((v1-1 (new 'stack-no-clear 'vector))) + (set! (-> v1-1 quad) (-> this root trans quad)) + (set! v0-0 (-> arg3 param 0)) + (set! (-> (the-as vector v0-0) quad) (-> v1-1 quad)) + ) + v0-0 + ) + (('snap-forward) + (set! (-> this roty) 0.0) + (set! (-> this rotx) 0.0) + (set! (-> this rotyv) 0.0) + (set! (-> this rotxv) 0.0) + ) + (('cam-post-update) + (when (not (paused?)) + (find-target this) + (bt-gun-manager-method-19 this) + (fire-shot this) + ) + ) + (('look-at-restore) + (case (-> this look-mode) + ((2 1) + (let ((v1-10 (entity-by-name (the-as string (-> this look-ent))))) + (when v1-10 + (when (and (-> v1-10 extra process) (= (process->handle (-> v1-10 extra process)) (-> arg3 param 0))) + (set! (-> this look-mode) (the-as uint 0)) + (set! (-> this look-time-scalar) 1.0) + ) + ) + ) + ) + ) + ) + (('look-at-ent) + (set! (-> this look-mode) (the-as uint 1)) + (set! (-> this look-ent) (the-as entity-actor (-> arg3 param 0))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + ) + (('look-at-track) + (set! (-> this look-mode) (the-as uint 2)) + (set! (-> this look-ent) (the-as entity-actor (-> arg3 param 0))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + ) + (('look-at-proc) + (set! (-> this look-mode) (the-as uint 3)) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 1))) + (set! v0-0 (-> arg3 param 0)) + (set! (-> this look-proc) (the-as handle v0-0)) + v0-0 + ) + (('look-at) + (set! (-> this look-cursor path) (-> *blow-tower-paths* (-> arg3 param 0))) + (set! (-> this look-time-offset) (the-as time-frame (-> arg3 param 1))) + (set! (-> this look-time-scalar) (the-as float (-> arg3 param 2))) + (set! (-> this look-mode) (the-as uint 0)) + 0 + ) + (('aim-quat) + (quaternion-copy! (the-as quaternion (-> arg3 param 0)) (-> this aim-quat)) + ) + (('hit-pos) + (set! v0-0 (-> arg3 param 0)) + (set! (-> (the-as vector v0-0) quad) (-> this hit-pos quad)) + v0-0 + ) + (('quat 'player-quat) + (quaternion-copy! (the-as quaternion (-> arg3 param 0)) (-> this root quat)) + ) + (('exit-valid) + (set! (-> (the-as vector (-> arg3 param 0)) quad) (-> this root trans quad)) + (-> this can-exit?) + ) + (('exit) + #f + ) + (('use-camera) + (if (-> arg3 param 0) + (set-setting! 'mode-name 'cam-bt-gun 0.0 0) + (remove-setting! 'mode-name) + ) + ) + (('get-cam-info) + (set! (-> (the-as vector (-> arg3 param 0)) quad) (-> this root trans quad)) + (quaternion-copy! (the-as quaternion (-> arg3 param 1)) (-> this root quat)) + (add-debug-quaternion #t (bucket-id debug-no-zbuf1) (-> this root trans) (-> this root quat)) + (quaternion-copy! (the-as quaternion (-> arg3 param 1)) (-> this cam-quat)) + #t + ) + ) + ) + +;; failed to figure out what this is: +(defstate active (bt-gun-manager) + :virtual #t + :event bt-gun-manager-handler + :enter (behavior () + (send-event (handle->process (-> self parent-vehicle)) 'player-board) + (add-connection + *cam-post-hook-engine* + self + (lambda ((arg0 process)) (send-event arg0 'cam-post-update)) + #f + #f + #f + ) + ) + :trans (behavior () + (bt-gun-manager-method-17 self) + (bt-gun-manager-method-18 self 0.33) + ) + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate setup (bt-gun-manager) + :virtual #t + :event bt-gun-manager-handler + :code (behavior () + (set-blackout-frames (seconds 1)) + (until (and (-> *target* next-state) (= (-> *target* next-state name) 'target-turret-stance)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (let ((v1-0 (process->ppointer self))) + (set! (-> a1-0 from) v1-0) + ) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'change-mode) + (set! (-> a1-0 param 0) (the-as uint 'turret)) + (set! (-> a1-0 param 1) (the-as uint self)) + (send-event-function *target* a1-0) + ) + (suspend) + ) + (send-event self 'use-camera #t) + (set-setting! 'interp-time 'abs 0.0 0) + (go-virtual active) + ) + ) + +;; definition for symbol *fov-to-use*, type float +(define *fov-to-use* 13653.333) + +;; failed to figure out what this is: +(defstate cam-bt-gun (camera-slave) + :event cam-standard-event-handler + :enter (behavior () + (when (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + (set! (-> self blend-from-type) (camera-blend-from-type unknown-1)) + (set! (-> self blend-to-type) (camera-blend-to-type unknown-0)) + 0 + ) + ) + :trans (behavior () + (seek! (-> self fov) *fov-to-use* (* 8192.0 (seconds-per-frame))) + (if (not (logtest? (-> *camera* master-options) (cam-master-options-u32 HAVE_TARGET))) + (cam-slave-go cam-free-floating) + ) + ) + :code (behavior () + (until #f + (when (not (paused?)) + (let ((a0-1 (handle->process (-> *camera* focus handle)))) + (when a0-1 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) (process->ppointer self)) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'get-turret) + (let ((a0-5 (handle->process (send-event-function a0-1 a1-1)))) + (when a0-5 + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (if (send-event a0-5 'get-cam-info (-> self trans) gp-0) + (forward-up->inv-matrix + (the-as matrix (-> self tracking)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) gp-0) + (vector-y-quaternion! (new 'stack-no-clear 'vector) gp-0) + ) + ) + ) + ) + ) + ) + ) + ) + ) + (suspend) + ) + #f + ) + ) + +;; definition for method 23 of type bt-gun-manager +(defmethod bt-gun-manager-method-23 ((this bt-gun-manager)) + (let ((v1-1 (the-as uint #xffffffff))) + (dotimes (a1-0 (-> this num-onscreen-targets)) + (set! (-> this onscreen-targets a1-0 target-pers-index) -1) + (let ((a2-3 (-> this onscreen-targets a1-0 hand))) + (dotimes (a3-2 32) + (when (logtest? v1-1 (ash 1 a3-2)) + (when (= a2-3 (-> this hud-pers a3-2 hand)) + (set! v1-1 (logclear v1-1 (ash 1 a3-2))) + (set! (-> this onscreen-targets a1-0 target-pers-index) a3-2) + ) + ) + ) + ) + ) + (dotimes (a1-3 (-> this num-onscreen-targets)) + (when (= (-> this onscreen-targets a1-3 target-pers-index) -1) + (dotimes (a2-9 32) + (when (logtest? v1-1 (ash 1 a2-9)) + (set! (-> this hud-pers a2-9 hand) (-> this onscreen-targets a1-3 hand)) + (set! (-> this hud-pers a2-9 alpha) 0.0) + (set! (-> this hud-pers a2-9 rotate) 0.0) + (set! (-> this hud-pers a2-9 size-scalar) 4.0) + (set! (-> this hud-pers a2-9 outer-rotate) 0.0) + (set! (-> this hud-pers a2-9 outer-alpha) 0.0) + (set! (-> this onscreen-targets a1-3 target-pers-index) a2-9) + (set! v1-1 (logclear v1-1 (ash 1 a2-9))) + 0 + (goto cfg-30) + ) + ) + ) + (label cfg-30) + ) + ) + #f + ) + +;; definition for method 19 of type bt-gun-manager +;; INFO: Used lq/sq +;; WARN: Return type mismatch symbol vs none. +;; ERROR: Function may read a register that is not set: s4 +(defmethod bt-gun-manager-method-19 ((this bt-gun-manager)) + (local-vars + (v1-17 symbol) + (s4-0 symbol) + (f28-0 float) + (f30-0 float) + (sv-64 vector) + (sv-68 bt-hud-target-pers) + (sv-96 vector) + (sv-100 vector) + (sv-112 process) + (sv-128 vector) + (sv-144 vector) + ) + (bt-gun-manager-method-23 this) + (set! (-> this hud-target tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle-fancy-01" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (set! (-> this hud-target-inner tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle-fancy-02" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (dotimes (v1-1 (-> this num-onscreen-targets)) + (set! (-> this onscreen-targets v1-1 num-overlap) 0) + ) + (dotimes (s5-0 (-> this num-onscreen-targets)) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (let ((s2-0 transform-point-vector!) + (s1-0 s3-0) + (s0-0 (handle->process (-> this onscreen-targets s5-0 hand))) + ) + (s2-0 s1-0 (get-trans + (the-as process-focusable (if (type? s0-0 process-focusable) + (the-as process-focusable s0-0) + ) + ) + 3 + ) + ) + ) + (let ((s2-1 (+ s5-0 1)) + (s1-1 (+ (-> this num-onscreen-targets) -1)) + ) + (while (>= s1-1 s2-1) + (set! sv-128 (new 'stack-no-clear 'vector)) + (let ((s0-1 transform-point-vector!)) + (set! sv-144 sv-128) + (let ((v1-15 (-> this onscreen-targets s2-1 hand))) + (set! s4-0 (and (nonzero? (l32-false-check v1-15)) (begin + (set! sv-112 (the-as process s4-0)) + (let ((a0-15 (-> v1-15 process 0))) + (set! v1-17 (when (= (-> v1-15 pid) (-> a0-15 pid)) + (set! sv-112 (the-as process v1-17)) + (set! sv-112 a0-15) + v1-17 + ) + ) + ) + sv-112 + s4-0 + ) + ) + ) + ) + (let ((a1-9 (get-trans + (the-as process-focusable (if (type? sv-112 process-focusable) + (the-as process-focusable sv-112) + ) + ) + 3 + ) + ) + ) + (s0-1 sv-144 a1-9) + ) + ) + (let ((t9-9 vector-vector-distance) + (a1-10 s3-0) + ) + (when (< (t9-9 sv-128 a1-10) (+ (-> this onscreen-targets s5-0 size) (-> this onscreen-targets s2-1 size))) + (+! (-> this onscreen-targets s5-0 num-overlap) 1) + (+! (-> this onscreen-targets s2-1 num-overlap) 1) + ) + ) + (+! s2-1 1) + ) + ) + ) + ) + (dotimes (s5-1 (-> this num-onscreen-targets)) + (set! sv-64 (new 'stack-no-clear 'vector)) + (set! sv-68 (-> this hud-pers (-> this onscreen-targets s5-1 target-pers-index))) + (when (and (< (-> this onscreen-targets s5-1 size) 256.0) + (!= (-> (handle->process (-> this onscreen-targets s5-1 hand)) type) bt-barrel) + ) + (set! sv-96 (new 'stack-no-clear 'vector)) + (let ((s4-1 (handle->process (-> this onscreen-targets s5-1 hand)))) + (set! sv-100 (get-trans + (the-as process-focusable (if (type? s4-1 process-focusable) + (the-as process-focusable s4-1) + ) + ) + 3 + ) + ) + ) + (transform-point-vector! sv-96 sv-100) + (+! (-> sv-96 x) -1792.0) + (+! (-> sv-96 y) -1840.0) + (when (and (>= (-> sv-96 x) 0.0) (>= 2048.0 (-> sv-96 x)) (>= (-> sv-96 y) 0.0) (>= 2048.0 (-> sv-96 y))) + (cond + ((-> this onscreen-targets s5-1 hit?) + (seek! (-> sv-68 rotate) 16384.0 (* 65536.0 (seconds-per-frame))) + (seek! (-> sv-68 size-scalar) 1.0 (* 16.0 (seconds-per-frame))) + (set! (-> sv-68 alpha) 1.0) + ) + (else + (seek! (-> sv-68 size-scalar) 4.0 (* 8.0 (seconds-per-frame))) + (seek! (-> sv-68 rotate) 0.0 (* 65536.0 (seconds-per-frame))) + (seek! (-> sv-68 alpha) 0.0 (* 3.0 (seconds-per-frame))) + (set! (-> sv-68 outer-rotate) (- (-> sv-68 outer-rotate) (* 32768.0 (seconds-per-frame)))) + ) + ) + 0.0 + 0.0 + (set! f28-0 (cond + ((-> this onscreen-targets s5-1 hit?) + (set! (-> this hud-target color x) 127) + (set! (-> this hud-target color y) 75) + (set! (-> this hud-target color z) 0) + (set! f30-0 (* 80.0 (-> this onscreen-targets s5-1 alpha))) + (set! (-> this hud-target-inner color x) 127) + (set! (-> this hud-target-inner color y) 40) + (set! (-> this hud-target-inner color z) 0) + (set! f28-0 (* 80.0 (-> this onscreen-targets s5-1 alpha))) + (when (= (current-time) (-> sv-68 hold-start-time)) + (set! (-> this hud-target color x) 128) + (set! (-> this hud-target color y) 128) + (set! (-> this hud-target color z) 128) + (set! f30-0 64.0) + (set! (-> this hud-target-inner color x) 255) + (set! (-> this hud-target-inner color y) 0) + (set! (-> this hud-target-inner color z) 0) + (set! f28-0 64.0) + ) + f28-0 + ) + (else + (set! (-> this hud-target color x) 127) + (set! (-> this hud-target color y) 40) + (set! (-> this hud-target color z) 0) + (set! f30-0 (* 45.0 (-> this onscreen-targets s5-1 alpha))) + (* 80.0 (-> sv-68 alpha) (-> this onscreen-targets s5-1 alpha)) + ) + ) + ) + (let ((f0-40 (vector-vector-distance sv-100 (camera-pos)))) + 0.0 + (let* ((f0-41 (lerp-scale-clamp 1.0 0.1 f0-40 327680.0 819200.0)) + (f1-22 (* f30-0 f0-41)) + (f0-42 (* f28-0 f0-41)) + ) + (set! (-> this hud-target color w) (the int f1-22)) + (set! (-> this hud-target-inner color w) (the int f0-42)) + ) + ) + (set! (-> this hud-target angle) 0.0) + (set! (-> this hud-target flags) (hud-sprite-flags hsf3)) + (set! (-> this hud-target-inner flags) (hud-sprite-flags hsf3)) + (let* ((f0-46 (* 0.03125 (-> this onscreen-targets s5-1 size))) + (f0-48 (fmax 0.4 (fmin 2.0 f0-46))) + (f0-49 (* 2.0 f0-48)) + ) + (set! (-> this hud-target scale-x) f0-49) + (set! (-> this hud-target scale-y) f0-49) + (set! (-> this hud-target-inner scale-x) (* (-> sv-68 size-scalar) f0-49)) + (set! (-> this hud-target-inner scale-y) (* (-> sv-68 size-scalar) f0-49)) + ) + (set! (-> this hud-target pos x) (the int (the float (the int (-> sv-96 x))))) + (set! (-> this hud-target pos y) (the int (the float (the int (-> sv-96 y))))) + (set! (-> this hud-target pos z) 0) + (set! (-> this hud-target-inner pos x) (the int (the float (the int (-> sv-96 x))))) + (set! (-> this hud-target-inner pos y) (the int (the float (the int (-> sv-96 y))))) + (set! (-> this hud-target-inner pos z) 0) + (set! (-> this hud-target-inner angle) (-> sv-68 rotate)) + (set! (-> this hud-target angle) (-> sv-68 outer-rotate)) + (with-dma-buffer-add-bucket ((s3-2 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-target) s3-2 (-> *level* level-default) #f) + ) + (with-dma-buffer-add-bucket ((s3-3 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-target-inner) s3-3 (-> *level* level-default) #f) + ) + ) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(when (or (zero? *bt-clamp-curve-x*) (!= loading-level global)) + (set! *bt-clamp-curve-x* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-clamp-curve-x* 7 'loading-level (the-as int #t)) + ) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 0 first) 0.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 0 second) -1.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 1 first) 25.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 1 second) -5.5) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 2 first) 35.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 2 second) -8.5) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 3 first) 50.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 3 second) -5.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 4 first) 65.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 4 second) -9.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 5 first) 90.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 5 second) -10.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 6 first) 180.0) + +;; failed to figure out what this is: +(set! (-> *bt-clamp-curve-x* pts data 6 second) -10.0) + +;; failed to figure out what this is: +(when (or (zero? *bt-accel-curve*) (!= loading-level global)) + (set! *bt-accel-curve* (new 'loading-level 'curve2d-piecewise)) + (curve2d-piecewise-method-10 *bt-accel-curve* 4 'loading-level (the-as int #t)) + ) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 0 first) 0.0) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 0 second) 1.0) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 1 first) 1.0) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 1 second) 1.5) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 2 first) 1.5) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 2 second) 1.5) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 3 first) 2.5) + +;; failed to figure out what this is: +(set! (-> *bt-accel-curve* pts data 3 second) 2.0) + +;; definition for method 17 of type bt-gun-manager +;; WARN: Return type mismatch int vs none. +(defmethod bt-gun-manager-method-17 ((this bt-gun-manager)) + (send-event + (handle->process (-> this parent-vehicle)) + 'get-turret-pos + (-> this root trans) + (-> this parent-quat) + ) + (let ((a0-6 (new 'stack-no-clear 'vector))) + (transform-point-vector! a0-6 (-> this aim-pos)) + ) + (let ((f30-0 -1.0)) + (if (-> *setting-control* cam-current flip-vertical) + (set! f30-0 (* -1.0 f30-0)) + ) + (set! (-> this rotyv) (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 120.0 1.0)) + (set! (-> this rotxv) + (* f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 32.0 120.0 1.0)) + ) + ) + (let ((f0-4 0.6)) + (if (-> this found-target?) + (set! f0-4 (* 0.7 f0-4)) + ) + (set! (-> this rotyv) (* (-> this rotyv) f0-4)) + (set! (-> this rotxv) (* 1.2307693 f0-4 (-> this rotxv))) + 0.0 + 0.0 + (let ((f1-8 (-> this rotyv)) + (f2-1 (-> this rotxv)) + ) + 0.0 + (let* ((f1-10 (/ (fabs f1-8) f0-4)) + (f2-3 (/ (fabs f2-1) (* 1.2307693 f0-4))) + (f0-6 (* f1-10 f1-10)) + (f28-0 (* f2-3 f2-3)) + (f1-11 f28-0) + (f1-13 (* f1-11 f1-11)) + (f2-4 f0-6) + (f30-1 (sqrtf (+ f1-13 (* f2-4 f2-4)))) + ) + (let ((f26-0 0.0) + (f24-0 0.0) + ) + (cond + ((or (< 0.9 f0-6) (< 0.95 f30-1)) + (set! f26-0 2.5) + (set! f24-0 (* 6.0 (seconds-per-frame))) + ) + (else + (set! f26-0 + (cond + ((< 0.75 f0-6) + (if (-> this found-target?) + (seek! (-> this y-boost-scalar) 0.0 (* 6.0 (seconds-per-frame))) + ) + (cond + ((and (< 1.0 (-> this y-boost-scalar)) (< f30-1 0.95)) + (seek! (-> this y-boost-scalar) (fmin 1.0 (-> this y-boost-scalar)) (* 12.0 (seconds-per-frame))) + ) + (else + ) + ) + f26-0 + ) + (else + (set! f24-0 (* 60.0 (seconds-per-frame))) + 0.0 + ) + ) + ) + ) + ) + (seek! (-> this y-boost-scalar) f26-0 f24-0) + ) + (let ((f26-1 0.0) + (f24-1 0.0) + ) + (cond + ((or (< 0.9 f28-0) (< 0.95 f30-1)) + (set! f26-1 2.5) + (set! f24-1 (* 6.0 (seconds-per-frame))) + ) + (else + (set! f26-1 + (cond + ((< 0.75 f28-0) + (if (-> this found-target?) + (seek! (-> this x-boost-scalar) 0.0 (* 6.0 (seconds-per-frame))) + ) + (cond + ((and (< 1.0 (-> this x-boost-scalar)) (< f30-1 0.95)) + (seek! (-> this x-boost-scalar) (fmin 1.0 (-> this x-boost-scalar)) (* 12.0 (seconds-per-frame))) + ) + (else + ) + ) + f26-1 + ) + (else + (set! f24-1 (* 60.0 (seconds-per-frame))) + 0.0 + ) + ) + ) + ) + ) + (seek! (-> this x-boost-scalar) f26-1 f24-1) + ) + ) + ) + ) + (set! (-> this y-boost-scalar) (fmax 0.0 (fmin 2.5 (-> this y-boost-scalar)))) + (set! (-> this x-boost-scalar) (fmax 0.0 (fmin 2.5 (-> this x-boost-scalar)))) + (set! (-> this rotyv) (* (-> this rotyv) (curve2d-method-9 *bt-accel-curve* (-> this y-boost-scalar) 2))) + (set! (-> this rotxv) (* (-> this rotxv) (curve2d-method-9 *bt-accel-curve* (-> this x-boost-scalar) 2))) + (set! (-> this rotxv) (* 0.8 (-> this rotxv))) + (+! (-> this roty) (* (-> this rotyv) (seconds-per-frame))) + (+! (-> this rotx) (* (-> this rotxv) (seconds-per-frame))) + (set! (-> this roty-min) 0.0) + (set! (-> this roty-max) 1.0) + (set! (-> this rotx-min) 0.0) + (set! (-> this rotx-max) 1.0) + (when (or (>= (-> this roty-min) (-> this roty)) (>= (-> this roty) (-> this roty-max))) + (set! (-> this roty) (fmax (fmin (-> this roty) (-> this roty-max)) (-> this roty-min))) + (set! (-> this rotyv) 0.0) + ) + (when (or (>= (-> this rotx-min) (-> this rotx)) (>= (-> this rotx) (-> this rotx-max))) + (set! (-> this rotx) (fmax (fmin (-> this rotx) (-> this rotx-max)) (-> this rotx-min))) + (set! (-> this rotxv) 0.0) + ) + (let ((f0-74 (-> this rotyv))) + (-> this rotxv) + 0.0 + (cond + ((< 0.5 f0-74) + (let ((v1-106 (-> this servo-sound-state))) + (cond + ((or (zero? v1-106) (= v1-106 2) (= v1-106 4)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ((or (= v1-106 1) (= v1-106 3)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ) + ) + (set! (-> this servo-sound-state) (the-as uint 2)) + ) + ((< f0-74 -0.5) + (let ((v1-116 (-> this servo-sound-state))) + (cond + ((or (zero? v1-116) (= v1-116 1) (= v1-116 4)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ((or (= v1-116 2) (= v1-116 3)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-gun-servo" :id (-> this servo-sound) :position (-> this root trans)) + ) + ) + ) + (set! (-> this servo-sound-state) (the-as uint 1)) + ) + (else + (case (-> this servo-sound-state) + ((1 2) + (set! (-> this servo-sound-state) (the-as uint 3)) + (set-time! (-> this servo-state-time)) + ) + ((3) + (when (time-elapsed? (-> this servo-state-time) (seconds 0.05)) + (sound-stop (-> this servo-sound)) + (sound-play "hc-servo-end") + (set! (-> this servo-sound-state) (the-as uint 4)) + ) + ) + ) + ) + ) + ) + (none) + ) + +;; definition for method 18 of type bt-gun-manager +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod bt-gun-manager-method-18 ((this bt-gun-manager) (arg0 float)) + (local-vars (sv-80 vector) (sv-84 vector) (sv-88 vector) (sv-92 vector)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 x) (lerp 0.0 512.0 (-> this roty))) + (set! (-> s5-0 y) (lerp 0.0 416.0 (-> this rotx))) + (set! (-> s5-0 z) 0.0) + (set! (-> s5-0 w) 1.0) + (set! sv-80 s5-0) + ) + (set! sv-84 (new 'stack-no-clear 'vector)) + (set! sv-88 (new 'stack-no-clear 'vector)) + (set! sv-92 (new 'stack-no-clear 'vector)) + (set! (-> this hud-aim pos x) (the int (-> sv-80 x))) + (set! (-> this hud-aim pos y) (the int (-> sv-80 y))) + (set! (-> this hud-aim pos z) 0) + (set! (-> this hud-aim flags) (hud-sprite-flags hsf3)) + (set! (-> this hud-aim scale-x) 1.0) + (set! (-> this hud-aim scale-y) 1.0) + (let ((v1-9 (-> this hud-aim color-ptr))) + (set! (-> v1-9 0) 231) + (set! (-> v1-9 1) 168) + (set! (-> v1-9 2) 0) + (set! (-> v1-9 3) 128) + ) + (set! (-> this hud-aim tid) + (the-as + texture-id + (lookup-texture-by-name "hud-target-reticle" (the-as string #f) (the-as (pointer texture-page) #f)) + ) + ) + (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) + (bucket-id hud-draw-hud-alpha) + ) + (draw (-> this hud-aim) s4-0 (-> *level* level-default) #f) + ) + (send-event (handle->process (-> this parent-vehicle)) 'get-turret-pos sv-88 sv-84) + (vector+float*! sv-88 (camera-pos) (-> (camera-matrix) fvec) 40960.0) + (+! (-> sv-80 x) -256.0) + (+! (-> sv-80 y) -208.0) + (reverse-transform-point! + sv-92 + sv-88 + (vector-float*! (new 'stack-no-clear 'vector) (-> (camera-matrix) fvec) 1.0) + sv-80 + ) + (set! (-> this aim-pos quad) (-> sv-92 quad)) + (vector-! (-> this aim-dir) sv-92 (-> this root trans)) + (vector-normalize! (-> this aim-dir) 1.0) + (quaternion-look-at! (-> this root quat) (-> this aim-dir) *up-vector*) + (blow-tower-path-cursor-method-9 + (-> this look-cursor) + (the-as int (+ (-> this look-time-offset) (-> *blow-tower-targets* mission-time))) + ) + (let ((s5-5 (new 'stack-no-clear 'quaternion))) + (send-event (handle->process (-> this parent-vehicle)) 'get-turret-pos (new 'stack-no-clear 'vector) s5-5) + (when (or (= (-> this look-mode) 2) (= (-> this look-mode) 1)) + (let ((v1-64 (entity-by-name (the-as string (-> this look-ent))))) + (when v1-64 + (cond + ((= (-> this look-mode) 2) + (let* ((s4-4 (-> v1-64 extra process)) + (a0-37 (if (type? s4-4 process-focusable) + s4-4 + ) + ) + ) + (cond + ((and a0-37 + (not (logtest? (-> (the-as process-focusable a0-37) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (set! (-> this look-cursor pos quad) (-> (get-trans (the-as process-focusable a0-37) 3) quad)) + ) + (else + (set! (-> this look-mode) (the-as uint 0)) + (set! (-> this look-time-scalar) 1.0) + ) + ) + ) + ) + (else + (set! (-> this look-cursor pos quad) (-> v1-64 extra trans quad)) + ) + ) + ) + ) + ) + (when (= (-> this look-mode) 3) + (let* ((s4-8 (handle->process (-> this look-proc))) + (a0-43 (if (type? s4-8 process-focusable) + s4-8 + ) + ) + ) + (if (and a0-43 + (not (logtest? (-> (the-as process-focusable a0-43) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (set! (-> this look-cursor pos quad) (-> (get-trans (the-as process-focusable a0-43) 3) quad)) + ) + ) + ) + (let ((s4-12 (vector-! (new 'stack-no-clear 'vector) (-> this look-cursor pos) (-> this root trans))) + (s3-1 (new 'stack-no-clear 'matrix)) + ) + 2.0 + 0.0 + (let ((s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat)))) + (cond + ((zero? (-> this look-mode)) + (let ((a0-47 s2-2)) + (set! (-> a0-47 quad) (-> s2-2 quad)) + (set! (-> a0-47 y) 0.0) + (vector-normalize! a0-47 1.0) + ) + (let ((a0-48 s4-12)) + (set! (-> a0-48 quad) (-> s4-12 quad)) + (set! (-> a0-48 y) 0.0) + (vector-normalize! a0-48 1.0) + ) + ) + (else + (vector-normalize! s4-12 1.0) + ) + ) + (let* ((f0-24 (vector-dot s4-12 s2-2)) + (f0-25 (+ 1.0 f0-24)) + (f0-26 (* 0.5 f0-25)) + (f0-27 (* f0-26 f0-26)) + (f0-28 (lerp 0.0 2.0 f0-27)) + (f30-0 (fmax 0.3 (fmin 2.0 f0-28))) + ) + (let ((s1-0 (the-as bt-hellcat (handle->process (-> this parent-vehicle))))) + (when s1-0 + (when (handle->process (-> s1-0 grunt-rider-boarded?)) + (let ((s2-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s1-0 root quat)))) + (let ((a0-59 s2-3)) + (set! (-> a0-59 quad) (-> s2-3 quad)) + (set! (-> a0-59 y) 0.0) + (vector-normalize! a0-59 1.0) + ) + (vector-rotate-around-y! s2-3 s2-3 (-> s1-0 land-grunt-offset)) + (let ((f0-33 (vector-dot s4-12 s2-3))) + (when (< 0.2 f0-33) + (set! (-> s4-12 quad) (-> s2-3 quad)) + (set! f30-0 6.0) + ) + ) + ) + ) + ) + ) + (let ((f30-1 (* f30-0 (-> this look-time-scalar)))) + (if (zero? (-> this look-mode)) + (matrix-u-f-compose s3-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) s5-5) s4-12) + (matrix-f-u-compose s3-1 s4-12 (vector-y-quaternion! (new 'stack-no-clear 'vector) s5-5)) + ) + (matrix->quaternion s5-5 s3-1) + (quaternion-slerp! (-> this cam-quat) (-> this cam-quat) s5-5 (* f30-1 (seconds-per-frame))) + ) + ) + ) + ) + ) + (quaternion-copy! (-> this aim-quat) (-> this cam-quat)) + (let ((s5-6 (the-as bt-hellcat (handle->process (-> this parent-vehicle))))) + (if s5-6 + (set! (-> this dest-rot-y-shift) + (- (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat))) + (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s5-6 root quat))) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for function bt-hellcat-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-hellcat-init-by-other bt-hellcat ((arg0 bt-obj-init-params)) + (init-collision! self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-hellcat" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-fields (-> self path-cursor)) + (set! (-> self path-cursor path) (-> arg0 path)) + (set! (-> self task-man) (-> arg0 task-man)) + (init-params self) + (go-virtual wait-for-player) + ) + +;; definition for method 46 of type bt-hellcat +;; INFO: Used lq/sq +(defmethod bt-hellcat-method-46 ((this bt-hellcat) (arg0 vector) (arg1 quaternion)) + (set! (-> arg0 quad) (-> this root trans quad)) + (quaternion-copy! arg1 (-> this root quat)) + (vector<-cspace! arg0 (-> this node-list data 5)) + (vector+float*! arg0 arg0 (-> this node-list data 5 bone transform uvec) 8192.0) + (matrix->quaternion arg1 (-> this node-list data 5 bone transform)) + ) + +;; definition for method 24 of type bt-gun-manager +(defmethod bt-gun-manager-method-24 ((this bt-gun-manager) (arg0 quaternion)) + (let* ((f0-1 (- (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this cam-quat))) + (vector-y-angle (vector-z-quaternion! (new 'stack-no-clear 'vector) arg0)) + ) + ) + (f0-2 (* 0.000061035156 f0-1)) + (f0-3 (+ 0.5 f0-2)) + (f0-4 (floor f0-3)) + ) + (* 16384.0 f0-4) + ) + ) + +;; definition for method 29 of type bt-hellcat +(defmethod bt-vehicle-event-handler ((this bt-hellcat) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('lock-view 'rotate-view 'unlock-view) + #f + ) + (('fire) + (let ((v0-0 (the-as object #t))) + (set! (-> this barrel-fire-state (-> arg3 param 0)) (the-as symbol v0-0)) + v0-0 + ) + ) + (('grunt-rider-board) + (set! (-> this grunt-rider-boarded?) (process->handle arg0)) + (let ((a0-11 (handle->process (-> this child-turret)))) + (if a0-11 + (set! (-> this land-grunt-offset) + (bt-gun-manager-method-24 (the-as bt-gun-manager a0-11) (-> this root quat)) + ) + ) + ) + (send-event (handle->process (-> this child-turret)) 'snap-to-center) + (send-event (handle->process (-> this child-turret)) 'look-at-restore (-> this grunt-rider)) + ) + (('roll-amount) + (set! (-> this dest-roll-amount) (* 182.04445 (the-as float (-> arg3 param 0)))) + (set! (-> this roll-amount-seek-rate) (* 182.04445 (the-as float (-> arg3 param 1)))) + ) + (('kill-rider) + (send-event (handle->process (-> this child-turret)) 'look-at-restore (process->handle arg0)) + (call-parent-method this arg0 arg1 arg2 arg3) + ) + (('unlock-view) + (send-event (handle->process (-> this child-turret)) 'unlock-view) + ) + (('get-attack-pos) + (bt-hellcat-method-46 this (the-as vector (-> arg3 param 0)) (new 'stack-no-clear 'quaternion)) + ) + (('assign-spot) + (let ((s4-1 (new 'stack-no-clear 'quaternion))) + (let ((a1-12 (-> arg3 param 1))) + (if a1-12 + (quaternion-copy! s4-1 (the-as quaternion a1-12)) + ) + ) + (bt-hellcat-method-48 this (the-as handle (-> arg3 param 0)) s4-1) + ) + ) + (('retrieve-spot) + (bt-hellcat-method-47 + this + (the-as int (-> arg3 param 0)) + (the-as vector (-> arg3 param 1)) + (the-as quaternion (-> arg3 param 2)) + (the-as symbol (-> arg3 param 3)) + ) + ) + (('get-turret-pos) + (bt-hellcat-method-46 this (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; failed to figure out what this is: +(defstate wait-for-player (bt-hellcat) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (send-event (handle->process (-> self task-man)) 'player-board) + (go-virtual player-riding) + ) + (else + (bt-vehicle-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self child-turret) + (ppointer->handle (process-spawn bt-gun-manager (process->handle self) :name "bt-gun-manager" :to self)) + ) + ) + :trans (behavior () + '() + ) + :code sleep-code + :post transform-post + ) + +;; definition for method 51 of type bt-hellcat +(defmethod bt-hellcat-method-51 ((this bt-hellcat)) + (dotimes (s5-0 4) + (let ((f30-0 -2048.0)) + (if (= (logand s5-0 1) 1) + (set! f30-0 (* -1.0 f30-0)) + ) + (cond + ((-> this barrel-fire-state s5-0) + (seek! (-> this jmod-barrels s5-0 transform trans z) f30-0 (* 28672.0 (seconds-per-frame))) + (if (= (-> this jmod-barrels s5-0 transform trans z) f30-0) + (set! (-> this barrel-fire-state s5-0) #f) + ) + ) + (else + (seek! (-> this jmod-barrels s5-0 transform trans z) 0.0 (* 7168.0 (seconds-per-frame))) + ) + ) + ) + ) + #f + ) + +;; failed to figure out what this is: +(defstate player-riding (bt-hellcat) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + (set-blackout-frames 0) + (send-event (handle->process (-> self task-man)) 'set-turret (-> self child-turret)) + (set-time! (-> self state-time)) + ) + :exit (behavior () + '() + ) + :trans (behavior () + (let ((gp-0 (if (handle->process (-> self grunt-rider)) + (-> self grunt-rider) + (send-event (handle->process (-> self task-man)) 'get-vehicle 1) + ) + ) + ) + (dotimes (s5-0 (-> self rider-spots length)) + (send-event (handle->process (-> self rider-spots data s5-0 rider)) 'set-track gp-0) + ) + ) + (if (not (-> self mission-fail?)) + (bt-vehicle-method-31 self) + ) + (bt-hellcat-method-51 self) + (set! (-> *game-info* health-bar-vehicle) (/ (-> self hit-points) (-> self max-hit-points))) + ) + :code sleep-code + :post (behavior () + (draw-thruster self) + (logior! (-> self skel status) (joint-control-status sync-math)) + (transform-post) + ) + ) + +;; definition for method 30 of type bt-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this bt-hellcat)) + (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 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 26624.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 2048.0 -409.6 6144.0) + (set! (-> v1-15 nav-radius) 24576.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> v1-17 prim-core action) (collide-action solid)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 4096.0 -10240.0 8192.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-21 prim-core action) (collide-action solid)) + (set! (-> v1-21 transform-index) 0) + (set-vector! (-> v1-21 local-sphere) -10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-23 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-23 prim-core action) (collide-action solid rideable)) + (set! (-> v1-23 transform-index) 3) + (set-vector! (-> v1-23 local-sphere) 0.0 0.0 0.0 26624.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-25 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> this root) s5-0) + ) + (iterate-prims + (-> this root) + (lambda ((arg0 collide-shape-prim)) + (let ((v1-0 (-> arg0 prim-core prim-type))) + (cond + ((= v1-0 -1) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere)) + ) + ((= v1-0 1) + (set! (-> arg0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-mesh)) + ) + ((zero? v1-0) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + ) + ) + ) + (none) + ) + ) + 0 + (none) + ) + +;; definition for method 20 of type bt-gun-manager +;; INFO: Used lq/sq +(defmethod find-target ((this bt-gun-manager)) + (local-vars + (sv-16 float) + (sv-20 process-drawable) + (sv-24 int) + (sv-32 process-drawable) + (sv-80 vector) + (sv-84 vector) + (sv-88 float) + (sv-128 vector) + (sv-132 vector) + (sv-136 float) + (sv-208 vector) + (sv-212 vector) + (sv-216 vector) + (sv-220 vector) + (sv-224 float) + (sv-228 bt-gun-manager-target) + (sv-784 process-drawable) + (sv-832 vector) + (sv-836 vector) + (sv-840 float) + (sv-880 vector) + (sv-884 vector) + (sv-888 float) + (sv-960 vector) + (sv-964 vector) + (sv-968 vector) + (sv-972 vector) + (sv-976 float) + (sv-980 bt-gun-manager-target) + (sv-1536 process-drawable) + (sv-1584 vector) + (sv-1588 vector) + (sv-1592 float) + (sv-1632 vector) + (sv-1636 vector) + (sv-1640 float) + (sv-1712 vector) + (sv-1716 vector) + (sv-1720 vector) + (sv-1724 vector) + (sv-1728 float) + (sv-1732 bt-gun-manager-target) + ) + (set! (-> this num-onscreen-targets) 0) + (set! sv-16 (the-as float 18.0)) + (set! sv-20 (the-as process-drawable #f)) + (set! sv-24 -1) + (when #f + (let ((v1-4 (-> *collide-player-list* alive-list next0))) + *collide-player-list* + (let ((s5-0 (-> v1-4 next0))) + (while (!= v1-4 (-> *collide-player-list* alive-list-end)) + (let* ((v1-5 (the-as collide-shape (-> (the-as connection v1-4) param1))) + (s4-0 (-> v1-5 root-prim)) + ) + (when (logtest? (-> s4-0 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-0 (-> v1-5 process))) + (set! sv-32 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (when (and sv-32 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-32) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-1 (new 'stack-no-clear 'vector))) + (set! (-> s3-1 quad) (-> (get-trans (the-as process-focusable sv-32) 3) quad)) + (set! sv-80 s3-1) + ) + (set! sv-84 (new 'stack-no-clear 'vector)) + (set! sv-88 (the-as float 0.0)) + (set! sv-88 (vector-vector-distance (-> this root trans) sv-80)) + (vector-! sv-84 sv-80 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-84 (-> (camera-matrix) fvec))) (< sv-88 819200.0)) + (set! sv-128 (new 'stack-no-clear 'vector)) + (set! sv-132 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-136 (the-as float 0.0)) + (set-vector! sv-132 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-132 x) -256.0) + (+! (-> sv-132 y) -208.0) + (+! (-> sv-132 x) 2048.0) + (+! (-> sv-132 y) 2048.0) + (transform-point-vector! sv-128 sv-80) + (set! (-> sv-128 z) 0.0) + (set! sv-208 (new 'stack-no-clear 'vector)) + (set! sv-212 (new 'stack-no-clear 'vector)) + (set! sv-216 (new 'stack-no-clear 'vector)) + (set! sv-220 (new 'stack-no-clear 'vector)) + (vector+float*! sv-208 sv-80 (-> (camera-matrix) rvec) (* 0.6 (-> s4-0 prim-core world-sphere w))) + (vector+float*! sv-212 sv-80 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-0 prim-core world-sphere w)))) + (transform-point-vector! sv-216 sv-208) + (transform-point-vector! sv-220 sv-212) + (set! (-> sv-216 z) 0.0) + (set! (-> sv-220 z) 0.0) + (set! sv-224 (* 0.5 (vector-vector-distance sv-216 sv-220))) + (set! sv-228 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-136 (vector-vector-distance sv-132 sv-128)) + (set! sv-136 (- sv-136 sv-224)) + (let ((a1-11 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-11 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-11 move-dist) sv-80 (-> a1-11 start-pos)) + (let ((v1-57 a1-11)) + (set! (-> v1-57 radius) 40.96) + (set! (-> v1-57 collide-with) (collide-spec backgnd)) + (set! (-> v1-57 ignore-process0) #f) + (set! (-> v1-57 ignore-process1) #f) + (set! (-> v1-57 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-57 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-11) 0.0) + (when (< sv-136 sv-16) + (set! sv-20 sv-32) + (set! sv-16 sv-136) + (set! (-> this hit-pos quad) (-> sv-80 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-228 transformed-pos) sv-80) + (set! (-> sv-228 hit?) #f) + (set! (-> sv-228 hand) (process->handle sv-32)) + (set! (-> sv-228 size) sv-224) + (set! (-> sv-228 alpha) (lerp-scale-clamp 0.0 1.0 sv-88 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-4 s5-0) + *collide-player-list* + (set! s5-0 (-> s5-0 next0)) + ) + ) + ) + ) + (when #t + (when #f + (let ((v1-80 (-> *collide-hit-by-player-list* alive-list next0))) + *collide-hit-by-player-list* + (let ((s5-1 (-> v1-80 next0))) + (while (!= v1-80 (-> *collide-hit-by-player-list* alive-list-end)) + (let* ((v1-81 (the-as collide-shape (-> (the-as connection v1-80) param1))) + (s4-1 (-> v1-81 root-prim)) + ) + (when (logtest? (-> s4-1 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-9 (-> v1-81 process))) + (set! sv-784 (if (type? s3-9 process-focusable) + s3-9 + ) + ) + ) + (when (and sv-784 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-784) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-10 (new 'stack-no-clear 'vector))) + (set! (-> s3-10 quad) (-> (get-trans (the-as process-focusable sv-784) 3) quad)) + (set! sv-832 s3-10) + ) + (set! sv-836 (new 'stack-no-clear 'vector)) + (set! sv-840 (the-as float 0.0)) + (set! sv-840 (vector-vector-distance (-> this root trans) sv-832)) + (vector-! sv-836 sv-832 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-836 (-> (camera-matrix) fvec))) (< sv-840 819200.0)) + (set! sv-880 (new 'stack-no-clear 'vector)) + (set! sv-884 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-888 (the-as float 0.0)) + (set-vector! sv-884 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-884 x) -256.0) + (+! (-> sv-884 y) -208.0) + (+! (-> sv-884 x) 2048.0) + (+! (-> sv-884 y) 2048.0) + (transform-point-vector! sv-880 sv-832) + (set! (-> sv-880 z) 0.0) + (set! sv-960 (new 'stack-no-clear 'vector)) + (set! sv-964 (new 'stack-no-clear 'vector)) + (set! sv-968 (new 'stack-no-clear 'vector)) + (set! sv-972 (new 'stack-no-clear 'vector)) + (vector+float*! sv-960 sv-832 (-> (camera-matrix) rvec) (* 0.6 (-> s4-1 prim-core world-sphere w))) + (vector+float*! sv-964 sv-832 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-1 prim-core world-sphere w)))) + (transform-point-vector! sv-968 sv-960) + (transform-point-vector! sv-972 sv-964) + (set! (-> sv-968 z) 0.0) + (set! (-> sv-972 z) 0.0) + (set! sv-976 (* 0.5 (vector-vector-distance sv-968 sv-972))) + (set! sv-980 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-888 (vector-vector-distance sv-884 sv-880)) + (set! sv-888 (- sv-888 sv-976)) + (let ((a1-25 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-25 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-25 move-dist) sv-832 (-> a1-25 start-pos)) + (let ((v1-133 a1-25)) + (set! (-> v1-133 radius) 40.96) + (set! (-> v1-133 collide-with) (collide-spec backgnd)) + (set! (-> v1-133 ignore-process0) #f) + (set! (-> v1-133 ignore-process1) #f) + (set! (-> v1-133 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-133 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-25) 0.0) + (when (< sv-888 sv-16) + (set! sv-20 sv-784) + (set! sv-16 sv-888) + (set! (-> this hit-pos quad) (-> sv-832 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-980 transformed-pos) sv-832) + (set! (-> sv-980 hit?) #f) + (set! (-> sv-980 hand) (process->handle sv-784)) + (set! (-> sv-980 size) sv-976) + (set! (-> sv-980 alpha) (lerp-scale-clamp 0.0 1.0 sv-840 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-80 s5-1) + *collide-hit-by-player-list* + (set! s5-1 (-> s5-1 next0)) + ) + ) + ) + ) + (when #t + (let ((v1-155 (-> *collide-hit-by-others-list* alive-list next0))) + *collide-hit-by-others-list* + (let ((s5-2 (-> v1-155 next0))) + (while (!= v1-155 (-> *collide-hit-by-others-list* alive-list-end)) + (let* ((v1-156 (the-as collide-shape (-> (the-as connection v1-155) param1))) + (s4-2 (-> v1-156 root-prim)) + ) + (when (logtest? (-> s4-2 prim-core collide-as) (collide-spec enemy obstacle hit-by-others-list)) + (let ((s3-18 (-> v1-156 process))) + (set! sv-1536 (if (type? s3-18 process-focusable) + s3-18 + ) + ) + ) + (when (and sv-1536 + (< (-> this num-onscreen-targets) 32) + (not (logtest? (-> (the-as process-focusable sv-1536) focus-status) (focus-status disable dead ignore inactive)) + ) + ) + (let ((s3-19 (new 'stack-no-clear 'vector))) + (set! (-> s3-19 quad) (-> (get-trans (the-as process-focusable sv-1536) 3) quad)) + (set! sv-1584 s3-19) + ) + (set! sv-1588 (new 'stack-no-clear 'vector)) + (set! sv-1592 (the-as float 0.0)) + (set! sv-1592 (vector-vector-distance (-> this root trans) sv-1584)) + (vector-! sv-1588 sv-1584 (camera-pos)) + (when (and (< 1.0 (vector-dot sv-1588 (-> (camera-matrix) fvec))) (< sv-1592 819200.0)) + (set! sv-1632 (new 'stack-no-clear 'vector)) + (set! sv-1636 (vector+float*! (new 'stack-no-clear 'vector) (-> this root trans) (-> this aim-dir) 40960.0)) + (set! sv-1640 (the-as float 0.0)) + (set-vector! sv-1636 (lerp 0.0 512.0 (-> this roty)) (lerp 0.0 416.0 (-> this rotx)) 0.0 1.0) + (+! (-> sv-1636 x) -256.0) + (+! (-> sv-1636 y) -208.0) + (+! (-> sv-1636 x) 2048.0) + (+! (-> sv-1636 y) 2048.0) + (transform-point-vector! sv-1632 sv-1584) + (set! (-> sv-1632 z) 0.0) + (set! sv-1712 (new 'stack-no-clear 'vector)) + (set! sv-1716 (new 'stack-no-clear 'vector)) + (set! sv-1720 (new 'stack-no-clear 'vector)) + (set! sv-1724 (new 'stack-no-clear 'vector)) + (vector+float*! sv-1712 sv-1584 (-> (camera-matrix) rvec) (* 0.6 (-> s4-2 prim-core world-sphere w))) + (vector+float*! sv-1716 sv-1584 (-> (camera-matrix) rvec) (* 0.6 (- (-> s4-2 prim-core world-sphere w)))) + (transform-point-vector! sv-1720 sv-1712) + (transform-point-vector! sv-1724 sv-1716) + (set! (-> sv-1720 z) 0.0) + (set! (-> sv-1724 z) 0.0) + (set! sv-1728 (* 0.5 (vector-vector-distance sv-1720 sv-1724))) + (set! sv-1732 (-> this onscreen-targets (-> this num-onscreen-targets))) + (set! sv-1640 (vector-vector-distance sv-1636 sv-1632)) + (set! sv-1640 (- sv-1640 sv-1728)) + (let ((a1-39 (new 'stack-no-clear 'collide-query))) + (set! (-> a1-39 start-pos quad) (-> this root trans quad)) + (vector-! (-> a1-39 move-dist) sv-1584 (-> a1-39 start-pos)) + (let ((v1-208 a1-39)) + (set! (-> v1-208 radius) 40.96) + (set! (-> v1-208 collide-with) (collide-spec backgnd)) + (set! (-> v1-208 ignore-process0) #f) + (set! (-> v1-208 ignore-process1) #f) + (set! (-> v1-208 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-208 action-mask) (collide-action solid)) + ) + (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-39) 0.0) + (when (< sv-1640 sv-16) + (set! sv-20 sv-1536) + (set! sv-16 sv-1640) + (set! (-> this hit-pos quad) (-> sv-1584 quad)) + (set! sv-24 (-> this num-onscreen-targets)) + ) + (transform-point-qword! (-> sv-1732 transformed-pos) sv-1584) + (set! (-> sv-1732 hit?) #f) + (set! (-> sv-1732 hand) (process->handle sv-1536)) + (set! (-> sv-1732 size) sv-1728) + (set! (-> sv-1732 alpha) (lerp-scale-clamp 0.0 1.0 sv-1592 20480.0 61440.0)) + (+! (-> this num-onscreen-targets) 1) + ) + ) + ) + ) + ) + ) + (set! v1-155 s5-2) + *collide-hit-by-others-list* + (set! s5-2 (-> s5-2 next0)) + ) + ) + ) + ) + ) + (cond + (sv-20 + (let ((s5-3 (process->handle sv-20))) + (when (or (!= (-> this target-hand) s5-3) (not (-> this found-target?))) + (let ((s4-3 (-> this hud-pers (-> this onscreen-targets sv-24 target-pers-index)))) + (set! (-> s4-3 alpha) 0.0) + (set! (-> s4-3 rotate) 0.0) + (when (time-elapsed? (-> this last-beep-time) (seconds 0.1)) + (sound-play "tracking-beep1" :vol 90) + (set-time! (-> this last-beep-time)) + ) + (set! (-> s4-3 size-scalar) 4.0) + (set-time! (-> s4-3 hold-start-time)) + ) + ) + (set! (-> this target-hand) (the-as handle s5-3)) + ) + (set! (-> this found-target?) #t) + (let ((v0-53 (the-as object #t))) + (set! (-> this onscreen-targets sv-24 hit?) (the-as symbol v0-53)) + v0-53 + ) + ) + (else + (set! (-> this found-target?) #f) + (vector+float*! (-> this hit-pos) (-> this root trans) (-> this aim-dir) 327680.0) + ) + ) + ) + +;; definition for method 21 of type bt-gun-manager +;; INFO: Used lq/sq +;; WARN: Return type mismatch uint vs none. +(defmethod fire-shot ((this bt-gun-manager)) + (when (and (cpad-hold? 0 r1) (time-elapsed? (-> this last-fire-time) (seconds 0.1))) + (set-time! (-> this last-fire-time)) + (new 'stack 'projectile-init-by-other-params) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 quad) (-> this root trans quad)) + (new 'stack-no-clear 'vector) + 491520.0 + (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)) + (let* ((s4-0 (handle->process (-> this parent-vehicle))) + (v1-22 (if (type? s4-0 process-focusable) + (the-as process-focusable s4-0) + ) + ) + ) + (when v1-22 + (vector<-cspace! s5-0 (-> v1-22 node-list data (-> *bt-hellcat-gun-nodes* (-> this fire-index)))) + (send-event (handle->process (-> this parent-vehicle)) 'fire (-> this fire-index)) + ) + ) + (sound-play "hc-gun-fire" :position (-> this root trans)) + (let ((s4-2 (new 'stack-no-clear 'collide-query))) + (set! (-> s4-2 start-pos quad) (-> this root trans quad)) + (vector-! (-> s4-2 move-dist) (-> this hit-pos) (-> s4-2 start-pos)) + (let ((v1-35 s4-2)) + (set! (-> v1-35 radius) 1228.8) + (set! (-> v1-35 collide-with) (collide-spec backgnd civilian enemy obstacle hit-by-others-list)) + (set! (-> v1-35 ignore-process0) (handle->process (-> this parent-vehicle))) + (set! (-> v1-35 ignore-process1) (handle->process (-> *blow-tower-targets* pickup))) + (set! (-> v1-35 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-35 action-mask) (collide-action solid)) + ) + (let ((f0-2 (fill-and-probe-using-line-sphere *collide-cache* s4-2))) + (when (>= f0-2 0.0) + (vector-float*! (-> s4-2 move-dist) (-> s4-2 move-dist) f0-2) + (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)))) + (sound-play "hellcat-riccos" :position s3-2) + (cond + ((logtest? (-> *part-group-id-table* 1461 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) + (-> (vector+! + (new 'stack-no-clear 'vector) + s3-2 + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) + ) + quad + ) + ) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1461)) + ) + (else + (set! (-> *launch-matrix* trans quad) + (-> (vector+! + (new 'stack-no-clear 'vector) + s3-2 + (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-2 move-dist) -4096.0) + ) + quad + ) + ) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1461)) + ) + ) + ) + (when (and (-> s4-2 best-other-tri collide-ptr) (let ((s3-5 (-> s4-2 best-other-tri collide-ptr))) + (if (type? s3-5 collide-shape-prim-sphere) + s3-5 + ) + ) + ) + (let* ((s3-6 (-> s4-2 best-other-tri collide-ptr)) + (a0-50 (-> (the-as collide-shape-prim-sphere (if (type? s3-6 collide-shape-prim-sphere) + (the-as collide-shape-prim-sphere s3-6) + ) + ) + cshape + process + ) + ) + ) + (if a0-50 + (send-event + a0-50 + 'attack + #f + (static-attack-info + :mask (vehicle-impulse-factor) + ((id (new-attack-id)) + (damage 1.0) + (vehicle-damage-factor 1.0) + (vehicle-impulse-factor 1.0) + (mode 'eco-blue) + (attacker-velocity (vector-! (new 'stack-no-clear 'vector) (-> this hit-pos) (-> s4-2 start-pos))) + ) + ) + ) + ) + ) + ) + ) + ) + (let ((s3-8 (vector-! + (new 'stack-no-clear 'vector) + (vector+! (new 'stack-no-clear 'vector) (-> s4-2 start-pos) (-> s4-2 move-dist)) + s5-0 + ) + ) + ) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 76 (seconds 0.05)) + (draw-beam (-> *part-id-table* 231) s5-0 s3-8 #t) + (draw-beam (-> *part-id-table* 364) s5-0 s3-8 #f) + ) + ) + ) + (+! (-> this fire-index) 1) + (logand! (-> this fire-index) 3) + ) + (none) + ) + +;; definition for function draw-path-blow-curve +;; INFO: Used lq/sq +(defun draw-path-blow-curve ((arg0 cubic-curve) (arg1 vector)) + (let ((s4-0 (new 'stack-no-clear 'matrix)) + (s3-0 10) + ) + (cubic-curve-method-10 arg0 (-> s4-0 uvec) 0.0) + (add-debug-x #t (bucket-id debug-no-zbuf1) (-> s4-0 uvec) (the-as rgba arg1)) + (dotimes (s2-0 s3-0) + (set! (-> s4-0 rvec quad) (-> s4-0 uvec quad)) + (let ((f0-2 (/ (+ 1.0 (the float s2-0)) (the float s3-0)))) + (cubic-curve-method-10 arg0 (-> s4-0 uvec) f0-2) + ) + (add-debug-line + #t + (bucket-id debug-no-zbuf1) + (-> s4-0 rvec) + (-> s4-0 uvec) + (the-as rgba arg1) + #f + (the-as rgba -1) + ) + ) + ) + #f + ) + +;; definition for method 31 of type bt-hellcat +;; INFO: Used lq/sq +(defmethod bt-vehicle-method-31 ((this bt-hellcat)) + (local-vars (f30-2 float) (sv-256 vector) (sv-260 vector) (sv-264 vector) (sv-268 vector)) + (set-vector! (-> this rider-spots data 0 offset-pos) 0.0 0.0 0.0 1.0) + (set-vector! (-> this rider-spots data 1 offset-pos) 0.0 0.0 0.0 1.0) + (let ((s5-0 (new 'stack 'blow-tower-clock))) + (set! (-> s5-0 debug?) #f) + (send-event (handle->process (-> this task-man)) 'get-clock s5-0) + (blow-tower-path-cursor-method-9 (-> this path-cursor) (the-as int (-> s5-0 elapsed-clock-time))) + (if (-> s5-0 debug-lock-view?) + (send-event (handle->process (-> this child-turret)) 'snap-forward) + ) + (let ((f0-9 (* 3.0 (seconds-per-frame)))) + (if (-> s5-0 debug?) + (set! f0-9 1.0) + ) + (when (not (-> this inited?)) + (set! (-> this inited?) #t) + (set! f0-9 1.0) + ) + (vector-lerp! (-> this path-pos) (-> this path-pos) (-> this path-cursor pos) f0-9) + ) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s2-0 quad) (-> this pre-bounce-pos quad)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + 0.0 + (set! (-> this pre-bounce-pos quad) (-> this path-pos quad)) + (bt-vehicle-method-40 this (the-as int (-> s5-0 elapsed-clock-time))) + (+! (-> this pre-bounce-pos y) (-> this path-height-offset)) + (vector-! s4-0 s2-0 (-> this pre-bounce-pos)) + (let ((f30-0 (/ (vector-length s4-0) (seconds-per-frame)))) + (vector-! s3-0 s4-0 (-> this last-vel)) + (vector-length s3-0) + (let ((f28-0 (lerp-scale-clamp 0.0 1.0 f30-0 81920.0 163840.0))) + (sound-play-by-name + (static-sound-name "hc-engine") + (-> this engine-sound) + 1024 + (the int (* 1524.0 (lerp 0.0 0.25 f28-0))) + 0 + (sound-group) + (-> this root trans) + ) + (sound-play-by-name + (static-sound-name "hc-thrust") + (-> this thrust-sound) + (the int (* 1024.0 (lerp 0.5 1.0 f28-0))) + 0 + 0 + (sound-group) + (-> this root trans) + ) + ) + (set! (-> this last-vel quad) (-> s4-0 quad)) + (set! (-> this last-speed) f30-0) + ) + ) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (let ((a2-8 (new 'stack-no-clear 'vector))) + (bt-vehicle-method-41 this s4-1 a2-8) + ) + (vector+! (-> this root trans) (-> this pre-bounce-pos) s4-1) + ) + (let ((v1-58 (new 'stack-no-clear 'vector))) + (set! (-> v1-58 quad) (-> this path-cursor norm quad)) + (set! sv-256 v1-58) + ) + (set! sv-260 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-264 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (set! sv-268 (new 'stack-no-clear 'vector)) + (set! (-> sv-260 y) 0.0) + (vector-normalize! sv-260 1.0) + (set! (-> sv-264 y) 0.0) + (vector-normalize! sv-264 1.0) + (set! (-> sv-256 y) 0.0) + (vector-normalize! sv-256 1.0) + (seek! + (-> this roll-amount) + (-> this dest-roll-amount) + (* (-> this roll-amount-seek-rate) (seconds-per-frame)) + ) + (let ((s4-2 (quaternion-look-at! (new 'stack-no-clear 'quaternion) sv-256 *up-vector*)) + (f30-1 (seconds-per-frame)) + ) + 0.0 + (let ((v1-68 (the-as bt-gun-manager (handle->process (-> this child-turret)))) + (s3-3 (-> this pitch-quat)) + ) + (let ((f28-1 (-> this roll-amount))) + (vector-rotate-around-axis! sv-268 (the-as quaternion sv-260) (-> v1-68 rot-y-shift) *up-vector*) + (quaternion-vector-angle! s3-3 sv-268 f28-1) + ) + (quaternion*! s4-2 s3-3 s4-2) + ) + (let* ((f0-33 (vector-dot sv-256 sv-264)) + (f1-5 (* 2.5 (- 1.0 f0-33))) + (f0-36 (- 1.0 (* (- 1.0 f1-5) (- 1.0 f1-5)))) + ) + (if (< 0.0 (vector-dot sv-256 sv-260)) + (set! f0-36 (* -1.0 f0-36)) + ) + (quaternion-rotate-local-z! s4-2 s4-2 (* 8192.0 f0-36)) + ) + (if (-> s5-0 debug?) + (set! f30-1 1.0) + ) + (let ((f0-38 (-> this path-height-vel))) + 0.0 + (let ((f0-41 (fmax -1.0 (fmin 1.0 (* 0.000024414063 f0-38))))) + (quaternion-rotate-local-x! s4-2 s4-2 (* -4551.1113 f0-41)) + ) + ) + (quaternion-slerp! (-> this quat-before-bounce) (-> this quat-before-bounce) s4-2 f30-1) + ) + ) + (quaternion-copy! (-> this root quat) (-> this quat-before-bounce)) + (let ((s5-1 (new 'stack-no-clear 'quaternion))) + 1.0 + (set! f30-2 (cond + ((handle->process (-> this grunt-rider-boarded?)) + (quaternion-vector-angle! s5-1 sv-268 1820.4445) + 5.0 + ) + (else + (set! f30-2 1.0) + (quaternion-identity! s5-1) + f30-2 + ) + ) + ) + (quaternion-slerp! (-> this quat-grunt-tilt) (-> this quat-grunt-tilt) s5-1 (* f30-2 (seconds-per-frame))) + ) + (quaternion*! (-> this root quat) (-> this quat-grunt-tilt) (-> this quat-before-bounce)) + (when (time-elapsed? (-> this state-time) (seconds 0.2)) + (let ((s5-2 (new 'stack-no-clear 'quaternion)) + (f30-3 (fmin 1.0 (* 20.0 (seconds-per-frame)))) + ) + (let ((s4-3 (new 'stack-no-clear 'vector))) + (send-event (handle->process (-> this child-turret)) 'aim-quat s5-2) + (send-event (handle->process (-> this child-turret)) 'hit-pos s4-3) + ) + (new 'stack-no-clear 'vector) + (quaternion-vector-angle! (-> this jmod-rgun rotation) *up-vector* -2730.6667) + (quaternion-vector-angle! (-> this jmod-lgun rotation) *up-vector* -2730.6667) + (quaternion-rotate-local-x! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) -1456.3556) + (quaternion-rotate-local-x! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) -1456.3556) + (let ((v1-129 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (when v1-129 + (let* ((f1-16 (-> v1-129 rotx)) + (f0-47 (-> v1-129 roty)) + (f1-17 (* 2.0 f1-16)) + (f0-48 (* 2.0 f0-47)) + (f26-2 (+ -1.0 f1-17)) + (f28-2 (+ -1.0 f0-48)) + ) + (quaternion-rotate-local-x! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) (* 2730.6667 f26-2)) + (quaternion-rotate-local-x! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) (* 2730.6667 f26-2)) + (quaternion-rotate-local-y! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) 546.13336) + (quaternion-rotate-local-y! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) 546.13336) + (quaternion-rotate-local-y! (-> this jmod-lgun rotation) (-> this jmod-lgun rotation) (* -1820.4445 f28-2)) + (quaternion-rotate-local-y! (-> this jmod-rgun rotation) (-> this jmod-rgun rotation) (* 1820.4445 f28-2)) + ) + ) + ) + (logclear! (-> this draw status) (draw-control-status force-fade)) + (set! (-> this draw force-fade) (the-as uint 32)) + (let ((s4-4 (new 'stack-no-clear 'vector))) + (vector-z-quaternion! s4-4 s5-2) + (vector-normalize! s4-4 1.0) + (let ((s5-3 (quaternion-look-at! (new 'stack-no-clear 'quaternion) s4-4 *up-vector*))) + (let ((s2-3 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (s3-4 (new 'stack-no-clear 'vector)) + ) + (vector-x-quaternion! s3-4 s5-3) + (let ((a0-101 s3-4)) + (set! (-> a0-101 quad) (-> s3-4 quad)) + (set! (-> a0-101 y) 0.0) + (vector-normalize! a0-101 1.0) + ) + (let ((f0-59 (vector-dot s3-4 s2-3))) + (vector+float*! s3-4 s3-4 s2-3 (- f0-59)) + ) + (let* ((f28-3 (atan (-> s3-4 y) 1.0)) + (f1-19 (atan (-> s4-4 y) 1.0)) + (f0-65 (lerp f28-3 0.0 (fmax 0.0 (fmin 1.0 (* 0.0002746582 f1-19))))) + ) + (quaternion-rotate-local-z! s5-3 s5-3 f0-65) + ) + ) + (quaternion-slerp! (-> this jmod-turret-guns rotation) (-> this jmod-turret-guns rotation) s5-3 f30-3) + ) + ) + ) + (when (and (handle->process (-> this grunt-rider)) (handle->process (-> this grunt-rider-boarded?))) + (let ((a0-118 (the-as bt-gun-manager (handle->process (-> this child-turret))))) + (when a0-118 + (if (!= (the float (sar (shl (the int (bt-gun-manager-method-24 a0-118 (-> this root quat))) 48) 48)) + (the float (sar (shl (the int (-> this land-grunt-offset)) 48) 48)) + ) + (send-event (handle->process (-> this grunt-rider)) 'rider-eject) + ) + ) + ) + ) + ) + (call-parent-method this) + (none) + ) + +;; definition for function bt-pickup-init-by-other +;; INFO: Used lq/sq +(defbehavior bt-pickup-init-by-other bt-pickup ((arg0 bt-obj-init-params)) + (init-collision! self) + (set-vector! (-> self root scale) 2.2 2.0 1.75 1.0) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-bt-pickup" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-fields (-> self path-cursor)) + (set! (-> self path-cursor path) (-> arg0 path)) + (set! (-> self task-man) (-> arg0 task-man)) + (init-params self) + (go-virtual wait-for-player) + ) + +;; definition for method 30 of type bt-pickup +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this bt-pickup)) + (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 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 34816.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-12 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-12 prim-core action) (collide-action solid)) + (set! (-> v1-12 transform-index) 0) + (set-vector! (-> v1-12 local-sphere) 3686.4 0.0 12288.0 8192.0) + ) + (let ((v1-14 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-14 prim-core action) (collide-action solid)) + (set! (-> v1-14 transform-index) 0) + (set-vector! (-> v1-14 local-sphere) -3686.4 0.0 12288.0 8192.0) + ) + (let ((v1-16 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 5)))) + (set! (-> v1-16 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-16 transform-index) 0) + (set-vector! (-> v1-16 local-sphere) 0.0 819.2 5734.4 9830.4) + (set! (-> v1-16 nav-radius) 14336.0) + ) + (let ((v1-18 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 144)))) + (set! (-> v1-18 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-18 transform-index) 0) + (set-vector! (-> v1-18 local-sphere) 0.0 2048.0 -4096.0 11468.8) + (set! (-> v1-18 nav-radius) 14336.0) + ) + (let ((v1-20 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-20 prim-core action) (collide-action solid)) + (set! (-> v1-20 transform-index) 0) + (set-vector! (-> v1-20 local-sphere) 4915.2 0.0 -11468.8 8192.0) + ) + (let ((v1-22 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-22 prim-core action) (collide-action solid)) + (set! (-> v1-22 transform-index) 0) + (set-vector! (-> v1-22 local-sphere) -4915.2 0.0 -11468.8 8192.0) + ) + (let ((v1-24 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-24 prim-core action) (collide-action solid rideable)) + (set! (-> v1-24 transform-index) 3) + (set-vector! (-> v1-24 local-sphere) 0.0 0.0 0.0 34816.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-26 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-26 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> this root) s5-0) + ) + (iterate-prims + (-> this root) + (lambda ((arg0 collide-shape-prim)) + (let ((v1-0 (-> arg0 prim-core prim-type))) + (cond + ((= v1-0 -1) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere)) + ) + ((= v1-0 1) + (set! (-> arg0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-mesh)) + ) + ((zero? v1-0) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + bot + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + shield + vehicle-sphere-no-probe + ) + ) + (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) + ) + ) + ) + (none) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate wait-for-player (bt-pickup) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (go-virtual path-follow) + ) + (else + (bt-vehicle-handler proc argc message block) + ) + ) + ) + :trans (behavior () + '() + ) + :code sleep-code + :post transform-post + ) + +;; failed to figure out what this is: +(defstate path-follow (bt-pickup) + :virtual #t + :event bt-vehicle-handler + :enter (behavior () + '() + ) + :trans (behavior () + (set! (-> *game-info* bot-health 0) (* 100.0 (/ (-> self hit-points) (-> self max-hit-points)))) + (bt-vehicle-method-31 self) + (let ((gp-0 (new 'stack 'blow-tower-path-cursor))) + (set! (-> gp-0 path) (-> self path-cursor path)) + (blow-tower-path-cursor-method-9 gp-0 (the-as int (+ (-> self path-cursor current-time) (seconds 1.5)))) + (dotimes (s5-0 (-> self rider-spots length)) + (send-event (handle->process (-> self rider-spots data s5-0 rider)) 'set-track-pos (-> gp-0 pos)) + ) + ) + ) + :code sleep-code + :post (behavior () + (draw-thruster self) + (transform-post) + ) + ) + +;; definition for method 31 of type bt-pickup +;; INFO: Used lq/sq +(defmethod bt-vehicle-method-31 ((this bt-pickup)) + (set-vector! (-> this rider-spots data 0 offset-pos) 0.0 0.0 0.0 1.0) + (let ((s5-0 (new 'stack 'blow-tower-clock))) + (set! (-> s5-0 debug?) #f) + (send-event (handle->process (-> this task-man)) 'get-clock s5-0) + (blow-tower-path-cursor-method-9 (-> this path-cursor) (the-as int (-> s5-0 elapsed-clock-time))) + (set! (-> this root trans quad) (-> this path-cursor pos quad)) + (let ((f0-5 (* 4.0 (seconds-per-frame)))) + (if (-> s5-0 debug?) + (set! f0-5 1.0) + ) + (when (not (-> this inited?)) + (set! (-> this inited?) #t) + (set! f0-5 1.0) + ) + (vector-lerp! (-> this path-pos) (-> this path-pos) (-> this path-cursor pos) f0-5) + ) + (set! (-> this pre-bounce-pos quad) (-> this path-pos quad)) + (bt-vehicle-method-40 this (the-as int (-> s5-0 elapsed-clock-time))) + (+! (-> this pre-bounce-pos y) (-> this path-height-offset)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((a2-2 (new 'stack-no-clear 'vector))) + (bt-vehicle-method-41 this s4-0 a2-2) + ) + (vector+! (-> this root trans) (-> this pre-bounce-pos) s4-0) + ) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 quad) (-> this path-cursor norm quad)) + (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (set! (-> s2-0 y) 0.0) + (vector-normalize! s2-0 1.0) + (vector-normalize! s3-0 1.0) + (let ((s4-1 (quaternion-look-at! (new 'stack-no-clear 'quaternion) s3-0 *up-vector*)) + (f30-0 (* 2.0 (seconds-per-frame))) + ) + 0.0 + (let* ((f0-12 (vector-dot s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)))) + (f1-4 (* 2.5 (- 1.0 f0-12))) + (f0-15 (- 1.0 (* (- 1.0 f1-4) (- 1.0 f1-4)))) + ) + (if (< 0.0 (vector-dot s3-0 s2-0)) + (set! f0-15 (* -1.0 f0-15)) + ) + (quaternion-rotate-local-z! s4-1 s4-1 (* 8192.0 f0-15)) + ) + (let ((f0-17 (-> this path-height-vel))) + 0.0 + (let ((f0-20 (fmax -1.0 (fmin 1.0 (* 0.000024414063 f0-17))))) + (quaternion-rotate-local-x! s4-1 s4-1 (* -4551.1113 f0-20)) + ) + ) + (if (-> s5-0 debug?) + (set! f30-0 1.0) + ) + (when (< 5461.3335 (-> this barrel-roll-amount)) + (dotimes (s5-1 2) + (send-event (handle->process (-> this riders s5-1)) 'rider-eject-if-boarded) + ) + ) + (quaternion-slerp! (-> this quat-before-roll) (-> this quat-before-roll) s4-1 f30-0) + ) + ) + ) + ) + (let ((a2-9 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) *z-vector* (-> this barrel-roll-amount)))) + (quaternion-slerp! + (-> this barrel-roll-quat) + (-> this barrel-roll-quat) + a2-9 + (* (-> this barrel-roll-rate-scalar) (seconds-per-frame)) + ) + ) + (quaternion*! (-> this root quat) (-> this quat-before-roll) (-> this barrel-roll-quat)) + (call-parent-method this) + (none) + ) + +;; definition for function bt-force-show-hud +;; WARN: Return type mismatch int vs none. +(defun bt-force-show-hud ((arg0 symbol)) + (when (and *target* (or (not *progress-process*) (gone? (-> *progress-process* 0)))) + (let ((v1-7 (-> *hud-engine* alive-list next0))) + *hud-engine* + (let ((s5-0 (-> v1-7 next0))) + (while (!= v1-7 (-> *hud-engine* alive-list-end)) + (if (or (not arg0) (= arg0 (-> (the-as connection v1-7) param2))) + (send-event (the-as process (-> (the-as connection v1-7) param1)) 'force-show) + ) + (set! v1-7 s5-0) + *hud-engine* + (set! s5-0 (-> s5-0 next0)) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 30 of type task-manager-blow-tower +(defmethod taskman-event-handler ((this task-manager-blow-tower) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('vehicle-explode) + (if (= (-> arg0 type) bt-hellcat) + (go (method-of-object this wait-fail)) + (go (method-of-object this wind-down-mission)) + ) + ) + (('show-skill) + (bt-force-show-hud 'hud-skill) + (set! v0-0 (current-time)) + (set! (-> this show-skill-time) (the-as time-frame v0-0)) + v0-0 + ) + (('get-vehicle) + (-> this target-handles (-> arg3 param 0)) + ) + (('set-turret) + (set! v0-0 (-> arg3 param 0)) + (set! (-> this hellcat-turret) (the-as handle v0-0)) + v0-0 + ) + (('get-clock) + (let ((v1-10 (the-as blow-tower-clock (-> arg3 param 0)))) + (set! (-> v1-10 elapsed-clock-time) (-> this mission-elapsed-clock)) + (set! (-> v1-10 debug?) + (the-as symbol (and (-> this next-state) (= (-> this next-state name) 'mission-debug))) + ) + (set! (-> v1-10 debug-lock-view?) (and (-> v1-10 debug?) (-> this debug-lock-viewport?))) + ) + #t + ) + (else + (call-parent-method this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; failed to figure out what this is: +(defstate mission-debug (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> *blow-tower-targets* debug?) #t) + ) + :exit (behavior () + (set! (-> *blow-tower-targets* debug?) #f) + (iterate-process-tree + *active-pool* + (lambda ((arg0 process)) (send-event arg0 'blow-tower-debug-end) #t) + *null-kernel-context* + ) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + (dotimes (v1-2 2) + (set! (-> *blow-tower-targets* target-handles v1-2) (-> self target-handles v1-2)) + ) + (set! (-> self script) *blow-tower-script*) + (format *stdebug* "========= Blow tower - Debug mode =========~%") + (let ((t9-2 format) + (a0-4 *stdebug*) + (a1-3 "Current time (~d:~d) [mission-percentage ~f~%") + (a2-1 (the int (* 0.00005555556 (the float (-> self mission-elapsed-clock))))) + (f0-4 (* 0.0033333334 (the float (-> self mission-elapsed-clock)))) + ) + (t9-2 a0-4 a1-3 a2-1 (the int (- f0-4 (* (the float (the int (/ f0-4 60.0))) 60.0)))) + ) + (format + *stdebug* + "Current event-id ~d | Next event-id ~d~%" + (-> self event-cursor event-id) + (-> self event-cursor path node-info (+ (-> self event-cursor current-node-index) 1) event-id) + ) + (dotimes (gp-0 (-> self script length)) + (when (= (-> self script gp-0 event-id) (-> self event-cursor event-id)) + (let* ((a0-11 (-> self script gp-0 command-list)) + (s5-0 ((method-of-type (rtype-of a0-11) length) a0-11)) + ) + (when (> s5-0 0) + (format *stdebug* "Commands are: ") + (dotimes (s4-0 s5-0) + (let ((a2-3 (ref (-> self script gp-0 command-list) s4-0))) + (format *stdebug* "~s " a2-3) + ) + (if (= (logand s4-0 1) 1) + (format *stdebug* "~%") + ) + ) + (format *stdebug* "~%") + ) + ) + ) + ) + (format + *stdebug* + "Events? ~s (triangle) | Lock view? ~s (circle)~%" + (-> self debug-run-events?) + (-> self debug-lock-viewport?) + ) + (if (cpad-pressed? 1 triangle) + (set! (-> self debug-run-events?) (not (-> self debug-run-events?))) + ) + (if (cpad-pressed? 1 circle) + (set! (-> self debug-lock-viewport?) (not (-> self debug-lock-viewport?))) + ) + (when (cpad-pressed? 1 square) + (let ((v1-58 (handle->process (-> self hellcat)))) + (if v1-58 + (set! (-> (the-as bt-hellcat v1-58) hit-points) (-> (the-as bt-hellcat v1-58) max-hit-points)) + ) + ) + (let ((v1-61 (the-as bt-pickup (handle->process (-> self pickup))))) + (if v1-61 + (set! (-> v1-61 hit-points) (-> v1-61 max-hit-points)) + ) + ) + ) + (when (cpad-pressed? 1 r3) + (send-event (handle->process (-> self hellcat-turret)) 'look-at 0 450 #x41200000) + (send-event (handle->process (-> self hellcat)) 'set-path-height 0 (-> self mission-elapsed-clock)) + (send-event (handle->process (-> self pickup)) 'set-path-height 0 (-> self mission-elapsed-clock)) + (send-event (handle->process (-> self hellcat)) 'roll-amount 0 #x43b40000) + (set! (-> self clock-scalar) 1.0) + (set! (-> self dest-clock-scalar) 1.0) + ) + (let ((f0-11 (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 -1.0))) + (+! (-> self mission-elapsed-clock) (the int (* 3000.0 f0-11 (seconds-per-frame)))) + (if (< 0.9 f0-11) + (+! (-> self mission-elapsed-clock) (the int (* 1500.0 (seconds-per-frame)))) + ) + (set! (-> self mission-elapsed-clock) + (the-as + time-frame + (max + 0 + (min + (-> self mission-elapsed-clock) + (the int + (fmax + (* (the float (-> *blow-tower-paths* 0 total-time)) + (-> *blow-tower-paths* 0 node-info (+ (-> *blow-tower-paths* 0 num-nodes) -1) accum-time-percentage) + ) + (* (the float (-> *blow-tower-paths* 1 total-time)) + (-> *blow-tower-paths* 1 node-info (+ (-> *blow-tower-paths* 1 num-nodes) -1) accum-time-percentage) + ) + ) + ) + ) + ) + ) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (if (< 0.0 f0-11) + (task-manager-blow-tower-method-37 self (if (-> self debug-run-events?) + 'all + 'debug + ) + ) + ) + ) + (if (and (time-elapsed? (-> self state-time) (seconds 0.1)) (or (cpad-pressed? 1 start) (cpad-pressed? 1 select))) + (go-virtual mission-play) + ) + ) + :code sleep-code + ) + +;; definition for symbol *blow-tower-kg-squad-member-settings*, type (inline-array kg-squad-member-settings) +(define *blow-tower-kg-squad-member-settings* (new 'static 'inline-array kg-squad-member-settings 4 + (new 'static 'kg-squad-member-settings + :object-type (traffic-type roboguard) + :max-target-count #x7f + :enemy-type (traffic-type guard-a) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type roboguard) + :max-target-count #x7f + :enemy-type (traffic-type guard-b) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type flying-turret) + :max-target-count #x7f + :enemy-type (traffic-type metalhead-grunt) + ) + (new 'static 'kg-squad-member-settings + :object-type (traffic-type spydroid) + :max-target-count #x7f + :target-count 10 + :enemy-type (traffic-type metalhead-flitter) + ) + ) + ) + +;; failed to figure out what this is: +(defstate mission-play (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-blackout-frames 0) + (speech-play *blow-tower-speech* 10 *blow-tower-speech-list* (target-pos 0)) + (set! (-> self last-missile-spawn-time) 0) + (set-time! (-> self state-time)) + (set-setting! 'kg-enemy-settings #f 0.0 *blow-tower-kg-squad-member-settings*) + (set-setting! 'minimap 'clear 0.0 (minimap-flag minimap)) + (talker-spawn-func (-> *talker-speech* 362) *entity-pool* (target-pos 0) (the-as region #f)) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + (format *stdebug* "Event ID: ~d~%" (-> self event-cursor event-id)) + (when (and (> (-> self show-skill-time) 0) (time-elapsed? (-> self show-skill-time) (seconds 2))) + (set! (-> self show-skill-time) 0) + (hide-hud 'hud-skill) + ) + (set! (-> *ACTOR-bank* birth-max) 1000) + (seek! (-> self clock-scalar) (-> self dest-clock-scalar) (* 0.5 (seconds-per-frame))) + (set! (-> *blow-tower-targets* clock-scalar) (-> self clock-scalar)) + (dotimes (v1-13 2) + (set! (-> *blow-tower-targets* target-handles v1-13) (-> self target-handles v1-13)) + ) + (+! (-> self mission-elapsed-clock) + (the int (* (the float (- (current-time) (-> self clock old-frame-counter))) (-> self clock-scalar))) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (task-manager-blow-tower-method-37 self 'all) + ) + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate wait-for-exit (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set-blackout-frames (seconds 1)) + (send-event (handle->process (-> self hellcat-turret)) 'allow-exit) + (send-event *target* 'end-mode 'turret) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code (behavior () + (while (let ((gp-0 'turret)) + (= (send-event *target* 'query 'mode) gp-0) + ) + (suspend) + ) + (send-event (handle->process (-> self hellcat)) 'exit) + (send-event (handle->process (-> self pickup)) 'exit) + (send-event self 'complete) + (sleep-code) + ) + ) + +;; definition for method 25 of type task-manager-blow-tower +(defmethod task-manager-method-25 ((this task-manager-blow-tower)) + (send-event (ppointer->process *time-of-day*) 'change 'ratio 1.0) + (call-parent-method this) + (none) + ) + +;; failed to figure out what this is: +(defstate active (task-manager-blow-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('player-board) + (set! (-> self mission-elapsed-clock) 0) + (send-event (handle->process (-> self pickup)) 'player-board) + (if (task-node-closed? (game-task-node city-blow-tower-phase-1)) + (advance self (seconds 31.667)) + ) + (go-virtual mission-play) + ) + (else + (task-manager-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (let ((f0-1 (the float (-> *game-info* sub-task-list (game-task-node city-protect-hq-resolution) death-count)))) + (set! (-> *blow-tower-targets* difficulty-scalar) (lerp-scale-clamp 1.0 0.5 f0-1 3.0 10.0)) + ) + (speeches-reset *blow-tower-speech*) + (set-setting! 'rain 'abs 0.0 0) + (set-setting! 'disable-parking-spots? #t 0.0 0) + (set! (-> self dest-clock-scalar) 1.0) + (set! (-> self clock-scalar) 1.0) + (set-setting! 'music 'destower 0.0 0) + (set! (-> self last-missile-ent) "") + (set-setting! 'lock-sound-camera-to-target #t 0.0 0) + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'hide-crates? #t 0.0 0) + (set! (-> self debug-lock-viewport?) #f) + (set! (-> self debug-run-events?) #f) + (send-event (ppointer->process *time-of-day*) 'change 'hour 14) + (send-event (ppointer->process *time-of-day*) 'change 'ratio 0.1) + (set-cloud-and-fog-interp! *mood-control* 0.0 0.0 0.0 0.0) + (set-time-for-random-weather! *mood-control* 100000000.0 100000000.0) + (set! (-> self script) *blow-tower-script*) + (set-setting! 'city-sound '(blow1 blow2 blow3h) 0.0 2) + (dotimes (v1-44 3) + (set! (-> self bombbot-records v1-44 hand) (the-as handle #f)) + (set! (-> self bombbot-records v1-44 ent-name) "") + ) + (let ((v1-48 (new 'stack 'blow-tower-path-cursor))) + 60.0 + 60.0 + (let ((f0-7 0.75)) + (set! (-> v1-48 path) (-> *blow-tower-paths* 0)) + (let ((f28-0 + (/ (-> *blow-tower-paths* 0 node-info (+ (-> *blow-tower-paths* 0 num-nodes) -2) accum-dist) + (* 104448.0 f0-7) + ) + ) + (f30-0 + (/ (-> *blow-tower-paths* 1 node-info (+ (-> *blow-tower-paths* 1 num-nodes) -2) accum-dist) + (* 104448.0 f0-7) + ) + ) + ) + (let ((gp-1 + (vector-! (new 'stack-no-clear 'vector) (-> *blow-tower-paths* 0 pts 1) (-> *blow-tower-paths* 0 pts 0)) + ) + ) + (vector-normalize! gp-1 1.0) + (set! (-> *blow-tower-paths* 0 total-time) (the-as time-frame (the int (* 300.0 f28-0)))) + (set! (-> self event-cursor path) (-> *blow-tower-paths* 0)) + (init-fields (-> self event-cursor)) + (let ((s5-0 (new 'stack 'bt-obj-init-params))) + (set! (-> s5-0 pos quad) (-> *blow-tower-paths* 0 pts 0 quad)) + (quaternion-copy! (-> s5-0 quat) (quaternion-look-at! (new 'stack-no-clear 'quaternion) gp-1 *up-vector*)) + (set! (-> s5-0 path) (-> *blow-tower-paths* 0)) + (set! (-> s5-0 task-man) (process->handle self)) + (set! (-> self hellcat) (ppointer->handle (process-spawn bt-hellcat s5-0 :name "bt-hellcat" :to self))) + ) + ) + (let ((gp-4 + (vector-! (new 'stack-no-clear 'vector) (-> *blow-tower-paths* 1 pts 1) (-> *blow-tower-paths* 1 pts 0)) + ) + ) + (vector-normalize! gp-4 1.0) + (set! (-> *blow-tower-paths* 1 total-time) (the-as time-frame (the int (* 300.0 f30-0)))) + (let ((s5-1 (new 'stack 'bt-obj-init-params))) + (set! (-> s5-1 pos quad) (-> *blow-tower-paths* 1 pts 0 quad)) + (quaternion-copy! (-> s5-1 quat) (quaternion-look-at! (new 'stack-no-clear 'quaternion) gp-4 *up-vector*)) + (set! (-> s5-1 path) (-> *blow-tower-paths* 1)) + (set! (-> s5-1 task-man) (process->handle self)) + (set! (-> self pickup) (ppointer->handle (process-spawn bt-pickup s5-1 :name "bt-pickup" :to self))) + ) + ) + ) + ) + ) + (set! (-> self hud-arrows) + (ppointer->handle + (process-spawn hud-pickup-arrows :init hud-init-by-other :name "hud-pickup-arrows" :to self) + ) + ) + (send-event (handle->process (-> self hud-arrows)) 'force-show) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code sleep-code + ) + +;; definition for function clamp-to-ground +;; INFO: Used lq/sq +(defun clamp-to-ground ((arg0 vector)) + (let ((s5-0 (new 'stack-no-clear 'collide-query))) + (vector+float*! (-> s5-0 start-pos) arg0 *up-vector* 24576.0) + (set! (-> s5-0 move-dist quad) (the-as uint128 0)) + (set! (-> s5-0 move-dist y) -81920.0) + (let ((v1-4 s5-0)) + (set! (-> v1-4 radius) 409.6) + (set! (-> v1-4 collide-with) (collide-spec backgnd)) + (set! (-> v1-4 ignore-process0) #f) + (set! (-> v1-4 ignore-process1) #f) + (set! (-> v1-4 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-4 action-mask) (collide-action solid)) + ) + (if (>= (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) + (set! (-> arg0 y) (fmax 0.0 (-> s5-0 best-other-tri intersect y))) + ) + ) + ) + +;; definition for method 38 of type task-manager-blow-tower +;; INFO: Used lq/sq +(defmethod handle-bt-command ((this task-manager-blow-tower) (arg0 blow-tower-cmd)) + (local-vars (v0-3 object) (s4-8 int)) + (case (-> arg0 cmd-type) + (((blow-tower-cmd-type spawn)) + (case (-> arg0 spawn-type) + (((blow-tower-cmd-spawn-type kg-flyer) (blow-tower-cmd-spawn-type kg-flyer-ent)) + (let ((s4-0 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-0 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-0 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-0 entity-name) (-> arg0 entity-name)) + (set! (-> s4-0 time-offset) (-> arg0 time-offset)) + (if (= (-> s4-0 time-offset) 0.0) + (set! (-> s4-0 time-offset) 3.0) + ) + (process-spawn + kg-flyer + :init tower-flyer-init-by-other + s4-0 + :name "kg-flyer" + :to (handle->process (-> s4-0 target)) + ) + ) + ) + (((blow-tower-cmd-spawn-type mh-flyer) (blow-tower-cmd-spawn-type mh-flyer-ent)) + (let ((s4-1 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-1 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-1 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-1 entity-name) (-> arg0 entity-name)) + (set! (-> s4-1 time-offset) (-> arg0 time-offset)) + (if (= (-> s4-1 time-offset) 0.0) + (set! (-> s4-1 time-offset) 3.0) + ) + (process-spawn + bt-mh-flyer + :init tower-flyer-init-by-other + s4-1 + :name "bt-mh-flyer" + :to (handle->process (-> s4-1 target)) + ) + ) + ) + (((blow-tower-cmd-spawn-type missiles)) + (let ((s4-2 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-2 target) (-> this target-handles (-> arg0 target))) + (set! (-> s4-2 pos quad) (-> (target-pos 0) quad)) + (set! (-> s4-2 entity-name) "") + (set! (-> s4-2 activate-time) + (the-as + time-frame + (max (-> this mission-elapsed-clock) (+ (-> this last-missile-spawn-time) + (seconds 0.3) + (mod (the-as int (rand-uint31-gen *random-generator*)) 211) + ) + ) + ) + ) + (set! (-> this last-missile-spawn-time) (-> s4-2 activate-time)) + (set! (-> s4-2 time-offset) (-> arg0 time-offset)) + (set! (-> s4-2 bool-userdata?) #f) + (process-spawn bt-missile s4-2 :name "bt-missile" :to (handle->process (-> s4-2 target))) + ) + ) + (((blow-tower-cmd-spawn-type missiles-ent)) + (let ((s4-3 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-3 target) (-> this target-handles (-> arg0 target))) + (let ((a0-30 (entity-by-name (-> arg0 entity-name)))) + (if a0-30 + (set! (-> s4-3 pos quad) (-> a0-30 extra trans quad)) + ) + ) + (set! (-> s4-3 entity-name) "") + (set! (-> s4-3 activate-time) + (the-as + time-frame + (max (-> this mission-elapsed-clock) (+ (-> this last-missile-spawn-time) + (seconds 0.3) + (mod (the-as int (rand-uint31-gen *random-generator*)) 211) + ) + ) + ) + ) + (let ((s3-5 (new 'stack 'blow-tower-path-cursor))) + (when (send-event (handle->process (-> s4-3 target)) 'predict-position s3-5 (new 'stack-no-clear 'vector)) + (blow-tower-path-cursor-method-9 s3-5 (the-as int (-> s4-3 activate-time))) + (let ((s3-6 (-> s3-5 pos))) + (cond + ((string= (-> this last-missile-ent) (-> arg0 entity-name)) + (let ((v1-78 (vector-! (new 'stack-no-clear 'vector) s3-6 (-> this missile-dir-vec)))) + (set! (-> v1-78 y) 0.0) + (vector+! (-> s4-3 pos) (-> s4-3 pos) v1-78) + ) + ) + (else + (set! (-> this missile-dir-vec quad) (-> s3-6 quad)) + (set! (-> this last-missile-ent) (-> arg0 entity-name)) + ) + ) + ) + ) + ) + (set! (-> this last-missile-spawn-time) (-> s4-3 activate-time)) + (set! (-> s4-3 time-offset) (-> arg0 time-offset)) + (set! (-> s4-3 bool-userdata?) #t) + (process-spawn bt-missile s4-3 :name "bt-missile" :to (handle->process (-> s4-3 target))) + ) + ) + (((blow-tower-cmd-spawn-type mh-grunt)) + (let ((s4-4 (new 'stack 'tower-enemy-init-params))) + (set! (-> s4-4 target) (-> this target-handles (-> arg0 target))) + (let ((v1-93 (+ (-> this event-cursor current-node-index) 5))) + (if (> (-> arg0 event-id) 0) + (set! v1-93 (find-event-id-index (-> this event-cursor) (the-as int (-> arg0 event-id)))) + ) + (set! (-> s4-4 pos quad) (-> *blow-tower-paths* 0 pts v1-93 quad)) + ) + (set! (-> s4-4 entity-name) "") + (set! (-> s4-4 time-offset) (-> arg0 time-offset)) + (process-spawn bt-grunt s4-4 :name "bt-grunt" :to (handle->process (-> s4-4 target))) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot) (blow-tower-cmd-spawn-type kg-bombbot-ent)) + (let ((s4-5 (new 'stack 'bombbot-spawn-params))) + (let ((s2-2 (new 'stack-no-clear 'vector)) + (s3-7 (new 'stack-no-clear 'vector)) + ) + (let ((s0-0 (entity-by-name (-> arg0 entity-name))) + (s1-0 (new 'stack 'blow-tower-path-cursor)) + ) + (set! (-> s1-0 path) (-> *blow-tower-paths* (-> arg0 target))) + (cond + (s0-0 + (set! (-> s2-2 quad) (-> s0-0 extra trans quad)) + ) + (else + (blow-tower-path-cursor-method-9 + s1-0 + (the-as int (+ (-> this mission-elapsed-clock) (the int (* 300.0 (-> arg0 time-offset))))) + ) + (set! (-> s2-2 quad) (-> s1-0 pos quad)) + ) + ) + ) + (case (-> arg0 spawn-type) + (((blow-tower-cmd-spawn-type kg-bombbot)) + (let ((a0-79 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int (-> arg0 event-id))))) + (if (>= a0-79 0) + (set! (-> s3-7 quad) (-> *blow-tower-paths* (-> arg0 target) pts a0-79 quad)) + (set! (-> s3-7 quad) (-> s2-2 quad)) + ) + ) + ) + (((blow-tower-cmd-spawn-type kg-bombbot-ent)) + (let ((a0-87 (entity-by-name (-> arg0 entity-name2)))) + (if a0-87 + (set! (-> s3-7 quad) (-> a0-87 extra trans quad)) + ) + ) + ) + ) + (clamp-to-ground s2-2) + (clamp-to-ground s3-7) + (set! (-> s4-5 path) (-> *blow-tower-bombbat-path-cache* (-> this bombbot-path-index))) + (set! (-> this bombbot-path-index) (logand (+ (-> this bombbot-path-index) 1) 7)) + (set! (-> s4-5 first-node) (the-as uint 0)) + (set! (-> s4-5 stop-offset) 36000.0) + (set! (-> s4-5 path node 0 position quad) (-> s2-2 quad)) + (set! (-> s4-5 path node 1 position quad) (-> s3-7 quad)) + ) + (set! (-> s4-5 path node 0 nav-mesh-id) (the-as uint -1)) + (set! (-> s4-5 path node 1 nav-mesh-id) (the-as uint -1)) + (quaternion-identity! (-> s4-5 quat)) + (let ((s3-8 (get-process *default-dead-pool* kg-bombbot #x4000 1))) + (set! (-> this bombbot-records (-> this bombbot-record-index) hand) + (ppointer->handle + (-> (ppointer->handle (when s3-8 + (let ((t9-41 (method-of-type kg-bombbot activate))) + (t9-41 (the-as kg-bombbot s3-8) this "kg-bombbot" (the-as pointer #x70004000)) + ) + (run-now-in-process s3-8 bombbot-init-by-other s4-5) + (-> s3-8 ppointer) + ) + ) + process + ) + ) + ) + ) + ) + (set! (-> this bombbot-records (-> this bombbot-record-index) ent-name) (-> arg0 entity-name)) + (set! v0-3 (mod (+ (-> this bombbot-record-index) 1) 3)) + (set! (-> this bombbot-record-index) (the-as int v0-3)) + v0-3 + ) + ) + ) + (((blow-tower-cmd-type end)) + (go (method-of-object this wait-for-exit)) + ) + (((blow-tower-cmd-type activate)) + (let ((v1-151 (entity-by-name (-> arg0 entity-name)))) + (if v1-151 + (send-event + (if v1-151 + (-> v1-151 extra process) + ) + 'activate + (-> this target-handles (-> arg0 target)) + ) + ) + ) + ) + (((blow-tower-cmd-type lock-view)) + (send-event (handle->process (-> this hellcat-turret)) 'lock-view (-> arg0 lock-min) (-> arg0 lock-max)) + (send-event (handle->process (-> this hellcat)) 'lock-view) + ) + (((blow-tower-cmd-type unlock-view)) + (send-event (handle->process (-> this hellcat-turret)) 'unlock-view) + (send-event (handle->process (-> this hellcat)) 'unlock-view) + ) + (((blow-tower-cmd-type constrain-angle)) + (send-event (handle->process (-> this hellcat-turret)) 'constrain-angle (-> arg0 rotate-amount)) + ) + (((blow-tower-cmd-type rotate-view)) + (send-event + (handle->process (-> this hellcat-turret)) + 'rotate-view + (-> arg0 rotate-amount) + (-> arg0 snap-view?) + (* 182.04445 (-> arg0 time-offset)) + ) + (send-event (handle->process (-> this hellcat)) 'rotate-view) + ) + (((blow-tower-cmd-type roll-amount)) + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'roll-amount + (-> arg0 path-height) + (-> arg0 time-offset) + ) + ) + (((blow-tower-cmd-type barrel-roll)) + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'barrel-roll + (-> arg0 path-height) + (-> arg0 time-offset) + ) + ) + (((blow-tower-cmd-type advance)) + (advance this (the-as time-frame (-> arg0 event-id))) + ) + (((blow-tower-cmd-type look-at-bombbot)) + (dotimes (s4-6 3) + (when (and (string= (-> this bombbot-records s4-6 ent-name) (-> arg0 entity-name)) + (handle->process (-> this bombbot-records s4-6 hand)) + ) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-proc + (-> this bombbot-records s4-6 hand) + (-> arg0 path-height) + ) + (set! v0-3 0) + (goto cfg-205) + ) + ) + (set! v0-3 #f) + (label cfg-205) + v0-3 + ) + (((blow-tower-cmd-type look-at)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at + (-> arg0 target) + (the int (* 300.0 (-> arg0 time-offset))) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type look-at-ent)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-ent + (-> arg0 entity-name) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type look-at-track)) + (send-event + (handle->process (-> this hellcat-turret)) + 'look-at-track + (-> arg0 entity-name) + (-> arg0 path-height) + ) + ) + (((blow-tower-cmd-type clock-scalar)) + (set! (-> this dest-clock-scalar) (-> arg0 clock-scalar)) + ) + (((blow-tower-cmd-type play-sound)) + (let* ((s3-9 (handle->process (-> this target-handles (-> arg0 target)))) + (s4-7 (if (type? s3-9 process-focusable) + (the-as process-focusable s3-9) + ) + ) + ) + (when s4-7 + (send-event (handle->process (-> this target-handles (-> arg0 target))) 'boost-thruster (-> arg0 time-offset)) + (sound-play "hc-whoosh" :position (-> s4-7 root trans)) + ) + ) + ) + (((blow-tower-cmd-type cmd12)) + (send-event (handle->process (-> this target-handles (-> arg0 target))) 'stop-sound) + ) + (((blow-tower-cmd-type save-progress)) + (task-node-close! (game-task-node city-blow-tower-phase-1) 'event) + ) + (((blow-tower-cmd-type path-height)) + (let ((v1-299 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int (-> arg0 event-id))))) + 0 + (if (>= v1-299 0) + (set! s4-8 (the int (* (-> *blow-tower-paths* 0 node-info v1-299 accum-time-percentage) + (the float (-> *blow-tower-paths* 0 total-time)) + ) + ) + ) + (set! s4-8 (the-as int (+ (-> this mission-elapsed-clock) (seconds 2)))) + ) + ) + (case (-> arg0 target) + ((3) + (dotimes (s3-10 2) + (send-event (handle->process (-> this target-handles s3-10)) 'set-path-height (-> arg0 path-height) s4-8) + ) + #f + ) + (else + (send-event + (handle->process (-> this target-handles (-> arg0 target))) + 'set-path-height + (-> arg0 path-height) + s4-8 + ) + ) + ) + ) + ) + ) + +;; definition for method 39 of type task-manager-blow-tower +;; WARN: Return type mismatch int vs none. +(defmethod advance ((this task-manager-blow-tower) (arg0 time-frame)) + (let ((v1-1 (find-path-event-id-index (-> *blow-tower-paths* 0) (the-as int arg0)))) + 0 + (if (>= v1-1 0) + (set! (-> this mission-elapsed-clock) + (the-as time-frame (the int (* (-> *blow-tower-paths* 0 node-info v1-1 accum-time-percentage) + (the float (-> *blow-tower-paths* 0 total-time)) + ) + ) + ) + ) + ) + ) + (none) + ) + +;; definition for method 37 of type task-manager-blow-tower +(defmethod task-manager-blow-tower-method-37 ((this task-manager-blow-tower) (arg0 symbol)) + (let ((s4-0 (-> this event-cursor current-node-index))) + (blow-tower-path-cursor-method-9 (-> this event-cursor) (the-as int (-> this mission-elapsed-clock))) + (when (!= s4-0 (-> this event-cursor current-node-index)) + (dotimes (s4-1 (-> this script length)) + (when (= (-> this script s4-1 event-id) (-> this event-cursor event-id)) + (let* ((a0-7 (-> this script s4-1 command-list)) + (s3-0 ((method-of-type (rtype-of a0-7) length) a0-7)) + ) + (dotimes (s2-0 s3-0) + (let ((s1-0 (ref (-> this script s4-1 command-list) s2-0))) + (parse-blow-tower-command (the-as pair s1-0) (-> this cmd)) + (when (or (= arg0 'all) (or (and (= arg0 'debug) (case (-> this cmd cmd-type) + (((blow-tower-cmd-type lock-view) + (blow-tower-cmd-type unlock-view) + (blow-tower-cmd-type rotate-view) + (blow-tower-cmd-type roll-amount) + (blow-tower-cmd-type path-height) + (blow-tower-cmd-type look-at) + ) + #t + ) + ) + ) + (and (= arg0 'fail) (case (-> this cmd cmd-type) + (((blow-tower-cmd-type path-height)) + #t + ) + ) + ) + ) + ) + (handle-bt-command this (-> this cmd)) + (format 0 "Command is ~s~%" s1-0) + ) + ) + ) + ) + ) + ) + #f + ) + ) + ) + +;; definition for method 21 of type bt-hellcat +(defmethod get-trans ((this bt-hellcat) (arg0 int)) + "Get the `trans` for this process." + (case arg0 + ((3) + (vector<-cspace! (new 'static 'vector) (-> this node-list data 6)) + ) + (else + (call-parent-method this arg0) + ) + ) + ) + +;; failed to figure out what this is: +(defpart 4826 + :init-specs ((:texture (gun-blue-beam level-default-sprite)) + (:birth-func 'birth-func-setup-beam) + (:num 1.0) + (:scale-x (meters 0.3) (meters 0.1)) + (:scale-y (meters 100) (meters 20)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 16.0) + (:fade-a 0.8) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-14 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 30 0 0 #x401000 #x401200)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.05)) + (:next-launcher 4827) + ) + ) + +;; failed to figure out what this is: +(defpart 4827 + :init-specs ((:scalevel-x (meters 0.033333335)) + (:scalevel-y (meters -0.13333334)) + (:fade-r 0.85333335) + (:fade-g 0.85333335) + (:fade-b 0.85333335) + (:fade-a -0.21333334 -0.42666668) + (:accel-y (meters 0.000033333334)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 sp-cpuinfo-flag-14 left-multiply-quat)) + (:next-time (seconds 0.5)) + (:next-launcher 4828) + ) + ) + +;; failed to figure out what this is: +(defpart 4828 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0)) + ) + +;; definition for method 38 of type bt-hellcat +;; WARN: Return type mismatch (array bt-vehicle-damage-info) vs none. +(defmethod init-params ((this bt-hellcat)) + (set! (-> this whoosh-sound) (new-sound-id)) + (set! (-> this boost-thruster?) #f) + (set! (-> this inited?) #f) + (set! (-> this rider-spots) (new 'process 'cast-rider-array 2)) + (set! (-> this rider-spots data 0 rider) + (ppointer->handle + (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-jinx" (the-as (pointer level) #f)) + 4 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (set! (-> this rider-spots data 1 rider) + (ppointer->handle (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-sig" (the-as (pointer level) #f)) + 7 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (setup-masks (-> this draw) -1 1022) + (init (-> this jmod-turret-guns) this (the-as uint 6) (joint-mod-base-flags attached)) + (init (-> this jmod-lgun) this (the-as uint 7) (joint-mod-base-flags attached)) + (init (-> this jmod-rgun) this (the-as uint 10) (joint-mod-base-flags attached)) + (dotimes (s5-2 4) + (init + (-> this jmod-barrels s5-2) + this + (the-as uint (-> *bt-hellcat-gun-nodes* s5-2)) + (joint-mod-base-flags attached trans) + ) + (set! (-> this barrel-fire-state s5-2) #f) + ) + (set! (-> this grunt-rider) (the-as handle #f)) + (set! (-> this grunt-rider-boarded?) (the-as handle #f)) + (init-spots this) + (set! (-> this mission-fail?) #f) + (set! (-> this max-hit-points) 40.0) + (set! (-> this hit-points) (-> this max-hit-points)) + (init-hud this) + (set! (-> this dest-roll-amount) 0.0) + (quaternion-copy! (-> this quat-before-bounce) (-> this root quat)) + (quaternion-identity! (-> this quat-grunt-tilt)) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this engine-sound) (new-sound-id)) + (set! (-> this thrust-sound) (new-sound-id)) + (set! (-> this damage-info) *bt-hellcat-damage-info*) + (none) + ) + +;; definition for method 38 of type bt-pickup +;; WARN: Return type mismatch symbol vs none. +(defmethod init-params ((this bt-pickup)) + (set! (-> this whoosh-sound) (new-sound-id)) + (set! (-> this boost-thruster?) #f) + (set! (-> this inited?) #f) + (set! (-> this rider-spots) (new 'process 'cast-rider-array 1)) + (set! (-> this rider-spots data 0 rider) + (ppointer->handle (process-spawn + cast-rider + (art-group-get-by-name *level* "skel-bt-torn" (the-as (pointer level) #f)) + 3 + 6 + :name "cast-rider" + :to this + ) + ) + ) + (setup-masks (-> this draw) -1 30) + (set! (-> this max-hit-points) 75.0) + (set! (-> this hit-points) (-> this max-hit-points)) + (bt-pickup-method-48 this) + (init-hud this) + (quaternion-identity! (-> this barrel-roll-quat)) + (set! (-> this damage-info) *bt-pickup-damage-info*) + (dotimes (v1-15 2) + (set! (-> this roboguard-attackers v1-15) (the-as handle #f)) + ) + (dotimes (s5-1 2) + (set! (-> this pickup-barrels s5-1) + (ppointer->handle (process-spawn bt-pickup-barrel s5-1 :name "bt-pickup-barrel" :to this)) + ) + ) + (none) + ) + +;; definition for method 39 of type bt-pickup +;; WARN: Return type mismatch int vs none. +(defmethod init-hud ((this bt-pickup)) + (set! (-> this hud-health) + (ppointer->handle (process-spawn hud-pickup :init hud-init-by-other :name "hud-pickup" :to this)) + ) + (none) + ) + +;; definition for method 39 of type bt-hellcat +;; WARN: Return type mismatch int vs none. +(defmethod init-hud ((this bt-hellcat)) + (set! (-> this hud-health) + (ppointer->handle (process-spawn hud-hellcat :init hud-init-by-other :name "hud-hellcat" :to this)) + ) + (none) + ) + +;; definition for method 42 of type bt-pickup +(defmethod bounce ((this bt-pickup) (arg0 vector)) + (set! (-> arg0 y) (* 2.0 (-> arg0 y))) + (vector-float*! arg0 arg0 0.4) + (call-parent-method this arg0) + ) + +;; definition for method 32 of type bt-pickup +;; INFO: Used lq/sq +(defmethod on-attacked ((this bt-pickup) (arg0 float) (arg1 attack-info) (arg2 process-focusable)) + (send-event (handle->process (-> this hud-health)) 'hit) + (set-time! (-> this start-hit-time)) + (sound-play "snd-pickup-hit") + (cond + ((not (logtest? (-> arg1 mask) (attack-mask control))) + (let ((s2-1 (new 'stack-no-clear 'attack-info))) + (attack-info-method-9 arg1 s2-1 arg2 this) + (let* ((s1-1 arg2) + (a0-11 (if (type? s1-1 process-focusable) + s1-1 + ) + ) + ) + (if a0-11 + (set! (-> s2-1 intersection quad) (-> (get-trans a0-11 3) quad)) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> s2-1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> s2-1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (let ((s1-7 (vector-! (new 'stack-no-clear 'vector) (get-trans this 3) (-> s2-1 intersection)))) + (vector-normalize! s1-7 (fmax 5324.8 (fmin 16384.0 (* 4096.0 arg0)))) + (bounce this s1-7) + ) + ) + ) + ((logtest? (-> *part-group-id-table* 1458 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> arg1 intersection quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1458)) + ) + ) + (call-parent-method this arg0 arg1 arg2) + (none) + ) + +;; failed to figure out what this is: +(defstate wind-down-mission (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :enter (behavior () + (set! (-> self dest-clock-scalar) 0.0) + (format 0 "Self scalsr ~f~%" (-> self clock-scalar)) + (if *target* + (logior! (-> *target* draw status) (draw-control-status no-draw)) + ) + ) + :trans (behavior () + (seek! (-> self clock-scalar) (-> self dest-clock-scalar) (seconds-per-frame)) + (dotimes (v1-1 2) + (set! (-> *blow-tower-targets* target-handles v1-1) (-> self target-handles v1-1)) + ) + (+! (-> self mission-elapsed-clock) + (the int (* (the float (- (current-time) (-> self clock old-frame-counter))) (-> self clock-scalar))) + ) + (set! (-> *blow-tower-targets* mission-time) (-> self mission-elapsed-clock)) + (task-manager-blow-tower-method-37 self 'fail) + (if (>= 0.0 (-> self clock-scalar)) + (go-virtual wait-fail) + ) + ) + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate wait-fail (task-manager-blow-tower) + :virtual #t + :event task-manager-event-handler + :code (behavior () + (dotimes (gp-0 2) + (send-event (handle->process (-> self target-handles gp-0)) 'mission-fail) + ) + (if *target* + (logior! (-> *target* draw status) (draw-control-status no-draw)) + ) + (send-event self 'fail) + (sleep-code) + ) + ) + +;; definition for method 50 of type bt-pickup +;; INFO: Used lq/sq +(defmethod bt-pickup-method-50 ((this bt-pickup) (arg0 int) (arg1 vector)) + (set! (-> arg1 quad) (-> this root trans quad)) + (let ((v1-2 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector+float*! arg1 arg1 (-> v1-2 fvec) -21708.8) + (vector+float*! arg1 arg1 (-> v1-2 uvec) -2457.6) + (cond + ((zero? arg0) + (vector+float*! arg1 arg1 (-> v1-2 rvec) 4096.0) + ) + ((= arg0 1) + (vector+float*! arg1 arg1 (-> v1-2 rvec) -4096.0) + ) + ) + ) + arg1 + ) + +;; definition for method 43 of type bt-pickup +;; WARN: Return type mismatch symbol vs object. +(defmethod draw-thruster ((this bt-pickup)) + (call-parent-method this) + (if (-> this boost-thruster?) + (seek! + (-> this desired-thruster-length) + (* 28672.0 (fmax 1.0 (* (-> this path-cursor speed) (-> *blow-tower-targets* clock-scalar)))) + (* 16384.0 (seconds-per-frame)) + ) + (seek! + (-> this desired-thruster-length) + (* 16384.0 (-> *blow-tower-targets* clock-scalar) (-> this path-cursor speed)) + (* 16384.0 (seconds-per-frame)) + ) + ) + (dotimes (s5-0 2) + (let ((s4-0 (bt-pickup-method-50 this s5-0 (new 'stack-no-clear 'vector)))) + (let* ((f30-0 (-> this desired-thruster-length)) + (f28-0 -1228.8) + (f26-0 2457.6) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + (f0-18 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-17))) f30-0)) + ) + (set! (-> *part-id-table* 4825 init-specs 4 initial-valuef) f0-18) + (set! (-> *part-id-table* 4825 init-specs 3 initial-valuef) (* 0.5 f0-18)) + ) + (draw-beam + (-> *part-id-table* 4825) + s4-0 + (vector-float*! + (new 'stack-no-clear 'vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat)) + -20480.0 + ) + #f + ) + ) + ) + #f + ) + +;; failed to figure out what this is: +(defstate die (bt-pickup) + :virtual #t + :enter (behavior () + (let ((t9-1 (-> (find-parent-state) enter))) + (if t9-1 + (t9-1) + ) + ) + (dotimes (gp-0 2) + (send-event (handle->process (-> self pickup-barrels gp-0)) 'die) + ) + ) + ) diff --git a/test/decompiler/reference/jak3/levels/city/generic/ctygenb-part_REF.gc b/test/decompiler/reference/jak3/levels/city/generic/ctygenb-part_REF.gc new file mode 100644 index 0000000000..e231c486c0 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/generic/ctygenb-part_REF.gc @@ -0,0 +1,1590 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-barrel-fire + :id 929 + :bounds (static-bspherem 0 3 0 4) + :parts ((sp-item 3326 :fade-after (meters 50) :falloff-to (meters 80)) + (sp-item 3327 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 0.335) :length (seconds 0.167)) + (sp-item 3328 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 0.4) :length (seconds 0.185) :offset 20) + (sp-item 3329 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 0.535) :length (seconds 0.1) :offset 35) + (sp-item 3327 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 0.85) :length (seconds 0.2) :offset 65) + (sp-item 3328 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 1.25) :length (seconds 0.135) :offset 15) + (sp-item 3329 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 1.435) :length (seconds 0.167) :offset 85) + (sp-item 3327 :fade-after (meters 40) :falloff-to (meters 40) :period (seconds 2) :length (seconds 0.235) :offset 100) + (sp-item 3328 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 4.167) :length (seconds 0.15) :offset 450) + (sp-item 3329 :fade-after (meters 60) :falloff-to (meters 90) :period (seconds 5) :length (seconds 0.085) :offset 115) + (sp-item 3327 :fade-after (meters 20) :falloff-to (meters 20) :period (seconds 7) :length (seconds 0.185) :offset 80) + (sp-item 3330 :fade-after (meters 20) :falloff-to (meters 10) :binding 3325) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3325 :flags (sp1 sp2 sp3)) + (sp-item 3331 :fade-after (meters 50) :falloff-to (meters 50)) + (sp-item 3332 :fade-after (meters 30) :falloff-to (meters 30)) + (sp-item 3333 :fade-after (meters 70) :flags (sp6)) + ) + ) + +;; failed to figure out what this is: +(defpart 3333 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 128.0) + (:b 0.0) + (:a 12.0) + (:fade-a -0.4) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 10240.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3330 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.8) + (:sound (static-sound-spec "fire-pop" :group 0 :volume 10000.0)) + (:x (meters -0.3) (meters 0.6)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 256.0) + (:g 0.0) + (:b 0.0) + (:a 0.0) + (:vel-y (meters 0.013333334) (meters 0.026666667)) + (:accel-y (meters -0.000033333334) (meters -0.00006666667)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-3)) + (:conerot-x (degrees -20) (degrees 40)) + (:conerot-y (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 3325 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 1.0) + (:x (meters 0) (meters 16)) + (:y (meters 0) (meters 16)) + (:z (meters 0.1) (meters 0.3)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 256.0) + (:g 128.0) + (:b 128.0) + (:a 96.0 32.0) + (:omega (degrees 0) (degrees 360)) + (:vel-x (meters -0.026666667) (meters 0.053333335)) + (:vel-y (meters 0)) + (:vel-z (meters -0.0013333333) (meters 0.0026666666)) + (:fade-r 0.0) + (:fade-g -0.7111111) + (:fade-b -0.7111111) + (:fade-a -0.42666668) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-1 sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)) + (:next-time (seconds 0.6)) + (:next-launcher 3334) + ) + ) + +;; failed to figure out what this is: +(defpart 3334 + :init-specs ((:fade-r -1.0666667) (:fade-g 1.0666667) (:fade-b 1.0666667)) + ) + +;; failed to figure out what this is: +(defpart 3327 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 0) (degrees 87)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 3328 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 120) (degrees 90)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 3329 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 4.0 6.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.3) (meters 0.2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 240.0 15.0) + (:g 200.0 16.0) + (:b 160.0 16.0) + (:a 32.0 32.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-r -2.1333334 -1.0666667) + (:fade-g -4.266667 -2.1333334) + (:fade-b -5.3333335) + (:accel-y (meters -0.0001)) + (:timer (seconds 0.535) (seconds 0.265)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:next-time (seconds 0.1) (seconds 0.03)) + (:next-launcher 3335) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 240) (degrees 110)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 3335 + :init-specs ((:b 0.0) + (:fade-r 0.0) + (:fade-g 0.0) + (:fade-b 0.0) + (:fade-a -0.4 -0.2) + (:next-time (seconds 0.135) (seconds 0.03)) + (:next-launcher 3336) + ) + ) + +;; failed to figure out what this is: +(defpart 3336 + :init-specs ((:fade-r -0.125) (:fade-g 0.4) (:fade-b 0.4)) + ) + +;; failed to figure out what this is: +(defpart 3326 + :init-specs ((:texture (explosion-nebula level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0 4.0) + (:x (meters 0) (meters -0.25)) + (:y (meters -0.8)) + (:scale-x (meters 0.5) (meters 0.3)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 32.0) + (:g 128.0) + (:b 128.0) + (:a 16.0 16.0) + (:vel-x (meters 0.00033333333)) + (:vel-y (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.4) (degrees 0.8)) + (:fade-a -0.16 -0.16) + (:accel-y (meters -0.0001)) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-4)) + (:userdata :data (new 'static 'boxed-array :type int32 40 1 0 #x400000 #x400000 #x400700)) + (:conerot-x (degrees -8) 4 (degrees 4)) + (:conerot-y (degrees -180) (degrees 360)) + (:rotate-y (degrees 0) (degrees 360)) + (:conerot-radius (meters 0) (meters 0.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 3331 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.4) + (:x (meters -0.25) (meters 0.5)) + (:scale-x (meters 1) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 196.0) + (:g 128.0) + (:b 128.0) + (:a 8.0 8.0) + (:vel-y (meters 0.01) (meters 0.01)) + (:scalevel-x (meters 0.006666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r -0.64) + (:fade-g -0.32) + (:fade-b -0.32) + (:fade-a -0.017777778 -0.026666667) + (:accel-y (meters -0.000006666667)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.5) (seconds 0.165)) + (:next-launcher 3337) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 3337 + :init-specs ((:fade-r 0.0) (:fade-g 0.0) (:fade-b 0.0)) + ) + +;; failed to figure out what this is: +(defpart 3332 + :init-specs ((:num 0.4) + (:x (meters 0) (meters 0.2)) + (:rot-x 8) + (:r 1638.4) + (:g 1331.2) + (:b 1433.6) + (:vel-x (meters 0) (meters 0.006666667)) + (:vel-y (meters 0.02) (meters 0.013333334)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (distort)) + (:next-time (seconds 0.5)) + (:next-launcher 3338) + (:rotate-y (degrees 0) (degrees 360)) + ) + ) + +;; failed to figure out what this is: +(defpart 3338 + :init-specs ((:fade-b -0.68266666)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-ground-vent-base + :id 930 + :flags (sp4) + :bounds (static-bspherem 0 0 0 6) + :parts ((sp-item 3339 :fade-after (meters 100) :falloff-to (meters 100) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3339 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 0.5 0.5) + (:x (meters -1) (meters 2)) + (:y (meters 0)) + (:scale-x (meters 0.5) (meters 0.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 0.0) + (:vel-z (meters 0.006666667) (meters 0.0033333334)) + (:scalevel-x (meters 0.0016666667) (meters 0.0033333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.64) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.99) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 3340) + (:launchrot-x (degrees -5) (degrees 10)) + (:launchrot-y (degrees -5) (degrees 10)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3340 + :init-specs ((:fade-a -0.10666667 -0.10666667)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-ground-light + :id 931 + :flags (sp4) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3341 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3342 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3343 :fade-after (meters 80) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3341 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0.8)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3342 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -1)) + (:z (meters 0)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3343 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 1)) + (:z (meters 0)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 2.25)) + (:scale-y (meters 5) (meters 0.1)) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-red-light-small + :id 932 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3344 :fade-after (meters 80) :flags (sp6)) (sp-item 3345 :fade-after (meters 120) :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 3344 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.7) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 24.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3345 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 32.0) + (:b 0.0) + (:a 8.0) + (:omega (degrees 2715.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-blue-light-wall + :id 933 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3346 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3347 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3348 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3349 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3346 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3347 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.7)) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3348 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters -0.7)) + (:scale-x (meters 1.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3349 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 32.0) + (:b 255.0) + (:a 12.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-blue-street-lamp + :id 934 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3350 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3351 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3352 :fade-after (meters 180) :flags (sp6 sp7)) + (sp-item 3353 :fade-after (meters 220) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3350 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:z (meters -0.325)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3351 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:z (meters 0.5)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3352 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0.25)) + (:z (meters -1.25)) + (:scale-x (meters 2.8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 16.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3353 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 32.0) + (:b 255.0) + (:a 12.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-steady-street-lamp + :id 935 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3354 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + (sp-item 3355 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3354 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 40.0 4.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3355 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 200.0) + (:g 200.0) + (:b 200.0) + (:a 20.0 4.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-flickering-street-lamp + :id 936 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 8 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + (sp-item 9 :fade-after (meters 220) :flags (sp6 sp7) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 8 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 4) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 9 + :init-specs ((:texture (rainbow-halo level-default-sprite)) + (:num 1.0) + (:scale-x (meters 8) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 200.0) + (:g 200.0) + (:b 200.0) + (:a 32.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-blue-vents-pipe-bent + :id 937 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 12) + :rotate ((degrees 0) (degrees -90) (degrees 0)) + :parts ((sp-item 3356 :fade-after (meters 200) :falloff-to (meters 250) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3356 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:x (meters -0.5) (meters 1)) + (:y (meters -0.5) (meters 2)) + (:z (meters -0.5)) + (:scale-x (meters 2) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 0.0) + (:vel-y (meters -0.033333335) (meters -0.006666667)) + (:vel-z (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0.01) (meters 0.013333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r 1.7) + (:fade-g 1.28) + (:fade-a 0.48) + (:accel-y (meters 0.00083333335) (meters 0.00083333335)) + (:friction 0.95 0.025) + (:timer (seconds 0.835)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 3357) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3357 + :init-specs ((:fade-a -0.12 -0.16)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-blue-vents-wall + :id 938 + :flags (sp4) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 3358 :fade-after (meters 200) :falloff-to (meters 250) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3358 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 3.0) + (:x (meters -2) (meters 4)) + (:y (meters -0.5) (meters 1)) + (:z (meters -1)) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0) + (:g 64.0 64.0) + (:b 128.0) + (:a 16.0 16.0) + (:vel-z (meters 0.033333335) (meters 0.02)) + (:scalevel-x (meters 0.01) (meters 0.013333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-r 0.42666668) + (:fade-g 0.42666668) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters 0.00083333335) (meters 0.00083333335)) + (:friction 0.95 0.025) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-sign-8x4 + :id 939 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3359 :flags (is-3d sp3 sp7)) + (sp-item 3360 :flags (is-3d sp3 sp7)) + (sp-item 3361 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3361 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 48) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 32) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3359 + :init-specs ((:texture (sign-ctygenb-praxis-banner ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 16)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00400 -2139062144 0 1 #xde00400 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3360 + :init-specs ((:texture (sign-ctygenb-praxis-banner ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 16)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00400 -2139062144 0 1 #xde00400 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-sign-4x8 + :id 940 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3362 :flags (is-3d sp3 sp7)) + (sp-item 3363 :flags (is-3d sp3 sp7)) + (sp-item 3364 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3364 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 32) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 48) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3362 + :init-specs ((:texture (sign-ctygenb-erol ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 16)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00300 -2139062144 0 1 #xde00300 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3363 + :init-specs ((:texture (sign-ctygenb-erol ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 16)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00300 -2139062144 0 1 #xde00300 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-sign-4x4 + :id 941 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 8) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3365 :flags (is-3d sp3 sp7)) + (sp-item 3366 :flags (is-3d sp3 sp7)) + (sp-item 3367 :fade-after (meters 200) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3367 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 32) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 32) (meters 0.1)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4518)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3365 + :init-specs ((:texture (sign-ctygenb-arrows ctygenb-sprite)) + (:num 1.0) + (:z (meters 0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 0)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00200 -2139062144 0 1 #xde00200 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3366 + :init-specs ((:texture (sign-ctygenb-arrows ctygenb-sprite)) + (:num 1.0) + (:z (meters -0.1)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:rot-z (degrees 180)) + (:scale-y (meters 8)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata + :data (new 'static 'boxed-array :type int32 5 0 0 #xde00200 -2139062144 0 1 #xde00200 -2143272896 #x404040 0) + ) + (:func 'sparticle-texture-day-night) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-ticker-horizontal + :id 942 + :flags (sp4) + :bounds (static-bspherem 0 0 0 64) + :parts ((sp-item 3368 :flags (is-3d sp6 sp7)) (sp-item 3369 :flags (is-3d sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3369 + :init-specs ((:texture (ctygenb-ticker-backing ctygenb-sprite)) + (:num 1.0) + (:y (meters -0.5)) + (:scale-x (meters 21)) + (:scale-y (meters 1.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 0.0 16.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-x (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3368 + :init-specs ((:texture (ticker-e ctywide-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.16) + (:x (meters -10.5)) + (:y (meters -0.5)) + (:scale-x (meters 1)) + (:scale-y (meters 1.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 0.0 16.0) + (:a 128.0) + (:vel-x (meters 0.02625)) + (:timer (seconds 2.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 40 1 0 #x7b00a00 #x7b00b00 #x7b00c00 #x7b00d00 #xde00100) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3370) + (:rotate-x (degrees 90)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3370 + :init-specs ((:r 64.0 16.0) (:g 64.0 64.0) (:b 0.0 16.0) (:a 128.0) (:next-time (seconds 0.017)) (:next-launcher 3370)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-ticker-vertical + :id 943 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3371 :flags (is-3d sp6 sp7)) (sp-item 3372 :flags (is-3d sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3372 + :init-specs ((:texture (ctygenb-ticker-backing ctygenb-sprite)) + (:num 1.0) + (:scale-x (meters 15)) + (:scale-y (meters 2.5)) + (:r 0.0 16.0) + (:g 64.0 16.0) + (:b 96.0 16.0) + (:a 64.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-x (degrees 90)) + (:rotate-z (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3371 + :init-specs ((:texture (ticker-e ctywide-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:z (meters -7.75)) + (:scale-x (meters 1.8)) + (:scale-y (meters 1)) + (:r 0.0 16.0) + (:g 64.0 64.0) + (:b 96.0 16.0) + (:a 128.0) + (:vel-z (meters 0.0190625)) + (:timer (seconds 2.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata + :data (new 'static 'boxed-array :type int32 40 1 0 #x7b00a00 #x7b00b00 #x7b00c00 #x7b00d00 #xde00100) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3373) + (:rotate-x (degrees 90)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3373 + :init-specs ((:r 0.0 16.0) (:g 64.0 64.0) (:b 96.0 16.0) (:a 128.0) (:next-time (seconds 0.017)) (:next-launcher 3373)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-ground-vent-square + :id 944 + :flags (sp4) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3374 :fade-after (meters 200) :flags (sp6)) + (sp-item 3375 :fade-after (meters 100) :falloff-to (meters 100) :flags (sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3374 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 67.5)) + (:scale-y (meters 18)) + (:r 128.0 32.0) + (:g 255.0) + (:b 0.0) + (:a 8.0) + (:omega (degrees 4515.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3375 + :init-specs ((:num 0.5) + (:x (meters -3) (meters 6)) + (:y (meters -3) (meters 6)) + (:rot-x 7) + (:r 4096.0) + (:g 3072.0) + (:b 2867.2) + (:vel-z (meters 0.016666668) (meters 0.006666667)) + (:friction 0.96) + (:timer (seconds 1)) + (:flags (distort)) + (:next-time (seconds 0.5)) + (:next-launcher 3376) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3376 + :init-specs ((:fade-b 1.3653333)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-under-bridge-light + :id 945 + :bounds (static-bspherem 0 0 0 5) + :parts ((sp-item 3377 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + (sp-item 3378 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3377 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 2) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 20.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3378 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 6) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0 255.0) + (:b 255.0) + (:a 8.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-flickering-under-bridge-light + :id 946 + :bounds (static-bspherem 0 0 0 5) + :parts ((sp-item 10 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + (sp-item 11 :fade-after (meters 90) :flags (sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 10 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 1.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 20.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 11 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:y (meters -0.05)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 80.0) + (:a 16.0) + (:omega (degrees 2040.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-rubble-smoke + :id 947 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3379 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3379 + :init-specs ((:texture (topglow level-default-sprite)) + (:num 0.1) + (:z (meters 0) (meters 6)) + (:scale-x (meters 4) (meters 4)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 0.0) + (:vel-y (meters 0.033333335)) + (:scalevel-x (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00066666666)) + (:friction 0.96 0.02) + (:timer (seconds 5.167)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:next-time (seconds 1)) + (:next-launcher 3380) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3380 + :init-specs ((:fade-a -0.11636364)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-rubble-crater-smoke + :id 948 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3381 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3381 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:num 0.1) + (:z (meters 0) (meters 1)) + (:scale-x (meters 0.3) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 32.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:vel-y (meters 0.005925926)) + (:scalevel-x (meters 0.001) (meters 0.0033333334)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334) + (:accel-x (meters -0.000033333334) (meters 0.00006666667)) + (:accel-y (meters 0.00033333333) (meters 0.000033333334)) + (:accel-z (meters -0.000033333334) (meters 0.00006666667)) + (:friction 0.94) + (:timer (seconds 10.167)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:next-time (seconds 1)) + (:next-launcher 3382) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3382 + :init-specs ((:fade-a -0.024615385 -0.024615385)) + ) + +;; failed to figure out what this is: +(defpartgroup group-ctygenb-sparks + :id 949 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3383 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3384 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + (sp-item 3384 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3383 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0 128.0) + (:a 128.0 128.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:next-time (seconds 1)) + (:next-launcher 3385) + (:conerot-y (degrees -30) (degrees 60)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3385 + :init-specs ((:fade-a -0.85333335 -0.85333335)) + ) + +;; failed to figure out what this is: +(defpart 3384 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 0.1) + (:x (meters -0.5) (meters 1)) + (:y (meters -0.5) (meters 1)) + (:z (meters 1)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-sparks-large + :id 950 + :duration (seconds 1) + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 3386 :flags (sp7)) (sp-item 3387 :flags (sp7)) (sp-item 3387 :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3386 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 1.0) + (:scale-x (meters 0.1) (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a 255.0) + (:omega (degrees 0.0675)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:fade-r -0.10666667) + (:fade-g -0.10666667) + (:fade-a -0.21333334) + (:accel-y (meters -0.0016666667)) + (:friction 0.94 0.04) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 0) (degrees 180)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3387 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 0.1) + (:x (meters -2) (meters 4)) + (:y (meters -2) (meters 4)) + (:z (meters 1)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.1)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 40960.0) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-h_REF.gc b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-h_REF.gc index b9e501fc0c..605dfbe0df 100644 --- a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-h_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-h_REF.gc @@ -1013,7 +1013,7 @@ (vehicle-method-65 (_type_) int) (vehicle-method-66 (_type_ vector int) none) (get-rider-in-seat (_type_ int) process) - (vehicle-method-68 (_type_) process) + (find-rider (_type_) process) (put-rider-in-seat (_type_ int process) none) (vehicle-method-70 (_type_) uint) (get-best-seat (_type_ vector vehicle-seat-flag int) int) diff --git a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc index b8fb2cbac3..9ba73a9fa4 100644 --- a/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc +++ b/test/decompiler/reference/jak3/levels/city/traffic/vehicle/vehicle-util_REF.gc @@ -504,7 +504,7 @@ ) ;; definition for method 68 of type vehicle -(defmethod vehicle-method-68 ((this vehicle)) +(defmethod find-rider ((this vehicle)) (let ((gp-0 (the-as process #f))) (countdown (s4-0 (-> this info rider seat-count)) (when (logtest? (-> this info rider seat-array s4-0 flags) (vehicle-seat-flag vsf0)) diff --git a/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc b/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc new file mode 100644 index 0000000000..6ea6c6af37 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/vinroom/power-game_REF.gc @@ -0,0 +1,3867 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-switcher-charge + :id 907 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3231 :flags (sp3 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3231 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 100.0) + (:z (meters 20)) + (:scale-x (meters 0.5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:omega (degrees 0.45)) + (:accel-z (meters -0.002)) + (:friction 0.92) + (:timer (seconds 2.835)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-switcher-die + :id 908 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3232 :flags (sp7) :period (seconds 20) :length (seconds 0.335)) + (sp-item 3233 :flags (sp7) :period (seconds 20) :length (seconds 0.335)) + ) + ) + +;; failed to figure out what this is: +(defpart 3232 + :init-specs ((:texture (common-white common)) + (:num 0.5) + (:scale-x (meters 2)) + (:scale-y (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters 0.33333334)) + (:scalevel-x (meters 0.1)) + (:scalevel-y (meters 0.0016666667)) + (:fade-g -1.275) + (:fade-b -2.55) + (:fade-a -0.64) + (:friction 0.97) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3233 + :init-specs ((:texture (common-white common)) + (:num 0.5) + (:scale-x (meters 2)) + (:scale-y (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters -0.33333334)) + (:scalevel-x (meters 0.1)) + (:scalevel-y (meters 0.0016666667)) + (:fade-g -1.275) + (:fade-b -2.55) + (:fade-a -0.64) + (:friction 0.97) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-glyph-charge + :id 909 + :duration (seconds 218.45) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3234 :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3234 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 0.2) + (:scale-x (meters 1)) + (:rot-x (degrees 45)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 80.0) + (:b 128.0) + (:a 0.0) + (:omega (degrees 9011.25)) + (:scalevel-x (meters 0.1) (meters 0.1)) + (:scalevel-y :copy scalevel-x) + (:fade-a 1.0) + (:timer (seconds 0.667)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:next-time (seconds 0.335)) + (:next-launcher 3235) + ) + ) + +;; failed to figure out what this is: +(defpart 3235 + :init-specs ((:fade-a -2.0)) + ) + +;; failed to figure out what this is: +(defpartgroup group-glyph-die + :id 910 + :linger-duration (seconds 10) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3236 :flags (is-3d sp7) :period (seconds 20) :length (seconds 1))) + ) + +;; failed to figure out what this is: +(defpart 3236 + :init-specs ((:texture (ring level-default-sprite)) + (:num 0.25) + (:y (meters 1)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:scalevel-x (meters 0.33333334)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-3)) + (:next-time (seconds 0.035)) + (:next-launcher 3237) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3237 + :init-specs ((:r 0.0 4.0 64.0) (:g 0.0 4.0 64.0) (:b 0.0 4.0 64.0) (:next-time (seconds 0.035)) (:next-launcher 3237)) + ) + +;; failed to figure out what this is: +(defpartgroup group-player-die + :id 911 + :linger-duration (seconds 10) + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 3238 :flags (sp3 sp7)) (sp-item 3239 :flags (sp3 sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3238 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 100)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:fade-a -6.375) + (:timer (seconds 0.135)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + ) + ) + +;; failed to figure out what this is: +(defpart 3239 + :init-specs ((:texture (middot level-default-sprite)) + (:num 300.0) + (:scale-x (meters 0.8)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:vel-z (meters 0.16666667) (meters 0.12207031)) + (:fade-a -0.21333334) + (:friction 0.93) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 0.085)) + (:next-launcher 3240) + (:conerot-x (degrees -360) (degrees 720)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3240 + :init-specs ((:r 0.0 2.0 128.0) + (:g 0.0 2.0 128.0) + (:b 0.0 2.0 128.0) + (:friction 0.95) + (:next-time (seconds 0.035)) + (:next-launcher 3240) + ) + ) + +;; failed to figure out what this is: +(defpart 3241 + :init-specs ((:texture (time-bubble-orbiter powergd-sprite)) + (:num 1.0) + (:y (meters 1)) + (:scale-x (meters 1.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-power-scoreboard-points + :id 912 + :duration (seconds 0.017) + :linger-duration (seconds 2) + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 3242 :flags (is-3d sp7)) + (sp-item 3243 :flags (is-3d sp7)) + (sp-item 3244 :flags (is-3d sp7)) + (sp-item 3245 :flags (is-3d sp7)) + (sp-item 3246 :flags (is-3d sp3 sp6 sp7) :period (seconds 0.267) :length (seconds 0.03)) + (sp-item 3247 :flags (sp6)) + ) + ) + +;; definition for function birth-func-power-score +;; WARN: Return type mismatch int vs none. +(defun birth-func-power-score ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-0 (the-as object (-> arg1 user-float)))) + (when (nonzero? (the-as float v1-0)) + (+ (-> (the-as (pointer int32) v1-0) 0) -3) + (let* ((a0-4 (-> (the-as (pointer int32) v1-0) 3)) + (v1-2 (-> (the-as (pointer int32) (+ (* (+ (mod + (the int (/ (-> *game-info* score) (cond + ((= a0-4 1) + 10.0 + ) + ((= a0-4 2) + 100.0 + ) + ((= a0-4 3) + 1000.0 + ) + (else + 1.0 + ) + ) + ) + ) + 10 + ) + 3 + ) + 4 + ) + (the-as int v1-0) + ) + ) + 3 + ) + ) + ) + (if (nonzero? v1-2) + (particle-adgif-callback (-> arg1 adgif) (the-as texture-id v1-2)) + ) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpart 3242 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters -5)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 3 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3243 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters -1.7)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 2 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3244 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters 1.7)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 1 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3245 + :init-specs ((:texture (whack-scoreboard-0 powergd-sprite)) + (:birth-func 'birth-func-power-score) + (:num 1.0) + (:x (meters 5)) + (:z (meters 0.01)) + (:scale-x (meters 3)) + (:rot-x (degrees 60)) + (:rot-y (degrees 0)) + (:scale-y (meters 5)) + (:r 64.0) + (:g 255.0) + (:b 255.0) + (:a 255.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 0 + 0 + 0 + -959447040 + -959446784 + -959446528 + -959446272 + -959446016 + -959445760 + -959445504 + -959445248 + -959444992 + -959444736 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; definition of type power-game-cell +(deftype power-game-cell (structure) + ((up uint8) + (right uint8) + (down uint8) + (left uint8) + ) + :pack-me + ) + +;; definition for method 3 of type power-game-cell +(defmethod inspect ((this power-game-cell)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'power-game-cell) + (format #t "~1Tup: ~D~%" (-> this up)) + (format #t "~1Tright: ~D~%" (-> this right)) + (format #t "~1Tdown: ~D~%" (-> this down)) + (format #t "~1Tleft: ~D~%" (-> this left)) + (label cfg-4) + this + ) + +;; definition for symbol *power-game-track*, type (inline-array power-game-cell) +(define *power-game-track* (new 'static 'inline-array power-game-cell 256 + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :right #x1 :down #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :left #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :right #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :left #x1) + (new 'static 'power-game-cell :down #x1 :left #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :down #x1) + (new 'static 'power-game-cell :up #x1 :down #x1) + (new 'static 'power-game-cell :right #x1 :down #x1) + (new 'static 'power-game-cell) + ) + ) + +;; definition of type power-game-cam-info +(deftype power-game-cam-info (structure) + ((cam-pos vector :inline) + (cam-pos-x-angle degrees) + (cam-dist meters) + (cam-x-angle degrees) + (cam-y-angle degrees) + (cam-y-angle-dest degrees) + (cam-y-angle-speed degrees) + ) + ) + +;; definition for method 3 of type power-game-cam-info +(defmethod inspect ((this power-game-cam-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'power-game-cam-info) + (format #t "~1Tcam-pos: #~%" (-> this cam-pos)) + (format #t "~1Tcam-pos-x-angle: (deg ~r)~%" (-> this cam-pos-x-angle)) + (format #t "~1Tcam-dist: (meters ~m)~%" (-> this cam-dist)) + (format #t "~1Tcam-x-angle: (deg ~r)~%" (-> this cam-x-angle)) + (format #t "~1Tcam-y-angle: (deg ~r)~%" (-> this cam-y-angle)) + (format #t "~1Tcam-y-angle-dest: (deg ~r)~%" (-> this cam-y-angle-dest)) + (format #t "~1Tcam-y-angle-speed: (deg ~r)~%" (-> this cam-y-angle-speed)) + (label cfg-4) + this + ) + +;; definition of type power-game +(deftype power-game (process-drawable) + ((self power-game :override) + (root collide-shape-moving :override) + (task game-task-control) + (lentity entity-actor) + (hud-score handle) + (hud-goal handle) + (base-score float) + (score float) + (score-time time-frame) + (score-met symbol) + (game (inline-array power-game-cell)) + (blockers (array uint8)) + (dots (array uint8)) + (miss-max int32) + (miss-count int32) + (miss-time time-frame) + (point-win float) + (game-start-time time-frame) + (wave-start-time time-frame) + (wave-index int32) + (difficulty int32) + (speech-time time-frame) + (speech-count int32) + (speech-last int32 8) + (spawn-time time-frame) + (center vector :inline) + (corner vector 2 :inline) + (cam-targ power-game-cam-info :inline) + (cam-cur power-game-cam-info :inline) + (player handle) + (chaser handle) + (zapper handle 5) + (switcher handle) + (switcher-time time-frame) + (glyph handle) + (score-part sparticle-launch-control 1) + ) + (:state-methods + idle + hide + wait-for-start + (active symbol) + (lose symbol) + (win symbol) + ) + (:methods + (power-game-active-post (_type_) none) + (update-score-and-give-orbs (_type_) none) + (spawn-switcher (_type_) none) + (update-score-text (_type_) none) + (update-cam (_type_) none) + (get-center-pos! (_type_ vector float float) vector) + (power-game-method-32 (_type_ float float) int) + (power-game-method-33 (_type_ float float int) uint) + (power-game-method-34 (_type_ float float) int) + (power-game-method-35 (_type_ float float int) int) + (power-game-method-36 (_type_ float float int float float) float) + (power-game-method-37 (_type_ float float int) float) + (power-game-method-38 (_type_ vector int) vector) + (power-game-method-39 (_type_ int) int) + (power-game-method-40 (_type_ int) symbol) + (power-game-method-41 (_type_ vector) power-game-cell) + (power-game-method-42 (_type_ vector int int) symbol) + (power-game-method-43 (_type_ int) rgba) + (power-game-method-44 (_type_ float float int int) none) + (set-last-speech (_type_ int int) int) + ) + ) + +;; definition for method 3 of type power-game +(defmethod inspect ((this power-game)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Ttask: ~A~%" (-> this task)) + (format #t "~2Tlentity: ~A~%" (-> this lentity)) + (format #t "~2Thud-score: ~D~%" (-> this hud-score)) + (format #t "~2Thud-goal: ~D~%" (-> this hud-goal)) + (format #t "~2Tbase-score: ~f~%" (-> this base-score)) + (format #t "~2Tscore: ~f~%" (-> this score)) + (format #t "~2Tscore-time: ~D~%" (-> this score-time)) + (format #t "~2Tscore-met: ~A~%" (-> this score-met)) + (format #t "~2Tgame: #x~X~%" (-> this game)) + (format #t "~2Tblockers: ~A~%" (-> this blockers)) + (format #t "~2Tdots: ~A~%" (-> this dots)) + (format #t "~2Tmiss-max: ~D~%" (-> this miss-max)) + (format #t "~2Tmiss-count: ~D~%" (-> this miss-count)) + (format #t "~2Tmiss-time: ~D~%" (-> this miss-time)) + (format #t "~2Tpoint-win: ~f~%" (-> this point-win)) + (format #t "~2Tgame-start-time: ~D~%" (-> this game-start-time)) + (format #t "~2Twave-start-time: ~D~%" (-> this wave-start-time)) + (format #t "~2Twave-index: ~D~%" (-> this wave-index)) + (format #t "~2Tdifficulty: ~D~%" (-> this difficulty)) + (format #t "~2Tspeech-time: ~D~%" (-> this speech-time)) + (format #t "~2Tspeech-count: ~D~%" (-> this speech-count)) + (format #t "~2Tspeech-last[8] @ #x~X~%" (-> this speech-last)) + (format #t "~2Tspawn-time: ~D~%" (-> this spawn-time)) + (format #t "~2Tcenter: #~%" (-> this center)) + (format #t "~2Tcorner[2] @ #x~X~%" (-> this corner)) + (format #t "~2Tcam-targ: #~%" (-> this cam-targ)) + (format #t "~2Tcam-cur: #~%" (-> this cam-cur)) + (format #t "~2Tplayer: ~D~%" (-> this player)) + (format #t "~2Tchaser: ~D~%" (-> this chaser)) + (format #t "~2Tzapper[5] @ #x~X~%" (-> this zapper)) + (format #t "~2Tswitcher: ~D~%" (-> this switcher)) + (format #t "~2Tswitcher-time: ~D~%" (-> this switcher-time)) + (format #t "~2Tglyph: ~D~%" (-> this glyph)) + (format #t "~2Tscore-part[1] @ #x~X~%" (-> this score-part)) + (label cfg-4) + this + ) + +;; definition (perm) for symbol *power-game*, type (pointer power-game) +(define-perm *power-game* (pointer power-game) #f) + +;; definition for symbol *power-game-speech-list*, type (inline-array talker-speech-class) +(define *power-game-speech-list* (new 'static 'inline-array talker-speech-class 50 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "powgame1" + :channel (gui-channel message) + :speech #x1 + :text-duration (seconds 5) + :neg #x1 + :text-message (text-id text-07b9) + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax766" + :channel (gui-channel daxter) + :flags (talker-flags tf0) + :speech #x2 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax767" + :channel (gui-channel daxter) + :flags (talker-flags tf0) + :speech #x3 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax775" + :channel (gui-channel daxter) + :speech #x4 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax776" + :channel (gui-channel daxter) + :speech #x5 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax768" + :channel (gui-channel daxter) + :speech #x6 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax769" + :channel (gui-channel daxter) + :speech #x7 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax770" + :channel (gui-channel daxter) + :speech #x8 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax771" + :channel (gui-channel daxter) + :speech #x9 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax772" + :channel (gui-channel daxter) + :speech #xa + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "dax773" + :channel (gui-channel daxter) + :speech #xb + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin117" + :channel (gui-channel daxter) + :speech #xc + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin137" + :channel (gui-channel daxter) + :speech #xd + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin103" + :channel (gui-channel daxter) + :speech #xe + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin104" + :channel (gui-channel daxter) + :speech #xf + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin105" + :channel (gui-channel daxter) + :speech #x10 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin106" + :channel (gui-channel daxter) + :speech #x11 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin116" + :channel (gui-channel daxter) + :speech #x12 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin129" + :channel (gui-channel daxter) + :speech #x13 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin130" + :channel (gui-channel daxter) + :speech #x14 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin107" + :channel (gui-channel daxter) + :speech #x15 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin108" + :channel (gui-channel daxter) + :speech #x16 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin135" + :channel (gui-channel daxter) + :speech #x17 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin101" + :channel (gui-channel daxter) + :speech #x18 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin124" + :channel (gui-channel daxter) + :speech #x19 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin125" + :channel (gui-channel daxter) + :speech #x1a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin126" + :channel (gui-channel daxter) + :speech #x1b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin127" + :channel (gui-channel daxter) + :speech #x1c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin128" + :channel (gui-channel daxter) + :speech #x1d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin109" + :channel (gui-channel daxter) + :speech #x1e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin110" + :channel (gui-channel daxter) + :speech #x1f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin111" + :channel (gui-channel daxter) + :speech #x20 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin112" + :channel (gui-channel daxter) + :speech #x21 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin113" + :channel (gui-channel daxter) + :speech #x22 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin115" + :channel (gui-channel daxter) + :speech #x23 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin118" + :channel (gui-channel daxter) + :speech #x24 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin119" + :channel (gui-channel daxter) + :speech #x25 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin120" + :channel (gui-channel daxter) + :speech #x26 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin121" + :channel (gui-channel daxter) + :speech #x27 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin122" + :channel (gui-channel daxter) + :speech #x28 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin123" + :channel (gui-channel daxter) + :speech #x29 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin134" + :channel (gui-channel daxter) + :speech #x2a + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin131" + :channel (gui-channel daxter) + :speech #x2b + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin132" + :channel (gui-channel daxter) + :speech #x2c + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin133" + :channel (gui-channel daxter) + :speech #x2d + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin136" + :channel (gui-channel daxter) + :speech #x2e + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin140" + :channel (gui-channel daxter) + :speech #x2f + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin141" + :channel (gui-channel daxter) + :speech #x30 + :neg #x1 + :on-close #f + :camera #f + ) + (new 'static 'talker-speech-class + :name "vin139" + :channel (gui-channel daxter) + :speech #x31 + :neg #x1 + :on-close #f + :camera #f + ) + ) + ) + +;; definition for method 11 of type power-game +(defmethod init-from-entity! ((this power-game) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) cshape-reaction-default) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((v1-6 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec obstacle obstacle-for-jak)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 0.0 0.0 4096.0) + (set! (-> s4-0 total-prims) (the-as uint 1)) + (set! (-> s4-0 root-prim) v1-6) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-9 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-sidekick" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this hud-score) (the-as handle #f)) + (set! (-> this hud-goal) (the-as handle #f)) + (set! (-> this player) (the-as handle #f)) + (set! (-> this chaser) (the-as handle #f)) + (dotimes (v1-16 5) + (set! (-> this zapper v1-16) (the-as handle #f)) + ) + (set! (-> this switcher) (the-as handle #f)) + (set! (-> this glyph) (the-as handle #f)) + (set! (-> *game-info* goal) 252.0) + (dotimes (v1-21 4) + (set! (-> this speech-last v1-21) 0) + ) + (set! (-> this task) + (new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0)) + ) + (set! (-> this game) *power-game-track*) + (set! (-> this blockers) (new 'process 'boxed-array uint8 2)) + (set! (-> this dots) (new 'process 'boxed-array uint8 255)) + (set-vector! (-> this center) 4587520.0 -819200.0 4587520.0 1.0) + (set! (-> this miss-max) 5) + (set! (-> this point-win) 252.0) + (set! (-> *game-info* score) 0.0) + (set! (-> *game-info* goal) (-> this point-win)) + (set! (-> *game-info* miss) 0.0) + (set! (-> *game-info* miss-max) (the float (-> this miss-max))) + (set! (-> this score-met) #f) + (set! (-> this score-part 0) (create-launch-control (-> *part-group-id-table* 912) this)) + (let ((v1-41 (-> this root root-prim))) + (set! (-> v1-41 prim-core collide-as) (collide-spec)) + (set! (-> v1-41 prim-core collide-with) (collide-spec)) + ) + 0 + (set! *power-game* (the-as (pointer power-game) (process->ppointer this))) + (go (method-of-object this hide)) + ) + +;; definition for method 7 of type power-game +;; WARN: Return type mismatch process-drawable vs power-game. +(defmethod relocate ((this power-game) (offset int)) + (if (nonzero? (-> this task)) + (&+! (-> this task) offset) + ) + (if (nonzero? (-> this blockers)) + (&+! (-> this blockers) offset) + ) + (if (nonzero? (-> this dots)) + (&+! (-> this dots) offset) + ) + (dotimes (v1-12 1) + (if (nonzero? (-> this score-part v1-12)) + (&+! (-> this score-part v1-12) offset) + ) + ) + (the-as power-game ((method-of-type process-drawable relocate) this offset)) + ) + +;; definition for method 10 of type power-game +(defmethod deactivate ((this power-game)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (dotimes (s5-0 1) + (if (nonzero? (-> this score-part s5-0)) + (kill-particles (-> this score-part s5-0)) + ) + ) + (set! *power-game* (the-as (pointer power-game) #f)) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +;; definition for method 45 of type power-game +(defmethod set-last-speech ((this power-game) (arg0 int) (arg1 int)) + (let ((v0-1 (mod (+ (-> this speech-last arg0) (rand-vu-int-range 1 2)) arg1))) + (set! (-> this speech-last arg0) v0-1) + v0-1 + ) + ) + +;; definition for method 32 of type power-game +(defmethod power-game-method-32 ((this power-game) (arg0 float) (arg1 float)) + (min (min (min (the int arg0) (the int arg1)) (- 14 (the int arg1))) (- 16 (the int arg0))) + ) + +;; definition for method 31 of type power-game +;; INFO: Used lq/sq +(defmethod get-center-pos! ((this power-game) (arg0 vector) (arg1 float) (arg2 float)) + (set! (-> arg0 quad) (-> this corner 0 quad)) + (+! (-> arg0 x) (* 16384.0 arg1)) + (+! (-> arg0 z) (* 16384.0 arg2)) + arg0 + ) + +;; definition for method 33 of type power-game +(defmethod power-game-method-33 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (let ((v1-1 (the int (fmax 0.0 (fmin 16.0 arg0)))) + (a1-2 (the int (fmax 0.0 (fmin 14.0 arg1)))) + ) + (if (>= arg2 0) + (set! (-> this dots (+ v1-1 (* 17 a1-2))) (the-as uint arg2)) + ) + (-> this dots (+ v1-1 (* 17 a1-2))) + ) + ) + +;; definition for method 34 of type power-game +(defmethod power-game-method-34 ((this power-game) (arg0 float) (arg1 float)) + (cond + ((>= 7.0 arg1) + (cond + ((< arg0 arg1) + 3 + ) + ((< (- 16.0 arg0) arg1) + 1 + ) + (else + 0 + ) + ) + ) + ((< arg1 (- 14.0 arg0)) + 3 + ) + ((< arg1 (+ -2.0 arg0)) + 1 + ) + (else + 2 + ) + ) + ) + +;; definition for method 35 of type power-game +(defmethod power-game-method-35 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (let ((v1-1 (power-game-method-34 this arg0 arg1))) + (cond + ((or (zero? v1-1) (= v1-1 1)) + (if (or (= arg2 1) (= arg2 2)) + 1 + -1 + ) + ) + (else + (let ((v1-5 arg2)) + (if (or (zero? v1-5) (= v1-5 3)) + 1 + -1 + ) + ) + ) + ) + ) + ) + +;; definition for method 36 of type power-game +(defmethod power-game-method-36 ((this power-game) (arg0 float) (arg1 float) (arg2 int) (arg3 float) (arg4 float)) + (local-vars (v1-33 symbol)) + (the int arg0) + (the int arg1) + (let ((s4-0 (the int arg3)) + (s3-0 (the int arg4)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s2-0 x) (the float (the int arg0))) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (the float (the int arg1))) + (set! (-> s2-0 w) 1.0) + (let ((f30-0 0.0)) + (until v1-33 + (cond + ((power-game-method-42 this s2-0 arg2 arg2) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ((power-game-method-42 this s2-0 arg2 (logand (+ arg2 1) 3)) + (set! arg2 (logand (+ arg2 1) 3)) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ((power-game-method-42 this s2-0 arg2 (logand (+ arg2 3) 3)) + (set! arg2 (logand (+ arg2 3) 3)) + (vector+! s2-0 s2-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + ) + (set! v1-33 (or (and (= (the int (-> s2-0 x)) s4-0) (= (the int (-> s2-0 z)) s3-0)) (>= f30-0 200.0))) + ) + f30-0 + ) + ) + ) + +;; definition for method 37 of type power-game +(defmethod power-game-method-37 ((this power-game) (arg0 float) (arg1 float) (arg2 int)) + (the int arg0) + (the int arg1) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (set! (-> s4-0 x) (the float (the int arg0))) + (set! (-> s4-0 y) 0.0) + (set! (-> s4-0 z) (the float (the int arg1))) + (set! (-> s4-0 w) 1.0) + (let ((f30-0 0.0)) + (while (and (power-game-method-42 this s4-0 arg2 arg2) (< f30-0 200.0)) + (vector+! s4-0 s4-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + (set! f30-0 (+ 1.0 f30-0)) + ) + f30-0 + ) + ) + ) + +;; definition for method 38 of type power-game +;; INFO: Used lq/sq +(defmethod power-game-method-38 ((this power-game) (arg0 vector) (arg1 int)) + (local-vars (v0-0 vector)) + (let ((v1-0 arg1)) + (cond + ((zero? v1-0) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :z -1.0 :w 1.0) quad)) + ) + ((= v1-0 1) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :x 1.0 :w 1.0) quad)) + ) + ((= v1-0 2) + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :z 1.0 :w 1.0) quad)) + ) + (else + (set! v0-0 arg0) + (set! (-> v0-0 quad) (-> (new 'static 'vector :x -1.0 :w 1.0) quad)) + ) + ) + ) + v0-0 + ) + +;; definition for method 39 of type power-game +(defmethod power-game-method-39 ((this power-game) (arg0 int)) + (let ((v1-0 arg0)) + (if (or (zero? v1-0) (= v1-0 2)) + 2 + 0 + ) + ) + ) + +;; definition for method 41 of type power-game +(defmethod power-game-method-41 ((this power-game) (arg0 vector)) + (let ((v1-0 (the int (-> arg0 x))) + (a1-1 (the int (-> arg0 z))) + ) + (-> this game (+ (* 17 a1-1) v1-0)) + ) + ) + +;; definition for method 42 of type power-game +;; INFO: Used lq/sq +(defmethod power-game-method-42 ((this power-game) (arg0 vector) (arg1 int) (arg2 int)) + (let ((v1-0 (new 'stack-no-clear 'vector))) + (set! (-> v1-0 quad) (-> arg0 quad)) + (let ((f0-0 0.0) + (f1-0 16.0) + (f2-0 (-> v1-0 x)) + ) + (set! (-> v1-0 x) (fmax f0-0 (fmin f1-0 (the float (the int (+ 0.5 f2-0)))))) + ) + (let ((f0-2 0.0) + (f1-2 14.0) + (f2-5 (-> v1-0 z)) + ) + (set! (-> v1-0 z) (fmax f0-2 (fmin f1-2 (the float (the int (+ 0.5 f2-5)))))) + ) + (let ((v1-1 (power-game-method-41 this v1-0))) + (zero? (-> this blockers (-> (the-as (pointer uint8) (+ arg2 (the-as int v1-1)))))) + ) + ) + ) + +;; definition for method 40 of type power-game +;; INFO: Used lq/sq +(defmethod power-game-method-40 ((this power-game) (arg0 int)) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (let ((s2-0 (new 'stack-no-clear 'matrix))) + (set! (-> s3-0 x) (sin (-> *cpad-list* cpads 0 stick0-dir))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (cos (-> *cpad-list* cpads 0 stick0-dir))) + (set! (-> s3-0 w) 0.0) + (let* ((s1-0 s2-0) + (a2-0 (matrix-local->world #t #f)) + (v1-4 (-> a2-0 rvec quad)) + (a0-4 (-> a2-0 uvec quad)) + (a1-2 (-> a2-0 fvec quad)) + (a2-1 (-> a2-0 trans quad)) + ) + (set! (-> s1-0 rvec quad) v1-4) + (set! (-> s1-0 uvec quad) a0-4) + (set! (-> s1-0 fvec quad) a1-2) + (set! (-> s1-0 trans quad) a2-1) + ) + (vector-matrix*! s3-0 s3-0 s2-0) + (warp-vector-into-surface! gp-0 s3-0 *up-vector* s2-0) + ) + (vector-float*! gp-0 gp-0 (-> *cpad-list* cpads 0 stick0-speed)) + (let ((v1-8 (power-game-method-38 this (new 'stack-no-clear 'vector) arg0))) + (< 0.5 (vector-dot gp-0 v1-8)) + ) + ) + ) + +;; definition for method 43 of type power-game +;; WARN: Return type mismatch uint vs rgba. +(defmethod power-game-method-43 ((this power-game) (arg0 int)) + (let ((v1-0 arg0)) + (the-as rgba (cond + ((zero? v1-0) + (the-as uint #x8000ff00) + ) + ((= v1-0 1) + (the-as uint #x800000ff) + ) + (else + (the-as uint #x80ffffff) + ) + ) + ) + ) + ) + +;; definition for method 27 of type power-game +;; WARN: Return type mismatch int vs none. +(defmethod update-score-and-give-orbs ((this power-game)) + (set! (-> this score) -3.0) + (dotimes (v1-1 (-> this dots length)) + (if (zero? (-> this dots v1-1)) + (+! (-> this score) 1.0) + ) + ) + (let ((f30-0 (+ (-> this base-score) (-> this score)))) + (cond + ((>= (-> *game-info* score) f30-0) + (set! (-> *game-info* score) f30-0) + ) + ((and (< (-> *game-info* score) f30-0) (time-elapsed? (-> this score-time) (seconds 0.1))) + (sound-play "point-increase") + (seek! (-> *game-info* score) f30-0 1.0) + (set-time! (-> this score-time)) + ) + ) + (cond + ((not (task-node-closed? (game-task-node city-power-game-resolution))) + ) + ((not (task-node-closed? (game-task-node city-power-game-bronze))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 1)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-bronze) 'event) + ) + ) + ((not (task-node-closed? (game-task-node city-power-game-silver))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 2)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-silver) 'event) + ) + ) + ((not (task-node-closed? (game-task-node city-power-game-gold))) + (when (>= f30-0 (game-info-method-31 *game-info* 15 3)) + (sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t)) + (script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in))) + (task-node-close! (game-task-node city-power-game-gold) 'event) + ) + ) + ) + ) + (when (and (!= (-> *game-info* miss) (the float (-> this miss-count))) + (time-elapsed? (-> this miss-time) (seconds 0.25)) + ) + (sound-play "point-decrease") + (seek! (-> *game-info* miss) (the float (-> this miss-count)) 1.0) + (set-time! (-> this miss-time)) + ) + 0 + (none) + ) + +;; definition for method 44 of type power-game +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod power-game-method-44 ((this power-game) (arg0 float) (arg1 float) (arg2 int) (arg3 int)) + (local-vars (sv-128 int) (sv-144 vector)) + (the int arg0) + (the int arg1) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 x) (the float (the int arg0))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (the float (the int arg1))) + (set! (-> s3-0 w) 1.0) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s2-0 x) (the float (the int arg0))) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (the float (the int arg1))) + (set! (-> s2-0 w) 1.0) + (while (> arg3 0) + (cond + ((power-game-method-42 this s3-0 arg2 arg2) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ((power-game-method-42 this s3-0 arg2 (logand (+ arg2 1) 3)) + (set! arg2 (logand (+ arg2 1) 3)) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ((power-game-method-42 this s3-0 arg2 (logand (+ arg2 3) 3)) + (set! arg2 (logand (+ arg2 3) 3)) + (vector+! s3-0 s3-0 (power-game-method-38 this (new 'stack-no-clear 'vector) arg2)) + ) + ) + (let ((s1-3 add-debug-line) + (s0-6 #t) + ) + (set! sv-128 577) + (set! sv-144 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s2-0 x) (-> s2-0 z))) + (let ((a3-6 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s3-0 x) (-> s3-0 z))) + (t0-1 (the-as uint #x800000ff)) + (t1-0 #f) + (t2-0 -1) + ) + (s1-3 s0-6 (the-as bucket-id sv-128) sv-144 a3-6 (the-as rgba t0-1) t1-0 (the-as rgba t2-0)) + ) + ) + (set! (-> s2-0 quad) (-> s3-0 quad)) + (+! arg3 -1) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 26 of type power-game +;; WARN: Return type mismatch int vs none. +(defmethod power-game-active-post ((this power-game)) + (set! (-> this game) *power-game-track*) + (spawn-switcher this) + (update-score-and-give-orbs this) + (update-cam this) + (update-score-text this) + 0 + (none) + ) + +;; definition for method 30 of type power-game +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod update-cam ((this power-game)) + (local-vars (sv-48 vector) (sv-52 vector) (sv-56 power-game-cam-info)) + (let ((s4-0 (the-as power-game-player (handle->process (-> this player))))) + (when s4-0 + (let ((s5-0 (get-trans s4-0 9)) + (s4-1 (the int (-> (get-trans s4-0 2) x))) + ) + (set! sv-48 (vector-! (new 'stack-no-clear 'vector) s5-0 (new 'static 'vector :x 8.0 :z 7.0 :w 1.0))) + (set! sv-52 (get-center-pos! this (new 'stack-no-clear 'vector) (-> s5-0 x) (-> s5-0 z))) + (set! sv-56 (-> this cam-targ)) + (* 16384.0 (the float (logand (- 6 (power-game-method-34 this (-> s5-0 x) (-> s5-0 z))) 3))) + (let ((f30-1 (if (cpad-hold? 0 x) + 131072.0 + 65536.0 + ) + ) + ) + (power-game-method-32 this (-> s5-0 x) (-> s5-0 z)) + (power-game-method-35 this (-> s5-0 x) (-> s5-0 z) s4-1) + (cond + ((not (time-elapsed? (-> this game-start-time) (seconds 0.1))) + (set! (-> sv-56 cam-pos quad) (-> sv-52 quad)) + ) + (else + (if (< (fabs (-> sv-48 x)) 4.0) + (set! (-> sv-56 cam-pos x) (-> sv-52 x)) + ) + (if (< -1.0 (-> sv-48 z)) + (set! (-> sv-56 cam-pos z) (-> sv-52 z)) + ) + ) + ) + (let ((f0-21 (fabs (deg-diff (-> sv-56 cam-y-angle-dest) (-> sv-56 cam-y-angle))))) + (if (cpad-hold? 0 x) + (set! (-> sv-56 cam-y-angle-speed) (fmax 12743.111 (fmin 65536.0 f0-21))) + (set! (-> sv-56 cam-y-angle-speed) (fmax 12743.111 (fmin 32768.0 f0-21))) + ) + ) + (set! (-> sv-56 cam-y-angle) (-> sv-56 cam-y-angle-dest)) + (set! (-> sv-56 cam-x-angle) (lerp-scale 13653.333 7281.778 (-> s5-0 z) 0.0 14.0)) + (set! (-> sv-56 cam-pos-x-angle) (lerp-scale 13653.333 10012.444 (-> s5-0 z) 0.0 14.0)) + (if (= (-> *setting-control* user-default aspect-ratio) 'aspect16x9) + (set! (-> sv-56 cam-dist) (lerp-scale 266240.0 225280.0 (-> s5-0 z) 0.0 14.0)) + (set! (-> sv-56 cam-dist) (lerp-scale 204800.0 163840.0 (-> s5-0 z) 0.0 14.0)) + ) + (let ((s5-1 (-> this cam-cur))) + (cond + ((not (time-elapsed? (-> this game-start-time) (seconds 0.1))) + (mem-copy! (the-as pointer (-> this cam-cur)) (the-as pointer sv-56) 40) + ) + (else + (seek! (-> s5-1 cam-pos x) (-> sv-56 cam-pos x) (* f30-1 (seconds-per-frame))) + (seek! (-> s5-1 cam-pos z) (-> sv-56 cam-pos z) (* f30-1 (seconds-per-frame))) + (seek! (-> s5-1 cam-y-angle) (-> sv-56 cam-y-angle) (* (-> sv-56 cam-y-angle-speed) (seconds-per-frame))) + (seek! (-> s5-1 cam-x-angle) (-> sv-56 cam-x-angle) (* 1820.4445 (seconds-per-frame))) + (seek! (-> s5-1 cam-pos-x-angle) (-> sv-56 cam-pos-x-angle) (* 1820.4445 (seconds-per-frame))) + (seek! (-> s5-1 cam-dist) (-> sv-56 cam-dist) (* 40960.0 (seconds-per-frame))) + ) + ) + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 29 of type power-game +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod update-score-text ((this power-game)) + (if (and *cheat-mode* (-> this next-state) (= (-> this next-state name) 'active)) + (format *stdcon* "press L1 to fail, R1 to complete~%") + ) + (let ((v1-7 (-> this center))) + (vector+! (the-as vector (-> this corner)) v1-7 (new 'static 'vector :x -131072.0 :z -114688.0 :w 1.0)) + (vector+! (-> this corner 1) v1-7 (new 'static 'vector :x 131072.0 :z 114688.0 :w 1.0)) + ) + (dotimes (s5-0 17) + (dotimes (s4-0 15) + (let ((v1-9 (get-center-pos! this (new 'stack-no-clear 'vector) (the float s5-0) (the float s4-0)))) + (if (nonzero? (-> this dots (+ s5-0 (* 17 s4-0)))) + (launch-particles (-> *part-id-table* 3241) v1-9) + ) + ) + ) + ) + (if (task-node-closed? (game-task-node city-power-game-resolution)) + (spawn + (-> this score-part 0) + (vector+! (new 'stack-no-clear 'vector) (-> this center) (new 'static 'vector :y 16384.0 :w 1.0)) + ) + ) + 0 + (none) + ) + +;; definition of type power-game-object +(deftype power-game-object (process-focusable) + ((parent (pointer power-game) :override) + (local vector :inline) + (dir int8) + (next-dir int8) + (slide-dir int8) + (speed float) + (slide-dist int32) + (slide-speed float) + (slide-count int32) + (slide-lock symbol) + (slide-dest vector :inline) + (turn-pos vector :inline) + (target handle) + (start-time time-frame) + ) + (:state-methods + active + die + ) + (:methods + (power-game-object-method-30 (_type_) none) + (power-game-object-method-31 (_type_) none) + ) + ) + +;; definition for method 3 of type power-game-object +(defmethod inspect ((this power-game-object)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tlocal: ~`vector`P~%" (-> this local)) + (format #t "~2Tdir: ~D~%" (-> this dir)) + (format #t "~2Tnext-dir: ~D~%" (-> this next-dir)) + (format #t "~2Tslide-dir: ~D~%" (-> this slide-dir)) + (format #t "~2Tspeed: ~f~%" (-> this speed)) + (format #t "~2Tslide-dist: ~D~%" (-> this slide-dist)) + (format #t "~2Tslide-speed: ~f~%" (-> this slide-speed)) + (format #t "~2Tslide-count: ~D~%" (-> this slide-count)) + (format #t "~2Tslide-lock: ~A~%" (-> this slide-lock)) + (format #t "~2Tslide-dest: ~`vector`P~%" (-> this slide-dest)) + (format #t "~2Tturn-pos: ~`vector`P~%" (-> this turn-pos)) + (format #t "~2Ttarget: ~D~%" (-> this target)) + (format #t "~2Tstart-time: ~D~%" (-> this start-time)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defstate active (power-game-object) + :virtual #t + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate die (power-game-object) + :virtual #t + :code sleep-code + ) + +;; definition for method 21 of type power-game-object +(defmethod get-trans ((this power-game-object) (arg0 int)) + "Get the `trans` for this process." + (case arg0 + ((9) + (-> this local) + ) + ((2) + (let ((v0-0 (new 'static 'vector))) + (set! (-> v0-0 x) (the float (-> this dir))) + (set! (-> v0-0 y) 0.0) + (set! (-> v0-0 z) 0.0) + (set! (-> v0-0 w) 1.0) + v0-0 + ) + ) + (else + (-> this root trans) + ) + ) + ) + +;; definition for method 30 of type power-game-object +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod power-game-object-method-30 ((this power-game-object)) + (let ((v1-0 (-> this dir))) + (cond + ((zero? v1-0) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 32768.0) + ) + ((= v1-0 1) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 16384.0) + ) + ((= v1-0 2) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* 0.0) + ) + ((= v1-0 3) + (quaternion-rotate-y! (-> this root quat) *unity-quaternion* -16384.0) + ) + ) + ) + (let ((s5-0 (ppointer->process (-> this parent)))) + (let ((v1-13 (power-game-method-38 s5-0 (new 'stack-no-clear 'vector) (-> this dir))) + (s4-0 (-> this local)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s2-0 quad) (-> this local quad)) + (vector+float*! (-> this local) (-> this local) v1-13 (* (-> this speed) (seconds-per-frame))) + (cond + ((power-game-method-42 s5-0 s2-0 (-> this dir) (-> this dir)) + (set! (-> this next-dir) (-> this dir)) + ) + ((power-game-method-42 s5-0 s2-0 (-> this dir) (logand (+ (-> this dir) 1) 3)) + (set! (-> this next-dir) (logand (+ (-> this dir) 1) 3)) + ) + ((power-game-method-42 s5-0 s2-0 (-> this dir) (logand (+ (-> this dir) 3) 3)) + (set! (-> this next-dir) (logand (+ (-> this dir) 3) 3)) + ) + ) + (let ((s1-0 #f) + (s3-0 (power-game-method-39 s5-0 (-> this dir))) + ) + (let ((v1-35 (-> this dir))) + (cond + ((or (zero? v1-35) (= v1-35 3)) + (if (or (< (-> s4-0 data s3-0) 0.0) (< (-> s4-0 data s3-0) (floor (-> s2-0 data s3-0)))) + (set! s1-0 #t) + ) + ) + ((= v1-35 1) + (if (or (>= (-> s4-0 data s3-0) 16.0) (>= (-> s4-0 data s3-0) (the float (+ (the int (-> s2-0 data s3-0)) 1)))) + (set! s1-0 #t) + ) + ) + (else + (if (or (>= (-> s4-0 data s3-0) 14.0) (>= (-> s4-0 data s3-0) (the float (+ (the int (-> s2-0 data s3-0)) 1)))) + (set! s1-0 #t) + ) + ) + ) + ) + (when (and s1-0 (!= (-> this dir) (-> this next-dir))) + (set! (-> this dir) (-> this next-dir)) + (let ((f0-9 (-> s4-0 data s3-0))) + (set! (-> s4-0 data s3-0) (the float (the int (+ 0.5 f0-9)))) + ) + (set! (-> this turn-pos quad) (-> this local quad)) + (set! (-> this slide-lock) #f) + ) + ) + ) + (when (>= (-> this slide-dir) 0) + (let ((s5-1 (power-game-method-39 s5-0 (-> this slide-dir)))) + (seek! (-> this local data s5-1) (-> this slide-dest data s5-1) (* (-> this slide-speed) (seconds-per-frame))) + (when (= (-> this local data s5-1) (-> this slide-dest data s5-1)) + (set! (-> this slide-dir) -1) + (when (>= (-> this slide-count) (-> this slide-dist)) + (set! (-> this turn-pos quad) (-> this local quad)) + (set! (-> this slide-count) 0) + (set! (-> this slide-lock) #f) + ) + ) + ) + ) + ) + (set! (-> this local x) (fmax 0.0 (fmin 16.0 (-> this local x)))) + (set! (-> this local z) (fmax 0.0 (fmin 14.0 (-> this local z)))) + 0 + (none) + ) + +;; definition for method 31 of type power-game-object +;; WARN: Return type mismatch int vs none. +(defmethod power-game-object-method-31 ((this power-game-object)) + (if (nonzero? (-> this sound)) + (update! (-> this sound)) + ) + (get-center-pos! + (ppointer->process (-> this parent)) + (-> this root trans) + (-> this local x) + (-> this local z) + ) + (+! (-> this root trans y) 4096.0) + (cond + ((= (-> this dir) 3) + (let ((a0-4 (-> this node-list data 2))) + (set! (-> a0-4 param0) (the-as (function cspace transformq none) cspace<-parented-matrix-joint-flip-z!)) + (set! (-> a0-4 param1) #f) + (set! (-> a0-4 param2) #f) + ) + ) + (else + (let ((a0-5 (-> this node-list data 2))) + (set! (-> a0-5 param0) (the-as (function cspace transformq none) cspace<-parented-matrix-joint!)) + (set! (-> a0-5 param1) #f) + (set! (-> a0-5 param2) #f) + ) + ) + ) + (ja-post) + 0 + (none) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-player daxter-pac-man daxter-pac-man-lod0-jg -1 + ((daxter-pac-man-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) + +;; definition of type power-game-player +(deftype power-game-player (power-game-object) + ((slide-rel-dir int32) + ) + ) + +;; definition for method 3 of type power-game-player +(defmethod inspect ((this power-game-player)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type power-game-object inspect))) + (t9-0 this) + ) + (format #t "~2Tslide-rel-dir: ~D~%" (-> this slide-rel-dir)) + (label cfg-4) + this + ) + +;; definition for function power-game-player-post +;; WARN: Return type mismatch int vs none. +(defbehavior power-game-player-post power-game-player () + (cond + ((cpad-hold? 0 x) + (set! (-> self speed) 8.0) + (set! (-> self slide-dist) 1) + ) + (else + (set! (-> self speed) 4.0) + (set! (-> self slide-dist) 2) + ) + ) + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate active (power-game-player) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :trans (behavior () + (if (or (= (-> *cpad-list* cpads 0 stick0-speed) 0.0) (zero? (-> self slide-count))) + (set! (-> self slide-lock) #f) + ) + (let ((gp-0 (ppointer->process (-> self parent)))) + (when (and (< (-> self slide-dir) 0) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 gp-0 (-> self local) (-> self dir) (-> self dir)) + ) + ) + ) + (let ((s5-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((and *cheat-mode* (cpad-pressed? 0 triangle)) + (sound-play "change-directn") + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((-> self slide-lock) + ) + ((power-game-method-40 gp-0 s5-0) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) 8.0) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s5-0) + (power-game-method-39 gp-0 (-> self dir)) + (sound-play "change-track") + (set! (-> self slide-dir) s5-0) + (set! (-> self slide-rel-dir) 1) + (+! (-> self slide-count) 1) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s5-0) + 1.0 + ) + ) + ) + ((power-game-method-40 gp-0 s4-0) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) 8.0) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s4-0) + (power-game-method-39 gp-0 (-> self dir)) + (sound-play "change-track") + (set! (-> self slide-dir) s4-0) + (set! (-> self slide-rel-dir) -1) + (+! (-> self slide-count) 1) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + (let ((s5-4 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) -1))) + (if (!= s5-4 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) 0)) + (sound-play "pickup-fruit") + ) + ) + ) + ) + :code (behavior () + (let ((f30-0 0.0)) + 1.0 + (until #f + (label cfg-1) + (let ((v1-3 (ja-group))) + (cond + ((and v1-3 (or (= v1-3 daxter-pac-man-zip-down-ja) (= v1-3 daxter-pac-man-zip-up-ja))) + (ja-no-eval :num! (seek!)) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + ) + ((and (>= (-> self slide-dir) 0) (> (-> self slide-rel-dir) 0)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! daxter-pac-man-zip-down-ja :num! (seek! (ja-aframe 2.0 0)) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! (ja-aframe 2.0 0))) + ) + (while (>= (-> self slide-dir) 0) + (suspend) + ) + ) + ((and (>= (-> self slide-dir) 0) (< (-> self slide-rel-dir) 0)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! daxter-pac-man-zip-up-ja :num! (seek! (ja-aframe 2.0 0)) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! (ja-aframe 2.0 0))) + ) + (while (>= (-> self slide-dir) 0) + (suspend) + ) + (goto cfg-1) + ) + ) + ) + (let ((v1-58 (ja-group))) + (when (not (and v1-58 (= v1-58 daxter-pac-man-idle-ja))) + (ja-channel-push! 2 (seconds 0.05)) + (ja :group! daxter-pac-man-idle-ja) + (ja :chan 1 :group! daxter-pac-man-idle-fast-ja) + (set! f30-0 0.0) + ) + ) + (suspend) + (let ((f28-0 (lerp-scale 1.0 2.0 (-> self speed) 4.0 8.0))) + (set! f30-0 (seek f30-0 (lerp-scale 0.0 1.0 (-> self speed) 4.0 8.0) (* 4.0 (seconds-per-frame)))) + (ja :num! (loop! f28-0)) + ) + (ja :chan 1 :num! (chan 0) :frame-interp0 f30-0 :frame-interp1 f30-0) + ) + ) + #f + ) + :post (behavior () + (power-game-player-post) + ) + ) + +;; failed to figure out what this is: +(defstate die (power-game-player) + :virtual #t + :code (behavior () + (sound-play "dax-die") + (send-event (ppointer->process (-> self parent)) 'die) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (cond + ((rand-vu-percent? 0.5) + (ja-no-eval :group! daxter-pac-man-death-1-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + (else + (ja-no-eval :group! daxter-pac-man-death-2-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 911 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 911)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 911)) + ) + ) + (sound-play "magic-poof-die") + (ja-channel-set! 0) + (send-event (ppointer->process (-> self parent)) 'fail) + (sleep-code) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +;; definition for function power-game-player-init +;; INFO: Used lq/sq +(defbehavior power-game-player-init power-game-player ((arg0 vector) (arg1 entity-actor)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-player" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logior! (-> self skel status) (joint-control-status sync-math blend-shape eye-anim)) + (set-vector! (-> self root scale) 8.0 8.0 8.0 1.0) + (set-vector! (-> self local) 8.0 0.0 5.0 1.0) + (set! (-> self dir) 1) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self target) (the-as handle #f)) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (if (zero? (set-last-speech (-> self parent 0) 4 2)) + (talker-spawn-func (-> *power-game-speech-list* 12) *entity-pool* (target-pos 0) (the-as region #f)) + (talker-spawn-func (-> *power-game-speech-list* 13) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (let ((v1-27 (-> (process->handle self) process))) + (set-setting! 'sound-ear v1-27 0.0 (-> v1-27 0 pid)) + ) + (go-virtual active) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-chaser flitter flitter-lod0-jg -1 + ((flitter-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + :shadow flitter-shadow-mg + :origin-joint-index 3 + ) + +;; definition of type power-game-chaser +(deftype power-game-chaser (power-game-object) + ((targ-dist float) + ) + ) + +;; definition for method 3 of type power-game-chaser +(defmethod inspect ((this power-game-chaser)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type power-game-object inspect))) + (t9-0 this) + ) + (format #t "~2Ttarg-dist: ~f~%" (-> this targ-dist)) + (label cfg-4) + this + ) + +;; definition for function power-game-chaser-post +;; WARN: Return type mismatch int vs none. +(defbehavior power-game-chaser-post power-game-chaser () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate active (power-game-chaser) + :virtual #t + :trans (behavior () + (let* ((s5-0 (handle->process (-> self target))) + (gp-0 (if (type? s5-0 power-game-object) + (the-as power-game-object s5-0) + ) + ) + (s5-1 (ppointer->process (-> self parent))) + ) + (when (and gp-0 (not (logtest? (-> gp-0 focus-status) (focus-status dead)))) + (let ((s3-0 (power-game-method-32 s5-1 (-> gp-0 local x) (-> gp-0 local z))) + (s2-0 (power-game-method-32 s5-1 (-> self local x) (-> self local z))) + (s0-0 (power-game-method-35 s5-1 (-> self local x) (-> self local z) (-> self dir))) + ) + (when (and (= (-> self slide-dir) -1) + (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 s5-1 (-> self local) (-> self dir) (-> self dir)) + ) + ) + (let ((s1-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((!= s0-0 (power-game-method-35 s5-1 (-> gp-0 local x) (-> gp-0 local z) (-> gp-0 dir))) + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((= s3-0 s2-0) + ) + ((or (and (> s0-0 0) (< s2-0 s3-0)) (and (< s0-0 0) (< s3-0 s2-0))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s4-1 (-> self slide-dist)) + (when (power-game-method-42 s5-1 (-> self slide-dest) -1 s1-0) + (power-game-method-39 s5-1 (-> self dir)) + (set! (-> self slide-dir) s1-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s5-1 (new 'stack-no-clear 'vector) s1-0) + 1.0 + ) + ) + ) + ) + ((or (and (> s0-0 0) (< s3-0 s2-0)) (and (< s0-0 0) (< s2-0 s3-0))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-3 (-> self slide-dist)) + (when (power-game-method-42 s5-1 (-> self slide-dest) -1 s4-0) + (power-game-method-39 s5-1 (-> self dir)) + (set! (-> self slide-dir) s4-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s5-1 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + ) + ) + (set! (-> self targ-dist) + (lerp-scale 10.0 0.0 (the float (- (current-time) (-> self start-time))) 0.0 18000.0) + ) + (let* ((f0-23 (- (power-game-method-36 + s5-1 + (-> self local x) + (-> self local z) + (-> self dir) + (-> gp-0 local x) + (-> gp-0 local z) + ) + (-> self targ-dist) + ) + ) + (f0-24 (if (>= f0-23 0.0) + (lerp-scale 4.0 24.0 f0-23 0.0 5.0) + (lerp-scale 2.0 4.0 f0-23 -5.0 0.0) + ) + ) + ) + (seek! (-> self speed) f0-24 (* 128.0 (seconds-per-frame))) + ) + (if (< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 1.0) + (send-event gp-0 'die) + ) + ) + ) + ) + :code (behavior () + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! flitter-walk-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (power-game-chaser-post) + ) + ) + +;; definition for function power-game-chaser-init +;; INFO: Used lq/sq +(defbehavior power-game-chaser-init power-game-chaser ((arg0 vector) (arg1 entity-actor) (arg2 handle)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-chaser" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self local) 0.0 0.0 10.0 1.0) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 4.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (go-virtual active) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-switcher switcher switcher-lod0-jg -1 + ((switcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + :origin-joint-index 3 + ) + +;; definition of type power-game-switcher +(deftype power-game-switcher (power-game-object) + ((targ-dist float) + (turn-time time-frame) + ) + (:state-methods + idle + ) + ) + +;; definition for method 3 of type power-game-switcher +(defmethod inspect ((this power-game-switcher)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type power-game-object inspect))) + (t9-0 this) + ) + (format #t "~2Ttarg-dist: ~f~%" (-> this targ-dist)) + (format #t "~2Tturn-time: ~D~%" (-> this turn-time)) + (label cfg-4) + this + ) + +;; definition for function power-game-switcher-post +;; WARN: Return type mismatch int vs none. +(defbehavior power-game-switcher-post power-game-switcher () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate idle (power-game-switcher) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (if (time-elapsed? (-> self state-time) (seconds 4)) + (go-virtual active) + ) + (let* ((gp-0 (handle->process (-> self target))) + (v1-10 (if (type? gp-0 power-game-object) + (the-as power-game-object gp-0) + ) + ) + ) + (when (and v1-10 (not (logtest? (-> v1-10 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-10 local)) 1.0) + (go-virtual die) + ) + ) + ) + ) + :code (behavior () + (sound-play "switcher-appear") + (if (logtest? (-> *part-group-id-table* 907 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to self + :group (-> *part-group-id-table* 907) + :duration (seconds 4) + :target self + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to self + :group (-> *part-group-id-table* 907) + :duration (seconds 4) + :target self + :mat-joint (the-as object 0) + ) + ) + (let ((v1-32 (set-last-speech (-> self parent 0) 6 3))) + (cond + ((zero? v1-32) + (talker-spawn-func (-> *power-game-speech-list* 47) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-32 1) + (talker-spawn-func (-> *power-game-speech-list* 46) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 48) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! switcher-charge-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post power-game-switcher-post + ) + +;; failed to figure out what this is: +(defstate active (power-game-switcher) + :virtual #t + :event (-> (method-of-type power-game-switcher idle) event) + :trans (behavior () + (let ((gp-0 (ppointer->process (-> self parent)))) + (when (and (= (-> self slide-dir) -1) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 gp-0 (-> self local) (-> self dir) (-> self dir)) + (time-elapsed? (-> self turn-time) (seconds 2)) + ) + ) + ) + (let ((s5-0 (logand (+ (-> self dir) 1) 3)) + (s4-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((rand-vu-percent? 0.01) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s4-1 (-> self slide-dist)) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s5-0) + (power-game-method-39 gp-0 (-> self dir)) + (set-time! (-> self turn-time)) + (set! (-> self slide-dir) s5-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s5-0) + 1.0 + ) + ) + ) + ) + ((rand-vu-percent? 0.01) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s5-1 (-> self slide-dist)) + (when (power-game-method-42 gp-0 (-> self slide-dest) -1 s4-0) + (power-game-method-39 gp-0 (-> self dir)) + (set-time! (-> self turn-time)) + (set! (-> self slide-dir) s4-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 gp-0 (new 'stack-no-clear 'vector) s4-0) + 1.0 + ) + ) + ) + ) + ) + ) + ) + (let* ((s5-2 (handle->process (-> self target))) + (v1-53 (if (type? s5-2 power-game-object) + (the-as power-game-object s5-2) + ) + ) + ) + (when (and v1-53 (not (logtest? (-> v1-53 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-53 local)) 1.0) + (go-virtual die) + ) + ) + ) + (when (not (and (>= (-> self local z) 7.0) + (< (-> self local z) 8.0) + (>= (-> self local x) 7.0) + (>= 9.0 (-> self local x)) + ) + ) + (let ((s5-3 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) -1))) + (if (!= s5-3 (power-game-method-33 gp-0 (+ 0.5 (-> self local x)) (+ 0.5 (-> self local z)) 1)) + (sound-play "switch-fruit") + ) + ) + ) + ) + ) + :code (behavior () + (set! (-> self speed) 3.0) + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! switcher-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post power-game-switcher-post + ) + +;; failed to figure out what this is: +(defstate die (power-game-switcher) + :virtual #t + :code (behavior () + (sound-play "switcher-kill") + (let ((v1-4 (set-last-speech (-> self parent 0) 5 4))) + (cond + ((zero? v1-4) + (talker-spawn-func (-> *power-game-speech-list* 21) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-4 1) + (talker-spawn-func (-> *power-game-speech-list* 22) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-4 2) + (talker-spawn-func (-> *power-game-speech-list* 23) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 24) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (cond + ((logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 908)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 908)) + ) + ) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! switcher-die-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +;; definition for function power-game-switcher-init +;; INFO: Used lq/sq +(defbehavior power-game-switcher-init power-game-switcher ((arg0 vector) (arg1 entity-actor) (arg2 handle)) + (local-vars (v1-11 symbol)) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-switcher" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 1.3 1.3 1.3 1.0) + (until (not v1-11) + (set-vector! (-> self local) (the float (rand-vu-int-count 17)) 0.0 (the float (rand-vu-int-count 15)) 1.0) + (set! v1-11 (and (>= (-> self local z) 6.0) + (>= 8.0 (-> self local z)) + (>= (-> self local x) 6.0) + (>= 10.0 (-> self local x)) + ) + ) + ) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 0.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (set! (-> self sound) (new 'process 'ambient-sound "switcher-drone" (-> self root trans) 0.0)) + (go-virtual idle) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-zapper grunt-head grunt-head-lod0-jg -1 + ((grunt-head-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-rings pow-rings pow-rings-lod0-jg pow-rings-idle-ja + ((pow-rings-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) + +;; definition of type power-game-zapper +(deftype power-game-zapper (power-game-object) + ((change-time time-frame) + (close-time time-frame) + (switch-duration time-frame) + (lane-time time-frame) + (lane-target int32) + (lane-target-old int32) + (lane-old int32) + (rings (pointer manipy)) + ) + ) + +;; definition for method 3 of type power-game-zapper +(defmethod inspect ((this power-game-zapper)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type power-game-object inspect))) + (t9-0 this) + ) + (format #t "~2Tchange-time: ~D~%" (-> this change-time)) + (format #t "~2Tclose-time: ~D~%" (-> this close-time)) + (format #t "~2Tswitch-duration: ~D~%" (-> this switch-duration)) + (format #t "~2Tlane-time: ~D~%" (-> this lane-time)) + (format #t "~2Tlane-target: ~D~%" (-> this lane-target)) + (format #t "~2Tlane-target-old: ~D~%" (-> this lane-target-old)) + (format #t "~2Tlane-old: ~D~%" (-> this lane-old)) + (format #t "~2Trings: #x~X~%" (-> this rings)) + (label cfg-4) + this + ) + +;; definition for function power-game-zapper-post +;; WARN: Return type mismatch int vs none. +(defbehavior power-game-zapper-post power-game-zapper () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + (let ((v1-6 (power-game-method-32 (-> self parent 0) (-> self local x) (-> self local z)))) + (cond + ((= v1-6 6) + (send-event (ppointer->process (-> self rings)) 'segment 8 1008) + ) + ((= v1-6 5) + (send-event (ppointer->process (-> self rings)) 'segment 16 1000) + ) + ((= v1-6 4) + (send-event (ppointer->process (-> self rings)) 'segment 32 984) + ) + ((= v1-6 3) + (send-event (ppointer->process (-> self rings)) 'segment 64 952) + ) + ((= v1-6 2) + (send-event (ppointer->process (-> self rings)) 'segment 128 888) + ) + ((= v1-6 1) + (send-event (ppointer->process (-> self rings)) 'segment 256 760) + ) + ((zero? v1-6) + (send-event (ppointer->process (-> self rings)) 'segment 512 504) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate active (power-game-zapper) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('die) + (go-virtual die) + ) + ) + ) + :trans (behavior () + (let* ((s5-0 (handle->process (-> self target))) + (gp-0 (if (type? s5-0 power-game-object) + (the-as power-game-zapper s5-0) + ) + ) + (s4-0 (ppointer->process (-> self parent))) + ) + (when (and gp-0 (not (logtest? (-> gp-0 focus-status) (focus-status dead)))) + (let ((s5-1 (power-game-method-32 s4-0 (-> self local x) (-> self local z)))) + (let ((s3-0 (power-game-method-35 s4-0 (-> self local x) (-> self local z) (-> self dir)))) + (when (time-elapsed? (-> self lane-time) (-> self switch-duration)) + (set! (-> self lane-target) (-> self lane-target-old)) + (set-time! (-> self lane-time)) + (set! (-> self lane-target-old) (power-game-method-32 s4-0 (-> gp-0 local x) (-> gp-0 local z))) + ) + (when (and (= (-> self slide-dir) -1) + (and (= (-> self dir) (-> self next-dir)) + (and (>= (vector-vector-xz-distance (-> self turn-pos) (-> self local)) 1.0) + (power-game-method-42 s4-0 (-> self local) (-> self dir) (-> self dir)) + (time-elapsed? (-> self change-time) (seconds 2)) + ) + ) + ) + (let ((s1-0 (logand (+ (-> self dir) 1) 3)) + (s2-0 (logand (+ (-> self dir) 3) 3)) + ) + (cond + ((= s3-0 (power-game-method-35 s4-0 (-> gp-0 local x) (-> gp-0 local z) (-> gp-0 dir))) + (set! (-> self dir) (logand (+ (-> self dir) 2) 3)) + ) + ((= (-> self lane-target) s5-1) + ) + ((or (and (> s3-0 0) (< s5-1 (-> self lane-target))) (and (< s3-0 0) (< (-> self lane-target) s5-1))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-1 (-> self slide-dist)) + (when (power-game-method-42 s4-0 (-> self slide-dest) -1 s1-0) + (power-game-method-39 s4-0 (-> self dir)) + (set! (-> self slide-dir) s1-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s4-0 (new 'stack-no-clear 'vector) s1-0) + 1.0 + ) + (set-time! (-> self change-time)) + ) + ) + ) + ((or (and (> s3-0 0) (< (-> self lane-target) s5-1)) (and (< s3-0 0) (< s5-1 (-> self lane-target)))) + (set! (-> self slide-dest quad) (-> self local quad)) + (set! (-> self slide-speed) (* 8.0 (the float (-> self slide-dist)))) + (dotimes (s3-2 (-> self slide-dist)) + (when (power-game-method-42 s4-0 (-> self slide-dest) -1 s2-0) + (power-game-method-39 s4-0 (-> self dir)) + (set! (-> self slide-dir) s2-0) + (vector+float*! + (-> self slide-dest) + (-> self slide-dest) + (power-game-method-38 s4-0 (new 'stack-no-clear 'vector) s2-0) + 1.0 + ) + (set-time! (-> self change-time)) + ) + ) + ) + ) + ) + ) + ) + (cond + ((and (!= (-> self lane-old) s5-1) + (= s5-1 (power-game-method-32 s4-0 (-> gp-0 local x) (-> gp-0 local z))) + (rand-vu-percent? 0.3) + ) + (let ((v1-89 (set-last-speech s4-0 3 3))) + (cond + ((zero? v1-89) + (talker-spawn-func (-> *power-game-speech-list* 4) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-89 1) + (talker-spawn-func (-> *power-game-speech-list* 5) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 6) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + ((< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 2.0) + (when (time-elapsed? (-> self close-time) (seconds 3)) + (let ((v1-103 (set-last-speech s4-0 7 3))) + (cond + ((zero? v1-103) + (talker-spawn-func (-> *power-game-speech-list* 43) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-103 1) + (talker-spawn-func (-> *power-game-speech-list* 44) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-103 2) + (talker-spawn-func (-> *power-game-speech-list* 45) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 46) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + (set-time! (-> self close-time)) + ) + ) + (set! (-> self lane-old) s5-1) + ) + (if (< (vector-vector-xz-distance (-> self local) (-> gp-0 local)) 1.0) + (send-event gp-0 'die) + ) + ) + ) + ) + :code (behavior () + (ja-channel-set! 1) + (until #f + (ja-no-eval :group! grunt-head-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + ) + :post (behavior () + (power-game-zapper-post) + ) + ) + +;; failed to figure out what this is: +(defstate die (power-game-zapper) + :virtual #t + :code (behavior () + (if (logtest? (-> *part-group-id-table* 908 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to self + :group (-> *part-group-id-table* 908) + :target self + :mat-joint (the-as object 0) + ) + (part-tracker-spawn + part-tracker + :to self + :group (-> *part-group-id-table* 908) + :target self + :mat-joint (the-as object 0) + ) + ) + (logior! (-> self focus-status) (focus-status dead)) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! grunt-head-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +;; definition for function power-game-zapper-init +;; INFO: Used lq/sq +(defbehavior power-game-zapper-init power-game-zapper ((arg0 vector) (arg1 entity-actor) (arg2 handle) (arg3 int)) + (let ((f30-0 (you-suck-scale *game-info* #f 175))) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-zapper" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set-vector! (-> self root scale) 2.5 2.5 2.5 1.0) + (set! (-> self switch-duration) (the-as time-frame (the int (+ 300.0 (* 900.0 f30-0))))) + (cond + ((= arg3 1) + (set-vector! (-> self local) 1.0 0.0 10.0 1.0) + (set! (-> self speed) 3.0) + ) + ((= arg3 2) + (set-vector! (-> self local) 2.0 0.0 10.0 1.0) + (set! (-> self speed) 2.0) + ) + ((= arg3 3) + (set-vector! (-> self local) 2.0 0.0 10.0 1.0) + (set! (-> self speed) 5.0) + ) + ((= arg3 4) + (set-vector! (-> self local) 3.0 0.0 10.0 1.0) + (set! (-> self speed) 1.0) + ) + ((begin + (set-vector! (-> self local) 0.0 0.0 10.0 1.0) + (task-node-closed? (game-task-node city-power-game-resolution)) + ) + (set! (-> self speed) 4.0) + ) + (else + (set! (-> self speed) (- 4.0 (* 2.0 f30-0))) + ) + ) + ) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (set! (-> self rings) + (process-spawn + manipy + :init manipy-init + (vector+! (new 'stack-no-clear 'vector) (-> self parent 0 center) (new 'static 'vector :y 204.8 :w 1.0)) + (-> self entity) + (art-group-get-by-name *level* "skel-power-game-rings" (the-as (pointer level) #f)) + #f + 0 + :name "pow-rings" + :to self + :stack-size #x20000 + ) + ) + (set! (-> self sound) (new 'process 'ambient-sound "zapper-drone" (-> self root trans) 0.0)) + (go-virtual active) + ) + +;; failed to figure out what this is: +(defskelgroup skel-power-game-glyph cipher cipher-lod0-jg cipher-idle-ja + ((cipher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +;; definition of type power-game-glyph +(deftype power-game-glyph (power-game-object) + ((pickup-type int32) + (angle degrees) + ) + (:methods + (power-game-glyph-method-32 (_type_) none) + ) + ) + +;; definition for method 3 of type power-game-glyph +(defmethod inspect ((this power-game-glyph)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type power-game-object inspect))) + (t9-0 this) + ) + (format #t "~2Tpickup-type: ~D~%" (-> this pickup-type)) + (format #t "~2Tangle: (deg ~r)~%" (-> this angle)) + (label cfg-4) + this + ) + +;; definition for method 31 of type power-game-glyph +(defmethod power-game-object-method-31 ((this power-game-glyph)) + (get-center-pos! + (ppointer->process (-> this parent)) + (-> this root trans) + (-> this local x) + (-> this local z) + ) + (+! (-> this root trans y) 4096.0) + (let ((t9-1 quaternion-rotate-y!) + (a0-2 (-> this root quat)) + (a1-1 *unity-quaternion*) + (f0-5 (+ (-> this angle) (* 40049.777 (seconds-per-frame)))) + ) + (set! (-> this angle) f0-5) + (t9-1 a0-2 a1-1 f0-5) + ) + (ja-post) + (none) + ) + +;; definition for function power-game-glyph-post +;; WARN: Return type mismatch int vs none. +(defbehavior power-game-glyph-post power-game-glyph () + (power-game-object-method-30 self) + (power-game-object-method-31 self) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate active (power-game-glyph) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :trans (behavior () + (let* ((gp-0 (handle->process (-> self target))) + (v1-3 (if (type? gp-0 power-game-object) + (the-as power-game-object gp-0) + ) + ) + ) + (when (and v1-3 (not (logtest? (-> v1-3 focus-status) (focus-status dead)))) + (if (< (vector-vector-xz-distance (-> self local) (-> v1-3 local)) 1.0) + (go-virtual die) + ) + ) + ) + ) + :code sleep-code + :post power-game-glyph-post + ) + +;; failed to figure out what this is: +(defstate die (power-game-glyph) + :virtual #t + :code (behavior () + (cond + ((logtest? (-> *part-group-id-table* 910 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 910)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 910)) + ) + ) + (sound-play "glyph-kill") + (logior! (-> self focus-status) (focus-status dead)) + (send-event (ppointer->process (-> self parent)) 'win) + ) + :post (behavior () + (power-game-object-method-31 self) + ) + ) + +;; definition for function power-game-glyph-init +;; INFO: Used lq/sq +(defbehavior power-game-glyph-init power-game-glyph ((arg0 vector) (arg1 entity-actor) (arg2 handle) (arg3 int)) + (set! (-> self pickup-type) arg3) + (process-entity-set! self arg1) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (if (zero? arg3) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-power-game-glyph" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-skill" (the-as (pointer level) #f))) + (the-as pair 0) + ) + ) + (set-vector! (-> self root scale) 10.0 10.0 10.0 1.0) + (set-vector! (-> self local) 8.0 0.0 8.0 1.0) + (set! (-> self next-dir) (-> self dir)) + (set! (-> self slide-dir) -1) + (set! (-> self speed) 0.0) + (set! (-> self slide-dist) 1) + (set! (-> self target) arg2) + (set-time! (-> self start-time)) + (set! (-> self slide-lock) #f) + (sound-play "glyph-appear") + (get-center-pos! + (ppointer->process (-> self parent)) + (-> self root trans) + (-> self local x) + (-> self local z) + ) + (cond + ((logtest? (-> *part-group-id-table* 909 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to self :group (-> *part-group-id-table* 909)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to self :group (-> *part-group-id-table* 909)) + ) + ) + (go-virtual active) + ) + +;; failed to figure out what this is: +(defstate hide (power-game) + :virtual #t + :trans (behavior () + (when (= (status-of-level-and-borrows *level* 'powergd #f) 'active) + (case (-> (get-current-task-event (-> self task)) action) + (((game-task-action idle) (game-task-action talk)) + (go-virtual idle) + ) + (((game-task-action play)) + (go-virtual wait-for-start) + ) + ) + ) + ) + :code (behavior () + (set! (-> self difficulty) 0) + (ja-channel-set! 0) + (ja-post) + (sleep-code) + ) + ) + +;; failed to figure out what this is: +(defstate idle (power-game) + :virtual #t + :trans (behavior () + (case (-> (get-current-task-event (-> self task)) action) + (((game-task-action hide)) + (go-virtual hide) + ) + (((game-task-action play)) + (go-virtual wait-for-start) + ) + (((game-task-action talk)) + (let ((a0-5 (-> self root trans))) + (when (and (time-elapsed? (-> self state-time) (seconds 3)) + (and (and *target* (and (>= 40960.0 (vector-vector-distance a0-5 (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) + ) + (not (focus-test? *target* in-head pole flut light board pilot dark)) + (can-display-query? self "game" -99.0) + ) + ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 320 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-22 gp-0)) + (set! (-> v1-22 width) (the float 340)) + ) + (let ((v1-23 gp-0)) + (set! (-> v1-23 height) (the float 80)) + ) + (let ((v1-24 gp-0) + (a0-15 (-> *setting-control* user-default language)) + ) + (set! (-> v1-24 scale) (if (or (= a0-15 (language-enum korean)) (= a0-15 (language-enum russian))) + 0.9 + 0.7 + ) + ) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning large)) + (print-game-text + (lookup-text! *common-text* (text-id text-0087) #f) + gp-0 + #f + 44 + (bucket-id hud-draw-hud-alpha) + ) + ) + (if (cpad-pressed? 0 triangle) + (go-virtual wait-for-start) + ) + ) + ) + ) + ) + ) + :code (behavior () + (set! (-> self difficulty) 0) + (sleep-code) + ) + :post ja-post + ) + +;; failed to figure out what this is: +(defstate wait-for-start (power-game) + :virtual #t + :code (behavior () + (set! (-> self difficulty) 0) + (while (or (not *target*) (not (process-grab? *target* #f))) + (suspend) + ) + (send-event *target* 'draw #f) + (go-virtual active #t) + ) + ) + +;; failed to figure out what this is: +(defstate active (power-game) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('done) + (set-time! (-> self miss-time)) + (let ((v0-0 (the-as object (+ (-> self miss-count) 1)))) + (set! (-> self miss-count) (the-as int v0-0)) + v0-0 + ) + ) + (('fail) + (go-virtual lose #f) + ) + (('win) + (go-virtual win #f) + ) + (('die) + (let ((v1-9 (set-last-speech self 1 12))) + (cond + ((zero? v1-9) + (talker-spawn-func (-> *power-game-speech-list* 30) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 1) + (talker-spawn-func (-> *power-game-speech-list* 31) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 2) + (talker-spawn-func (-> *power-game-speech-list* 32) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 3) + (talker-spawn-func (-> *power-game-speech-list* 33) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 4) + (talker-spawn-func (-> *power-game-speech-list* 34) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 5) + (talker-spawn-func (-> *power-game-speech-list* 35) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 6) + (talker-spawn-func (-> *power-game-speech-list* 36) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 7) + (talker-spawn-func (-> *power-game-speech-list* 37) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 8) + (talker-spawn-func (-> *power-game-speech-list* 38) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 9) + (talker-spawn-func (-> *power-game-speech-list* 39) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 10) + (talker-spawn-func (-> *power-game-speech-list* 40) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-9 11) + (talker-spawn-func (-> *power-game-speech-list* 41) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 42) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + ) + ) + ) + :enter (behavior ((arg0 symbol)) + (when arg0 + (if (zero? (-> self wave-index)) + (talker-spawn-func (-> *power-game-speech-list* 1) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (set! (-> self score) 0.0) + (set! (-> self score-met) #f) + (set! (-> self lentity) (entity-actor-from-level-name 'powergd)) + (dotimes (v1-4 (-> self blockers length)) + (set! (-> self blockers v1-4) (the-as uint 0)) + ) + (set! (-> self blockers 1) (the-as uint 1)) + (dotimes (v1-8 (-> self dots length)) + (set! (-> self dots v1-8) (the-as uint 1)) + ) + (power-game-method-33 self 7.0 7.0 0) + (power-game-method-33 self 8.0 7.0 0) + (power-game-method-33 self 9.0 7.0 0) + (send-event *target* 'draw #f) + (sound-play "zoom-in") + (add-connection + *task-manager-engine* + self + nothing + self + (-> *game-info* sub-task-list (game-task-node city-power-game-resolution)) + #f + ) + (add-setting! 'music 'waspgame 0.0 0) + (set-setting! 'mode-name 'cam-power-game 0.0 0) + (set! (-> self cam-targ cam-pos-x-angle) 13653.333) + (set! (-> self cam-targ cam-dist) 204800.0) + (set! (-> self cam-targ cam-x-angle) 13653.333) + (set! (-> self cam-targ cam-y-angle) 0.0) + (set! (-> self cam-targ cam-y-angle-speed) 12743.111) + (mem-copy! (the-as pointer (-> self cam-cur)) (the-as pointer (-> self cam-targ)) 40) + (set-setting! 'interp-time 'abs 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (set-setting! 'minimap 'clear 0.0 (minimap-flag minimap)) + (set-setting! 'extra-bank '((vinroomh vinroomh powergd1)) 0.0 0) + (set-setting! + 'faction-command + '((faction-spawn mh-guard off) + (faction-spawn mh-ped off) + (faction-spawn ff-guard off) + (faction-spawn ff-ped off) + (faction-spawn kg-guard off) + (faction-spawn kg-ped off) + (faction-strength kg -5) + (faction-strength mh -5) + (faction-strength ff -5) + ) + 0.0 + 0 + ) + (set-time! (-> self game-start-time)) + (set-time! (-> self wave-start-time)) + (send-event *target* 'draw #f) + (set-setting! 'gun #f 0.0 0) + (set-setting! 'calm #t 0.0 0) + (set-setting! 'gem #f 0.0 0) + (set! (-> self player) (ppointer->handle (process-spawn + power-game-player + :init power-game-player-init + (-> self center) + (-> self lentity) + :name "power-game-player" + :to self + ) + ) + ) + (dotimes (gp-3 (min 5 (+ (/ (-> self difficulty) 3) 1))) + (set! (-> self zapper gp-3) (ppointer->handle (process-spawn + power-game-zapper + :init power-game-zapper-init + (-> self center) + (-> self lentity) + (-> self player) + gp-3 + :name "power-game-zapper" + :to self + ) + ) + ) + ) + (set-time! (-> self switcher-time)) + ) + ) + :exit (behavior () + (when (not (and (-> self next-state) (let ((v1-3 (-> self next-state name))) + (or (= v1-3 'win) (= v1-3 'lose)) + ) + ) + ) + (when (not (and (-> self next-state) (= (-> self next-state name) 'active))) + (format #t "score of ~f~%" (+ (-> self base-score) (-> self score))) + (game-info-method-27 *game-info* (game-score gs14) (+ (-> self base-score) (-> self score))) + ) + (remove-from-process *task-manager-engine* self) + (remove-setting! 'music) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + (remove-setting! 'entity-name) + (remove-setting! 'mode-name) + (if (and *target* (focus-test? *target* grabbed)) + (process-release? *target*) + ) + (remove-setting! 'airlock) + (remove-setting! 'borrow) + (remove-setting! 'minimap) + (remove-setting! 'gun) + (remove-setting! 'calm) + (remove-setting! 'gem) + (persist-with-delay *setting-control* 'gun (seconds 0.5) 'gun #f 0.0 0) + (remove-setting! 'extra-bank) + (remove-setting! 'faction-command) + (remove-setting! 'interp-time) + (persist-with-delay *setting-control* 'interp-time (seconds 0.1) 'interp-time 'abs 0.0 0) + (send-event *target* 'draw #t) + (let ((a0-37 (handle->process (-> self player)))) + (if a0-37 + (deactivate a0-37) + ) + ) + (let ((a0-41 (handle->process (-> self chaser)))) + (if a0-41 + (deactivate a0-41) + ) + ) + (dotimes (gp-0 5) + (let ((a0-45 (handle->process (-> self zapper gp-0)))) + (if a0-45 + (deactivate a0-45) + ) + ) + ) + (let ((a0-49 (handle->process (-> self switcher)))) + (if a0-49 + (deactivate a0-49) + ) + ) + (let ((a0-53 (handle->process (-> self glyph)))) + (if a0-53 + (deactivate a0-53) + ) + ) + (send-event *target* 'draw #t) + (logclear! + (-> *cpad-list* cpads 0 button0-abs 0) + (pad-buttons up right down left l1 r1 triangle circle x square) + ) + (logclear! + (-> *cpad-list* cpads 0 button0-rel 0) + (pad-buttons up right down left l1 r1 triangle circle x square) + ) + ) + ) + :trans (behavior () + (cond + ((or (and *cheat-mode* (cpad-pressed? 0 l1)) (>= (-> self miss-count) (-> self miss-max))) + (go-virtual lose #t) + ) + ((and (>= (-> self score) (-> self point-win)) (not (-> self score-met))) + (cond + ((not (task-node-closed? (game-task-node city-power-game-resolution))) + (let ((v1-13 (set-last-speech self 0 2))) + (cond + ((zero? v1-13) + (talker-spawn-func (-> *power-game-speech-list* 9) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-13 1) + (talker-spawn-func (-> *power-game-speech-list* 10) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 11) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (set! (-> self score-met) #t) + (set! (-> self glyph) (ppointer->handle (process-spawn + power-game-glyph + :init power-game-glyph-init + (-> self center) + (-> self lentity) + (-> self player) + 0 + :name "power-game-glyph" + :to self + ) + ) + ) + ) + (else + (+! (-> self wave-index) 1) + (+! (-> self difficulty) 1) + (sound-play "glyph-kill") + (+! (-> self base-score) (-> self score)) + (go-virtual active #t) + ) + ) + ) + ((and *cheat-mode* (cpad-pressed? 0 r1)) + (go-virtual win #t) + ) + ) + ) + :code (behavior ((arg0 symbol)) + (sleep-code) + ) + :post (behavior () + (power-game-active-post self) + (ja-post) + ) + ) + +;; failed to figure out what this is: +(defstate lose (power-game) + :virtual #t + :exit (-> (method-of-type power-game active) exit) + :code (behavior ((arg0 symbol)) + (when (not arg0) + (let ((gp-0 (lookup-gui-connection-id *gui-control* (the-as string #f) (gui-channel daxter) (gui-action none))) + (s5-0 (current-time)) + ) + (while (or (nonzero? (get-status *gui-control* gp-0)) (not (time-elapsed? s5-0 (seconds 2)))) + (suspend) + ) + ) + ) + (let* ((v1-12 (-> *game-info* sub-task-list (game-task-node city-power-game-resolution))) + (gp-1 (if (-> v1-12 manager) + (-> v1-12 manager manager) + (the-as handle #f) + ) + ) + ) + (cond + ((handle->process gp-1) + (send-event (handle->process gp-1) 'fail) + (while (handle->process gp-1) + (suspend) + ) + ) + (else + (auto-save-user) + (ja-channel-set! 0) + (ja-post) + (set-blackout-frames (seconds 0.2)) + ) + ) + ) + ) + :post (behavior () + (update-score-text self) + (ja-post) + ) + ) + +;; failed to figure out what this is: +(defstate win (power-game) + :virtual #t + :exit (-> (method-of-type power-game active) exit) + :code (behavior ((arg0 symbol)) + (dotimes (s5-0 5) + (if (-> self zapper s5-0) + (send-event (handle->process (-> self zapper s5-0)) 'die) + ) + ) + (when (not arg0) + (let ((v1-16 (set-last-speech self 2 5))) + (cond + ((zero? v1-16) + (talker-spawn-func (-> *power-game-speech-list* 25) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 1) + (talker-spawn-func (-> *power-game-speech-list* 26) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 2) + (talker-spawn-func (-> *power-game-speech-list* 27) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-16 3) + (talker-spawn-func (-> *power-game-speech-list* 28) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (else + (talker-spawn-func (-> *power-game-speech-list* 29) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (let ((gp-6 (lookup-gui-connection-id *gui-control* (the-as string #f) (gui-channel daxter) (gui-action none))) + (s5-6 (current-time)) + ) + (while (or (nonzero? (get-status *gui-control* gp-6)) (not (time-elapsed? s5-6 (seconds 2)))) + (suspend) + ) + ) + ) + (let* ((v1-38 (-> *game-info* sub-task-list (game-task-node city-power-game-resolution))) + (gp-7 (if (-> v1-38 manager) + (-> v1-38 manager manager) + (the-as handle #f) + ) + ) + ) + (send-event (handle->process gp-7) 'complete) + (ja-channel-set! 0) + (ja-post) + (set-blackout-frames (seconds 0.2)) + (cond + ((handle->process gp-7) + ) + (else + (auto-save-user) + ) + ) + (while (handle->process gp-7) + (suspend) + ) + ) + ) + :post (-> (method-of-type power-game lose) post) + ) + +;; definition for method 28 of type power-game +;; WARN: Return type mismatch int vs none. +(defmethod spawn-switcher ((this power-game)) + (cond + ((handle->process (-> this switcher)) + (set-time! (-> this switcher-time)) + (if (-> this score-met) + (send-event (handle->process (-> this switcher)) 'die) + ) + ) + ((and (time-elapsed? + (-> this switcher-time) + (- (+ (the int (* 9000.0 (you-suck-scale *game-info* #f 175))) 3000) (min 1200 (* 150 (-> this difficulty)))) + ) + (not (-> this score-met)) + ) + (set! (-> this switcher) (ppointer->handle (process-spawn + power-game-switcher + :init power-game-switcher-init + (-> this center) + (-> this lentity) + (-> this player) + :name "power-game-switcher" + :to this + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for function cam-power-game-update +;; WARN: Return type mismatch int vs none. +(defbehavior cam-power-game-update power-game () + (when *power-game* + (let ((s5-0 (-> *power-game* 0 cam-cur)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 x) 0.0) + (set! (-> gp-0 y) 0.0) + (set! (-> gp-0 z) (-> *power-game* 0 cam-cur cam-dist)) + (set! (-> gp-0 w) 1.0) + (let ((f30-0 (-> *power-game* 0 cam-cur cam-y-angle))) + (vector-rotate-x! gp-0 gp-0 (- (-> *power-game* 0 cam-cur cam-pos-x-angle))) + (vector-rotate-y! gp-0 gp-0 f30-0) + (vector+! (the-as vector (&-> self root)) (the-as vector s5-0) gp-0) + (set-vector! gp-0 0.0 0.0 1.0 1.0) + (vector-rotate-x! gp-0 gp-0 (-> *power-game* 0 cam-cur cam-x-angle)) + (vector-rotate-y! gp-0 gp-0 (+ 32768.0 f30-0)) + ) + (forward-down->inv-matrix (the-as matrix (&-> self hud-score)) gp-0 (-> *camera* local-down)) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate cam-power-game (camera-slave) + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('teleport) + #f + ) + (else + (cam-standard-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (when (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + (set! (-> self blend-from-type) (camera-blend-from-type unknown-1)) + (set! (-> self blend-to-type) (camera-blend-to-type unknown-0)) + 0 + ) + ) + :code (behavior () + (until #f + (if (not (paused?)) + ((the-as (function none) cam-power-game-update)) + ) + (suspend) + ) + #f + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-part_REF.gc b/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-part_REF.gc new file mode 100644 index 0000000000..026165037b --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-part_REF.gc @@ -0,0 +1,2735 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-1 + :id 871 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3133 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3134 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 1.067) :length (seconds 0.017) :offset 10) + (sp-item 3135 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3135 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 7)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3133 + :init-specs ((:texture (screen-00 freehq-sprite)) + (:num 1.0) + (:scale-x (meters 1.875)) + (:rot-x (degrees 90.75)) + (:scale-y (meters 0.9)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3134 + :init-specs ((:texture (vinroom-small-monitor-08 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1.9)) + (:rot-x (degrees 90.75)) + (:scale-y (meters 0.85)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -0.7111111) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x3ff01600 #x3ff01700 #x3ff01800 #x3ff01900)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.267)) + (:next-launcher 3136) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3136 + :init-specs ((:a 64.0) (:fade-a -0.7111111) (:next-time (seconds 0.267)) (:next-launcher 3136)) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-2 + :id 872 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3137 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3138 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.135) :length (seconds 0.017)) + (sp-item 3135 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3137 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.2) + (:z (meters 0.015)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 24.0 8.0) + (:scalevel-x (meters 0.018437501)) + (:scalevel-y (meters 0.0103124995)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3138 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:z (meters 0.015)) + (:scale-x (meters 1.4) (meters 0.6)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.65) (meters 0.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -1.0666667) + (:timer (seconds 0.135) (seconds 0.065)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x3ff01200 #x3ff01300 #x3ff01400 #x3ff01500)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-matrix + :id 873 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3140 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3141 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3142 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3143 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3144 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3145 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3145 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3144 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 3.5)) + (:y (meters 0.8) (meters 0.5)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 0.835)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02b00 + #x3ff02800 + #x3ff02900 + #x3ff02a00 + #x3ff02c00 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3143 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 3.5)) + (:y (meters 0) (meters 0.5)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 0.917)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3142 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.3) + (:x (meters 3.5)) + (:y (meters -1.7) (meters 1.9)) + (:z (meters 0)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.5)) + (:r 32.0 32.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 16.0) + (:vel-x (meters -0.021666666)) + (:fade-a 0.2) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 1 + 0 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3141 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1 0.1) + (:x (meters 3.5)) + (:y (meters -1.7) (meters 2.9)) + (:z (meters 0)) + (:scale-x (meters 0.6)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 0.6)) + (:r 64.0 64.0) + (:g :copy r) + (:b 255.0) + (:a 96.0) + (:vel-x (meters -0.006) (meters -0.00575)) + (:fade-a 0.2) + (:timer (seconds 2.135)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + #x3ff02b00 + #x3ff02800 + #x3ff02900 + #x3ff02a00 + #x3ff02c00 + #x3ff02700 + ) + ) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.535)) + (:next-launcher 3146) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3146 + :init-specs ((:fade-a -0.2) (:next-time (seconds 0.4) (seconds 0.13)) (:next-launcher 3147)) + ) + +;; failed to figure out what this is: +(defpart 3147 + :init-specs ((:fade-a 0.2) (:next-time (seconds 0.4) (seconds 0.13)) (:next-launcher 3148)) + ) + +;; failed to figure out what this is: +(defpart 3148 + :init-specs ((:fade-a -1.6)) + ) + +;; failed to figure out what this is: +(defpart 3140 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 16.0) + (:scalevel-x (meters 0.05)) + (:scalevel-y (meters 0.025)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-code + :id 874 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3149 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3150 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3151 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3152 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3153 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.335) :length (seconds 0.017)) + (sp-item 3154 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3154 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.2)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3153 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0) + (:sound (static-sound-spec "text-line" :group 0 :volume 50.0)) + (:y (meters -1.9)) + (:z (meters 0.01)) + (:scale-x (meters 7)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.5)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:timer (seconds 2.935)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:next-time (seconds 0.267)) + (:next-launcher 3155) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3155 + :init-specs ((:vel-x (meters -0.0064)) + (:vel-y (meters 0.0264)) + (:vel-z (meters -0.0064)) + (:next-time (seconds 0.035)) + (:next-launcher 3156) + ) + ) + +;; failed to figure out what this is: +(defpart 3156 + :init-specs ((:vel-x (meters 0)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:next-time (seconds 0.267)) + (:next-launcher 3155) + ) + ) + +;; failed to figure out what this is: +(defpart 3152 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:z (meters 0.01)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 16.0) + (:scalevel-x (meters 0.05625)) + (:scalevel-y (meters 0.0275)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3139 + :init-specs ((:fade-a -2.1333334)) + ) + +;; failed to figure out what this is: +(defpart 3150 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:y (meters -2)) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters 0.016666668)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3151 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:y (meters 2)) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters -0.016666668)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3149 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:z (meters 0.01)) + (:scale-x (meters 8)) + (:rot-x (degrees 90)) + (:scale-y (meters 4.2)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-2dcode + :id 875 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3157 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3158 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3159 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3160 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3161 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 120) + (sp-item 3160 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 85) + (sp-item 3161 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017) :offset 205) + (sp-item 3162 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3163 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3164 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3165 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3166 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3164 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 3)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3165 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3166 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -3.5)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3163 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.0 0.1) + (:x (meters 0.6)) + (:scale-x (meters 2.8)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters -0.009166667)) + (:vel-z (meters 0.00020833334)) + (:fade-r -0.51) + (:fade-g -0.51) + (:fade-b -0.51) + (:fade-a -0.128) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02300 + ) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3167) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3162 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.0 0.1) + (:x (meters 0.6)) + (:scale-x (meters 2.8)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 32.0 32.0) + (:vel-y (meters 0.009166667)) + (:fade-r -0.51) + (:fade-g -0.51) + (:fade-b -0.51) + (:fade-a -0.128) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 80 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02300 + ) + ) + (:next-time (seconds 0.017)) + (:next-launcher 3167) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3160 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:y (meters -4.4)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters 0.018333334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3161 + :init-specs ((:texture (vinroom-tv-beam vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:y (meters 4.4)) + (:scale-x (meters 3)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.05)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 48.0 32.0) + (:vel-y (meters -0.018333334)) + (:vel-z (meters 0.00020833334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3157 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:x (meters 0.6)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 9)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3158 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:x (meters 0.6)) + (:scale-x (meters 0)) + (:rot-x (degrees 89)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.058125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3159 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:sound (static-sound-spec "screen-ring" :num 0.5 :group 0 :volume 70.0)) + (:x (meters 0.6)) + (:scale-x (meters 0)) + (:rot-x (degrees 89)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.0125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-dots + :id 876 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3169 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3170 :fade-after (meters 100) :flags (sp7)) + (sp-item 3171 :fade-after (meters 100) :flags (sp7)) + (sp-item 3172 :fade-after (meters 100) :flags (sp7)) + (sp-item 3173 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3173 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 12)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3172 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 5.0) + (:x (meters 0) 4 (meters 0.22)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.467)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3171 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 4.0) + (:x (meters -0.66) 2 (meters 0.22)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0 255.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.4)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3170 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 1.0) + (:x (meters -0.88)) + (:y (meters 1.975)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0 255.0) + (:g :copy r) + (:b 255.0) + (:a 64.0 3 64.0) + (:vel-y (meters -0.031666666)) + (:timer (seconds 0.367)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3169 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 0.0 255.0) + (:g :copy r) + (:b 0.0) + (:a 32.0 32.0) + (:scalevel-x (meters 0.01375)) + (:scalevel-y (meters 0.030000001)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.435)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-bargraph + :id 877 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3174 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3175 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3176 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3177 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 3178 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3176 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -2)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3177 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3178 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 2)) + (:z (meters 0.2)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3175 + :init-specs ((:texture (common-white common)) + (:num 1.0) + (:y (meters -3.8)) + (:z (meters 0.04)) + (:scale-x (meters 1.4)) + (:rot-x (degrees 89)) + (:rot-y (degrees -1)) + (:scale-y (meters 4.2)) + (:r 92.0) + (:g 192.0) + (:b 192.0) + (:a 127.0) + (:vel-y (meters 0.06688666)) + (:accel-y (meters -0.0030056667)) + (:timer (seconds 0.7)) + (:flags (sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3174 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:z (meters 0.04)) + (:scale-x (meters 1.7)) + (:rot-x (degrees 89)) + (:scale-y (meters 4.7)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-numbers + :id 878 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3179 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3180 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3181 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3181 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 10)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3180 + :init-specs ((:texture (vinroom-tv-text-m vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.625)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.004166667)) + (:scalevel-y (meters 0.004166667)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 0 + 0 + #x3ff02900 + #x3ff02b00 + #x3ff02c00 + #x3ff02800 + #x3ff02700 + #x3ff02a00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3179 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 1.25)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-radar + :id 879 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3182 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3183 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3184 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3185 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3186 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3187 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3187 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 20)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3182 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 6)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 4.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3184 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.01875)) + (:scalevel-y (meters 0.03375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3183 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.2) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.04375)) + (:scalevel-y (meters 0.01375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3168 + :init-specs ((:fade-a -0.53333336)) + ) + +;; failed to figure out what this is: +(defpart 3185 + :init-specs ((:texture (vinroom-tv-radar vinroom-sprite)) + (:num 1.0) + (:sound (static-sound-spec "radar-sweep" :group 0 :volume 50.0)) + (:scale-x (meters 5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3186 + :init-specs ((:texture (vinroom-tv-radar-dots vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 3) (meters 1.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:rotvel-y (degrees 0.33333334) (degrees 0.26666668)) + (:timer (seconds 0.135) (seconds 0.53)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-threebar-1 + :id 880 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3188 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3189 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3189 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-threebar-2 + :id 881 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3190 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3191 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3192 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3193 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3193 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 16)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-threebar-3 + :id 882 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3194 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.017) :offset 650) + (sp-item 3195 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3195 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 8)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3194 + :init-specs ((:texture (vinroom-tv-morgan vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 1.4)) + (:rot-x (degrees 90)) + (:scale-y (meters 2.8)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 0.0) + (:fade-a 0.4) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.267)) + (:next-launcher 3196) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3196 + :init-specs ((:fade-a -0.4)) + ) + +;; failed to figure out what this is: +(defpart 3188 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.5) + (:y (meters 2.2)) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.2)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:vel-y (meters -0.019166667)) + (:vel-z (meters 0.00041666668)) + (:timer (seconds 0.785)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3192 + :init-specs ((:texture (vinroom-tv-linetext-01 vinroom-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.25) + (:y (meters 2.2)) + (:scale-x (meters 2)) + (:rot-x (degrees 90)) + (:scale-y (meters 0.2)) + (:r 128.0) + (:g 128.0) + (:b 255.0) + (:a 64.0 32.0) + (:vel-y (meters -0.0095833335)) + (:vel-z (meters 0.00020833334)) + (:timer (seconds 1.6)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 1 + 0 + #x3ff01c00 + #x3ff01d00 + #x3ff01e00 + #x3ff01f00 + #x3ff02000 + #x3ff02100 + #x3ff02200 + #x3ff02300 + ) + ) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3190 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:scale-x (meters 5.4)) + (:rot-x (degrees 88)) + (:rot-y (degrees 1)) + (:scale-y (meters 4.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3191 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 88)) + (:rot-y (degrees 1)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.036250003)) + (:scalevel-y (meters 0.030000001)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-splitdots + :id 883 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3197 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3198 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3199 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3200 :fade-after (meters 100) :flags (sp7)) + (sp-item 3201 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3201 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 20)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3200 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 10.0) + (:y (meters -3.7) 28 (meters 0.25)) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0 64.0) + (:vel-x (meters -0.013333334) 1 (meters 0.026666667)) + (:fade-a -1.6) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3199 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.025)) + (:scalevel-y (meters 0.025)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3168) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3198 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.058125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3197 + :init-specs ((:texture (screen-00 vinroom-sprite)) + (:num 1.0) + (:y (meters -0.2)) + (:scale-x (meters 3)) + (:rot-x (degrees 89)) + (:scale-y (meters 7.4)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x3ff00100 + #x3ff00200 + #x3ff00300 + #x3ff00400 + #x3ff00500 + #x3ff00600 + #x3ff00700 + #x3ff00800 + #x3ff00900 + #x3ff00a00 + #x3ff00b00 + #x3ff00c00 + #x3ff00d00 + #x3ff00e00 + #x3ff00f00 + #x3ff01000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-smallradar + :id 884 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3202 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3203 :fade-after (meters 100) :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3204 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3204 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 12)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3203 + :init-specs ((:texture (vinroom-tv-radar vinroom-sprite)) + (:num 1.0) + (:sound (static-sound-spec "radar-sweep" :group 0 :volume 50.0)) + (:scale-x (meters 3.5)) + (:rot-x (degrees 90)) + (:rot-y (degrees -2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3202 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:rot-y (degrees -2)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.0375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-tv-final + :id 885 + :flags (sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3205 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3206 :fade-after (meters 100) :flags (is-3d sp7)) + (sp-item 3207 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3207 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 14)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 10)) + (:r 0.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3206 + :init-specs ((:texture (middot level-default-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.03125)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3205 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 0.0 0.3) + (:y (meters -0.2)) + (:scale-x (meters 0)) + (:rot-x (degrees 90)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 32.0) + (:scalevel-x (meters 0.021875)) + (:scalevel-y (meters 0.04375)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:next-time (seconds 0.335)) + (:next-launcher 3139) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-center-sphere + :id 886 + :bounds (static-bspherem 0 3 0 64) + :parts ((sp-item 3209) + (sp-item 3210 :binding 3208) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3208 :flags (sp1 sp2 sp3)) + (sp-item 3211 :flags (sp6)) + ) + ) + +;; failed to figure out what this is: +(defpart 3209 + :init-specs ((:texture (vinroom-tv-circle vinroom-sprite)) + (:num 1.0) + (:y (meters 6)) + (:scale-x (meters 3.15)) + (:scale-y :copy scale-x) + (:r 0.0 32.0) + (:g 255.0) + (:b 255.0) + (:a 100.0 28.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3211 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 6)) + (:scale-x (meters 8)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0) + (:b 255.0) + (:a 24.0 1.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4 glow)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3210 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.5) + (:y (meters 4.5) (meters 3)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +;; definition for function birth-func-vinroom-sphere +;; WARN: Return type mismatch int vs none. +(defun birth-func-vinroom-sphere ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-1 (-> arg4 sprite key))) + (when (nonzero? v1-1) + (let ((f0-2 (+ (- 24576.0 (-> arg2 x-y-z-sx y)) (-> v1-1 origin trans y)))) + (set! (-> arg1 radius) (sqrtf (- (* (-> arg1 radius) (-> arg1 radius)) (* f0-2 f0-2)))) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpart 3208 + :init-specs ((:texture (tinydot vinroom-sprite)) + (:birth-func 'birth-func-vinroom-sphere) + (:num 1.0) + (:x (meters 0) (meters 160)) + (:y (meters 0)) + (:z (meters 1.5)) + (:scale-x (meters 0.15)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0) + (:b 255.0) + (:a 0.0) + (:omega (degrees 0) (degrees 3600)) + (:vel-x (meters -0.026666667)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:fade-a 6.375) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2 ready-to-launch)) + (:next-time (seconds 0.267)) + (:next-launcher 3212) + ) + ) + +;; failed to figure out what this is: +(defpart 3212 + :init-specs ((:a 255.0) (:fade-a 0.0) (:next-time (seconds 3.467)) (:next-launcher 3213)) + ) + +;; failed to figure out what this is: +(defpart 3213 + :init-specs ((:fade-a -3.1875) (:accel-z (meters 0.0016666667))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-1 + :id 887 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.335) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-2 + :id 888 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.535) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-3 + :id 889 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.7) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-4 + :id 890 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.185) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-5 + :id 891 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 0.935) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-6 + :id 892 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.385) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-7 + :id 893 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 1.567) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-little-red-light-8 + :id 894 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3214 :fade-after (meters 60) :flags (sp6) :period (seconds 2) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpart 3214 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters -0.025)) + (:z (meters 0)) + (:scale-x (meters 0.4) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (: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: +(defpartgroup group-vinroom-console-blue-light-1 + :id 895 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.335) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-2 + :id 896 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.535) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-3 + :id 897 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.7) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-4 + :id 898 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.185) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-5 + :id 899 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 0.935) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-6 + :id 900 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.385) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-7 + :id 901 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 1.567) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-blue-light-8 + :id 902 + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3215 :fade-after (meters 60) :flags (sp6) :period (seconds 2) :length (seconds 0.167))) + ) + +;; failed to figure out what this is: +(defpart 3215 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (: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: +(defpartgroup group-vinroom-console-orb + :id 903 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 1.5) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3216 :fade-after (meters 80) :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3216 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 20.0 1.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-console-top-panel + :id 904 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 1.5) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :parts ((sp-item 3217 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.5) :length (seconds 0.335)) + (sp-item 3218 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 2) :length (seconds 0.667)) + (sp-item 3219 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 2) :length (seconds 0.667) :offset 300) + (sp-item 3220 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.5) :length (seconds 0.335) :offset 300) + (sp-item 3221 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.55) :length (seconds 0.335) :offset 300) + (sp-item 3222 :fade-after (meters 60) :flags (sp6 sp7) :period (seconds 0.7) :length (seconds 0.335) :offset 300) + ) + ) + +;; failed to figure out what this is: +(defpart 3220 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.15)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (: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 3221 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.4)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (: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 3222 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters 0.65)) + (:scale-x (meters 1) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 0.6) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 32.0 4.0) + (:omega (degrees 1359)) + (: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 3217 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0)) + (:z (meters -0.18)) + (:scale-x (meters 0.9)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3218 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters -0.13)) + (:z (meters -0.53)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3219 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -0.28)) + (:y (meters 0.1)) + (:z (meters -0.53)) + (:scale-x (meters 0.5)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 192.0 32.0) + (:b 128.0) + (:a 32.0 1.0) + (:omega (degrees 1361.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-red-wall-lights + :id 905 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3223 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3224 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3225 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3226 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3223 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3224 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3225 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -1.5)) + (:z (meters 0.2)) + (:scale-x (meters 4.2) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3226 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.05)) + (:scale-x (meters 12) (meters 0.1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 8) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 20.0 4.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 13107.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-red-wall-lights-small + :id 906 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3227 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3228 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3229 :fade-after (meters 80) :flags (sp6 sp7)) + (sp-item 3230 :fade-after (meters 100) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3227 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3228 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.2)) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3229 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.2)) + (:z (meters 0.075)) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 12.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3230 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.075)) + (:scale-x (meters 3) (meters 0.1)) + (:rot-x (degrees 1.125)) + (:scale-y (meters 2) (meters 0.1)) + (:r 255.0) + (:g 0.0 64.0) + (:b 0.0) + (:a 16.0 4.0) + (:omega (degrees 2265.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-scenes_REF.gc b/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-scenes_REF.gc new file mode 100644 index 0000000000..e54be948b4 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/city/vinroom/vinroom-scenes_REF.gc @@ -0,0 +1,416 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-vin-effect vin-effect vin-effect-lod0-jg vin-effect-idle-ja + ((vin-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-precursor-movie precursor precursor-lod0-jg precursor-idle-ja + ((precursor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 6 + ) + +;; failed to figure out what this is: +(defskelgroup skel-torn-movie torn-effect torn-effect-lod0-jg torn-effect-idle-ja + ((torn-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-cipher cipher cipher-lod0-jg cipher-idle-ja + ((cipher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-power-game-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-42" + :art-group "scenecamera" + :anim "city-power-game-intro" + :parts 26 + :command-list '((0 (fadein (frame-time-30 30)) (task-close! "city-power-game-wait") (kill "vinroom-part-6")) + (3004 + (part-tracker + "group-vinroom-monitor-sparks" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 3004 3100) + ) + ) + (3020 + (apply + ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (disable *screen-filter*) + (setup + *screen-filter* + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0) + (* 5.0 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-setting! 'allow-blackout #f 0.0 0) + ) + (none) + ) + ) + ) + (10000 + (apply + ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (remove-setting! 'allow-blackout) + (setup + *screen-filter* + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 128.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-filter-color! 1.0 1.0 1.0) + ) + (none) + ) + ) + ) + ) + :cut-list '(65 + 335 + 372 + 486 + 571 + 633 + 691 + 756 + 806 + 901 + 1031 + 1091 + 1171 + 1231 + 1326 + 1436 + 1524 + 1552 + 1573 + 1600 + 1679 + 1764 + 1824 + 1919 + 1980 + 2091 + 2136 + 2255 + 2318 + 2374 + 2483 + 2641 + 2744 + 2781 + 2866 + 2981 + ) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'ljkdxvin + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'ljkdxvin + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'ljkdxvin + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '(65 901 1091 1231 1326 1436 1764) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "vin-effect" + :level 'ljkdxvin + :art-group "skel-vin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "vinroom-movie" + :end-point "vinroom-movie" + :borrow '((vinroom 0 ljkdxvin special)) + :sfx-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "vin-bg-movie") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-power-game-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-42" + :art-group "scenecamera" + :anim "city-power-game-res" + :parts 5 + :command-list '((34 (part-tracker + "group-vinroom-monitor-sparks" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 34 60) + ) + ) + (480 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-power-game-resolution")) + ) + :cut-list '(31 87 128 171 198 233 282 393 427 490 558 711 783 817 926 958 1010) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'lvincst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'lvincst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'lvincst + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "vin-effect" + :level 'lvincst + :art-group "skel-vin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-movie" + :level 'lvincst + :art-group "skel-torn-movie" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cipher" + :level 'lvincst + :art-group "skel-cipher" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "vinroom-movie" + :end-point "vinroom-movie-exit" + :borrow '((vinroom 0 lvincst special)) + :sfx-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "vin-bg-movie") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-vinroom-monitor-sparks + :id 870 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3131 :flags (sp7)) (sp-item 3132 :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3131 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0 64.0) + (:omega (degrees 0.0675)) + (:vel-z (meters 0.033333335) (meters 0.06666667)) + (:fade-a -0.85333335 -0.85333335) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees -30) (degrees 60)) + (:conerot-y (degrees -30) (degrees 60)) + (:rotate-x (degrees 30)) + (:rotate-y (degrees 70)) + ) + ) + +;; failed to figure out what this is: +(defpart 3132 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 0.0 200.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc b/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc index 888ecbb95a..18d7a3044d 100644 --- a/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc +++ b/test/decompiler/reference/jak3/levels/comb/h-sled_REF.gc @@ -1977,7 +1977,7 @@ (rlet ((vf0 :class vf)) (init-vf0-vector) (logior! (-> self draw status) (draw-control-status no-draw)) - (send-event (vehicle-method-68 self) 'draw #f) + (send-event (find-rider self) 'draw #f) (let ((t9-2 (-> (method-of-type vehicle explode) enter))) (if t9-2 (t9-2) diff --git a/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle_REF.gc b/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle_REF.gc index 27336bda7f..96cbb741dd 100644 --- a/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle_REF.gc +++ b/test/decompiler/reference/jak3/levels/desert/wvehicle/wvehicle_REF.gc @@ -1149,10 +1149,10 @@ #f ) (('race-pass) - (send-event (vehicle-method-68 this) 'race-pass) + (send-event (find-rider this) 'race-pass) ) (('race-got-passed) - (send-event (vehicle-method-68 this) 'race-got-passed) + (send-event (find-rider this) 'race-got-passed) ) (('race-finished) (-> arg3 param 0) diff --git a/test/decompiler/reference/jak3/levels/factory/car/hvehicle_REF.gc b/test/decompiler/reference/jak3/levels/factory/car/hvehicle_REF.gc index 642436c2d2..0c292e9fce 100644 --- a/test/decompiler/reference/jak3/levels/factory/car/hvehicle_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/car/hvehicle_REF.gc @@ -1097,7 +1097,7 @@ (damage f0-11) (vehicle-damage-factor 1.0) (vehicle-impulse-factor 1.0) - (attacker (process->handle (vehicle-method-68 this))) + (attacker (process->handle (find-rider this))) (mode 'vehicle) (vector (-> s5-0 force)) (penetrate-using (penetrate vehicle)) diff --git a/test/decompiler/reference/jak3/levels/factory/h-warf_REF.gc b/test/decompiler/reference/jak3/levels/factory/h-warf_REF.gc index 36ca3f5c44..4447262ddd 100644 --- a/test/decompiler/reference/jak3/levels/factory/h-warf_REF.gc +++ b/test/decompiler/reference/jak3/levels/factory/h-warf_REF.gc @@ -1679,7 +1679,7 @@ (damage f0-10) (vehicle-damage-factor 1.0) (vehicle-impulse-factor 1.0) - (attacker (process->handle (vehicle-method-68 this))) + (attacker (process->handle (find-rider this))) (mode 'vehicle) (vector s2-0) (penetrate-using (penetrate vehicle)) diff --git a/test/decompiler/reference/jak3/levels/gungame/gun-dummy-art_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gun-dummy-art_REF.gc new file mode 100644 index 0000000000..bce6764cdc --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gun-dummy-art_REF.gc @@ -0,0 +1,619 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-robo gun-kg-target gun-kg-target-lod0-jg gun-kg-target-idle-ja + ((gun-kg-target-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-robo-explode gun-kg-target gun-kg-target-explode-lod0-jg gun-kg-target-explode-idle-ja + ((gun-kg-target-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-robo-exploder-params*, type joint-exploder-static-params +(define *gun-kg-robo-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-bomb gun-kg-bomb gun-kg-bomb-lod0-jg gun-kg-bomb-idle-ja + ((gun-kg-bomb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-bomb-explode gun-kg-bomb gun-kg-bomb-explode-lod0-jg gun-kg-bomb-explode-idle-ja + ((gun-kg-bomb-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-bomb-exploder-params*, type joint-exploder-static-params +(define *gun-kg-bomb-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-b gun-kg-target-b gun-kg-target-b-lod0-jg gun-kg-target-b-idle-ja + ((gun-kg-target-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-b-explode gun-kg-target-b gun-kg-target-b-explode-lod0-jg gun-kg-target-b-explode-idle-ja + ((gun-kg-target-b-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-b-exploder-params*, type joint-exploder-static-params +(define *gun-kg-b-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-c gun-kg-target-c gun-kg-target-c-lod0-jg gun-kg-target-c-idle-ja + ((gun-kg-target-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-c-explode gun-kg-target-c gun-kg-target-c-explode-lod0-jg gun-kg-target-c-explode-idle-ja + ((gun-kg-target-c-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-c-exploder-params*, type joint-exploder-static-params +(define *gun-kg-c-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-big gun-kg-target-d gun-kg-target-d-lod0-jg gun-kg-target-d-idle-ja + ((gun-kg-target-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-big-explode gun-kg-target-d gun-kg-target-d-explode-lod0-jg gun-kg-target-d-explode-idle-ja + ((gun-kg-target-d-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-big-exploder-params*, type joint-exploder-static-params +(define *gun-kg-big-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-bonus gun-kg-target-bonus gun-kg-target-bonus-lod0-jg gun-kg-target-bonus-idle-ja + ((gun-kg-target-bonus-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-kg-bonus-explode gun-kg-target-bonus gun-kg-target-bonus-explode-lod0-jg gun-kg-target-bonus-explode-idle-ja + ((gun-kg-target-bonus-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-kg-bonus-exploder-params*, type joint-exploder-static-params +(define *gun-kg-bonus-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-three-eyes-bonus gun-rc-three-eyes-bonus gun-rc-three-eyes-bonus-lod0-jg gun-rc-three-eyes-bonus-idle-ja + ((gun-rc-three-eyes-bonus-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-three-eyes-bonus-explode gun-rc-three-eyes-bonus gun-rc-three-eyes-bonus-explode-lod0-jg gun-rc-three-eyes-bonus-explode-idle-ja + ((gun-rc-three-eyes-bonus-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rc-three-eyes-bonus-exploder-params*, type joint-exploder-static-params +(define *gun-rc-three-eyes-bonus-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-two-eyes gun-rc-two-eyes gun-rc-two-eyes-lod0-jg gun-rc-two-eyes-idle-ja + ((gun-rc-two-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-two-eyes-explode gun-rc-two-eyes gun-rc-two-eyes-explode-lod0-jg gun-rc-two-eyes-explode-idle-ja + ((gun-rc-two-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rc-two-eyes-exploder-params*, type joint-exploder-static-params +(define *gun-rc-two-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-three-eyes gun-rc-three-eyes gun-rc-three-eyes-lod0-jg gun-rc-three-eyes-idle-ja + ((gun-rc-three-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-three-eyes-explode gun-rc-three-eyes gun-rc-three-eyes-explode-lod0-jg gun-rc-three-eyes-explode-idle-ja + ((gun-rc-three-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rc-three-eyes-exploder-params*, type joint-exploder-static-params +(define *gun-rc-three-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-one-eye gun-rc-one-eye gun-rc-one-eye-lod0-jg gun-rc-one-eye-idle-ja + ((gun-rc-one-eye-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-one-eye-explode gun-rc-one-eye gun-rc-one-eye-explode-lod0-jg gun-rc-one-eye-explode-idle-ja + ((gun-rc-one-eye-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rc-one-eye-exploder-params*, type joint-exploder-static-params +(define *gun-rc-one-eye-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-four-eyes gun-rc-four-eyes gun-rc-four-eyes-lod0-jg gun-rc-four-eyes-idle-ja + ((gun-rc-four-eyes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rc-four-eyes-explode gun-rc-four-eyes gun-rc-four-eyes-explode-lod0-jg gun-rc-four-eyes-explode-idle-ja + ((gun-rc-four-eyes-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rc-four-eyes-exploder-params*, type joint-exploder-static-params +(define *gun-rc-four-eyes-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 22 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 23 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rachet gun-rachet gun-rachet-lod0-jg gun-rachet-idle-ja + ((gun-rachet-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-rachet-explode gun-rachet gun-rachet-explode-lod0-jg gun-rachet-explode-idle-ja + ((gun-rachet-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-rachet-exploder-params*, type joint-exploder-static-params +(define *gun-rachet-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-clank gun-clank gun-clank-lod0-jg gun-clank-idle-ja + ((gun-clank-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-dummy-clank-explode gun-clank gun-clank-explode-lod0-jg gun-clank-explode-idle-ja + ((gun-clank-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-clank-exploder-params*, type joint-exploder-static-params +(define *gun-clank-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-a gun-cit-a gun-cit-a-lod0-jg gun-cit-a-idle-ja + ((gun-cit-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-a-explode gun-cit-a gun-cit-a-explode-lod0-jg gun-cit-a-explode-idle-ja + ((gun-cit-a-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-b gun-cit-b gun-cit-b-lod0-jg gun-cit-b-idle-ja + ((gun-cit-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-b-explode gun-cit-b gun-cit-b-explode-lod0-jg gun-cit-b-explode-idle-ja + ((gun-cit-b-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-c gun-cit-c gun-cit-c-lod0-jg gun-cit-c-idle-ja + ((gun-cit-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-c-explode gun-cit-c gun-cit-c-explode-lod0-jg gun-cit-c-explode-idle-ja + ((gun-cit-c-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-d gun-cit-d gun-cit-d-lod0-jg gun-cit-d-idle-ja + ((gun-cit-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; failed to figure out what this is: +(defskelgroup skel-gun-cit-d-explode gun-cit-d gun-cit-d-explode-lod0-jg gun-cit-d-explode-idle-ja + ((gun-cit-d-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.8 0 3.2) + ) + +;; definition for symbol *gun-cit-a-exploder-params*, type joint-exploder-static-params +(define *gun-cit-a-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; definition for symbol *gun-cit-b-exploder-params*, type joint-exploder-static-params +(define *gun-cit-b-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; definition for symbol *gun-cit-c-exploder-params*, type joint-exploder-static-params +(define *gun-cit-c-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + +;; definition for symbol *gun-cit-d-exploder-params*, type joint-exploder-static-params +(define *gun-cit-d-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/gungame/gun-dummy-part_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gun-dummy-part_REF.gc new file mode 100644 index 0000000000..f3cd740506 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gun-dummy-part_REF.gc @@ -0,0 +1,898 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-gun-dummy-sparks + :id 1413 + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4657 :fade-after (meters 50) :falloff-to (meters 100)) (sp-item 4658 :fade-after (meters 50))) + ) + +;; failed to figure out what this is: +(defpart 4657 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 2.0 4.0) + (:scale-x (meters 2.5)) + (:rot-x 4) + (:scale-y (meters 0.04) (meters 0.03)) + (:r 255.0) + (:g 128.0 128.0) + (:b 0.0 128.0) + (:a 128.0) + (:omega (degrees 0.01125) (degrees 0.01125)) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:fade-g -2.55 -2.55) + (:fade-b -8.0) + (:fade-a -0.64 -0.64) + (:friction 0.8 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 0) (degrees 80)) + (:conerot-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4658 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.25)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0 128.0) + (:b 0.0) + (:a 96.0 16.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.08)) + (:scalevel-y :copy scalevel-x) + (:fade-g -10.2) + (:fade-a -4.48) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-cit-a + :id 1414 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-cit-b + :id 1415 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-cit-c + :id 1416 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-cit-d + :id 1417 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4659 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4660 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4661 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4664 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpart 4664 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 0.675)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 128.0 64.0) + (:g 96.0 32.0) + (:b 32.0 32.0) + (:a 64.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.2)) + (:scalevel-y :copy scalevel-x) + (:fade-a -2.56) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4661 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:num 12.0 3.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 2) (meters 2)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 2) (meters 2)) + (:r 128.0 64.0) + (:g 96.0 32.0) + (:b 32.0 32.0) + (:a 16.0 8.0) + (:vel-y (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y (meters 0) (meters 0.0033333334)) + (:fade-a -0.02 -0.02) + (:accel-y (meters -0.00033333333) (meters -0.00083333335)) + (:friction 0.82 0.07) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2)) + (:conerot-x (degrees 30) (degrees 50.000004)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4660 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -2) (degrees 4)) + (:rotvel-y (degrees -2) (degrees 4)) + (:rotvel-z (degrees -2) (degrees 4)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01100 + #x56d01200 + #x56d01300 + #x56d01400 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4665 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4666)) + ) + +;; failed to figure out what this is: +(defpart 4666 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335) (seconds 0.33)) (:next-launcher 4667)) + ) + +;; failed to figure out what this is: +(defpart 4667 + :init-specs ((:r 0.0 255.0) (:g :copy r) (:b :copy r) (:next-time (seconds 0.335)) (:next-launcher 4668)) + ) + +;; failed to figure out what this is: +(defpart 4659 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 32.0 223.0) + (:g :copy r) + (:b :copy r) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -2) (degrees 4)) + (:rotvel-y (degrees -2) (degrees 4)) + (:rotvel-z (degrees -2) (degrees 4)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01100 + #x56d01200 + #x56d01300 + #x56d01400 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-kg-big + :id 1418 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-kg-b + :id 1419 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-kg-c + :id 1420 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-kg-gun + :id 1421 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-bomb-spider-shatter + :id 1422 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4669 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4670 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpart 4672 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.5)) + (:scale-x (meters 5)) + (:rot-x (degrees 0.675)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 64.0 64.0) + (:g 128.0 64.0) + (:b 192.0) + (:a 64.0) + (:omega (degrees 1136.25)) + (:scalevel-x (meters 0.2)) + (:scalevel-y :copy scalevel-x) + (:fade-a -2.56) + (:timer (seconds 0.085)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4671 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 12.0 3.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 2) (meters 2)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 2) (meters 2)) + (:r 64.0 32.0) + (:g 96.0 32.0) + (:b 96.0 32.0) + (:a 16.0 8.0) + (:vel-y (meters 0.05) (meters 0.033333335)) + (:scalevel-x (meters 0) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y (meters 0) (meters 0.0033333334)) + (:fade-a -0.02 -0.02) + (:accel-y (meters -0.00033333333) (meters -0.00083333335)) + (:friction 0.82 0.07) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-2)) + (:conerot-x (degrees 30) (degrees 50.000004)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4670 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01800 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4669 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01500 + #x56d01600 + #x56d01700 + #x56d01800 + #x56d01800 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:func 'check-gungame-piece-ground) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-kg-bonus + :id 1423 + :duration (seconds 8) + :flags (sp0 sp6 sp7) + :bounds (static-bspherem 0 0 0 15) + :rotate ((degrees 0) (degrees 90) (degrees 0)) + :scale (1.0 0.83 1.2) + :parts ((sp-item 4673 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.035)) + (sp-item 4674 :flags (is-3d sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4671 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4662 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4663 :flags (sp7) :period (seconds 4) :length (seconds 0.05)) + (sp-item 4672 :period (seconds 4) :length (seconds 0.017)) + ) + ) + +;; failed to figure out what this is: +(defpart 4674 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 12.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.2) (meters 0.3)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y (meters 0.2) (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.083333336) (meters 0.05)) + (:scalevel-x (meters -0.00022222222)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:scalevel-y (meters -0.00022222222)) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4673 + :init-specs ((:texture (gen-01 gungame-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 8.0 4.0) + (:y (meters 0.5) (meters 2)) + (:z (meters -1.5) (meters 3)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-x (degrees 0) (degrees 3600)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0) (degrees 3600)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-y (meters 0.1) (meters 0.06666667)) + (:rotvel-x (degrees -4.8) (degrees 9.6)) + (:rotvel-y (degrees -4.8) (degrees 9.6)) + (:rotvel-z (degrees -4.8) (degrees 9.6)) + (:accel-y (meters -0.0033333334) (meters -0.0016666667)) + (:friction 0.92 0.07) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d01900 + #x56d01a00 + #x56d01b00 + #x56d00600 + #x56d00700 + #x56d00800 + ) + ) + (:next-time (seconds 0.335) (seconds 0.33)) + (:next-launcher 4665) + (:conerot-x (degrees 0) (degrees 110)) + (:conerot-y (degrees 0) (degrees 180)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-dummy-explode-bomb-spider-explode + :id 1424 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035)) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.085)) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.085)) + (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 50) + (sp-item 4675 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4676 :flags (sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4677 :flags (is-3d sp7) :period (seconds 20) :length (seconds 0.035) :offset 75) + (sp-item 4678 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75) + (sp-item 4679 :flags (sp7) :period (seconds 20) :length (seconds 0.1) :offset 75) + ) + ) + +;; failed to figure out what this is: +(defpart 4675 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 6)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.067)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4676 + :init-specs ((:texture (ring level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 32.0) + (:b 128.0) + (:a 8.0) + (:timer (seconds 0.035)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4677 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 20)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0) + (:a 64.0) + (:fade-a -3.2) + (:timer (seconds 0.067)) + (:flags (sp-cpuinfo-flag-3)) + (:rotate-y (degrees 0)) + ) + ) + +;; definition for function spt-func-ground-spark-bounce +;; INFO: Used lq/sq +(defun spt-func-ground-spark-bounce ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (when (and (< (-> arg2 x-y-z-sx y) 34734.08) (< (-> arg1 vel-sxvel y) 0.0)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! s5-0 (-> arg2 x-y-z-sx x) (-> arg2 x-y-z-sx y) (-> arg2 x-y-z-sx z) 1.0) + (launch-particles (-> *part-id-table* 4680) s5-0) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defpart 4678 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 20.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.033333335) (meters 0.033333335)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'spt-func-part-dummy-explode-spider-bomb) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; definition for function spt-func-part-dummy-explode-spider-bomb +(defun spt-func-part-dummy-explode-spider-bomb ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (sparticle-motion-blur arg0 arg1 (the-as vector arg2)) + (check-drop-group-center arg0 arg1 (the-as sparticle-launchinfo arg2)) + (spt-func-ground-spark-bounce arg0 arg1 arg2 arg3 arg4) + (none) + ) + +;; failed to figure out what this is: +(defpart 4680 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 0.0 3.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.01) (meters 0.026666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'sparticle-motion-blur) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4679 + :init-specs ((:texture (glow-hotdot level-default-sprite)) + (:num 4.0) + (:scale-x (meters 0.2)) + (:scale-y :copy scale-x) + (:r 64.0 1 64.0) + (:g :copy r) + (:b 128.0 128.0) + (:a 128.0) + (:omega (degrees 0.045)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:func 'spt-func-part-dummy-explode-spider-bomb) + (:conerot-x (degrees 10) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; definition for function check-gungame-piece-ground +;; WARN: Return type mismatch int vs none. +(defun check-gungame-piece-ground ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (cond + ((and (>= 35635.2 (-> arg2 launchrot y)) (>= 0.0 (-> arg1 vel-sxvel y))) + (set! (-> arg2 launchrot y) 35635.2) + (set! (-> arg1 next-time) (the-as uint 0)) + 0 + ) + (else + (set! (-> arg1 next-time) + (the-as uint (* (max 1 (the-as int (-> *display* clock (-> arg1 clock-index) sparticle-data x))) 2)) + ) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defpart 4668 + :init-specs ((:rot-x (degrees 0)) + (:rot-y (degrees 0) (degrees 3600)) + (:rot-z (degrees 0)) + (:vel-y (meters 0)) + (:rotvel-x (degrees 0)) + (:rotvel-y (degrees 0)) + (:rotvel-z (degrees 0)) + (:accel-y (meters 0)) + (:friction 0.8 0.1) + (:timer (seconds 4)) + (:next-time (seconds 1) (seconds 0.997)) + (:next-launcher 4681) + ) + ) + +;; failed to figure out what this is: +(defpart 4681 + :init-specs ((:fade-a -0.21333334) (:flags (sp-cpuinfo-flag-2 left-multiply-quat))) + ) + +;; failed to figure out what this is: +(defpartgroup group-gun-dummy-shield-explode + :id 1425 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 10) + :parts ((sp-item 4682 :flags (sp3 sp7))) + ) + +;; failed to figure out what this is: +(defpart 4682 + :init-specs ((:texture (specs level-default-sprite)) + (:num 100.0) + (:x (meters 0) (meters 1)) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:vel-z (meters -0.033333335) (meters -0.06666667)) + (:fade-a -0.21333334) + (:accel-y (meters -0.0016666667)) + (:friction 0.98) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3 launch-along-z)) + (:conerot-x (degrees -40) (degrees 10)) + (:rotate-y (degrees 0)) + (:rotate-z (degrees 0) (degrees 3600)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc new file mode 100644 index 0000000000..3b6414f06c --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gun-dummy_REF.gc @@ -0,0 +1,2316 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *gungame-level*, type symbol +(define *gungame-level* 'lgunnorm) + +;; definition of type tpath-control-frame +(deftype tpath-control-frame (structure) + ((time float) + (path-pos uint8) + (command tpath-cmd) + (move-type uint8) + (path-num uint8) + ) + ) + +;; definition for method 3 of type tpath-control-frame +(defmethod inspect ((this tpath-control-frame)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'tpath-control-frame) + (format #t "~1Ttime: ~f~%" (-> this time)) + (format #t "~1Tpath-pos: ~D~%" (-> this path-pos)) + (format #t "~1Tcommand: ~D~%" (-> this command)) + (format #t "~1Tmove-type: ~D~%" (-> this move-type)) + (format #t "~1Tpath-num: ~D~%" (-> this path-num)) + (label cfg-4) + this + ) + +;; definition of type tpath-info +(deftype tpath-info (structure) + ((s-time float) + (num uint16) + (ref-time-num int16) + (score int16) + (flags tpath-flag) + (num-anims uint8) + (bonus-time float) + (list (array int32)) + (anims (inline-array tpath-control-frame) 3) + (anim1 (inline-array tpath-control-frame) :overlay-at (-> anims 0)) + (anim2 (inline-array tpath-control-frame) :overlay-at (-> anims 1)) + (anim3 (inline-array tpath-control-frame) :overlay-at (-> anims 2)) + ) + ) + +;; definition for method 3 of type tpath-info +(defmethod inspect ((this tpath-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'tpath-info) + (format #t "~1Ts-time: ~f~%" (-> this s-time)) + (format #t "~1Tnum: ~D~%" (-> this num)) + (format #t "~1Tref-time-num: ~D~%" (-> this ref-time-num)) + (format #t "~1Tscore: ~D~%" (-> this score)) + (format #t "~1Tflags: ~D~%" (-> this flags)) + (format #t "~1Tnum-anims: ~D~%" (-> this num-anims)) + (format #t "~1Tbonus-time: ~f~%" (-> this bonus-time)) + (format #t "~1Tlist: ~A~%" (-> this list)) + (format #t "~1Tanims[3] @ #x~X~%" (&-> this anim1)) + (format #t "~1Tanim1: #x~X~%" (-> this anim1)) + (format #t "~1Tanim2: #x~X~%" (-> this anim2)) + (format #t "~1Tanim3: #x~X~%" (-> this anim3)) + (label cfg-4) + this + ) + +;; definition of type gun-dummy-gun-info +(deftype gun-dummy-gun-info (structure) + ((gun-state uint8) + (joint-index int16) + (trans vector :inline) + (quat quaternion :inline) + (next-fire-time time-frame) + (total-rotation float) + (current-rotation float) + (last-track-player-time time-frame) + (last-known-player-pos vector :inline) + (fire-speed-scalar float) + ) + ) + +;; definition for method 3 of type gun-dummy-gun-info +(defmethod inspect ((this gun-dummy-gun-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'gun-dummy-gun-info) + (format #t "~1Tgun-state: ~D~%" (-> this gun-state)) + (format #t "~1Tjoint-index: ~D~%" (-> this joint-index)) + (format #t "~1Ttrans: #~%" (-> this trans)) + (format #t "~1Tquat: #~%" (-> this quat)) + (format #t "~1Tnext-fire-time: ~D~%" (-> this next-fire-time)) + (format #t "~1Ttotal-rotation: ~f~%" (-> this total-rotation)) + (format #t "~1Tcurrent-rotation: ~f~%" (-> this current-rotation)) + (format #t "~1Tlast-track-player-time: ~D~%" (-> this last-track-player-time)) + (format #t "~1Tlast-known-player-pos: #~%" (-> this last-known-player-pos)) + (format #t "~1Tfire-speed-scalar: ~f~%" (-> this fire-speed-scalar)) + (label cfg-4) + this + ) + +;; definition of type gun-dummy +(deftype gun-dummy (process-focusable) + ((incoming-attack-id uint32) + (incoming-attack-id-time time-frame) + (train-man handle) + (info tpath-info) + (y-offset float) + (rot-y-offset float) + (quat quaternion :inline) + (hit-points int32) + (score float) + (path-num uint32) + (next-spark time-frame) + (inout-percent float) + (quat-ground quaternion :inline) + (path-pos float) + (score-speed float) + (first-time-command symbol) + (current (inline-array tpath-control-frame)) + (impact vector :inline) + (done? symbol) + (move-sound sound-id) + (turn-sound sound-id) + (spin-sound sound-id) + (last-combo-time time-frame) + (gun-info gun-dummy-gun-info :inline) + (joint-exploder joint-exploder-static-params) + (joint-explode-skel-group skeleton-group) + (joint-explode-anim-index int16) + (hum-sound sound-id) + (explode-part-group sparticle-launch-group) + ) + (:state-methods + idle + ) + (:methods + (init-collision! (_type_) none) + (check-done? (_type_) symbol) + (gun-dummy-method-31 (_type_) float) + (init-tpath (_type_ tpath-info) none) + (break-dummy (_type_) none) + (get-draw-mask (_type_) int) + (gun-dummy-method-35 (_type_) int) + (spawn-exploder (_type_) object) + (set-explode-group (_type_) none) + ) + ) + +;; definition for method 3 of type gun-dummy +(defmethod inspect ((this gun-dummy)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tincoming-attack-id: ~D~%" (-> this incoming-attack-id)) + (format #t "~2Tincoming-attack-id-time: ~D~%" (-> this incoming-attack-id-time)) + (format #t "~2Ttrain-man: ~D~%" (-> this train-man)) + (format #t "~2Tinfo: #~%" (-> this info)) + (format #t "~2Ty-offset: ~f~%" (-> this y-offset)) + (format #t "~2Trot-y-offset: ~f~%" (-> this rot-y-offset)) + (format #t "~2Tquat: #~%" (-> this quat)) + (format #t "~2Thit-points: ~D~%" (-> this hit-points)) + (format #t "~2Tscore: ~f~%" (-> this score)) + (format #t "~2Tpath-num: ~D~%" (-> this path-num)) + (format #t "~2Tnext-spark: ~D~%" (-> this next-spark)) + (format #t "~2Tinout-percent: ~f~%" (-> this inout-percent)) + (format #t "~2Tquat-ground: #~%" (-> this quat-ground)) + (format #t "~2Tpath-pos: ~f~%" (-> this path-pos)) + (format #t "~2Tscore-speed: ~f~%" (-> this score-speed)) + (format #t "~2Tfirst-time-command: ~A~%" (-> this first-time-command)) + (format #t "~2Tcurrent: #~%" (-> this current)) + (format #t "~2Timpact: #~%" (-> this impact)) + (format #t "~2Tdone?: ~A~%" (-> this done?)) + (format #t "~2Tmove-sound: ~D~%" (-> this move-sound)) + (format #t "~2Tturn-sound: ~D~%" (-> this turn-sound)) + (format #t "~2Tspin-sound: ~D~%" (-> this spin-sound)) + (format #t "~2Tlast-combo-time: ~D~%" (-> this last-combo-time)) + (format #t "~2Tgun-info: #~%" (-> this gun-info)) + (format #t "~2Tjoint-exploder: ~A~%" (-> this joint-exploder)) + (format #t "~2Tjoint-explode-skel-group: ~A~%" (-> this joint-explode-skel-group)) + (format #t "~2Tjoint-explode-anim-index: ~D~%" (-> this joint-explode-anim-index)) + (format #t "~2Thum-sound: ~D~%" (-> this hum-sound)) + (format #t "~2Texplode-part-group: ~A~%" (-> this explode-part-group)) + (label cfg-4) + this + ) + +;; definition for method 37 of type gun-dummy +;; WARN: Return type mismatch symbol vs none. +(defmethod set-explode-group ((this gun-dummy)) + (set! (-> this explode-part-group) #f) + (none) + ) + +;; definition for method 36 of type gun-dummy +;; INFO: Used lq/sq +(defmethod spawn-exploder ((this gun-dummy)) + (if (not (-> this joint-exploder)) + (return 0) + ) + (let ((s5-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) + (set! (-> s5-0 fountain-rand-transv-lo quad) (-> this impact quad)) + (set! (-> s5-0 fountain-rand-transv-hi x) 4096.0) + (set! (-> s5-0 fountain-rand-transv-hi y) 122880.0) + (if (-> this explode-part-group) + (part-tracker-spawn + part-tracker + :to *entity-pool* + :group (-> this explode-part-group) + :duration (seconds 1) + :mat-joint (-> this node-list data 3 bone transform) + ) + ) + (process-spawn + joint-exploder + (-> this joint-explode-skel-group) + (-> this joint-explode-anim-index) + s5-0 + (-> this joint-exploder) + :name "joint-exploder" + :to this + :unk 0 + ) + ) + ) + +;; definition for symbol *tpath-rand*, type uint +(define *tpath-rand* (the-as uint 0)) + +;; definition for method 33 of type gun-dummy +;; WARN: Return type mismatch int vs none. +(defmethod break-dummy ((this gun-dummy)) + 0 + (none) + ) + +;; definition for method 31 of type gun-dummy +(defmethod gun-dummy-method-31 ((this gun-dummy)) + (let ((total-time 0.0)) + (let ((curr-frame (the-as object (-> this current)))) + (loop + (case (-> (the-as tpath-control-frame curr-frame) command) + (((tpath-cmd cmd0)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd1)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd6)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd7)) + (if (>= 0.0 (-> (the-as tpath-control-frame curr-frame) time)) + (set! (-> this gun-info fire-speed-scalar) 1.0) + (set! (-> this gun-info fire-speed-scalar) (/ 1.0 (-> (the-as tpath-control-frame curr-frame) time))) + ) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd5)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd4)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd2)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd3)) + (+! total-time (-> (the-as tpath-control-frame curr-frame) time)) + (set! curr-frame (-> (the-as (inline-array tpath-control-frame) curr-frame) 1)) + ) + (((tpath-cmd cmd8)) + (return total-time) + ) + ) + ) + ) + total-time + ) + ) + +;; definition for function generate-next-fire-time +(defun generate-next-fire-time ((arg0 float)) + (let* ((gp-0 (current-time)) + (f30-0 300.0) + (f28-0 1.0) + (f26-0 2.0) + (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-6 (the-as number (logior #x3f800000 v1-5))) + ) + (+ gp-0 (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-6)))) arg0))) + ) + ) + +;; definition for method 30 of type gun-dummy +;; INFO: Used lq/sq +(defmethod check-done? ((this gun-dummy)) + (local-vars (at-0 int) (v0-1 symbol)) + (with-pp + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let ((s5-0 (-> this current)) + (a1-0 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-0 from) (process->ppointer pp)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'path) + (set! (-> a1-0 param 0) (-> this path-num)) + (let ((s4-0 (the-as path-control (send-event-function (handle->process (-> this train-man)) a1-0))) + (f30-0 (* 0.0033333334 (the float (- (current-time) (-> this state-time))))) + ) + (if (not s4-0) + (return #f) + ) + (case (-> s5-0 0 command) + (((tpath-cmd cmd1)) + (set! (-> this path-pos) (* 0.007843138 (the float (-> s5-0 0 path-pos)))) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (+! (-> this root trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> s5-0 0 time))) + (let* ((s3-0 (get-point-in-path! s4-0 (new 'stack-no-clear 'vector) (-> this path-pos) 'interp)) + (v1-26 (get-point-in-path! + s4-0 + (new 'stack-no-clear 'vector) + (if (< (-> this path-pos) 0.01) + (+ 0.1 (-> this path-pos)) + (+ -0.1 (-> this path-pos)) + ) + 'interp + ) + ) + (s4-2 (vector-! (new 'stack-no-clear 'vector) v1-26 s3-0)) + ) + (vector-rotate90-around-y! s4-2 s4-2) + (if (< (vector-dot s4-2 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-0)) 0.0) + (vector-negate-in-place! s4-2) + ) + (vector-normalize! s4-2 1.0) + (forward-up-nopitch->quaternion (-> this quat-ground) s4-2 *up-vector*) + ) + (quaternion-normalize! (-> this quat-ground)) + (if (-> this first-time-command) + (sound-play "target-up-slow") + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd5)) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (+! (-> this root trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> s5-0 0 time))) + (if (-> this first-time-command) + (sound-play "target-dwn-slow") + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd4)) + (let ((s3-3 (get-point-in-path! s4-0 (new 'stack-no-clear 'vector) (-> this path-pos) 'interp))) + (let* ((v1-68 (get-point-in-path! + s4-0 + (new 'stack-no-clear 'vector) + (if (< (-> this path-pos) 0.01) + (+ 0.1 (-> this path-pos)) + (+ -0.1 (-> this path-pos)) + ) + 'interp + ) + ) + (s4-6 (vector-! (new 'stack-no-clear 'vector) v1-68 s3-3)) + ) + (vector-rotate90-around-y! s4-6 s4-6) + (if (< (vector-dot s4-6 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-3)) 0.0) + (vector-negate-in-place! s4-6) + ) + (vector-normalize! s4-6 1.0) + (forward-up-nopitch->quaternion (-> this quat-ground) s4-6 *up-vector*) + ) + (quaternion-normalize! (-> this quat-ground)) + (set! (-> this root trans quad) (-> s3-3 quad)) + ) + (set! (-> this inout-percent) (lerp-scale 0.0 1.0 f30-0 0.0 (-> s5-0 0 time))) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this inout-percent) 1.0) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd2)) + (set! (-> this score) (- (-> this score) (* (-> this score-speed) (seconds-per-frame)))) + (set! (-> this inout-percent) (fmax 0.0 (- (-> this inout-percent) (* 4.0 (seconds-per-frame))))) + (let ((s2-4 (new 'stack-no-clear 'vector)) + (s3-4 (new 'stack-no-clear 'vector)) + (f28-2 (lerp-scale 0.0 1.0 f30-0 0.0 (-> s5-0 0 time))) + ) + (let ((v1-87 (-> s5-0 0 move-type))) + (cond + ((zero? v1-87) + ) + ((= v1-87 1) + (set! f28-2 (+ (* -2.0 f28-2 f28-2 f28-2) (* 3.0 f28-2 f28-2))) + ) + ((= v1-87 2) + (set! f28-2 (* f28-2 f28-2 f28-2)) + ) + ((= v1-87 3) + (sin (* 16384.0 f28-2)) + ) + ) + ) + (get-point-in-path! s4-0 s2-4 (-> this path-pos) 'interp) + (get-point-in-path! s4-0 s3-4 (* 0.007843138 (the float (-> s5-0 0 path-pos))) 'interp) + (let ((v1-102 (new 'stack-no-clear 'vector))) + (set! (-> v1-102 quad) (-> this root trans quad)) + (vector-float*! (-> this root trans) s2-4 (- 1.0 f28-2)) + (let ((a0-63 (-> this root trans))) + (let ((a1-23 (-> this root trans))) + (let ((a2-17 f28-2)) + (.mov vf7 a2-17) + ) + (.lvf vf5 (&-> s3-4 quad)) + (.lvf vf4 (&-> a1-23 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a0-63 quad) vf6) + ) + (let ((a0-65 (-> this root transv))) + (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> this root trans) v1-102) quad)) + (let ((f0-50 (-> pp clock frames-per-second))) + (.mov at-0 f0-50) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a0-65 quad) vf1) + ) + ) + ) + (if (zero? (-> this move-sound)) + (set! (-> this move-sound) (new-sound-id)) + ) + (let ((s4-7 (static-sound-spec "target-mov-slow" :group 0 :volume 100.0 :fo-max 60 :mask (pitch)))) + (set! (-> s4-7 pitch-mod) (the int (lerp-scale -1.0 1.0 (vector-length (-> this root transv)) 0.0 81920.0))) + (sound-play-by-spec s4-7 (-> this move-sound) (-> this root trans)) + ) + (when (< (-> this next-spark) (current-time)) + (set! (-> this next-spark) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.0 0.3))))) + (spawn (-> this part) (-> this root trans)) + ) + (set! (-> this first-time-command) #f) + (when (>= f30-0 (-> s5-0 0 time)) + (when (nonzero? (-> this move-sound)) + (sound-stop (-> this move-sound)) + (set! (-> this move-sound) (new 'static 'sound-id)) + 0 + ) + (sound-play "target-stop") + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this path-pos) (* 0.007843138 (the float (-> s5-0 0 path-pos)))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd3)) + (set! (-> this score) (- (-> this score) (* (-> this score-speed) (seconds-per-frame)))) + (set! (-> this inout-percent) (fmax 0.0 (- (-> this inout-percent) (* 4.0 (seconds-per-frame))))) + (get-point-in-path! s4-0 (-> this root trans) (-> this path-pos) 'interp) + (set! (-> this first-time-command) #f) + (when (or (and (= (-> s5-0 0 time) -1.0) (< (-> this hit-points) 0)) + (and (!= (-> s5-0 0 time) -1.0) (>= f30-0 (-> s5-0 0 time))) + ) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + ) + (return #t) + v0-1 + ) + (((tpath-cmd cmd8)) + (return #f) + v0-1 + ) + ) + ) + ) + ) + ) + ) + +;; definition for method 21 of type gun-dummy +;; INFO: Used lq/sq +(defmethod get-trans ((this gun-dummy) (arg0 int)) + "Get the `trans` for this process." + (let ((v1-0 (-> this root))) + (case arg0 + ((3 2) + (let ((v0-0 (new 'static 'vector :w 1.0))) + (set! (-> v0-0 quad) (-> v1-0 trans quad)) + (+! (-> v0-0 y) 8192.0) + v0-0 + ) + ) + (else + (-> v1-0 trans) + ) + ) + ) + ) + +;; definition for function gun-dummy-event-handler +;; INFO: Used lq/sq +(defbehavior gun-dummy-event-handler gun-dummy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('prevent-bounce?) + (not (logtest? (-> self info flags) (tpath-flag t5))) + ) + (('die-fast) + (deactivate self) + ) + (('combo) + (set-time! (-> self last-combo-time)) + #t + ) + (('track) + (cond + ((-> arg3 param 0) + (if (and (not (logtest? (-> self info flags) (tpath-flag t2))) (> (-> self hit-points) 0)) + #t + 'abort + ) + ) + (else + (and (not (logtest? (-> self info flags) (tpath-flag t2))) (> (-> self hit-points) 0)) + ) + ) + ) + (('attack) + (let ((s5-0 (the-as attack-info (-> arg3 param 1)))) + (get-penetrate-using-from-attack-event (the-as process-drawable arg0) arg3) + (when (or (not (logtest? (-> self info flags) (tpath-flag t6))) + (and (logtest? (-> self info flags) (tpath-flag t6)) + (or (= (-> s5-0 mode) 'eco-dark) (= (-> s5-0 mode) 'explode)) + ) + ) + (when (or (!= (-> s5-0 id) (-> self incoming-attack-id)) + (time-elapsed? (-> self incoming-attack-id-time) (seconds 0.5)) + ) + (set-time! (-> self incoming-attack-id-time)) + (set! (-> self incoming-attack-id) (-> s5-0 id)) + (when arg0 + (vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0) + (vector+! + (-> self impact) + (-> self impact) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0) + ) + (cond + ((and (= (-> self hit-points) 2) (logtest? (-> self info flags) (tpath-flag t5))) + (set! (-> self rot-y-offset) 262144.0) + (set! (-> self spin-sound) (sound-play "target-spin")) + ) + ((and (>= (-> self hit-points) 2) (logtest? (-> self info flags) (tpath-flag shield))) + (let ((gp-2 (get-draw-mask self))) + (sound-stop (-> self hum-sound)) + (let ((s5-3 (new 'stack-no-clear 'matrix))) + (let ((s4-3 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) + (let ((a0-40 s4-3)) + (set! (-> a0-40 quad) (-> s4-3 quad)) + (set! (-> a0-40 y) 0.0) + (vector-normalize! a0-40 1.0) + ) + (matrix-fu-compose s5-3 s4-3 *up-vector*) + ) + (set! (-> s5-3 trans quad) (-> self root trans quad)) + (if (logtest? (-> *part-group-id-table* 1425 flags) (sp-group-flag sp13)) + (part-tracker-spawn + part-tracker-subsampler + :to *entity-pool* + :group (-> *part-group-id-table* 1425) + :mat-joint s5-3 + ) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1425) :mat-joint s5-3) + ) + ) + (setup-masks (-> self draw) 0 gp-2) + ) + ) + (else + (if (and (logtest? (process-mask projectile) (-> arg0 mask)) + (not (time-elapsed? (-> self last-combo-time) (seconds 1))) + ) + (send-event (ppointer->process (-> self parent)) 'combo) + ) + ) + ) + (if (> (-> self hit-points) 0) + (+! (-> self hit-points) -1) + ) + #t + ) + ) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate idle (gun-dummy) + :virtual #t + :event gun-dummy-event-handler + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self inout-percent) 1.0) + (set! (-> self y-offset) 0.0) + (set! (-> self rot-y-offset) 0.0) + (set! (-> self first-time-command) #t) + (set! (-> self done?) #f) + (if (logtest? (-> self info flags) (tpath-flag shield)) + (sound-play "gtarget-shield" :id (-> self hum-sound)) + ) + ) + :exit (behavior () + (logior! (-> self info flags) (tpath-flag t1)) + ) + :code (behavior () + (while (not (-> self done?)) + (suspend) + ) + (when (nonzero? (-> self move-sound)) + (sound-stop (-> self move-sound)) + (set! (-> self move-sound) (new 'static 'sound-id)) + 0 + ) + (when (nonzero? (-> self turn-sound)) + (sound-stop (-> self turn-sound)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + 0 + ) + (when (nonzero? (-> self spin-sound)) + (sound-stop (-> self spin-sound)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + 0 + ) + (cleanup-for-death self) + ) + :post (behavior () + (set! (-> self done?) (not (check-done? self))) + (when (zero? (-> self hit-points)) + (logior! (-> self info flags) (tpath-flag t1)) + (if (>= -100.0 (-> self score)) + (sound-play "score-bad") + ) + (send-event (handle->process (-> self train-man)) 'score (the int (-> self score))) + (break-dummy self) + (set! (-> self hit-points) -1) + ) + (+! (-> self root trans y) (-> self y-offset)) + (set! (-> self rot-y-offset) (- (-> self rot-y-offset) (* 8.0 (seconds-per-frame) (-> self rot-y-offset)))) + (when (< (-> self rot-y-offset) 182.04445) + (when (nonzero? (-> self spin-sound)) + (sound-stop (-> self spin-sound)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + 0 + ) + ) + (let ((gp-2 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) + (vector-normalize! gp-2 1.0) + (let ((v1-33 (-> self gun-info gun-state))) + (if (or (zero? v1-33) (= v1-33 1) (= v1-33 2) (= v1-33 4)) + (seek-toward-heading-vec! (-> self root) gp-2 65536.0 (seconds 0.5)) + ) + ) + ) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (-> self rot-y-offset)) + (quaternion-slerp! (-> self root quat) (-> self root quat) (-> self quat-ground) (-> self inout-percent)) + (transform-post) + ) + ) + +;; definition for method 29 of type gun-dummy +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this gun-dummy)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 7372.8 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 7 of type gun-dummy +;; WARN: Return type mismatch process-focusable vs gun-dummy. +(defmethod relocate ((this gun-dummy) (offset int)) + (the-as gun-dummy ((method-of-type process-focusable relocate) this offset)) + ) + +;; definition for method 11 of type gun-dummy +(defmethod init-from-entity! ((this gun-dummy) (arg0 entity-actor)) + (init-collision! this) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-robo" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (transform-post) + (go (method-of-object this idle)) + ) + +;; definition for function gun-dummy-gun-aim-jmod-func +;; INFO: Used lq/sq +;; WARN: Return type mismatch vector vs none. +(defun gun-dummy-gun-aim-jmod-func ((arg0 cspace) (arg1 transformq)) + (let ((s4-0 (the-as gun-dummy-gun (-> arg0 param1)))) + (cspace<-parented-transformq-joint! arg0 arg1) + (quaternion-copy! (-> arg1 quat) (-> s4-0 gun-info quat)) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 quad) (-> arg0 bone transform trans quad)) + (matrix<-no-trans-transformq! (-> arg0 bone transform) arg1) + (set! (-> arg0 bone transform trans quad) (-> s4-1 quad)) + ) + (none) + ) + +;; definition for method 20 of type gun-dummy +;; WARN: Return type mismatch int vs search-info-flag. +(defmethod process-mask->search-info-flag ((this gun-dummy)) + (let ((v1-1 (-> this current 0 command))) + (the-as search-info-flag (if (or (= v1-1 (tpath-cmd cmd1)) (= v1-1 (tpath-cmd cmd5))) + 0 + 16 + ) + ) + ) + ) + +;; definition for method 35 of type gun-dummy +(defmethod gun-dummy-method-35 ((this gun-dummy)) + (cond + ((logtest? (-> this info flags) (tpath-flag t3 t5)) + 2 + ) + ((logtest? (-> this info flags) (tpath-flag t2)) + 1 + ) + (else + 1 + ) + ) + ) + +;; definition for method 34 of type gun-dummy +(defmethod get-draw-mask ((this gun-dummy)) + (cond + ((logtest? (-> this info flags) (tpath-flag t3)) + 4 + ) + ((= *gungame-level* 'lgunnorm) + 2 + ) + (else + 0 + ) + ) + ) + +;; definition for method 32 of type gun-dummy +;; WARN: Return type mismatch int vs none. +(defmethod init-tpath ((this gun-dummy) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (logclear! (-> this mask) (process-mask enemy)) + (logior! (-> this mask) (process-mask crate)) + ) + (else + (logior! (-> this mask) (process-mask enemy)) + ) + ) + (quaternion-copy! (-> this quat) (-> this root quat)) + (+! (-> this root trans y) -16384.0) + (if (not (logtest? (-> arg0 flags) (tpath-flag t4))) + (set! *tpath-rand* (the-as uint (rand-vu-int-count 16))) + ) + (set! (-> this current) + (the-as (inline-array tpath-control-frame) (-> arg0 anims (mod *tpath-rand* (-> arg0 num-anims)) 0)) + ) + (let ((v1-22 (-> this current))) + (when (= (-> v1-22 0 command) (tpath-cmd cmd0)) + (set! (-> this path-num) (-> v1-22 0 path-num)) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + ) + ) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t8)) + (set! (-> this gun-info gun-state) (the-as uint 1)) + (let ((a0-10 (-> this node-list data 4))) + (set! (-> a0-10 param0) gun-dummy-gun-aim-jmod-func) + (set! (-> a0-10 param1) this) + ) + ) + (else + (set! (-> this gun-info gun-state) (the-as uint 0)) + 0 + ) + ) + (set! (-> this score) (the float (-> arg0 score))) + (if (logtest? (-> arg0 flags) (tpath-flag t2)) + (set! (-> this score-speed) 0.0) + (set! (-> this score-speed) (/ (-> this score) (gun-dummy-method-31 this))) + ) + (set! (-> this info) arg0) + (set! (-> this hit-points) (if (logtest? (-> arg0 flags) (tpath-flag t5)) + 2 + 1 + ) + ) + (let ((a1-2 (get-draw-mask this))) + (cond + ((logtest? (-> arg0 flags) (tpath-flag shield)) + (+! (-> this hit-points) 1) + (setup-masks (-> this draw) a1-2 0) + ) + ((not (logtest? (-> arg0 flags) (tpath-flag t2))) + (setup-masks (-> this draw) 0 a1-2) + ) + ) + ) + (setup-masks (-> this draw) 0 (gun-dummy-method-35 this)) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1413) this)) + (set! (-> this next-spark) 0) + (set! (-> this explode-part-group) #f) + (set-explode-group this) + 0 + (none) + ) + +;; definition of type gun-dummy-gun +(deftype gun-dummy-gun (gun-dummy) + () + (:methods + (gun-dummy-gun-method-38 (_type_) none) + ) + ) + +;; definition for method 3 of type gun-dummy-gun +(defmethod inspect ((this gun-dummy-gun)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type gun-dummy-base +(deftype gun-dummy-base (gun-dummy) + () + (:methods + (init (_type_) none) + ) + ) + +;; definition for method 3 of type gun-dummy-base +(defmethod inspect ((this gun-dummy-base)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type gun-dummy-explode +(deftype gun-dummy-explode (gun-dummy) + ((arm-start-time time-frame) + (explode-start-time time-frame :overlay-at arm-start-time) + (explode-delay time-frame) + (exploded? symbol) + (last-flash-val float) + ) + (:state-methods + explode + ) + ) + +;; definition for method 3 of type gun-dummy-explode +(defmethod inspect ((this gun-dummy-explode)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy inspect))) + (t9-0 this) + ) + (format #t "~2Tarm-start-time: ~D~%" (-> this arm-start-time)) + (format #t "~2Texplode-start-time: ~D~%" (-> this arm-start-time)) + (format #t "~2Texplode-delay: ~D~%" (-> this explode-delay)) + (format #t "~2Texploded?: ~A~%" (-> this exploded?)) + (format #t "~2Tlast-flash-val: ~f~%" (-> this last-flash-val)) + (label cfg-4) + this + ) + +;; definition for function gun-dummy-gun-init-by-other +(defbehavior gun-dummy-gun-init-by-other gun-dummy-gun ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-robo" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self joint-exploder) *gun-kg-robo-exploder-params*) + (set! (-> self joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-robo-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> self joint-explode-anim-index) 6) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (go-virtual idle) + ) + +;; definition for method 38 of type gun-dummy-base +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-base)) + 0 + (none) + ) + +;; definition for function gun-dummy-base-init-by-other +(defbehavior gun-dummy-base-init-by-other gun-dummy-base ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (init self) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (set! (-> self hum-sound) (new-sound-id)) + (go-virtual idle) + ) + +;; definition for method 33 of type gun-dummy-base +;; WARN: Return type mismatch int vs none. +(defmethod break-dummy ((this gun-dummy-base)) + (let ((v1-1 (-> this root root-prim))) + (set! (-> v1-1 prim-core collide-as) (collide-spec)) + (set! (-> v1-1 prim-core collide-with) (collide-spec)) + ) + 0 + (setup-masks (-> this draw) 0 -1) + (cond + ((logtest? (-> this info flags) (tpath-flag t2)) + (setup-masks (-> this draw) (gun-dummy-method-35 this) 0) + ) + (else + (setup-masks (-> this draw) 0 -1) + (setup-masks (-> this draw) (gun-dummy-method-35 this) 0) + ) + ) + (if (logtest? (-> this info flags) (tpath-flag t3)) + (sound-play "target-bonus") + (sound-play "target-break") + ) + (spawn-exploder this) + 0 + (none) + ) + +;; definition for method 33 of type gun-dummy-gun +;; WARN: Return type mismatch int vs none. +(defmethod break-dummy ((this gun-dummy-gun)) + (let ((v1-1 (-> this root root-prim))) + (set! (-> v1-1 prim-core collide-as) (collide-spec)) + (set! (-> v1-1 prim-core collide-with) (collide-spec)) + ) + 0 + (setup-masks (-> this draw) 0 -1) + (logior! (-> this draw status) (draw-control-status no-draw)) + (sound-play "target-break") + (spawn-exploder this) + 0 + (none) + ) + +;; definition for function gun-dummy-explode-init-by-other +(defbehavior gun-dummy-explode-init-by-other gun-dummy-explode ((arg0 gungame-manager) (arg1 tpath-info)) + (set! (-> self level) (level-get *level* *gungame-level*)) + (init-collision! self) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-bomb" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> self joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-bomb-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> self joint-explode-anim-index) 5) + (set! (-> self train-man) (process->handle arg0)) + (init-tpath self arg1) + (set! (-> self joint-exploder) *gun-kg-bomb-exploder-params*) + (set! (-> self move-sound) (new 'static 'sound-id)) + (set! (-> self turn-sound) (new 'static 'sound-id)) + (set! (-> self spin-sound) (new 'static 'sound-id)) + (set! (-> self arm-start-time) 0) + (set! (-> self explode-delay) 0) + (set! (-> self exploded?) #f) + (go-virtual idle) + ) + +;; definition for method 30 of type gun-dummy-gun +(defmethod check-done? ((this gun-dummy-gun)) + (local-vars (v0-1 symbol)) + (gun-dummy-gun-method-38 this) + (case (-> this current 0 command) + (((tpath-cmd cmd7)) + (set! (-> this gun-info gun-state) (the-as uint 2)) + (set! (-> this gun-info total-rotation) 16384.0) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + (return #t) + v0-1 + ) + (((tpath-cmd cmd4)) + (set! (-> this gun-info total-rotation) 0.0) + (set! (-> this gun-info gun-state) (the-as uint 4)) + (call-parent-method this) + ) + (else + (call-parent-method this) + ) + ) + ) + +;; definition for method 30 of type gun-dummy-explode +(defmethod check-done? ((this gun-dummy-explode)) + (local-vars (v0-0 symbol)) + (let ((v1-0 (-> this current))) + (case (-> v1-0 0 command) + (((tpath-cmd cmd6)) + (set-time! (-> this arm-start-time)) + (set! (-> this explode-delay) (the-as time-frame (the int (* 300.0 (-> v1-0 0 time))))) + (set! (-> this last-flash-val) -1.0) + (set! (-> this current) (the-as (inline-array tpath-control-frame) (-> this current 1))) + (set! (-> this first-time-command) #t) + (set-time! (-> this state-time)) + (return #t) + v0-0 + ) + (else + (call-parent-method this) + ) + ) + ) + ) + +;; definition for symbol *dummy-flash-counters*, type (array float) +(define *dummy-flash-counters* (new 'static 'boxed-array :type float + 0.0 + 0.26 + 0.47 + 0.63 + 0.73 + 0.81 + 0.86 + 0.9 + 0.93 + 0.95 + 0.96 + 0.965 + 0.97 + 0.975 + 0.98 + 0.985 + 0.99 + ) + ) + +;; failed to figure out what this is: +(defstate idle (gun-dummy-explode) + :virtual #t + :event gun-dummy-event-handler + :trans (behavior () + (cond + ((not (-> self exploded?)) + (when (> (-> self arm-start-time) 0) + (let ((gp-0 (- (+ (-> self arm-start-time) (-> self explode-delay)) (current-time)))) + (let* ((f1-2 (/ (the float gp-0) (the float (-> self explode-delay)))) + (f0-3 (fmax 0.0 (fmin 1.0 f1-2))) + (f30-0 (- 1.0 f0-3)) + ) + (dotimes (v1-9 (-> *dummy-flash-counters* length)) + (let ((f0-4 (-> *dummy-flash-counters* v1-9))) + (when (and (< (-> self last-flash-val) f0-4) (>= f30-0 f0-4)) + (set! (-> self draw color-mult y) 0.3) + (set! (-> self draw color-mult z) 0.3) + (sound-play "gtarg-warn-beep") + 0 + (goto cfg-15) + ) + ) + ) + (label cfg-15) + (set! (-> self last-flash-val) f30-0) + ) + (seek! (-> self draw color-mult y) 1.0 (* 5.0 (seconds-per-frame))) + (seek! (-> self draw color-mult z) 1.0 (* 5.0 (seconds-per-frame))) + (when (<= gp-0 0) + (set! (-> self score) -50.0) + (set! (-> self hit-points) 0) + 0 + ) + ) + ) + ) + ((time-elapsed? (-> self arm-start-time) (seconds 2)) + ) + ) + (let ((t9-5 (-> (find-parent-state) trans))) + (if t9-5 + (t9-5) + ) + ) + ) + ) + +;; definition for method 17 of type gun-dummy-explode +;; WARN: Return type mismatch object vs none. +(defmethod cleanup-for-death ((this gun-dummy-explode)) + (go (method-of-object this explode)) + (none) + ) + +;; definition for method 33 of type gun-dummy-explode +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +;; WARN: Function (method 33 gun-dummy-explode) has a return type of none, but the expression builder found a return statement. +(defmethod break-dummy ((this gun-dummy-explode)) + (if (-> this exploded?) + (return 0) + ) + (set! (-> this exploded?) #t) + (spawn-exploder this) + (cond + ((>= (current-time) (+ (-> this arm-start-time) (-> this explode-delay))) + (set-time! (-> this arm-start-time)) + (sound-play "gtarget-explode") + (let ((s5-1 (new 'stack-no-clear 'explosion-init-params))) + (set! (-> s5-1 spawn-point quad) (-> this root trans quad)) + (quaternion-identity! (-> s5-1 spawn-quat)) + (set! (-> s5-1 radius) 24576.0) + (set! (-> s5-1 scale) 1.0) + (set! (-> s5-1 group) (-> *part-group-id-table* 1424)) + (set! (-> s5-1 collide-with) (collide-spec jak player-list)) + (set! (-> s5-1 damage) 2.0) + (set! (-> s5-1 damage-scale) 1.0) + (set! (-> s5-1 vehicle-damage-factor) 1.0) + (set! (-> s5-1 vehicle-impulse-factor) 1.0) + (set! (-> s5-1 ignore-proc) (process->handle #f)) + (explosion-spawn s5-1 this) + ) + ) + (else + (sound-play "target-break") + ) + ) + (logior! (-> this draw status) (draw-control-status no-draw)) + (let ((v1-32 (-> this root root-prim))) + (set! (-> v1-32 prim-core collide-as) (collide-spec)) + (set! (-> v1-32 prim-core collide-with) (collide-spec)) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate explode (gun-dummy-explode) + :virtual #t + :event gun-dummy-event-handler + :code (behavior () + (while (-> self child) + (let ((gp-0 (-> self child))) + (while gp-0 + (send-event (ppointer->process gp-0) 'notice 'die) + (set! gp-0 (-> gp-0 0 brother)) + ) + ) + (suspend) + ) + (deactivate self) + ) + ) + +;; definition for method 29 of type gun-dummy-base +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this gun-dummy-base)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 4096.0 0.0 6144.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 29 of type gun-dummy-gun +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this gun-dummy-gun)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 6144.0 0.0 8192.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 29 of type gun-dummy-explode +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this gun-dummy-explode)) + (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 ((v1-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-6 prim-core collide-as) (collide-spec enemy impenetrable-obj shield)) + (set! (-> v1-6 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-6 prim-core action) (collide-action solid deadly no-standon)) + (set-vector! (-> v1-6 local-sphere) 0.0 2457.6 0.0 5734.4) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-9 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition of type gun-dummy-shot +(deftype gun-dummy-shot (guard-shot) + () + ) + +;; definition for method 3 of type gun-dummy-shot +(defmethod inspect ((this gun-dummy-shot)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type guard-shot inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 28 of type gun-dummy-shot +;; WARN: Return type mismatch int vs none. +(defmethod play-impact-sound ((this gun-dummy-shot) (arg0 projectile-options)) + (let ((v1-0 arg0)) + (cond + ((zero? v1-0) + (sound-play "gtarget-fire") + ) + ((= v1-0 (projectile-options po0)) + (sound-play "guard-shot-hit") + ) + ) + ) + 0 + (none) + ) + +;; definition for function spawn-dummy-projectile +;; INFO: Used lq/sq +(defun spawn-dummy-projectile ((arg0 gun-dummy) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) + (let ((gp-0 (new 'stack-no-clear 'projectile-init-by-other-params))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) + (set! (-> gp-0 ent) (-> arg0 entity)) + (set! (-> gp-0 charge) 1.0) + (set! (-> gp-0 options) (projectile-options)) + (logclear! (-> gp-0 options) (projectile-options po14 po15 po16)) + (set! (-> gp-0 notify-handle) (process->handle arg0)) + (set! (-> gp-0 owner-handle) (the-as handle #f)) + (set! (-> gp-0 target-handle) (the-as handle #f)) + (set! (-> gp-0 target-pos quad) (the-as uint128 0)) + (set! (-> gp-0 ignore-handle) (process->handle arg0)) + (let* ((a0-13 *game-info*) + (a2-12 (+ (-> a0-13 attack-id) 1)) + ) + (set! (-> a0-13 attack-id) a2-12) + (set! (-> gp-0 attack-id) a2-12) + ) + (set! (-> gp-0 timeout) (seconds 4)) + (if arg4 + (set! (-> gp-0 pos quad) (-> arg4 quad)) + (set! (-> gp-0 pos quad) (-> arg1 quad)) + ) + (vector-normalize-copy! (-> gp-0 vel) v1-1 arg3) + ) + (spawn-projectile gun-dummy-shot gp-0 arg0 *default-dead-pool*) + ) + ) + +;; definition for method 38 of type gun-dummy-gun +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +;; WARN: Function (method 38 gun-dummy-gun) has a return type of none, but the expression builder found a return statement. +(defmethod gun-dummy-gun-method-38 ((this gun-dummy-gun)) + (if (<= (-> this hit-points) 0) + (return 0) + ) + (if (nonzero? (-> this gun-info gun-state)) + (vector<-cspace! (-> this gun-info trans) (-> this node-list data 4)) + ) + (case (-> this gun-info gun-state) + ((1) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) -16384.0) + ) + ((2 4) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) -16384.0) + (let ((f0-1 (* 16384.0 (seconds-per-frame)))) + (if (< (-> this gun-info total-rotation) 0.0) + (set! f0-1 (* -1.0 f0-1)) + ) + (+! (-> this gun-info current-rotation) f0-1) + ) + (when (>= (fabs (-> this gun-info current-rotation)) (fabs (-> this gun-info total-rotation))) + (set! (-> this gun-info current-rotation) (-> this gun-info total-rotation)) + (case (-> this gun-info gun-state) + ((2) + (set! (-> this gun-info gun-state) (the-as uint 3)) + (set! (-> this gun-info last-track-player-time) 0) + (set! (-> this gun-info next-fire-time) 0) + 0 + ) + (else + (set! (-> this gun-info gun-state) (the-as uint 1)) + ) + ) + ) + (quaternion-rotate-local-x! + (-> this gun-info quat) + (-> this gun-info quat) + (-> this gun-info current-rotation) + ) + ) + ((3) + (let ((s5-0 (new 'stack-no-clear 'primary-target-pos-vel))) + (send-event (ppointer->process (-> this parent)) 'get-player-pos-vel s5-0) + (set! (-> this gun-info last-known-player-pos quad) (-> s5-0 position quad)) + ) + (if (not (and *target* (not (logtest? (-> *target* focus-status) (focus-status disable dead ignore grabbed))))) + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + (let ((s5-2 + (vector-! (new 'stack-no-clear 'vector) (-> this gun-info last-known-player-pos) (-> this gun-info trans)) + ) + (f26-0 0.0) + (f30-0 0.0) + (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (f28-0 0.0) + ) + (vector-normalize! s5-2 1.0) + (when *target* + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (get-trans *target* 3) (-> this gun-info trans)))) + (vector-normalize! s3-1 1.0) + (set! f30-0 (-> s3-1 y)) + (set! f26-0 (asin (-> s3-1 y))) + (set! f28-0 (sqrtf (+ (* (-> s3-1 x) (-> s3-1 x)) (* (-> s3-1 z) (-> s3-1 z))))) + ) + ) + (let* ((v1-43 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this gun-info quat))) + (f0-15 (- (asin (-> v1-43 y)))) + (f1-9 (- f26-0)) + ) + (let* ((f3-2 (* 0.000061035156 (fabs (- f0-15 f1-9)))) + (f3-4 (fmax 0.0 (fmin 1.0 f3-2))) + ) + (- 1.0 (* (- 1.0 f3-4) (- 1.0 f3-4))) + ) + (let ((f26-1 (lerp f0-15 f1-9 (* 2.0 (seconds-per-frame))))) + (quaternion-copy! (-> this gun-info quat) (-> this root quat)) + (quaternion-rotate-local-x! (-> this gun-info quat) (-> this gun-info quat) f26-1) + ) + ) + (quaternion-normalize! (-> this gun-info quat)) + (set! (-> s5-2 y) 0.0) + (vector-normalize! s5-2 1.0) + (cond + ((< (-> this rot-y-offset) 3640.889) + (let ((f0-21 (vector-dot s5-2 s4-0))) + 0.0 + (let ((s3-2 (new 'stack-no-clear 'vector))) + (when (< f0-21 0.999) + (vector-cross! s3-2 s5-2 s4-0) + (let* ((f26-2 (acos f0-21)) + (f0-24 (lerp 0.0 f26-2 (* 2.0 (seconds-per-frame)))) + ) + (if (< f26-2 f0-24) + (set! f0-24 f26-2) + ) + (if (< 0.0 (-> s3-2 y)) + (set! f0-24 (* -1.0 f0-24)) + ) + (quaternion-rotate-y! (-> this root quat) (-> this root quat) f0-24) + ) + ) + ) + ) + ) + (else + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + ) + (when (< (-> this gun-info next-fire-time) (current-time)) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this root quat))) + (s5-3 (new 'stack-no-clear 'vector)) + ) + (set! (-> s4-1 y) 0.0) + (vector-normalize! s4-1 f28-0) + (set! (-> s4-1 y) f30-0) + (vector-normalize! s4-1 4096.0) + (vector+! s5-3 (-> this gun-info trans) s4-1) + (spawn-dummy-projectile + this + s5-3 + (vector+! (new 'stack-no-clear 'vector) s5-3 s4-1) + 819200.0 + (the-as vector #f) + ) + ) + (set! (-> this gun-info next-fire-time) (generate-next-fire-time (-> this gun-info fire-speed-scalar))) + ) + ) + ) + ) + (if (nonzero? (-> this gun-info gun-state)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> this gun-info quat)) + ) + (none) + ) + +;; definition of type gun-dummy-kg-b +(deftype gun-dummy-kg-b (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-kg-b +(defmethod inspect ((this gun-dummy-kg-b)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-kg-b +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-kg-b)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-b-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-b-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition for method 32 of type gun-dummy-kg-b +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-b) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-rc-two-eyes +(deftype gun-dummy-rc-two-eyes (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-rc-two-eyes +(defmethod inspect ((this gun-dummy-rc-two-eyes)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-rc-two-eyes +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-two-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-two-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-two-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-two-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-rc-one-eye +(deftype gun-dummy-rc-one-eye (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-rc-one-eye +(defmethod inspect ((this gun-dummy-rc-one-eye)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-rc-one-eye +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-one-eye)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-one-eye" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-one-eye-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-one-eye-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-rc-three-eyes +(deftype gun-dummy-rc-three-eyes (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-rc-three-eyes +(defmethod inspect ((this gun-dummy-rc-three-eyes)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-rc-three-eyes +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-rc-three-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-three-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-kg-c +(deftype gun-dummy-kg-c (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-kg-c +(defmethod inspect ((this gun-dummy-kg-c)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 35 of type gun-dummy-kg-c +(defmethod gun-dummy-method-35 ((this gun-dummy-kg-c)) + 2 + ) + +;; definition for method 34 of type gun-dummy-kg-c +(defmethod get-draw-mask ((this gun-dummy-kg-c)) + 4 + ) + +;; definition for method 38 of type gun-dummy-kg-c +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-kg-c)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-c" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-c-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-c-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition for method 32 of type gun-dummy-kg-c +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-c) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-kg-big +(deftype gun-dummy-kg-big (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-kg-big +(defmethod inspect ((this gun-dummy-kg-big)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-kg-big +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-kg-big)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-big" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-big-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-big-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition for method 32 of type gun-dummy-kg-big +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-big) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.4 1.4 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-rc-four-eyes +(deftype gun-dummy-rc-four-eyes (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-rc-four-eyes +(defmethod inspect ((this gun-dummy-rc-four-eyes)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-rc-four-eyes +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-rc-four-eyes)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-four-eyes" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-four-eyes-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-four-eyes-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition for method 32 of type gun-dummy-rc-four-eyes +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-rc-four-eyes) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-kg-bonus +(deftype gun-dummy-kg-bonus (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-kg-bonus +(defmethod inspect ((this gun-dummy-kg-bonus)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 32 of type gun-dummy-kg-bonus +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-kg-bonus) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 0.9 0.9 1.0 1.0) + (none) + ) + +;; definition for method 38 of type gun-dummy-kg-bonus +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-kg-bonus)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-kg-bonus" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-kg-bonus-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-kg-bonus-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition of type gun-dummy-rc-three-eyes-bonus +(deftype gun-dummy-rc-three-eyes-bonus (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-rc-three-eyes-bonus +(defmethod inspect ((this gun-dummy-rc-three-eyes-bonus)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 32 of type gun-dummy-rc-three-eyes-bonus +;; WARN: Return type mismatch vector vs none. +(defmethod init-tpath ((this gun-dummy-rc-three-eyes-bonus) (arg0 tpath-info)) + (call-parent-method this arg0) + (set-vector! (-> this root scale) 1.2 1.2 1.0 1.0) + (none) + ) + +;; definition for method 38 of type gun-dummy-rc-three-eyes-bonus +;; WARN: Return type mismatch int vs none. +(defmethod init ((this gun-dummy-rc-three-eyes-bonus)) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-bonus" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rc-three-eyes-bonus-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-exploder) *gun-rc-three-eyes-bonus-exploder-params*) + (set! (-> this joint-explode-anim-index) 5) + (none) + ) + +;; definition of type gun-dummy-cit-a +(deftype gun-dummy-cit-a (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-a +(defmethod inspect ((this gun-dummy-cit-a)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-a +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-a)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-a" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-a-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-a-exploder-params*) + (none) + ) + +;; definition of type gun-dummy-cit-b +(deftype gun-dummy-cit-b (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-b +(defmethod inspect ((this gun-dummy-cit-b)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-b +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-b)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-b-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-b-exploder-params*) + (none) + ) + +;; definition of type gun-dummy-cit-c +(deftype gun-dummy-cit-c (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-c +(defmethod inspect ((this gun-dummy-cit-c)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-c +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-c)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-c" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-c-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-c-exploder-params*) + (none) + ) + +;; definition of type gun-dummy-cit-d +(deftype gun-dummy-cit-d (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-d +(defmethod inspect ((this gun-dummy-cit-d)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-d +;; WARN: Return type mismatch joint-exploder-static-params vs none. +(defmethod init ((this gun-dummy-cit-d)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-d" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-cit-d-explode" (the-as (pointer level) #f))) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-cit-d-exploder-params*) + (none) + ) + +;; definition of type gun-dummy-cit-ratchet +(deftype gun-dummy-cit-ratchet (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-ratchet +(defmethod inspect ((this gun-dummy-cit-ratchet)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-ratchet +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-cit-ratchet)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-rachet" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-rachet-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-rachet-exploder-params*) + (set-vector! (-> this root scale) 1.3 1.3 1.0 1.0) + (none) + ) + +;; definition of type gun-dummy-cit-clank +(deftype gun-dummy-cit-clank (gun-dummy-base) + () + ) + +;; definition for method 3 of type gun-dummy-cit-clank +(defmethod inspect ((this gun-dummy-cit-clank)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gun-dummy-base inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 38 of type gun-dummy-cit-clank +;; WARN: Return type mismatch vector vs none. +(defmethod init ((this gun-dummy-cit-clank)) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dummy-clank" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this joint-explode-skel-group) + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-gun-dummy-clank-explode" (the-as (pointer level) #f)) + ) + ) + (set! (-> this joint-explode-anim-index) 5) + (set! (-> this joint-exploder) *gun-clank-exploder-params*) + (set-vector! (-> this root scale) 1.5 1.3 1.0 1.0) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-a +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-a)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-ratchet +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-ratchet)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-clank +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-clank)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-b +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-b)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1415)) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-c +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-c)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1416)) + (none) + ) + +;; definition for method 37 of type gun-dummy-cit-d +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-cit-d)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1417)) + (none) + ) + +;; definition for method 37 of type gun-dummy-kg-b +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-b)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1419)) + (none) + ) + +;; definition for method 37 of type gun-dummy-kg-c +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-c)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1420)) + (none) + ) + +;; definition for method 37 of type gun-dummy-kg-big +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-big)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1418)) + (none) + ) + +;; definition for method 37 of type gun-dummy-kg-bonus +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-kg-bonus)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1423)) + (none) + ) + +;; definition for method 37 of type gun-dummy-gun +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-gun)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1414)) + (none) + ) + +;; definition for method 37 of type gun-dummy-explode +;; WARN: Return type mismatch sparticle-launch-group vs none. +(defmethod set-explode-group ((this gun-dummy-explode)) + (set! (-> this explode-part-group) (-> *part-group-id-table* 1422)) + (none) + ) + +;; definition for method 35 of type gun-dummy-rc-four-eyes +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-four-eyes)) + 1 + ) + +;; definition for method 35 of type gun-dummy-rc-three-eyes +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-three-eyes)) + 1 + ) + +;; definition for method 35 of type gun-dummy-rc-two-eyes +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-two-eyes)) + 1 + ) + +;; definition for method 35 of type gun-dummy-rc-one-eye +;; INFO: this function exists in multiple non-identical object files +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-one-eye)) + 1 + ) + +;; definition for method 35 of type gun-dummy-rc-one-eye +;; INFO: this function exists in multiple non-identical object files +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-one-eye)) + 1 + ) + +;; definition for method 35 of type gun-dummy-rc-three-eyes-bonus +(defmethod gun-dummy-method-35 ((this gun-dummy-rc-three-eyes-bonus)) + 1 + ) + +;; definition for method 35 of type gun-dummy-cit-ratchet +(defmethod gun-dummy-method-35 ((this gun-dummy-cit-ratchet)) + 2 + ) + +;; definition for method 35 of type gun-dummy-cit-clank +(defmethod gun-dummy-method-35 ((this gun-dummy-cit-clank)) + 1 + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/gungame/gungame-data_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gungame-data_REF.gc new file mode 100644 index 0000000000..ccd6766ff3 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gungame-data_REF.gc @@ -0,0 +1,17508 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type gungame-crate +(deftype gungame-crate (structure) + ((pos vector :inline) + (pos-x float :overlay-at (-> pos data 0)) + (pos-y float :overlay-at (-> pos data 1)) + (pos-z float :overlay-at (-> pos data 2)) + (angle float :overlay-at (-> pos data 3)) + (ammo pickup-type) + (num uint32) + ) + ) + +;; definition for method 3 of type gungame-crate +(defmethod inspect ((this gungame-crate)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'gungame-crate) + (format #t "~1Tpos: #~%" (-> this pos)) + (format #t "~1Tpos-x: ~f~%" (-> this pos x)) + (format #t "~1Tpos-y: ~f~%" (-> this pos y)) + (format #t "~1Tpos-z: ~f~%" (-> this pos z)) + (format #t "~1Tangle: ~f~%" (-> this pos w)) + (format #t "~1Tammo: ~D~%" (-> this ammo)) + (format #t "~1Tnum: ~D~%" (-> this num)) + (label cfg-4) + this + ) + +;; definition for symbol *entrance-gungame-crates-pos*, type (array gungame-crate) +(define *entrance-gungame-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 129024.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 141312.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 153600.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 165888.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 303104.0 :z 178176.0 :w -16384.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 245760.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 258048.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 270336.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 282624.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 294912.0 :z 120832.0) + :ammo (pickup-type ammo-random) + :num #x14 + ) + ) + ) + +;; definition for symbol *gungame-red-crates-pos*, type (array gungame-crate) +(define *gungame-red-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 184320.0 :z 81920.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z 81920.0 :w 7281.778) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 192512.0 :z 73728.0 :w 14563.556) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -92160.0 :z -126976.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -92160.0 :z -114688.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + ) + ) + +;; definition for symbol *gungame-yellow-crates-pos*, type (array gungame-crate) +(define *gungame-yellow-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 131072.0 :z 172032.0 :w -20024.889) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 120832.0 :z 163840.0 :w -23665.777) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 131072.0 :z 155648.0 :w -25486.223) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 169574.4 :z -149094.4) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 182272.0 :z -149094.4) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 18841.6 :z -99942.4 :w 16384.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -142131.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -154419.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -166707.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -178995.2 :z -76595.2 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147046.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -134758.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -122470.4 :z 132300.8 :w 32768.0) + :ammo (pickup-type ammo-yellow) + :num #x14 + ) + ) + ) + +;; definition for symbol *gungame-blue-crates-pos*, type (array gungame-crate) +(define *gungame-blue-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 163840.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 151552.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 139264.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 73728.0 :z 126976.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 163840.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 151552.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 139264.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -71680.0 :z 126976.0 :w 16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -131072.0 :z 102400.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -118784.0 :z 102400.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -180224.0 :z 36864.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -126976.0 :z 36864.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z -24576.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z -24576.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -147456.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -135168.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -122880.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -98304.0 :z -110592.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -131072.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -118784.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 12288.0 :z -106496.0 :w -16384.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 176128.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 188416.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 200704.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 212992.0 :z -147456.0) + :ammo (pickup-type ammo-blue) + :num #x14 + ) + ) + ) + +;; definition for symbol *gungame-peace-crates-pos*, type (array gungame-crate) +(define *gungame-peace-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z 77824.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 208896.0 :z 77824.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 221184.0 :z 77824.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 233472.0 :z 77824.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 172032.0 :z -147456.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 184320.0 :z -147456.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 196608.0 :z -147456.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 208896.0 :z -147456.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -102400.0 :w 16384.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -114688.0 :w 16384.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -126976.0 :w 16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -90112.0 :z -139264.0 :w 16384.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -135168.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147456.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z -28672.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -135168.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -147456.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-yellow) + :num #x28 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -159744.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + (new 'static 'gungame-crate + :pos (new 'static 'vector :x -172032.0 :z 133120.0 :w -32768.0) + :ammo (pickup-type ammo-dark) + :num #x5 + ) + ) + ) + +;; definition for symbol *course1-path-global-info*, type (array tpath-info) +(define *course1-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x14 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x3c + :ref-time-num 40 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x50 + :ref-time-num 60 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x64 + :ref-time-num 60 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x69 + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 100) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x78 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x8c + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x96 + :ref-time-num #x8c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #xa0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xa0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcd + :ref-time-num #xc8 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.2 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd7 + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #xc8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xda + :ref-time-num #xc8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #xdc + :ref-time-num #xc8 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe6 + :ref-time-num #xdc + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.4 + :list (new 'static 'boxed-array :type int32 #xdc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xf0 + :ref-time-num #xdc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xf0) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x104 + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x104) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x118 + :ref-time-num #xdc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 13 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x12c + :ref-time-num #x118 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x136 + :ref-time-num #x12c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13b + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x136) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x140 + :ref-time-num #x136 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x154 + :ref-time-num #x140 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x168 + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x17c + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x190 + :ref-time-num #x17c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19a + :ref-time-num #x190 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x190) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x70 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x1a4 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b8 + :ref-time-num #x1a4 + :score 100 + :flags (tpath-flag t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x1a4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x1cc + :ref-time-num #x1a4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x1e0 + :ref-time-num #x1a4 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f4 + :ref-time-num #x1e0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1e0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x208 + :ref-time-num #x1e0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #x212 + :ref-time-num #x208 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x214 + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x212) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x215 + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x212) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x217 + :ref-time-num #x212 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3e :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3b :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x230 + :ref-time-num #x21c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x23a + :ref-time-num #x21c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x23f + :ref-time-num #x21c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x242 + :ref-time-num #x23f + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.8 + :num #x244 + :ref-time-num #x21c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x24e + :ref-time-num #x244 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x244) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x36 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x258 + :ref-time-num #x244 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x262 + :ref-time-num #x258 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x258) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x267 + :ref-time-num #x258 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x294 + :ref-time-num #x267 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x297 + :ref-time-num #x294 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x294) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x299 + :ref-time-num #x294 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29b + :ref-time-num #x299 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x299) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29d + :ref-time-num #x299 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x299) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x29e + :ref-time-num #x299 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2a3 + :ref-time-num #x29e + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x29e) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x2a8 + :ref-time-num #x29e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2b2 + :ref-time-num #x2a8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2bc + :ref-time-num #x2a8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2c6 + :ref-time-num #x2b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x2b2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2cb + :ref-time-num #x2bc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x2bc) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.7 + :num #x2d0 + :ref-time-num #x2a8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2da + :ref-time-num #x2d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x63 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2e4 + :ref-time-num #x2da + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2da) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x2f8 + :ref-time-num #x2d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x30c + :ref-time-num #x2f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x320 + :ref-time-num #x2f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x334 + :ref-time-num #x320 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x348 + :ref-time-num #x334 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x35c + :ref-time-num #x348 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.8 + :num #x384 + :ref-time-num #x35c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x38e + :ref-time-num #x384 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x384) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x3ac + :ref-time-num #x384 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x3b6 + :ref-time-num #x3ac + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x3ac) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x3c0 + :ref-time-num #x384 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x3ca + :ref-time-num #x3c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x3d4 + :ref-time-num #x3ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x3de + :ref-time-num #x3d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x3e8 + :ref-time-num #x3de + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x3f2 + :ref-time-num #x3e8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x3fc + :ref-time-num #x3e8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x406 + :ref-time-num #x3fc + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x3fc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.3 + :num #x410 + :ref-time-num #x3fc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x424 + :ref-time-num #x410 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x438 + :ref-time-num #x424 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x424) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x44c + :ref-time-num #x424 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x460 + :ref-time-num #x44c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x46a + :ref-time-num #x460 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x460) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x474 + :ref-time-num #x460 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x479 + :ref-time-num #x474 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x474) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x8c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x47e + :ref-time-num #x474 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x483 + :ref-time-num #x47e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x488 + :ref-time-num #x47e + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xa5 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xe5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x49c + :ref-time-num #x488 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xac :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x4a6 + :ref-time-num #x49c + :score 100 + :flags (tpath-flag t8 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x49c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x4b0 + :ref-time-num #x49c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xcc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x4c4 + :ref-time-num #x4b0 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x4b0) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.5 + :num #x514 + :ref-time-num #x4b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x51e + :ref-time-num #x514 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x514) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x528 + :ref-time-num #x514 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x52d + :ref-time-num #x528 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x528) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x532 + :ref-time-num #x528 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x53c + :ref-time-num #x532 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x550 + :ref-time-num #x53c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x555 + :ref-time-num #x550 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x550) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x55a + :ref-time-num #x550 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55f + :ref-time-num #x55a + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x55a) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x564 + :ref-time-num #x550 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x569 + :ref-time-num #x564 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x564) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x56e + :ref-time-num #x564 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x573 + :ref-time-num #x56e + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x56e) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x578 + :ref-time-num #x56e + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x582 + :ref-time-num #x578 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x578) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x58c + :ref-time-num #x578 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x596 + :ref-time-num #x58c + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x58c) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x5c8 + :ref-time-num #x58c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x5dc + :ref-time-num #x5c8 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x604 + :ref-time-num #x5c8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x618 + :ref-time-num #x604 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x62c + :ref-time-num #x618 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x618) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x640 + :ref-time-num #x618 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x654 + :ref-time-num #x640 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x668 + :ref-time-num #x654 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x67c + :ref-time-num #x668 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x690 + :ref-time-num #x67c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x6a4 + :ref-time-num #x690 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x708 + :ref-time-num #x690 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x71c + :ref-time-num #x708 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x708) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x726 + :ref-time-num #x708 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.6 + :num #x730 + :ref-time-num #x726 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x5e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x744 + :ref-time-num #x730 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x758 + :ref-time-num #x744 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x776 + :ref-time-num #x758 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x78a + :ref-time-num #x776 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x776) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x794 + :ref-time-num #x776 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x7d0 + :ref-time-num #x794 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x7da + :ref-time-num #x7d0 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x7d0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x7e4 + :ref-time-num #x7d0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x7e9 + :ref-time-num #x7e4 + :score 100 + :flags (tpath-flag t7 t9) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x7e4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.3 + :num #x7f3 + :ref-time-num #x7e4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x7f8 + :ref-time-num #x7f3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x802 + :ref-time-num #x7f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x80c + :ref-time-num #x7f8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x820 + :ref-time-num #x80c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x83e + :ref-time-num #x820 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x848 + :ref-time-num #x83e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x85c + :ref-time-num #x848 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x870 + :ref-time-num #x85c + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x884 + :ref-time-num #x870 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x898 + :ref-time-num #x884 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x8ac + :ref-time-num #x898 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x24 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x8c0 + :ref-time-num #x8ac + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5a :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x8d4 + :ref-time-num #x8c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x51 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x8e8 + :ref-time-num #x8d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x8fc + :ref-time-num #x8e8 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x910 + :ref-time-num #x8fc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x924 + :ref-time-num #x910 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x938 + :ref-time-num #x924 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x94c + :ref-time-num #x938 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x960 + :ref-time-num #x94c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x974 + :ref-time-num #x960 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x51 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x988 + :ref-time-num #x974 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x51 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x99c + :ref-time-num #x988 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x9b0 + :ref-time-num #x988 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ba + :ref-time-num #x9b0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x9b0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9c4 + :ref-time-num #x9b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x22 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ce + :ref-time-num #x9c4 + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x9c4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9d8 + :ref-time-num #x9ce + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x9ce) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9e2 + :ref-time-num #x9c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x60 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9ec + :ref-time-num #x9e2 + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x9e2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xa00 + :ref-time-num #x9ec + :score 100 + :flags (tpath-flag t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x9ec) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #xa14 + :ref-time-num #x9e2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; definition for symbol *course2-path-global-info*, type (array tpath-info) +(define *course2-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :num #xaf0 + :ref-time-num #xa14 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x74 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x69 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb04 + :ref-time-num #xaf0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xb18 + :ref-time-num #xb04 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb22 + :ref-time-num #xb18 + :score #x1f4 + :flags (tpath-flag t7 t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xb18) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x64 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x57 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb2c + :ref-time-num #xb18 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb36 + :ref-time-num #xb2c + :score #x1f4 + :flags (tpath-flag t7 t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xb2c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x23 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb40 + :ref-time-num #xaf0 + :score 100 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xaf0) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb54 + :ref-time-num #xb04 + :score 100 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb04) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x10 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x16 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x10 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #xb68 + :ref-time-num #xb2c + :score 100 + :flags (tpath-flag t8 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #xb7c + :ref-time-num #xb2c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xb90 + :ref-time-num #xb7c + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xb9a + :ref-time-num #xb90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9f + :ref-time-num #xb9a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.3 + :num #xba4 + :ref-time-num #xb9f + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbae + :ref-time-num #xba4 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xba4) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbb8 + :ref-time-num #xba4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbc2 + :ref-time-num #xbb8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbb8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xbcc + :ref-time-num #xbb8 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbd6 + :ref-time-num #xbcc + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbcc) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe0 + :ref-time-num #xbcc + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbea + :ref-time-num #xbe0 + :score -100 + :flags (tpath-flag t2 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbe0) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xbf4 + :ref-time-num #xbe0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbfe + :ref-time-num #xbf4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc03 + :ref-time-num #xbcc + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbcc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc08 + :ref-time-num #xbe0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xbe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #xc1c + :ref-time-num #xc08 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc26 + :ref-time-num #xc1c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc30 + :ref-time-num #xc1c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3a + :ref-time-num #xc30 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xc3f + :ref-time-num #xc26 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x39 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x42 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #xc44 + :ref-time-num #xc3f + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc58 + :ref-time-num #xc44 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc62 + :ref-time-num #xc58 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc67 + :ref-time-num #xc62 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xc69 + :ref-time-num #xc67 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xe :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x14 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc6b + :ref-time-num #xc69 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x71 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xc6c + :ref-time-num #xc6b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xc80 + :ref-time-num #xc6c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xc8a + :ref-time-num #xc80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #xc9e + :ref-time-num #xc8a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xca3 + :ref-time-num #xc9e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xca6 + :ref-time-num #xca3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x69 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xca8 + :ref-time-num #xca6 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xcb2 + :ref-time-num #xca8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x55 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcb4 + :ref-time-num #xcb2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x35 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xcb7 + :ref-time-num #xcb4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xcbc + :ref-time-num #xcb7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xcc6 + :ref-time-num #xcbc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xcd0 + :ref-time-num #xcc6 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xcda + :ref-time-num #xcd0 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xcd0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5b :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xce4 + :ref-time-num #xcd0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x68 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #xd48 + :ref-time-num #xce4 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x63 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xd5c + :ref-time-num #xd48 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x3e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xd70 + :ref-time-num #xd5c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x1e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x16 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #xd84 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd98 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x36) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xdac + :ref-time-num #xd98 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdc0 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdca + :ref-time-num #xdc0 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x37) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x43 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdd1 + :ref-time-num #xdcf + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x38 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x24 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdd4 + :ref-time-num #xdd1 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x75 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdd9 + :ref-time-num #xdd4 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x48 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #xdde + :ref-time-num #xdd9 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde3 + :ref-time-num #xdde + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde5 + :ref-time-num #xde3 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xde8 + :ref-time-num #xde5 + :score 100 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf2 + :ref-time-num #xde8 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xde8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdfc + :ref-time-num #xde8 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe06 + :ref-time-num #xdfc + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe0b + :ref-time-num #xe06 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #xe10 + :ref-time-num #xe0b + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1a + :ref-time-num #xe10 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xe10) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x13 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe24 + :ref-time-num #xe10 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe38 + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe4c + :ref-time-num #xe38 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe60 + :ref-time-num #xe4c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe74 + :ref-time-num #xe60 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe76 + :ref-time-num #xe74 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe79 + :ref-time-num #xe76 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe7e + :ref-time-num #xe79 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #xe88 + :ref-time-num #xe7e + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe9c + :ref-time-num #xe88 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe42 + :ref-time-num #xe9c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe47 + :ref-time-num #xe42 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xeb0 + :ref-time-num #xe9c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xec4 + :ref-time-num #xeb0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xec8 + :ref-time-num #xec4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xecc + :ref-time-num #xec8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xec4 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xec4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #xed3 + :ref-time-num #xec4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #xed8 + :ref-time-num #xed3 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee2 + :ref-time-num #xed8 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xed8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x6b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xeec + :ref-time-num #xed8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xef6 + :ref-time-num #xeec + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xeec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x14 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xf3c + :ref-time-num #xef6 + :score #xc8 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xa5 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xba :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf46 + :ref-time-num #xf3c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x99 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xac :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf50 + :ref-time-num #xf46 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xd8 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xd8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xd2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xf55 + :ref-time-num #xf50 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf5a + :ref-time-num #xf55 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xcc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xf5d + :ref-time-num #xf5a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xcd :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xaf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf5f + :ref-time-num #xf5d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xdd :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xd3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #xf64 + :ref-time-num #xf5f + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x85 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xf2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xf6e + :ref-time-num #xf64 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x9f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf73 + :ref-time-num #xf6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #xb1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xb3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xf78 + :ref-time-num #xf73 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x95 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x97 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #xf7d + :ref-time-num #xf78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x8c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x9f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xf7f + :ref-time-num #xf7d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x92 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x9b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf82 + :ref-time-num #xf7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc0 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xf84 + :ref-time-num #xf82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xd3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xcf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xf87 + :ref-time-num #xf84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xf2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xea :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #xf8c + :ref-time-num #xf87 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xfa0 + :ref-time-num #xf8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xfaa + :ref-time-num #xfa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xfb4 + :ref-time-num #xf8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xfc8 + :ref-time-num #xfb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xfd2 + :ref-time-num #xfc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfdc + :ref-time-num #xfc8 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #xfc8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #xfe1 + :ref-time-num #xfd2 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x8c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xfe6 + :ref-time-num #xfe1 + :score 100 + :flags (tpath-flag t7 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.8 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x9b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x8e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #xff0 + :ref-time-num #xfe6 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x60 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xffa + :ref-time-num #xff0 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #xff0) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x1004 + :ref-time-num #xff0 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.2 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x100e + :ref-time-num #x1004 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 2.2 + :list (new 'static 'boxed-array :type int32 #x1004) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.7 + :num #x1018 + :ref-time-num #x1004 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x1a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x102c + :ref-time-num #x1018 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1040 + :ref-time-num #x102c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1054 + :ref-time-num #x1040 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1059 + :ref-time-num #x1054 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1054) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x105e + :ref-time-num #x1054 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1054) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x62 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1061 + :ref-time-num #x1054 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x43 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x1063 + :ref-time-num #x1061 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.2 + :num #x1068 + :ref-time-num #x1063 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x51 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x107c + :ref-time-num #x1068 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x75 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1086 + :ref-time-num #x107c + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x107c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1090 + :ref-time-num #x107c + :score 100 + :flags (tpath-flag t8 shield) + :anim1 (new 'static 'inline-array tpath-control-frame 11 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10a4 + :ref-time-num #x1090 + :score #xc8 + :flags (tpath-flag t5 t9) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x1090) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.6 + :num #x10a9 + :ref-time-num #x10a4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ac + :ref-time-num #x10a9 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10a9) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ae + :ref-time-num #x10a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b0 + :ref-time-num #x10ae + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10ae) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x79 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b3 + :ref-time-num #x10ae + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b6 + :ref-time-num #x10b3 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10b3) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10b8 + :ref-time-num #x10b3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10bd + :ref-time-num #x10b8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10b8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c2 + :ref-time-num #x10b8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x6d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c4 + :ref-time-num #x10c2 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c5 + :ref-time-num #x10c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c6 + :ref-time-num #x10c5 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c5) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x36 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10c7 + :ref-time-num #x10c5 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x36 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ca + :ref-time-num #x10c7 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x10c7) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.6 + :num #x10cc + :ref-time-num #x10c7 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x42 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x48 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10d6 + :ref-time-num #x10cc + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x10cc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x38 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x3b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x10e0 + :ref-time-num #x10cc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x71 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x77 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10f4 + :ref-time-num #x10e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1108 + :ref-time-num #x10f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x22 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x111c + :ref-time-num #x1108 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5e :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x1130 + :ref-time-num #x111c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x18 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x21 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1144 + :ref-time-num #x1130 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x114e + :ref-time-num #x1144 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x10ef + :ref-time-num #x114e + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.8 + :list (new 'static 'boxed-array :type int32 #x114e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3d :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x1158 + :ref-time-num #x1144 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x27 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x1d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x115a + :ref-time-num #x1158 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x5a :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x115c + :ref-time-num #x115a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x34 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x115e + :ref-time-num #x115c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 10 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x47 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x50 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x1162 + :ref-time-num #x115e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x2d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1167 + :ref-time-num #x1162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x116c + :ref-time-num #x1167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x28 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1171 + :ref-time-num #x116c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.1 + :num #x1176 + :ref-time-num #x1171 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x56 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x4b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x117b + :ref-time-num #x1176 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x23 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x2f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1180 + :ref-time-num #x117b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x34 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1185 + :ref-time-num #x1180 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.6 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1194 + :ref-time-num #x1180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x119e + :ref-time-num #x1194 + :score 100 + :flags (tpath-flag t8 t9 shield) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x1194) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x11a8 + :ref-time-num #x1194 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11b2 + :ref-time-num #x11a8 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11a8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x11bc + :ref-time-num #x11a8 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11c6 + :ref-time-num #x11bc + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11bc) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.2 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11d0 + :ref-time-num #x11bc + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11da + :ref-time-num #x11d0 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x11d0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.8 + :num #x11df + :ref-time-num #x11d0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11e1 + :ref-time-num #x11df + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x11e3 + :ref-time-num #x11e1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e4 + :ref-time-num #x11df + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e7 + :ref-time-num #x11e1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e8 + :ref-time-num #x11e3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x11e9 + :ref-time-num #x11df + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x11df) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #x11f8 + :ref-time-num #x11e8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1202 + :ref-time-num #x11f8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1207 + :ref-time-num #x1202 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x49 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x44 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x120c + :ref-time-num #x11f8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x1220 + :ref-time-num #x120c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x1234 + :ref-time-num #x1220 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x41 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x125c + :ref-time-num #x1234 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1266 + :ref-time-num #x125c + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x125c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1270 + :ref-time-num #x125c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x127a + :ref-time-num #x1270 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1270) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 1.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1284 + :ref-time-num #x1270 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x128e + :ref-time-num #x1284 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1284) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1298 + :ref-time-num #x1284 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12a2 + :ref-time-num #x1298 + :score 100 + :flags (tpath-flag t7 t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1298) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.6 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x12ac + :ref-time-num #x1298 + :score 100 + :flags (tpath-flag shield) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12c0 + :ref-time-num #x12ac + :score 100 + :flags (tpath-flag shield) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x12d4 + :ref-time-num #x12c0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x12e8 + :ref-time-num #x12d4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x12fc + :ref-time-num #x12e8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1310 + :ref-time-num #x12fc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x1324 + :ref-time-num #x1310 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132e + :ref-time-num #x1324 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1324) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x6c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1338 + :ref-time-num #x1324 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1342 + :ref-time-num #x1338 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1338) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1347 + :ref-time-num #x1338 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x134c + :ref-time-num #x1347 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x42 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x3d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x1388 + :ref-time-num #x134c + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1392 + :ref-time-num #x1388 + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1388) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x139c + :ref-time-num #x1388 + :score 100 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13a6 + :ref-time-num #x139c + :score #x1f4 + :flags (tpath-flag t3 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x139c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x13ab + :ref-time-num #x139c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x35 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x13ad + :ref-time-num #x13ab + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4d :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x13b0 + :ref-time-num #x13ab + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ba + :ref-time-num #x13b0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x13b0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x4f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13c4 + :ref-time-num #x13b0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ce + :ref-time-num #x13b0 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 1.6 + :list (new 'static 'boxed-array :type int32 #x13b0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x30 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x13d8 + :ref-time-num #x13c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13e2 + :ref-time-num #x13d8 + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x13d8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x13ec + :ref-time-num #x13d8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1400 + :ref-time-num #x13ec + :score 100 + :flags (tpath-flag t9 shield) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x13d8) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.6 + :num #x1414 + :ref-time-num #x13ec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1428 + :ref-time-num #x1414 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x143c + :ref-time-num #x1428 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2b :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1450 + :ref-time-num #x143c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x54 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1464 + :ref-time-num #x1450 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x46 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x146e + :ref-time-num #x1464 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x2c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1478 + :ref-time-num #x146e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x52 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.2 + :num #x14b4 + :ref-time-num #x1478 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x39 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; definition for symbol *course3-path-global-info*, type (array tpath-info) +(define *course3-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14 + :ref-time-num 10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x20 + :ref-time-num 30 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 30) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x23 + :ref-time-num 30 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x25 + :ref-time-num 35 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :ref-time-num 37 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3c + :ref-time-num 50 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x50 + :ref-time-num 70 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55 + :ref-time-num 80 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 80) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5a + :ref-time-num 80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5f + :ref-time-num 90 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 90) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x78 + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x84 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x85 + :ref-time-num #x84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x86 + :ref-time-num #x85 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x87 + :ref-time-num #x86 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x88 + :ref-time-num #x87 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x87) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8a + :ref-time-num #x88 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8b + :ref-time-num #x8a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x8c + :ref-time-num #x8b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x91 + :ref-time-num #x8c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x39) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x93 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x95 + :ref-time-num #x93 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x93) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x30) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x96 + :ref-time-num #x95 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9b + :ref-time-num #x96 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x96) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x9b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaf + :ref-time-num #xaa + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xaa) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xb4 + :ref-time-num #xaa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9 + :ref-time-num #xb4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x43) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe + :ref-time-num #xb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3 + :ref-time-num #xbe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbe) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xc3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xcc + :ref-time-num #xc3 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xce + :ref-time-num #xcc + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xdd + :ref-time-num #xdc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xde + :ref-time-num #xdd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf + :ref-time-num #xde + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe0 + :ref-time-num #xdf + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xe0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #xe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #xe7 + :ref-time-num #xe0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe8 + :ref-time-num #xe7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe9 + :ref-time-num #xe8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xea + :ref-time-num #xe9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xeb + :ref-time-num #xea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xec + :ref-time-num #xeb + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee + :ref-time-num #xec + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xf0 + :ref-time-num #xec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x104 + :ref-time-num #xfa + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x113 + :ref-time-num #x10e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x10e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x118 + :ref-time-num #x113 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x122 + :ref-time-num #x118 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x131 + :ref-time-num #x12c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x12c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132 + :ref-time-num #x131 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x131) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x133 + :ref-time-num #x132 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x132) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x140 + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x145 + :ref-time-num #x140 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x140) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14a + :ref-time-num #x140 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x14f + :ref-time-num #x14a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x154 + :ref-time-num #x14f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x160 + :ref-time-num #x15e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x162 + :ref-time-num #x160 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x162 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x162) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x164 + :ref-time-num #x162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x165 + :ref-time-num #x164 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x166 + :ref-time-num #x165 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 18 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x167 + :ref-time-num #x166 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x168 + :ref-time-num #x167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x169 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x16a + :ref-time-num #x169 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x169) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x16b + :ref-time-num #x16a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x16c + :ref-time-num #x16b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16d + :ref-time-num #x16c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16f + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x172 + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x177 + :ref-time-num #x172 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17c + :ref-time-num #x177 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x17e + :ref-time-num #x17c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17f + :ref-time-num #x17e + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x180 + :ref-time-num #x17f + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x181 + :ref-time-num #x180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x186 + :ref-time-num #x181 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x18b + :ref-time-num #x186 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x190 + :ref-time-num #x18b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x195 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x195 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x19f + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a4 + :ref-time-num #x19f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a9 + :ref-time-num #x1a4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1ae + :ref-time-num #x1a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1af + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b0 + :ref-time-num #x1af + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b1 + :ref-time-num #x1b0 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b2 + :ref-time-num #x1b1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b3 + :ref-time-num #x1b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1b2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1b4 + :ref-time-num #x1b2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b8 + :ref-time-num #x1b4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1bd + :ref-time-num #x1b8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1c2 + :ref-time-num #x1bd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1c7 + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1ca + :ref-time-num #x1c7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cc + :ref-time-num #x1ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cf + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1d2 + :ref-time-num #x1cf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d3 + :ref-time-num #x1d2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x1d2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x1db + :ref-time-num #x1d2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e0 + :ref-time-num #x1db + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x1e5 + :ref-time-num #x1e0 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1f4 + :ref-time-num #x1ea + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f9 + :ref-time-num #x1f4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1f4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x203 + :ref-time-num #x1fe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1fe) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x206 + :ref-time-num #x1fe + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x208 + :ref-time-num #x206 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x230 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x23a + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #xd48 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd52 + :ref-time-num #xd48 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd5c + :ref-time-num #xd52 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd66 + :ref-time-num #xd5c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd6b + :ref-time-num #xd66 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd70 + :ref-time-num #xd6b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd75 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd7a + :ref-time-num #xd75 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #xd7f + :ref-time-num #xd7a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd84 + :ref-time-num #xd7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd89 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd8e + :ref-time-num #xd89 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd93 + :ref-time-num #xd8e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd98 + :ref-time-num #xd93 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd9d + :ref-time-num #xd98 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda0 + :ref-time-num #xd9d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda2 + :ref-time-num #xda0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.35 + :num #xda4 + :ref-time-num #xda2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdac + :ref-time-num #xda4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdb6 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdbb + :ref-time-num #xdb6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbd + :ref-time-num #xdbb + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdbe + :ref-time-num #xdbd + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbf + :ref-time-num #xdbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdc0 + :ref-time-num #xdbf + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdca + :ref-time-num #xdc0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdd4 + :ref-time-num #xdcf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdde + :ref-time-num #xdd4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xde8 + :ref-time-num #xdde + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdf2 + :ref-time-num #xde8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdfc + :ref-time-num #xdf2 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xe06 + :ref-time-num #xdfc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe10 + :ref-time-num #xe06 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe15 + :ref-time-num #xe10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe18 + :ref-time-num #xe15 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 5.5 + :list (new 'static 'boxed-array :type int32 #xe15) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xe19 + :ref-time-num #xe18 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe1a + :ref-time-num #xe19 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe24 + :ref-time-num #xe1a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xe2e + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe33 + :ref-time-num #xe2e + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xe6a + :ref-time-num #xe33 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe74 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe7e + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe88 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe92 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe9c + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xea6 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeb0 + :ref-time-num #xe6a + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeba + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xec4 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xed8 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.5 + :num #xee2 + :ref-time-num #xed8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeec + :ref-time-num #xee2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; definition for symbol *course4-path-global-info*, type (array tpath-info) +(define *course4-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x20) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5 + :score 100 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 0) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14 + :ref-time-num 10 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score 100 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x28 + :ref-time-num 30 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x37 + :ref-time-num 40 + :score #x1f4 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x3c + :ref-time-num 50 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t3 t4) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.3 + :num #x50 + :ref-time-num 70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.9 + :num #x5a + :ref-time-num 70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x73 + :ref-time-num 100 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 100) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x78 + :ref-time-num #x6e + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x96 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xa0 + :ref-time-num #x96 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xb4 + :ref-time-num #xaa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xbe + :ref-time-num #xb4 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x10) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xdc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #xdc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe6 + :ref-time-num #xdc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #xf0 + :ref-time-num #xe6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xfa + :ref-time-num #xf0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xc) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x104 + :ref-time-num #xfa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xd) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x10e + :ref-time-num #x104 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x118 + :ref-time-num #x10e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x122 + :ref-time-num #x118 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x140 + :ref-time-num #x136 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14a + :ref-time-num #x140 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x154 + :ref-time-num #x14a + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x15e + :score 100 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x15e) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x168 + :ref-time-num #x15e + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x190 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.9 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x190 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.3 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1a4 + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1ae + :ref-time-num #x1a4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1b8 + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1c2 + :ref-time-num #x1b8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1cc + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d6 + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1e0 + :ref-time-num #x1d6 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x1f4 + :ref-time-num #x1ea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x208 + :ref-time-num #x1fe + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x21c + :ref-time-num #x212 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x230 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x235 + :ref-time-num #x230 + :score 100 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x230) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x23a + :ref-time-num #x230 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.4 + :num #x244 + :ref-time-num #x23a + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x249 + :ref-time-num #x244 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x244) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x24e + :ref-time-num #x244 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x258 + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x25b + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x25d + :ref-time-num #x24e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x262 + :ref-time-num #x258 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.25 + :num #x267 + :ref-time-num #x262 + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x269 + :ref-time-num #x267 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x267) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x26a + :ref-time-num #x269 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x269) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.25 + :num #x26c + :ref-time-num #x262 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #x276 + :ref-time-num #x26c + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xb2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.0 + :num #x27b + :ref-time-num #x276 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3f) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x41) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 10.0 + :num #x27d + :ref-time-num #x276 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x41) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3f) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 12.0 + :num #x280 + :ref-time-num #x276 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x28a + :ref-time-num #x280 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x294 + :ref-time-num #x28a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x29e + :ref-time-num #x294 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x2a0 + :ref-time-num #x29e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x2a2 + :ref-time-num #x2a0 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2a4 + :ref-time-num #x2a2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.7 + :num #x2a6 + :ref-time-num #x2a2 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2a7 + :ref-time-num #x2a6 + :score 100 + :flags (tpath-flag t3 t4) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2a6) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x2a8 + :ref-time-num #x2a7 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2bc + :ref-time-num #x2a8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2be + :ref-time-num #x2bc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2c0 + :ref-time-num #x2bc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x2c2 + :ref-time-num #x2bc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x2c4 + :ref-time-num #x2bc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2c5 + :ref-time-num #x2c4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.7 + :list (new 'static 'boxed-array :type int32 #x2c4) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2c6 + :ref-time-num #x2c4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x2d0 + :ref-time-num #x2c6 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2da + :ref-time-num #x2d0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x2dd + :ref-time-num #x2c6 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x2c6) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x2df + :ref-time-num #x2da + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.3 + :num #x2e4 + :ref-time-num #x2da + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2e9 + :ref-time-num #x2e4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2e4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x2ee + :ref-time-num #x2e4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2f8 + :ref-time-num #x2ee + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x2fd + :ref-time-num #x2f8 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x2f8) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x302 + :ref-time-num #x2fd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x30c + :ref-time-num #x302 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x316 + :ref-time-num #x30c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x320 + :ref-time-num #x316 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x32a + :ref-time-num #x320 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x334 + :ref-time-num #x32a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x33e + :ref-time-num #x30c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #x348 + :ref-time-num #x33e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x352 + :ref-time-num #x348 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x35c + :ref-time-num #x352 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x366 + :ref-time-num #x35c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x370 + :ref-time-num #x366 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #x37a + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x37f + :ref-time-num #x37a + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x37a) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.4 + :num #x384 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x38e + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x393 + :ref-time-num #x38e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.5 + :list (new 'static 'boxed-array :type int32 #x38e) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x398 + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.8 + :num #x3a2 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 7.3 + :num #x3ac + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.0 + :num #x3b6 + :ref-time-num #x370 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 8.8 + :num #x3c0 + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 9.4 + :num #x3ca + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 10.2 + :num #x3d4 + :ref-time-num #x370 + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x3d7 + :ref-time-num #x3d4 + :score #x1f4 + :flags (tpath-flag t3 t4) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x3d4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 11.0 + :num #x3d9 + :ref-time-num #x370 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 11.6 + :num #x3de + :ref-time-num #x370 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x3e8 + :ref-time-num #x3de + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x3ea + :ref-time-num #x3e8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x3ec + :ref-time-num #x3ea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3ee + :ref-time-num #x3ec + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x3f2 + :ref-time-num #x3ee + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.9 + :num #x3fc + :ref-time-num #x3ee + :score #x1f4 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x401 + :ref-time-num #x3f2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 #x3f2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x406 + :ref-time-num #x3fc + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.8 + :list (new 'static 'boxed-array :type int32 #x3fc) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; definition for symbol *yellow-training-path-global-info*, type (array tpath-info) +(define *yellow-training-path-global-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x25) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x14 + :ref-time-num 10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x19 + :ref-time-num 20 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 20) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x26) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e + :ref-time-num 20 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x20 + :ref-time-num 30 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 0.5 + :list (new 'static 'boxed-array :type int32 30) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x27) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x23 + :ref-time-num 30 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x28) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x25 + :ref-time-num 35 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x28 + :ref-time-num 37 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x32 + :ref-time-num 40 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x3c + :ref-time-num 50 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x41 + :ref-time-num 60 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.0 + :list (new 'static 'boxed-array :type int32 60) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x29) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #x46 + :ref-time-num 60 + :score 100 + :flags (tpath-flag t4 t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x5f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x1f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x50 + :ref-time-num 70 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x55 + :ref-time-num 80 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 80) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x35) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5a + :ref-time-num 80 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x5f + :ref-time-num 90 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 90) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x34) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x64 + :ref-time-num 90 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x6e + :ref-time-num 100 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x78 + :ref-time-num #x6e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x82 + :ref-time-num #x78 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x84 + :ref-time-num #x82 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x85 + :ref-time-num #x84 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x86 + :ref-time-num #x85 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x87 + :ref-time-num #x86 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x31) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x88 + :ref-time-num #x87 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x87) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x2e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8a + :ref-time-num #x88 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x33) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x8b + :ref-time-num #x8a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x32) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x8c + :ref-time-num #x8b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x38) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x91 + :ref-time-num #x8c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x8c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x39) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x93 + :ref-time-num #x8c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2f) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x95 + :ref-time-num #x93 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x93) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x30) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x96 + :ref-time-num #x95 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x9b + :ref-time-num #x96 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x96) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x47) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xa0 + :ref-time-num #x9b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaa + :ref-time-num #xa0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xaf + :ref-time-num #xaa + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xaa) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x3b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xb4 + :ref-time-num #xaa + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xb9 + :ref-time-num #xb4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xb4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x43) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xbe + :ref-time-num #xb4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xc3 + :ref-time-num #xbe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #xbe) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xc8 + :ref-time-num #xc3 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xcc + :ref-time-num #xc3 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xce + :ref-time-num #xcc + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x44) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xd2 + :ref-time-num #xc8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdc + :ref-time-num #xd2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x42) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xdd + :ref-time-num #xdc + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xde + :ref-time-num #xdd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdf + :ref-time-num #xde + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xe0 + :ref-time-num #xdf + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #xa5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe1 + :ref-time-num #xe0 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #xe0) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x40) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 4.0 + :num #xe7 + :ref-time-num #xe0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xe8 + :ref-time-num #xe7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xe9 + :ref-time-num #xe8 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xea + :ref-time-num #xe9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xeb + :ref-time-num #xea + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xec + :ref-time-num #xeb + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xee + :ref-time-num #xec + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #xec) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xff :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #xf0 + :ref-time-num #xec + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xfa + :ref-time-num #xf0 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #xbf :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.7 + :num #x104 + :ref-time-num #xfa + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.1 + :num #x10e + :ref-time-num #x104 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x4) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x113 + :ref-time-num #x10e + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x10e) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x2) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x118 + :ref-time-num #x113 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 2.8 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x122 + :ref-time-num #x118 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x3) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x12c + :ref-time-num #x122 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :path-pos #xff :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x131 + :ref-time-num #x12c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x12c) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x132 + :ref-time-num #x131 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x131) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x133 + :ref-time-num #x132 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.5 + :list (new 'static 'boxed-array :type int32 #x132) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.5 + :num #x136 + :ref-time-num #x12c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x5) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x140 + :ref-time-num #x136 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x145 + :ref-time-num #x140 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.5 + :list (new 'static 'boxed-array :type int32 #x140) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x14a + :ref-time-num #x140 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x14f + :ref-time-num #x14a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x154 + :ref-time-num #x14f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.5 + :num #x15e + :ref-time-num #x154 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x160 + :ref-time-num #x15e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x162 + :ref-time-num #x160 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x163 + :ref-time-num #x162 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x162) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x164 + :ref-time-num #x162 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.7 + :num #x165 + :ref-time-num #x164 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 17 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x166 + :ref-time-num #x165 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 18 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x167 + :ref-time-num #x166 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x6) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.2 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x168 + :ref-time-num #x167 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x169 + :ref-time-num #x168 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 14 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x16a + :ref-time-num #x169 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x169) + :anim1 (new 'static 'inline-array tpath-control-frame 15 + (new 'static 'tpath-control-frame :path-num #x7) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #x16b + :ref-time-num #x16a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x16c + :ref-time-num #x16b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16d + :ref-time-num #x16c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x16f + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x8) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #x172 + :ref-time-num #x16d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x177 + :ref-time-num #x172 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17c + :ref-time-num #x177 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x46) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 3.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x17e + :ref-time-num #x17c + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x17f + :ref-time-num #x17e + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x180 + :ref-time-num #x17f + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.6 + :num #x181 + :ref-time-num #x180 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x186 + :ref-time-num #x181 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x18b + :ref-time-num #x186 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #x190 + :ref-time-num #x18b + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x195 + :ref-time-num #x190 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x19a + :ref-time-num #x195 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.8 + :num #x19f + :ref-time-num #x19a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a4 + :ref-time-num #x19f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1a9 + :ref-time-num #x1a4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1ae + :ref-time-num #x1a9 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1af + :ref-time-num #x1ae + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b0 + :ref-time-num #x1af + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b1 + :ref-time-num #x1b0 + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b2 + :ref-time-num #x1b1 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xe) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1b3 + :ref-time-num #x1b2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x1b2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x9) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1b4 + :ref-time-num #x1b2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1b8 + :ref-time-num #x1b4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1bd + :ref-time-num #x1b8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #x1c2 + :ref-time-num #x1bd + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xf) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.2 + :num #x1c7 + :ref-time-num #x1c2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1ca + :ref-time-num #x1c7 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cc + :ref-time-num #x1ca + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1cf + :ref-time-num #x1cc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x1d2 + :ref-time-num #x1cf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x11) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1d3 + :ref-time-num #x1d2 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.7 + :list (new 'static 'boxed-array :type int32 #x1d2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xa) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #xb) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #x1db + :ref-time-num #x1d2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1e0 + :ref-time-num #x1db + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #x1e5 + :ref-time-num #x1e0 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1ea + :ref-time-num #x1e0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x1f4 + :ref-time-num #x1ea + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x16) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x1f9 + :ref-time-num #x1f4 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1f4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.6 + :num #x1fe + :ref-time-num #x1f4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x15) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x203 + :ref-time-num #x1fe + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 1.5 + :list (new 'static 'boxed-array :type int32 #x1fe) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x206 + :ref-time-num #x1fe + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x208 + :ref-time-num #x206 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x17) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #x212 + :ref-time-num #x208 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x14) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #x21c + :ref-time-num #x212 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x13) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.1 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 3.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #x226 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 2.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #x230 + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 3.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.4 + :num #x23a + :ref-time-num #x21c + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 4.0 + :list (new 'static 'boxed-array :type int32 #x21c) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x12) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.0 + :num #xd48 + :ref-time-num #x226 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd52 + :ref-time-num #xd48 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.8 + :num #xd5c + :ref-time-num #xd52 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xd66 + :ref-time-num #xd5c + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd6b + :ref-time-num #xd66 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.9 + :num #xd70 + :ref-time-num #xd6b + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd75 + :ref-time-num #xd70 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.4 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.85 + :num #xd7a + :ref-time-num #xd75 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.75 + :num #xd7f + :ref-time-num #xd7a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd84 + :ref-time-num #xd7f + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.65 + :num #xd89 + :ref-time-num #xd84 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd8e + :ref-time-num #xd89 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.55 + :num #xd93 + :ref-time-num #xd8e + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd98 + :ref-time-num #xd93 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xd9d + :ref-time-num #xd98 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda0 + :ref-time-num #xd9d + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xda2 + :ref-time-num #xda0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.35 + :num #xda4 + :ref-time-num #xda2 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim3 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdac + :ref-time-num #xda4 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.1 + :num #xdb6 + :ref-time-num #xdac + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdbb + :ref-time-num #xdb6 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbd + :ref-time-num #xdbb + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdbe + :ref-time-num #xdbd + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x5f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 8 + (new 'static 'tpath-control-frame :path-num #x19) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xdbf + :ref-time-num #xdbe + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 9 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x1f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.6 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xdc0 + :ref-time-num #xdbf + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x18) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xdca + :ref-time-num #xdc0 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1a) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xdcf + :ref-time-num #xdca + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xdd4 + :ref-time-num #xdcf + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdde + :ref-time-num #xdd4 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.9 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xde8 + :ref-time-num #xdde + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.3 + :num #xdf2 + :ref-time-num #xde8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xdfc + :ref-time-num #xdf2 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 1.1 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.0 + :num #xe06 + :ref-time-num #xdfc + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.7 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe10 + :ref-time-num #xe06 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.65 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe15 + :ref-time-num #xe10 + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.69 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.15 + :num #xe18 + :ref-time-num #xe15 + :score #x1f4 + :flags (tpath-flag t3) + :bonus-time 5.5 + :list (new 'static 'boxed-array :type int32 #xe15) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1b) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.45 + :num #xe19 + :ref-time-num #xe18 + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 1.5 + :num #xe1a + :ref-time-num #xe19 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.0 + :num #xe24 + :ref-time-num #xe1a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 2.5 + :num #xe2e + :ref-time-num #xe24 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1c) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 0.2 + :num #xe33 + :ref-time-num #xe2e + :score 100 + :flags (tpath-flag t5) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.8 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 3.0 + :num #xe6a + :ref-time-num #xe33 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe74 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe7e + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe88 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe92 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xe9c + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xea6 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeb0 + :ref-time-num #xe6a + :score 100 + :flags (tpath-flag t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeba + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2 t4) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x4c :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + :anim2 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x19 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xec4 + :ref-time-num #xe6a + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xece + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x33 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xed8 + :ref-time-num #xe6a + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 6 + (new 'static 'tpath-control-frame :path-num #x1f) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x66 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.5 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.4 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :s-time 5.5 + :num #xee2 + :ref-time-num #xed8 + :score -100 + :flags (tpath-flag t2) + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1d) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x59 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x7f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :num #xeec + :ref-time-num #xee2 + :score 100 + :anim1 (new 'static 'inline-array tpath-control-frame 21 + (new 'static 'tpath-control-frame :path-num #x1e) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x3f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #xc :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x72 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x4c :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x19 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x66 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.4 :path-pos #x26 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.2 :path-pos #x33 :command (tpath-cmd cmd2)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 0.1 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.2 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) diff --git a/test/decompiler/reference/jak3/levels/gungame/gungame-manager_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gungame-manager_REF.gc new file mode 100644 index 0000000000..347c1f487d --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gungame-manager_REF.gc @@ -0,0 +1,2028 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type gun-course-info +(deftype gun-course-info (structure) + ((course handle) + (start-door int8) + (end-door int8) + (text text-id) + (etype type) + (task-bronze game-task-node) + (task-silver game-task-node :offset 22) + (task-gold game-task-node :offset 24) + (game-score uint8 :offset 26) + (pass-speech uint16) + (training-goal float) + (allowed-guns game-feature) + (start-gun int32) + (ammo-type int32) + (training-task uint16) + (play-text text-id) + (play-button handle) + (give-eggs? symbol) + ) + ) + +;; definition for method 3 of type gun-course-info +(defmethod inspect ((this gun-course-info)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'gun-course-info) + (format #t "~1Tcourse: ~D~%" (-> this course)) + (format #t "~1Tstart-door: ~D~%" (-> this start-door)) + (format #t "~1Tend-door: ~D~%" (-> this end-door)) + (format #t "~1Ttext: ~D~%" (-> this text)) + (format #t "~1Tetype: ~A~%" (-> this etype)) + (format #t "~1Ttask-bronze: ~D~%" (-> this task-bronze)) + (format #t "~1Ttask-silver: ~D~%" (-> this task-silver)) + (format #t "~1Ttask-gold: ~D~%" (-> this task-gold)) + (format #t "~1Tgame-score: ~D~%" (-> this game-score)) + (format #t "~1Tpass-speech: ~D~%" (-> this pass-speech)) + (format #t "~1Ttraining-goal: ~f~%" (-> this training-goal)) + (format #t "~1Tallowed-guns: ~D~%" (-> this allowed-guns)) + (format #t "~1Tstart-gun: ~D~%" (-> this start-gun)) + (format #t "~1Tammo-type: ~D~%" (-> this ammo-type)) + (format #t "~1Ttraining-task: ~D~%" (-> this training-task)) + (format #t "~1Tplay-text: ~D~%" (-> this play-text)) + (format #t "~1Tplay-button: ~D~%" (-> this play-button)) + (format #t "~1Tgive-eggs?: ~A~%" (-> this give-eggs?)) + (label cfg-4) + this + ) + +;; definition of type gungame-task-manager +(deftype gungame-task-manager (task-manager) + ((actor-group (pointer actor-group)) + (actor-group-count int32) + (course-list (array int32)) + (activated-course gun-course-info) + (activated-course-id uint64) + ) + (:state-methods + active-door-opening + waiting + ) + (:methods + (gungame-task-manager-method-34 (_type_) int) + (init-actor-group (_type_ entity) object) + ) + ) + +;; definition for method 3 of type gungame-task-manager +(defmethod inspect ((this gungame-task-manager)) + (when (not this) + (set! this this) + (goto cfg-7) + ) + (let ((t9-0 (method-of-type task-manager inspect))) + (t9-0 this) + ) + (format #t "~2Tactor-group: #x~X~%" (-> this actor-group)) + (dotimes (s5-0 (-> this actor-group-count)) + (format #t "~T [~D]~2Tactor-group: ~`actor-group`P~%" s5-0 (-> this actor-group s5-0)) + ) + (format #t "~2Tactor-group-count: ~D~%" (-> this actor-group-count)) + (format #t "~2Tcourse-list: ~A~%" (-> this course-list)) + (format #t "~2Tactivated-course: #~%" (-> this activated-course)) + (format #t "~2Tactivated-course-id: ~D~%" (-> this activated-course-id)) + (label cfg-7) + this + ) + +;; definition of type gungame-manager +(deftype gungame-manager (process) + ((actor-group (pointer actor-group)) + (actor-group-count int32) + (score int32) + (course (array tpath-info)) + (course-crates handle 32) + (course-type uint64) + (hud-score handle) + (hud-goal handle) + (task-gold game-task-node) + (task-silver game-task-node :offset 426) + (task-bronze game-task-node :offset 428) + (end-door uint8 :offset 430) + (start-door uint8) + (game-score uint8) + (training-goal float) + (training? symbol) + (state-time time-frame) + (start-time time-frame) + (parent-taskmgr handle) + (goal-amount int8) + (egg-amount int8) + (pass-speech uint16) + (primary-target-history primary-target-pos-vel 16 :inline) + (score-gold int32 :offset 992) + (score-silver int32) + (score-bronze int32) + (score-high int32) + ) + (:state-methods + wait-start + course + end-course + end-course-open-door + ) + (:methods + (init-tpath (_type_ (array tpath-info)) symbol) + (gungame-manager-method-19 (_type_) none) + (init (_type_ handle int) object) + (init-actor-group (_type_ entity) object) + (spawn-dummy (_type_ tpath-info) none) + (update-hud-text (_type_) none) + (get-training-path-entity (_type_ int) entity-actor) + (gg-event-handler (_type_ process event-message-block event-message-block) object) + (spawn-gg-cates (_type_) symbol) + (gungame-manager-method-27 (_type_) none) + (gungame-manager-method-28 (_type_ vector) vector) + (update-target-history (_type_) none) + (get-player-pos-vel (_type_ primary-target-pos-vel time-frame) primary-target-pos-vel) + (gungame-manager-method-31 (_type_ primary-target-pos-vel) primary-target-pos-vel) + ) + (:states + exit-course + ) + ) + +;; definition for method 3 of type gungame-manager +(defmethod inspect ((this gungame-manager)) + (when (not this) + (set! this this) + (goto cfg-7) + ) + (let ((t9-0 (method-of-type process inspect))) + (t9-0 this) + ) + (format #t "~2Tactor-group: #x~X~%" (-> this actor-group)) + (dotimes (s5-0 (-> this actor-group-count)) + (format #t "~T [~D]~2Tactor-group: ~`actor-group`P~%" s5-0 (-> this actor-group s5-0)) + ) + (format #t "~2Tactor-group-count: ~D~%" (-> this actor-group-count)) + (format #t "~2Tscore: ~D~%" (-> this score)) + (format #t "~2Tcourse: ~A~%" (-> this course)) + (format #t "~2Tcourse-crates[32] @ #x~X~%" (-> this course-crates)) + (format #t "~2Tcourse-type: ~D~%" (-> this course-type)) + (format #t "~2Thud-score: ~D~%" (-> this hud-score)) + (format #t "~2Thud-goal: ~D~%" (-> this hud-goal)) + (format #t "~2Ttask-gold: ~D~%" (-> this task-gold)) + (format #t "~2Ttask-silver: ~D~%" (-> this task-silver)) + (format #t "~2Ttask-bronze: ~D~%" (-> this task-bronze)) + (format #t "~2Tend-door: ~D~%" (-> this end-door)) + (format #t "~2Tstart-door: ~D~%" (-> this start-door)) + (format #t "~2Tgame-score: ~D~%" (-> this game-score)) + (format #t "~2Ttraining-goal: ~f~%" (-> this training-goal)) + (format #t "~2Ttraining?: ~A~%" (-> this training?)) + (format #t "~2Tstate-time: ~D~%" (-> this state-time)) + (format #t "~2Tstart-time: ~D~%" (-> this start-time)) + (format #t "~2Tparent-taskmgr: ~D~%" (-> this parent-taskmgr)) + (format #t "~2Tgoal-amount: ~D~%" (-> this goal-amount)) + (format #t "~2Tegg-amount: ~D~%" (-> this egg-amount)) + (format #t "~2Tpass-speech: ~D~%" (-> this pass-speech)) + (format #t "~2Tprimary-target-history[16] @ #x~X~%" (-> this primary-target-history)) + (format #t "~2Tscore-gold: ~D~%" (-> this score-gold)) + (format #t "~2Tscore-silver: ~D~%" (-> this score-silver)) + (format #t "~2Tscore-bronze: ~D~%" (-> this score-bronze)) + (format #t "~2Tscore-high: ~D~%" (-> this score-high)) + (label cfg-7) + this + ) + +;; definition for function gungame-manager-init-by-other +(defbehavior gungame-manager-init-by-other gungame-manager ((arg0 handle) (arg1 int)) + (init self arg0 arg1) + ) + +;; definition for method 31 of type gungame-manager +(defmethod gungame-manager-method-31 ((this gungame-manager) (arg0 primary-target-pos-vel)) + (get-player-pos-vel this arg0 (seconds 0.45)) + arg0 + ) + +;; definition for method 30 of type gungame-manager +(defmethod get-player-pos-vel ((this gungame-manager) (arg0 primary-target-pos-vel) (arg1 time-frame)) + (let ((s5-0 (new 'stack-no-clear 'inline-array 'primary-target-pos-vel 2))) + (set! (-> s5-0 0 time) (the-as uint (- (current-time) arg1))) + (let ((v1-3 0)) + (let ((a1-1 0)) + (b! #t cfg-7 :delay (nop!)) + (label cfg-1) + (b! + (not (and (>= (-> this primary-target-history a1-1 time) (-> s5-0 0 time)) + (>= (-> s5-0 0 time) (-> this primary-target-history (+ a1-1 1) time)) + ) + ) + cfg-6 + :delay (empty-form) + ) + (set! v1-3 a1-1) + (b! #t cfg-9 :delay (nop!)) + (label cfg-6) + (+! a1-1 1) + (label cfg-7) + (b! (< a1-1 14) cfg-1) + ) + (set! (-> s5-0 0 time) (-> this primary-target-history 0 time)) + (label cfg-9) + (let ((s4-0 (-> this primary-target-history v1-3)) + (s3-0 (-> this primary-target-history (+ v1-3 1))) + ) + (set! (-> s5-0 1 position x) + (/ (the float (- (-> s5-0 0 time) (-> s4-0 time))) (the float (- (-> s3-0 time) (-> s4-0 time)))) + ) + (vector-lerp! (-> arg0 position) (-> s4-0 position) (-> s3-0 position) (-> s5-0 1 position x)) + (vector-lerp! (-> arg0 velocity) (-> s4-0 velocity) (-> s3-0 velocity) (-> s5-0 1 position x)) + ) + ) + (set! (-> arg0 time) (-> s5-0 0 time)) + ) + arg0 + ) + +;; definition for method 29 of type gungame-manager +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod update-target-history ((this gungame-manager)) + (let* ((s5-0 *target*) + (s4-0 (if (type? s5-0 process-focusable) + s5-0 + ) + ) + ) + (when s4-0 + (let ((s5-1 (new 'stack-no-clear 'primary-target-pos-vel))) + (set! (-> s5-1 position quad) (-> (get-trans s4-0 3) quad)) + (set! (-> s5-1 velocity quad) (-> (get-transv s4-0) quad)) + (set! (-> s5-1 time) (the-as uint (current-time))) + (if (>= (- (-> s5-1 time) (-> this primary-target-history 1 time)) (the-as uint 30)) + (qmem-copy->! + (the-as pointer (-> this primary-target-history 1)) + (the-as pointer (-> this primary-target-history)) + 480 + ) + ) + (mem-copy! (the-as pointer (-> this primary-target-history)) (the-as pointer (-> s5-1 position)) 32) + ) + 0 + ) + ) + 0 + (none) + ) + +;; definition for method 18 of type gungame-manager +(defmethod init-tpath ((this gungame-manager) (arg0 (array tpath-info))) + (dotimes (s5-0 (length arg0)) + (let ((v1-2 (-> arg0 s5-0))) + 0 + (logior! (-> v1-2 flags) (tpath-flag t0)) + (logclear! (-> v1-2 flags) (tpath-flag t1)) + (let ((a0-6 (-> v1-2 ref-time-num))) + (set! (-> v1-2 ref-time-num) -1) + (dotimes (a1-3 s5-0) + (let ((a2-5 (-> arg0 (+ (- -1 a1-3) s5-0)))) + (if (= a0-6 (-> a2-5 num)) + (+! (-> v1-2 s-time) (-> a2-5 s-time)) + ) + ) + ) + ) + (set! (-> v1-2 num-anims) (the-as uint 0)) + (dotimes (a0-9 3) + (when (nonzero? (-> v1-2 anims a0-9)) + (let ((a1-10 (-> v1-2 anims a0-9))) + (set! (-> v1-2 anims a0-9) (the-as (inline-array tpath-control-frame) 0)) + (set! (-> v1-2 anims (-> v1-2 num-anims)) a1-10) + ) + (+! (-> v1-2 num-anims) 1) + ) + ) + ) + ) + #f + ) + +;; definition for method 21 of type gungame-manager +;; INFO: Used lq/sq +(defmethod init-actor-group ((this gungame-manager) (arg0 entity)) + (local-vars (sv-16 res-tag)) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-1 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-1 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-1)) + (let ((v0-1 (the-as object (-> sv-16 elt-count)))) + (set! (-> this actor-group-count) (the-as int v0-1)) + v0-1 + ) + ) + (else + (set! (-> this actor-group) (the-as (pointer actor-group) #f)) + (set! (-> this actor-group-count) 0) + (go process-drawable-art-error "actor-group gungame-manager") + ) + ) + ) + ) + +;; definition for method 35 of type gungame-task-manager +;; INFO: Used lq/sq +(defmethod init-actor-group ((this gungame-task-manager) (arg0 entity)) + (local-vars (sv-16 res-tag)) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-1 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-1 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-1)) + (let ((v0-1 (the-as object (-> sv-16 elt-count)))) + (set! (-> this actor-group-count) (the-as int v0-1)) + v0-1 + ) + ) + (else + (set! (-> this actor-group) (the-as (pointer actor-group) #f)) + (set! (-> this actor-group-count) 0) + (go process-drawable-art-error "actor-group gungame-manager") + ) + ) + ) + ) + +;; definition for method 20 of type gungame-task-manager +;; WARN: Return type mismatch int vs none. +(defmethod init! ((this gungame-task-manager)) + (call-parent-method this) + (set-setting! 'city-sound '(gungame1) 0.0 2) + (let ((a1-2 (entity-by-name "training-manager-2"))) + (init-actor-group this a1-2) + ) + (set! (-> this course-list) (new 'process 'boxed-array int32 4)) + (set! (-> this course-list length) 0) + 0 + (none) + ) + +;; definition for method 7 of type gungame-task-manager +(defmethod relocate ((this gungame-task-manager) (offset int)) + (if (nonzero? (-> this course-list)) + (&+! (-> this course-list) offset) + ) + (call-parent-method this offset) + ) + +;; definition for method 20 of type gungame-manager +;; WARN: Return type mismatch int vs object. +(defmethod init ((this gungame-manager) (arg0 handle) (arg1 int)) + (set-setting! 'airlock #f 0.0 0) + (set! (-> this parent-taskmgr) arg0) + (set! (-> this course-type) (the-as uint arg1)) + (dotimes (v1-2 32) + (set! (-> this course-crates v1-2) (the-as handle #f)) + ) + (let ((a1-2 (entity-by-name "training-manager-2"))) + (init-actor-group this a1-2) + ) + (let ((v1-10 (-> *gun-course-info* (-> this course-type)))) + (set! (-> this end-door) (the-as uint (-> v1-10 end-door))) + (set! (-> this start-door) (the-as uint (-> v1-10 start-door))) + (set! (-> this task-gold) (-> v1-10 task-gold)) + (set! (-> this task-silver) (-> v1-10 task-silver)) + (set! (-> this task-bronze) (-> v1-10 task-bronze)) + (set! (-> this game-score) (-> v1-10 game-score)) + (set! (-> this pass-speech) (-> v1-10 pass-speech)) + (set! (-> this training-goal) (-> v1-10 training-goal)) + ) + (gungame-manager-method-27 this) + (set! (-> this score) 0) + 0 + ) + +;; definition for method 22 of type gungame-manager +;; WARN: Return type mismatch tpath-flag vs none. +(defmethod spawn-dummy ((this gungame-manager) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (let ((v1-2 (rand-vu-int-count 4))) + (cond + ((zero? v1-2) + (process-spawn gun-dummy-cit-a :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-a" :to this) + ) + ((= v1-2 1) + (process-spawn gun-dummy-cit-b :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-b" :to this) + ) + ((= v1-2 2) + (process-spawn gun-dummy-cit-c :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-c" :to this) + ) + ((= v1-2 3) + (process-spawn gun-dummy-cit-d :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-cit-d" :to this) + ) + ) + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t5)) + (process-spawn + gun-dummy-kg-big + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-kg-big" + :to this + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t7)) + (process-spawn gun-dummy-explode this arg0 :name "gun-dummy-explode" :to this) + ) + ((logtest? (-> arg0 flags) (tpath-flag t8)) + (process-spawn gun-dummy-gun this arg0 :name "gun-dummy-gun" :to this) + ) + ((logtest? (-> arg0 flags) (tpath-flag t3)) + (process-spawn + gun-dummy-kg-bonus + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-kg-bonus" + :to this + ) + ) + (else + (let ((v1-44 (logand (rand-uint31-gen *random-generator*) 1))) + (cond + ((zero? v1-44) + (process-spawn gun-dummy-kg-b :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-kg-b" :to this) + ) + ((= v1-44 1) + (process-spawn gun-dummy-kg-c :init gun-dummy-base-init-by-other this arg0 :name "gun-dummy-kg-c" :to this) + ) + ) + ) + ) + ) + (logclear! (-> arg0 flags) (tpath-flag t0)) + (none) + ) + +;; definition for method 23 of type gungame-manager +;; WARN: Return type mismatch object vs none. +(defmethod update-hud-text ((this gungame-manager)) + (get-game-score-ref *game-info* (the-as int (-> this game-score))) + (let ((gp-0 (the-as hud (handle->process (-> this hud-goal))))) + (cond + ((not (task-node-closed? (-> this task-bronze))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-1 format) + (gp-1 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-0 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-1 gp-1 s4-0 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-silver))) + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-2 format) + (gp-2 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-1 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-2 gp-2 s4-1 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-bronze))) + (set! (-> *game-info* goal) (the float (-> this score-silver))) + (let ((s5-3 format) + (gp-3 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-2 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0138) #f)) + (s5-3 gp-3 s4-2 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (-> this training-goal)) + (set! (-> *game-info* goal) (the float (-> this score-bronze))) + (let ((s5-4 format) + (gp-4 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-3 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0139) #f)) + (s5-4 gp-4 s4-3 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (-> this training-goal)) + (let ((s5-5 format) + (gp-5 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-4 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-5 gp-5 s4-4 *temp-string*) + ) + ) + ) + ) + ((not (task-node-closed? (-> this task-silver))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-6 format) + (gp-6 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-5 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-6 gp-6 s4-5 *temp-string*) + ) + ) + ((>= (-> *game-info* score) (the float (-> this score-silver))) + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-7 format) + (gp-7 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-6 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-7 gp-7 s4-6 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (the float (-> this score-silver))) + (let ((s5-8 format) + (gp-8 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-7 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0138) #f)) + (s5-8 gp-8 s4-7 *temp-string*) + ) + ) + ) + ) + ((not (task-node-closed? (-> this task-gold))) + (cond + ((>= (-> *game-info* score) (the float (-> this score-gold))) + (set! (-> *game-info* goal) (-> *game-info* score)) + (let ((s5-9 format) + (gp-9 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-8 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-9 gp-9 s4-8 *temp-string*) + ) + ) + (else + (set! (-> *game-info* goal) (the float (-> this score-gold))) + (let ((s5-10 format) + (gp-10 (the-as hud (clear (-> gp-0 strings 1 text)))) + (s4-9 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0137) #f)) + (s5-10 gp-10 s4-9 *temp-string*) + ) + ) + ) + ) + (else + (set! (-> *game-info* goal) (fmax (-> *game-info* score) (the float (-> this score-high)))) + (let ((s5-11 format) + (gp-11 (clear (-> gp-0 strings 1 text))) + (s4-10 "~S") + ) + (format (clear *temp-string*) (lookup-text! *common-text* (text-id text-0136) #f)) + (s5-11 gp-11 s4-10 *temp-string*) + ) + ) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defstate exit-course (gungame-manager) + :enter (behavior () + '() + ) + :exit (behavior () + (remove-setting! 'features) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + ) + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate course (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('get-player-pos-vel) + (let ((a1-2 (-> block param 0))) + (get-player-pos-vel self (the-as primary-target-pos-vel a1-2) (seconds 0.5)) + ) + ) + (('score) + (let* ((v1-2 (-> block param 0)) + (v0-0 (the-as object (+ (-> self score) v1-2))) + ) + (set! (-> self score) (the-as int v0-0)) + v0-0 + ) + ) + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (set-setting! 'music 'gncourse 0.0 0) + (set! (-> self hud-score) + (ppointer->handle (process-spawn hud-big-score :init hud-init-by-other :name "hud-big-score" :to self)) + ) + (set! (-> self score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 3))) + (set! (-> self score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 2))) + (set! (-> self score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 1))) + (set! (-> self score-high) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 0))) + (set! (-> self hud-goal) + (ppointer->handle (process-spawn hud-goal :init hud-init-by-other :name "hud-goal" :to self)) + ) + (set-time! (-> self start-time)) + (set! (-> self score) 0) + (dotimes (gp-2 (length (-> self course))) + (let ((v1-24 (-> self course gp-2))) + 0 + (logior! (-> v1-24 flags) (tpath-flag t0)) + (logclear! (-> v1-24 flags) (tpath-flag t1)) + ) + ) + ) + :exit (behavior () + (remove-setting! 'music) + ) + :trans (behavior () + (update-target-history self) + (set! (-> *game-info* score) (the float (-> self score))) + (update-hud-text self) + ) + :code sleep-code + :post (behavior () + (send-event (handle->process (-> self hud-score)) 'force-show) + (send-event (handle->process (-> self hud-goal)) 'force-show) + (let ((f30-0 (* 0.0033333334 (the float (- (current-time) (-> self start-time)))))) + (dotimes (gp-0 (length (-> self course))) + (let ((s5-0 (-> self course gp-0))) + (when (and (logtest? (-> s5-0 flags) (tpath-flag t0)) (>= f30-0 (-> s5-0 s-time))) + (cond + ((logtest? (-> s5-0 flags) (tpath-flag t3 t9)) + (let ((s4-0 #t)) + (dotimes (s3-0 (length (-> self course))) + (let ((s2-0 (-> self course s3-0))) + (when (not (logtest? (-> s2-0 flags) (tpath-flag t1))) + (dotimes (s1-0 (length (-> s5-0 list))) + (if (= (-> s5-0 list s1-0) (-> s2-0 num)) + (set! s4-0 #f) + ) + ) + ) + ) + ) + (when s4-0 + (spawn-dummy self s5-0) + (logclear! (-> s5-0 flags) (tpath-flag t0)) + ) + ) + (if (>= f30-0 (+ (-> s5-0 bonus-time) (-> s5-0 s-time))) + (logclear! (-> s5-0 flags) (tpath-flag t0)) + ) + ) + (else + (spawn-dummy self s5-0) + ) + ) + ) + ) + ) + ) + (let ((gp-1 (-> self course (+ (length (-> self course)) -1))) + (a1-5 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-5 from) (process->ppointer self)) + (set! (-> a1-5 num-params) 1) + (set! (-> a1-5 message) 'player-near-door?) + (set! (-> a1-5 param 0) (the-as uint #t)) + (let ((t9-8 send-event-function) + (v1-67 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (when (or (t9-8 + (if v1-67 + (-> v1-67 extra process) + ) + a1-5 + ) + (logtest? (-> gp-1 flags) (tpath-flag t1)) + ) + (set! (-> self goal-amount) -1) + (game-info-method-27 *game-info* (the-as game-score (-> self game-score)) (the float (-> self score))) + (cond + ((and (-> self training?) (< (-> self score) (the int (-> self training-goal)))) + (go-virtual end-course-open-door) + ) + (else + (set! (-> self goal-amount) 0) + (cond + ((>= (-> self score) (-> self score-gold)) + (set! (-> self goal-amount) 3) + ) + ((>= (-> self score) (-> self score-silver)) + (set! (-> self goal-amount) 2) + ) + ((>= (-> self score) (-> self score-bronze)) + (set! (-> self goal-amount) 1) + ) + ) + (go-virtual end-course-open-door) + ) + ) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate end-course-open-door (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'open) + (let ((t9-0 send-event-function) + (v1-6 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-0 + (if v1-6 + (-> v1-6 extra process) + ) + a1-0 + ) + ) + ) + (set-time! (-> self state-time)) + ) + :trans (behavior () + (if (or (time-elapsed? (-> self state-time) (seconds 1)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'player-near-door?) + (set! (-> a1-0 param 0) (the-as uint #f)) + (let ((t9-0 send-event-function) + (v1-11 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-0 + (if v1-11 + (-> v1-11 extra process) + ) + a1-0 + ) + ) + ) + ) + (go-virtual end-course) + ) + ) + :code sleep-code + ) + +;; failed to figure out what this is: +(defstate end-course (gungame-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('can-close-door?) + #t + ) + (else + (gg-event-handler self proc block block) + ) + ) + ) + :enter (behavior () + (set-time! (-> self state-time)) + (set! (-> self egg-amount) 0) + (cond + ((< (-> self goal-amount) 0) + (let ((a0-1 (handle->process (-> self parent-taskmgr)))) + (send-event a0-1 'fail) + ) + ) + (else + (if (-> self training?) + (send-event (handle->process (-> self parent-taskmgr)) 'success) + ) + (when (and (>= (-> self goal-amount) 1) (not (task-node-closed? (-> self task-bronze)))) + (task-node-close! (-> self task-bronze) 'event) + (+! (-> self egg-amount) 1) + ) + (when (and (>= (-> self goal-amount) 2) (not (task-node-closed? (-> self task-silver)))) + (task-node-close! (-> self task-silver) 'event) + (+! (-> self egg-amount) 1) + ) + (when (and (>= (-> self goal-amount) 3) (not (task-node-closed? (-> self task-gold)))) + (task-node-close! (-> self task-gold) 'event) + (+! (-> self egg-amount) 1) + ) + ) + ) + ) + :exit (behavior () + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + ) + :trans (behavior () + '() + ) + :code (behavior () + (when (and (> (-> self egg-amount) 0) (-> *gun-course-info* (-> self course-type) give-eggs?)) + (let ((gp-0 (new 'static 'fact-info))) + (set! (-> gp-0 options) (actor-option)) + (logior! (-> gp-0 options) (actor-option suck-in)) + (let ((v1-9 (entity-by-name "training-manager-2"))) + (birth-pickup-at-point + (-> v1-9 extra trans) + (pickup-type skill) + (* (the float (-> self egg-amount)) (-> *FACT-bank* super-skill-inc)) + #t + *entity-pool* + gp-0 + ) + ) + ) + (set! (-> self egg-amount) 0) + 0 + (auto-save-user) + ) + (send-event (handle->process (-> self hud-score)) 'hide-and-die) + (send-event (handle->process (-> self hud-goal)) 'hide-and-die) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (process->ppointer self)) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'close) + (set! (-> a1-3 param 0) (the-as uint #f)) + (let ((t9-5 send-event-function) + (v1-35 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (t9-5 + (if v1-35 + (-> v1-35 extra process) + ) + a1-3 + ) + ) + ) + (send-event (handle->process (-> self parent-taskmgr)) 'course-complete) + (until #f + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) (process->ppointer self)) + (set! (-> a1-5 num-params) 0) + (set! (-> a1-5 message) 'closed?) + (let ((t9-7 send-event-function) + (v1-50 (-> self actor-group 1 data (-> self end-door) actor)) + ) + (when (t9-7 + (if v1-50 + (-> v1-50 extra process) + ) + a1-5 + ) + 0 + (goto cfg-39) + ) + ) + ) + (suspend) + ) + #f + (label cfg-39) + (let ((gp-1 (-> self child))) + (while gp-1 + (send-event (ppointer->process gp-1) 'die-fast) + (suspend) + (set! gp-1 (-> gp-1 0 brother)) + ) + ) + (while (-> self child) + (suspend) + ) + (deactivate self) + ) + ) + +;; definition of type training-path +(deftype training-path (process-drawable) + ((num uint32) + ) + (:state-methods + idle + ) + ) + +;; definition for method 3 of type training-path +(defmethod inspect ((this training-path)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Tnum: ~D~%" (-> this num)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defstate idle (training-path) + :virtual #t + :code sleep-code + :post (behavior () + (when *display-path-marks* + (let ((gp-0 add-debug-text-3d) + (s5-0 #t) + (s4-0 583) + ) + (format (clear *temp-string*) "path-~D" (-> self num)) + (gp-0 + s5-0 + (the-as bucket-id s4-0) + *temp-string* + (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp) + (font-color green) + (the-as vector2h #f) + ) + ) + ) + ) + ) + +;; definition for method 11 of type training-path +(defmethod init-from-entity! ((this training-path) (arg0 entity-actor)) + (let ((s5-0 (length "training-path-")) + (a0-3 (length (-> this name))) + (v1-2 0) + ) + (cond + ((= a0-3 (+ s5-0 1)) + (set! v1-2 (the-as int (+ (-> this name data 14) -48 v1-2))) + ) + ((= a0-3 (+ s5-0 2)) + (let ((v1-3 (+ v1-2 (* (the-as uint 10) (+ (-> this name data 14) -48))))) + (set! v1-2 (the-as int (+ (-> this name data 15) -48 v1-3))) + ) + ) + ((= a0-3 (+ s5-0 3)) + (let ((v1-5 (+ v1-2 + (* (the-as uint 100) (+ (-> this name data 14) -48)) + (* (the-as uint 10) (+ (-> this name data 15) -48)) + ) + ) + ) + (set! v1-2 (the-as int (+ (-> this name data 16) -48 v1-5))) + ) + ) + ) + (set! (-> this num) (the-as uint (+ v1-2 -76))) + ) + (let ((v1-8 (new 'process 'path-control this 'path 0.0 (the-as entity #f) #t))) + (when (nonzero? v1-8) + (set! (-> this path) v1-8) + (logior! (-> v1-8 flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (go (method-of-object this idle)) + ) + +;; definition for method 24 of type gungame-manager +(defmethod get-training-path-entity ((this gungame-manager) (arg0 int)) + (let ((s4-0 0) + (v1-3 (+ (length (-> this actor-group 0)) -1)) + ) + 0 + (while (>= v1-3 s4-0) + (let* ((a0-4 (/ (+ s4-0 v1-3) 2)) + (a2-2 (-> this actor-group 0 data a0-4 actor)) + (a1-4 (if a2-2 + (the-as training-path (-> a2-2 extra process)) + ) + ) + ) + (cond + ((= arg0 (-> a1-4 num)) + (return (-> this actor-group 0 data a0-4 actor)) + ) + ((< (-> a1-4 num) (the-as uint arg0)) + (set! s4-0 (+ a0-4 1)) + ) + (else + (set! v1-3 (+ a0-4 -1)) + ) + ) + ) + ) + ) + (the-as entity-actor #f) + ) + +;; definition for method 25 of type gungame-manager +;; WARN: Return type mismatch path-control vs object. +(defmethod gg-event-handler ((this gungame-manager) (arg0 process) (arg1 event-message-block) (arg2 event-message-block)) + (case (-> arg1 message) + (('path) + (let ((v1-2 (get-training-path-entity this (the-as int (-> arg1 param 0))))) + (if v1-2 + (-> (the-as training-path (if v1-2 + (the-as training-path (-> v1-2 extra process)) + ) + ) + path + ) + (the-as path-control #f) + ) + ) + ) + (else + (the-as path-control #f) + ) + ) + ) + +;; definition for symbol *jak3-training-path-info*, type (array tpath-info) +(define *jak3-training-path-info* + (new 'static 'boxed-array :type tpath-info + (new 'static 'tpath-info + :ref-time-num -1 + :flags (tpath-flag t7) + :anim1 (new 'static 'inline-array tpath-control-frame 5 + (new 'static 'tpath-control-frame :path-num #x23) + (new 'static 'tpath-control-frame :time 0.3 :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 2.0 :command (tpath-cmd cmd6)) + (new 'static 'tpath-control-frame :time -1.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + (new 'static 'tpath-info + :ref-time-num -1 + :flags (tpath-flag t8) + :anim1 (new 'static 'inline-array tpath-control-frame 7 + (new 'static 'tpath-control-frame :path-num #x23) + (new 'static 'tpath-control-frame :time 0.3 :path-pos #x7f :command (tpath-cmd cmd1)) + (new 'static 'tpath-control-frame :time 4.0 :command (tpath-cmd cmd7)) + (new 'static 'tpath-control-frame :time 5.0 :command (tpath-cmd cmd3)) + (new 'static 'tpath-control-frame :time 1.3 :command (tpath-cmd cmd4)) + (new 'static 'tpath-control-frame :time 0.5 :command (tpath-cmd cmd5)) + (new 'static 'tpath-control-frame :command (tpath-cmd cmd8)) + ) + ) + ) + ) + +;; definition for method 27 of type gungame-manager +;; WARN: Return type mismatch symbol vs none. +(defmethod gungame-manager-method-27 ((this gungame-manager)) + (dotimes (s5-0 32) + (when (handle->process (-> this course-crates s5-0)) + (deactivate (-> this course-crates s5-0 process 0)) + (set! (-> this course-crates s5-0) (the-as handle #f)) + ) + ) + (none) + ) + +;; definition for method 26 of type gungame-manager +;; INFO: Used lq/sq +(defmethod spawn-gg-cates ((this gungame-manager)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'static 'fact-info)) + ) + (dotimes (s3-0 (-> this actor-group 2 length)) + (when (not (handle->process (-> this course-crates s3-0))) + (set! (-> s5-0 quad) (-> this actor-group 2 data s3-0 actor trans quad)) + (set! (-> s5-0 w) 1.0) + (gungame-manager-method-28 this s5-0) + (format 0 "Name is ~s~%" (-> this actor-group 2 data s3-0 actor)) + (set! (-> s4-0 pickup-type) (the-as pickup-type (-> *gun-course-info* (-> this course-type) ammo-type))) + (set! (-> s4-0 pickup-spawn-amount) 30.0) + (let ((s2-1 + (ppointer->process + (process-spawn crate (-> this actor-group 2 data s3-0 actor) s5-0 'wood s4-0 :name "crate" :to *entity-pool*) + ) + ) + ) + (set! (-> this course-crates s3-0) (process->handle (if (type? s2-1 process-focusable) + s2-1 + ) + ) + ) + ) + ) + ) + ) + #f + ) + +;; definition for method 28 of type gungame-manager +;; INFO: Used lq/sq +(defmethod gungame-manager-method-28 ((this gungame-manager) (arg0 vector)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let ((s5-0 (new 'stack-no-clear 'collide-query))) + (set! (-> s5-0 start-pos quad) (-> arg0 quad)) + (set-vector! (-> s5-0 move-dist) 0.0 -8192.0 0.0 1.0) + (let ((v1-2 s5-0)) + (set! (-> v1-2 radius) 40.96) + (set! (-> v1-2 collide-with) (collide-spec backgnd)) + (set! (-> v1-2 ignore-process0) #f) + (set! (-> v1-2 ignore-process1) #f) + (set! (-> v1-2 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-2 action-mask) (collide-action solid)) + ) + (let ((f0-5 (fill-and-probe-using-line-sphere *collide-cache* s5-0))) + (when (< 0.0 f0-5) + (let ((v0-1 arg0)) + (let ((v1-5 (-> s5-0 move-dist))) + (let ((a0-10 f0-5)) + (.mov vf7 a0-10) + ) + (.lvf vf5 (&-> v1-5 quad)) + ) + (.lvf vf4 (&-> arg0 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> v0-1 quad) vf6) + v0-1 + ) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate wait-start (gungame-manager) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + (let ((v1-5 (-> *gun-course-info* (-> self course-type)))) + (if (!= (-> v1-5 start-gun) (-> *game-info* gun-type)) + (send-event *target* 'change-mode 'gun #f (-> v1-5 start-gun)) + ) + ) + ) + :trans (behavior () + (dotimes (gp-0 2) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (process->ppointer self)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'set-train) + (let ((v1-8 (-> self actor-group 1 data (logand (+ gp-0 1) 1) actor))) + (set! (-> a1-0 param 0) (the-as uint (process->handle (if v1-8 + (-> v1-8 extra process) + ) + ) + ) + ) + ) + (let ((t9-0 send-event-function) + (v1-16 (-> self actor-group 1 data gp-0 actor)) + ) + (t9-0 + (if v1-16 + (-> v1-16 extra process) + ) + a1-0 + ) + ) + ) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) (process->ppointer self)) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'open) + (let ((t9-1 send-event-function) + (v1-27 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (t9-1 + (if v1-27 + (-> v1-27 extra process) + ) + a1-1 + ) + ) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) (process->ppointer self)) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'open?) + (let ((t9-2 send-event-function) + (v1-36 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (when (t9-2 + (if v1-36 + (-> v1-36 extra process) + ) + a1-2 + ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (process->ppointer self)) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'close) + (set! (-> a1-3 param 0) (the-as uint #t)) + (let ((t9-3 send-event-function) + (v1-47 (-> self actor-group 1 data (-> self start-door) actor)) + ) + (t9-3 + (if v1-47 + (-> v1-47 extra process) + ) + a1-3 + ) + ) + ) + (go-virtual course) + ) + ) + ) + ) + :code sleep-code + ) + +;; definition of type gungame-mgr-1 +(deftype gungame-mgr-1 (gungame-manager) + () + (:state-methods + wait-load + ) + ) + +;; definition for method 3 of type gungame-mgr-1 +(defmethod inspect ((this gungame-mgr-1)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gungame-manager inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type gungame-mgr-2 +(deftype gungame-mgr-2 (gungame-manager) + () + (:state-methods + wait-load + ) + ) + +;; definition for method 3 of type gungame-mgr-2 +(defmethod inspect ((this gungame-mgr-2)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gungame-manager inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type gungame-mgr-rnc +(deftype gungame-mgr-rnc (gungame-manager) + () + (:state-methods + wait-load + ) + ) + +;; definition for method 3 of type gungame-mgr-rnc +(defmethod inspect ((this gungame-mgr-rnc)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gungame-manager inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for method 22 of type gungame-mgr-rnc +;; WARN: Return type mismatch tpath-flag vs none. +(defmethod spawn-dummy ((this gungame-mgr-rnc) (arg0 tpath-info)) + (cond + ((logtest? (-> arg0 flags) (tpath-flag t2)) + (let ((v1-2 (rand-vu-int-count 2))) + (cond + ((zero? v1-2) + (process-spawn + gun-dummy-cit-clank + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-cit-clank" + :to this + ) + ) + ((= v1-2 1) + (process-spawn + gun-dummy-cit-ratchet + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-cit-ratchet" + :to this + ) + ) + ) + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t5)) + (process-spawn + gun-dummy-rc-four-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-four-eyes" + :to this + ) + ) + ((logtest? (-> arg0 flags) (tpath-flag t3)) + (process-spawn + gun-dummy-rc-three-eyes-bonus + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-three-eyes-bonus" + :to this + ) + ) + (else + (let ((v1-25 (mod (the-as int (rand-uint31-gen *random-generator*)) 3))) + (cond + ((zero? v1-25) + (process-spawn + gun-dummy-rc-two-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-two-eyes" + :to this + ) + ) + ((= v1-25 1) + (process-spawn + gun-dummy-rc-three-eyes + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-three-eyes" + :to this + ) + ) + ((= v1-25 2) + (process-spawn + gun-dummy-rc-one-eye + :init gun-dummy-base-init-by-other + this + arg0 + :name "gun-dummy-rc-one-eye" + :to this + ) + ) + ) + ) + ) + ) + (logclear! (-> arg0 flags) (tpath-flag t0)) + (none) + ) + +;; failed to figure out what this is: +(defstate wait-load (gungame-mgr-rnc) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunrnc #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +;; definition of type gungame-mgr-3 +(deftype gungame-mgr-3 (gungame-mgr-rnc) + () + ) + +;; definition for method 3 of type gungame-mgr-3 +(defmethod inspect ((this gungame-mgr-3)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gungame-mgr-rnc inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition of type gungame-mgr-4 +(deftype gungame-mgr-4 (gungame-mgr-rnc) + () + ) + +;; definition for method 3 of type gungame-mgr-4 +(defmethod inspect ((this gungame-mgr-4)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type gungame-mgr-rnc inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; definition for symbol *gun-course-info*, type (array gun-course-info) +(define *gun-course-info* + (new 'static 'boxed-array :type gun-course-info + (new 'static 'gun-course-info + :end-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-1 :method-count 33) + :task-bronze (game-task-node city-gun-course-1-bronze) + :task-silver (game-task-node city-gun-course-1-silver) + :task-gold (game-task-node city-gun-course-1-gold) + :game-score #xb + :training-goal 10000.0 + :allowed-guns (game-feature gun-yellow-1 gun-yellow-2) + :start-gun 30 + :ammo-type 15 + :training-task #x84 + :play-text (text-id text-07e7) + :play-button (new 'static 'handle :process #x4000 :u64 #x4000) + :give-eggs? #t + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x1 :u64 #x1) + :start-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-2 :method-count 33) + :task-bronze (game-task-node city-gun-course-2-bronze) + :task-silver (game-task-node city-gun-course-2-silver) + :task-gold (game-task-node city-gun-course-2-gold) + :game-score #xc + :training-goal 11000.0 + :allowed-guns (game-feature gun-red-1 gun-red-2) + :start-gun 27 + :ammo-type 16 + :training-task #xa2 + :play-text (text-id text-07e6) + :play-button (new 'static 'handle :process #x4000 :u64 #x4000) + :give-eggs? #t + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x2 :u64 #x2) + :start-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-3 :method-count 33) + :task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-1) + :task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-1) + :task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-1) + :game-score #xd + :training-goal -1.0 + :allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2) + :start-gun 30 + :ammo-type 15 + :training-task #xa2 + :play-text (text-id text-07e8) + :play-button (new 'static 'handle :process #x8000 :u64 #x8000) + :give-eggs? #f + ) + (new 'static 'gun-course-info + :course (new 'static 'handle :process #x3 :u64 #x3) + :end-door 1 + :text (text-id text-0087) + :etype (type-ref gungame-mgr-4 :method-count 33) + :task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-2) + :task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-2) + :task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-2) + :game-score #xe + :training-goal -1.0 + :allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2) + :start-gun 27 + :ammo-type 16 + :training-task #xa2 + :play-text (text-id text-07e9) + :play-button (new 'static 'handle :process #x8000 :u64 #x8000) + :give-eggs? #f + ) + ) + ) + +;; definition for symbol *gungame-test-crates-pos*, type (array gungame-crate) +(define *gungame-test-crates-pos* (new 'static 'boxed-array :type gungame-crate + (new 'static 'gungame-crate + :pos (new 'static 'vector :x 2048000.0 :y 40960.0 :z 4288512.0 :w -16384.0) + :ammo (pickup-type ammo-red) + :num #x14 + ) + ) + ) + +;; definition for method 20 of type gungame-mgr-1 +(defmethod init ((this gungame-mgr-1) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set! (-> this training?) + (not (task-node-closed? (the-as game-task-node (-> *gun-course-info* arg1 training-task)))) + ) + (set! *gungame-level* 'lgunnorm) + (set! (-> this course) *course1-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +;; definition for method 20 of type gungame-mgr-2 +(defmethod init ((this gungame-mgr-2) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set! (-> this training?) + (not (task-node-closed? (the-as game-task-node (-> *gun-course-info* arg1 training-task)))) + ) + (set! *gungame-level* 'lgunnorm) + (set! (-> this course) *course2-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +;; failed to figure out what this is: +(defstate wait-load (gungame-mgr-1) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunnorm #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +;; failed to figure out what this is: +(defstate wait-load (gungame-mgr-2) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunnorm #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +;; definition for method 20 of type gungame-mgr-3 +(defmethod init ((this gungame-mgr-3) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set-setting! 'borrow '((gungame 1 lgunrnc special)) 0.0 0) + (set! (-> this training?) #f) + (set! *gungame-level* 'lgunrnc) + (set! (-> this course) *course3-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +;; definition for method 20 of type gungame-mgr-4 +(defmethod init ((this gungame-mgr-4) (arg0 handle) (arg1 int)) + (call-parent-method this arg0 arg1) + (set-setting! 'borrow '((gungame 1 lgunrnc special)) 0.0 0) + (set! (-> this training?) #f) + (set! *gungame-level* 'lgunrnc) + (set! (-> this course) *course4-path-global-info*) + (init-tpath this (-> this course)) + (spawn-gg-cates this) + (go (method-of-object this wait-load)) + ) + +;; failed to figure out what this is: +(defstate wait-load (gungame-mgr-4) + :virtual #t + :code (behavior () + (until (= (status-of-level-and-borrows *level* 'lgunrnc #f) 'active) + (suspend) + ) + (go-virtual wait-start) + ) + ) + +;; definition of type training-manager +(deftype training-manager (process-hidden) + () + ) + +;; definition for method 3 of type training-manager +(defmethod inspect ((this training-manager)) + (when (not this) + (set! this this) + (goto cfg-68) + ) + (format #t "[~8x] ~A~%" this (-> this type)) + (format #t "~1Tname: ~A~%" (-> this name)) + (format #t "~1Tmask: #x~X : (process-mask " (-> this mask)) + (let ((s5-0 (-> this mask))) + (if (= (logand s5-0 (process-mask process-tree)) (process-mask process-tree)) + (format #t "process-tree ") + ) + (if (= (logand s5-0 (process-mask target)) (process-mask target)) + (format #t "target ") + ) + (if (= (logand (process-mask collectable) s5-0) (process-mask collectable)) + (format #t "collectable ") + ) + (if (= (logand (process-mask projectile) s5-0) (process-mask projectile)) + (format #t "projectile ") + ) + (if (= (logand s5-0 (process-mask sleep-code)) (process-mask sleep-code)) + (format #t "sleep-code ") + ) + (if (= (logand s5-0 (process-mask actor-pause)) (process-mask actor-pause)) + (format #t "actor-pause ") + ) + (if (= (logand (process-mask metalhead) s5-0) (shl #x8000 16)) + (format #t "metalhead ") + ) + (if (= (logand (process-mask bot) s5-0) (process-mask bot)) + (format #t "bot ") + ) + (if (= (logand (process-mask vehicle) s5-0) (process-mask vehicle)) + (format #t "vehicle ") + ) + (if (= (logand (process-mask enemy) s5-0) (process-mask enemy)) + (format #t "enemy ") + ) + (if (= (logand (process-mask entity) s5-0) (process-mask entity)) + (format #t "entity ") + ) + (if (= (logand s5-0 (process-mask heap-shrunk)) (process-mask heap-shrunk)) + (format #t "heap-shrunk ") + ) + (if (= (logand (process-mask sidekick) s5-0) (process-mask sidekick)) + (format #t "sidekick ") + ) + (if (= (logand s5-0 (process-mask going)) (process-mask going)) + (format #t "going ") + ) + (if (= (logand s5-0 (process-mask execute)) (process-mask execute)) + (format #t "execute ") + ) + (if (= (logand (process-mask civilian) s5-0) (process-mask civilian)) + (format #t "civilian ") + ) + (if (= (logand (process-mask death) s5-0) (process-mask death)) + (format #t "death ") + ) + (if (= (logand (process-mask guard) s5-0) (process-mask guard)) + (format #t "guard ") + ) + (if (= (logand s5-0 (process-mask no-kill)) (process-mask no-kill)) + (format #t "no-kill ") + ) + (if (= (logand (process-mask kg-robot) s5-0) (process-mask kg-robot)) + (format #t "kg-robot ") + ) + (if (= (logand (process-mask platform) s5-0) (process-mask platform)) + (format #t "platform ") + ) + (if (= (logand s5-0 (process-mask freeze)) (process-mask freeze)) + (format #t "freeze ") + ) + (if (= (logand s5-0 (process-mask sleep)) (process-mask sleep)) + (format #t "sleep ") + ) + (if (= (logand s5-0 (process-mask progress)) (process-mask progress)) + (format #t "progress ") + ) + (if (= (logand s5-0 (process-mask menu)) (process-mask menu)) + (format #t "menu ") + ) + (if (= (logand (process-mask camera) s5-0) (process-mask camera)) + (format #t "camera ") + ) + (if (= (logand (process-mask ambient) s5-0) (process-mask ambient)) + (format #t "ambient ") + ) + (if (= (logand s5-0 (process-mask dark-effect)) (process-mask dark-effect)) + (format #t "dark-effect ") + ) + (if (= (logand (process-mask crate) s5-0) (process-mask crate)) + (format #t "crate ") + ) + (if (= (logand s5-0 (process-mask kernel-run)) (process-mask kernel-run)) + (format #t "kernel-run ") + ) + (if (= (logand s5-0 (process-mask movie)) (process-mask movie)) + (format #t "movie ") + ) + (if (= (logand s5-0 (process-mask pause)) (process-mask pause)) + (format #t "pause ") + ) + ) + (format #t ")~%") + (format #t "~1Tclock: ~A~%" (-> this clock)) + (format #t "~1Tparent: #x~X~%" (-> this parent)) + (format #t "~1Tbrother: #x~X~%" (-> this brother)) + (format #t "~1Tchild: #x~X~%" (-> this child)) + (format #t "~1Tppointer: #x~X~%" (-> this ppointer)) + (format #t "~1Tself: ~A~%" (-> this self)) + (format #t "~1Tpool: ~A~%" (-> this pool)) + (format #t "~1Tstatus: ~A~%" (-> this status)) + (format #t "~1Tpid: ~D~%" (-> this pid)) + (format #t "~1Tmain-thread: ~A~%" (-> this main-thread)) + (format #t "~1Ttop-thread: ~A~%" (-> this top-thread)) + (format #t "~1Tentity: ~A~%" (-> this entity)) + (format #t "~1Tlevel: ~A~%" (-> this level)) + (format #t "~1Tstate: ~A~%" (-> this state)) + (format #t "~1Tprev-state: ~A~%" (-> this prev-state)) + (format #t "~1Tnext-state: ~A~%" (-> this next-state)) + (format #t "~1Tstate-stack: ~A~%" (-> this state-stack)) + (format #t "~1Ttrans-hook: ~A~%" (-> this trans-hook)) + (format #t "~1Tpost-hook: ~A~%" (-> this post-hook)) + (format #t "~1Tevent-hook: ~A~%" (-> this event-hook)) + (format #t "~1Tallocated-length: ~D~%" (-> this allocated-length)) + (format #t "~1Theap-base: #x~X~%" (-> this heap-base)) + (format #t "~1Theap-top: #x~X~%" (-> this heap-top)) + (format #t "~1Theap-cur: #x~X~%" (-> this heap-cur)) + (format #t "~1Tstack-frame-top: ~A~%" (-> this stack-frame-top)) + (format #t "~1Theap: #~%" (&-> this heap-base)) + (format #t "~1Tconnection-list: ~`connectable`P~%" (-> this connection-list)) + (format #t "~1Tstack[0] @ #x~X~%" (-> this stack)) + (label cfg-68) + this + ) + +;; definition for method 34 of type gungame-task-manager +(defmethod gungame-task-manager-method-34 ((this gungame-task-manager)) + (let ((gp-0 0)) + (if (task-node-closed? (game-task-node city-gun-course-1-introduction)) + (set! gp-0 (logior gp-0 1)) + ) + (if (task-node-closed? (game-task-node city-gun-course-2-introduction)) + (set! gp-0 (logior gp-0 2)) + ) + (if (logtest? (game-secrets gungame-ratchet) (-> *game-info* secrets)) + (set! gp-0 (logior gp-0 4)) + ) + (if (logtest? (game-secrets gungame-ratchet) (-> *game-info* secrets)) + (set! gp-0 (logior gp-0 8)) + ) + (logand gp-0 (-> this info index)) + ) + ) + +;; failed to figure out what this is: +(defstate active (gungame-task-manager) + :virtual #t + :enter (behavior () + '() + ) + :trans (behavior () + (let ((t9-1 (-> (find-parent-state) trans))) + (if t9-1 + (t9-1) + ) + ) + (if (search-process-tree *active-pool* (lambda ((arg0 process)) (type? arg0 gungame-manager))) + (return 0) + ) + 0 + (let ((gp-0 0) + (v1-6 (gungame-task-manager-method-34 self)) + ) + (dotimes (a0-3 4) + (if (logtest? v1-6 (ash 1 a0-3)) + (+! gp-0 1) + ) + ) + (set! (-> self course-list length) 0) + (dotimes (a0-7 4) + (when (logtest? v1-6 (ash 1 a0-7)) + (set! (-> self course-list (-> self course-list length)) a0-7) + (+! (-> self course-list length) 1) + ) + ) + ) + (cond + ((!= (-> self info index) -1) + (set! (-> self activated-course) (-> *gun-course-info* (-> self course-list 0))) + (set! (-> self activated-course-id) (the-as uint (-> self course-list 0))) + (go-virtual active-door-opening) + ) + (else + (let ((gp-1 (new 'static 'boxed-array :type int32 :length 0 :allocated-length 4))) + (set! (-> gp-1 length) 0) + (let ((v1-20 (level-get-target-inside *level*))) + (when (and v1-20 + (= (-> v1-20 name) 'gungame) + *target* + (not (logtest? (focus-status in-head pole flut light board dark) (-> *target* focus-status))) + ) + (dotimes (s5-0 (-> self course-list length)) + (let ((v1-31 (-> *gun-course-info* (-> self course-list s5-0))) + (a1-20 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-20 from) (process->ppointer self)) + (set! (-> a1-20 num-params) 1) + (set! (-> a1-20 message) 'player-near-door?) + (set! (-> a1-20 param 0) (the-as uint #f)) + (let ((t9-6 send-event-function) + (v1-36 (-> self actor-group 1 data (-> v1-31 start-door) actor)) + ) + (when (t9-6 + (if v1-36 + (-> v1-36 extra process) + ) + a1-20 + ) + (set! (-> gp-1 (-> gp-1 length)) s5-0) + (+! (-> gp-1 length) 1) + ) + ) + ) + ) + ) + ) + (when (and (> (-> gp-1 length) 0) (can-display-query? self (the-as string #f) -99.0)) + (let* ((t0-0 (- 380 (* 45 (-> gp-1 length)))) + (s5-1 + (new 'stack 'font-context *font-default-matrix* 32 t0-0 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-53 s5-1)) + (set! (-> v1-53 width) (the float 440)) + ) + (let ((v1-54 s5-1)) + (set! (-> v1-54 height) (the float 80)) + ) + (let ((v1-55 s5-1)) + (set! (-> v1-55 scale) 0.7) + ) + (set! (-> s5-1 flags) (font-flags shadow kerning large)) + (dotimes (s4-0 (-> gp-1 length)) + (let ((s3-0 (-> *gun-course-info* (-> self course-list (-> gp-1 s4-0))))) + (if (= s4-0 (+ (-> gp-1 length) -1)) + (print-game-text + (lookup-text! *common-text* (-> s3-0 play-text) #f) + s5-1 + #f + 44 + (bucket-id hud-draw-hud-alpha) + ) + ) + (when (> (the-as int (logand (the-as handle (-> *cpad-list* cpads 0 button0-rel 0)) (-> s3-0 play-button))) 0) + (set! (-> self activated-course) s3-0) + (set! (-> self activated-course-id) (the-as uint (-> self course-list (-> gp-1 s4-0)))) + (go-virtual active-door-opening) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate active-door-opening (gungame-task-manager) + :virtual #t + :code (behavior () + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons circle x confirm)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons circle x confirm)) + (set! (-> self state-time) 0) + (adjust-player-ammo 500.0 (the-as pickup-type (-> self activated-course ammo-type))) + (let ((t1-0 (logclear + (game-feature + gun-red-1 + gun-red-2 + gun-red-3 + gun-yellow-1 + gun-yellow-2 + gun-yellow-3 + gun-blue-1 + gun-blue-2 + gun-blue-3 + gun-dark-1 + gun-dark-2 + gun-dark-3 + board + darkjak + lightjak + ) + (-> self activated-course allowed-guns) + ) + ) + ) + (set-setting! 'features 'clear (shr t1-0 32) t1-0) + ) + (cond + ((>= 1 (-> self course-list length)) + (let ((gp-0 (current-time))) + (until (time-elapsed? gp-0 (seconds 1)) + (suspend) + ) + ) + ) + (else + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.5)) + (suspend) + ) + ) + ) + ) + (let ((gp-2 (get-process *default-dead-pool* (-> self activated-course etype) #x4000 1))) + (when gp-2 + (let ((t9-3 (method-of-type process activate))) + (t9-3 gp-2 *entity-pool* "gungame-manager" (the-as pointer #x70004000)) + ) + (run-now-in-process gp-2 gungame-manager-init-by-other (process->handle self) (-> self activated-course-id)) + (-> gp-2 ppointer) + ) + ) + (go-virtual waiting) + ) + ) + +;; failed to figure out what this is: +(defstate waiting (gungame-task-manager) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('course-complete) + (if (!= (-> self info index) -1) + (send-event self 'complete) + (go-virtual active) + ) + ) + (('course-fail) + (if (!= (-> self info index) -1) + (send-event self 'fail) + (go-virtual active) + ) + ) + (else + (task-manager-event-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set-setting! 'exclusive-task #f 0.0 (-> self node-info task)) + ) + :trans (behavior () + ((-> (method-of-type task-manager active) trans)) + ) + :code sleep-code + ) + +;; definition for method 25 of type gungame-task-manager +(defmethod task-manager-method-25 ((this gungame-task-manager)) + (call-parent-method this) + (none) + ) diff --git a/test/decompiler/reference/jak3/levels/gungame/gungame-obs_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gungame-obs_REF.gc new file mode 100644 index 0000000000..0a1e9f2952 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gungame-obs_REF.gc @@ -0,0 +1,341 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type gungame-door +(deftype gungame-door (process-drawable) + ((root collide-shape :override) + (front? symbol) + (close-sound sound-id) + (train handle) + (other-door handle) + (want-close? symbol) + ) + (:state-methods + idle + open + close + force-close + opened + ) + (:methods + (gungame-door-method-25 (_type_) symbol) + (test-close? (_type_ symbol) symbol) + (player-near-door? (_type_ symbol) symbol) + ) + ) + +;; definition for method 3 of type gungame-door +(defmethod inspect ((this gungame-door)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Tfront?: ~A~%" (-> this front?)) + (format #t "~2Tclose-sound: ~D~%" (-> this close-sound)) + (format #t "~2Ttrain: ~D~%" (-> this train)) + (format #t "~2Tother-door: ~D~%" (-> this other-door)) + (format #t "~2Twant-close?: ~A~%" (-> this want-close?)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-gungame-door fort-entry-gate fort-entry-gate-lod0-jg fort-entry-gate-idle-ja + ((fort-entry-gate-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 10) + ) + +;; definition for function gungame-door-handler +(defbehavior gungame-door-handler gungame-door ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('force-close) + (go-virtual force-close) + ) + (('player-near-door?) + (player-near-door? self (the-as symbol (-> arg3 param 0))) + ) + (('set-train) + (set! (-> self train) (process->handle arg0)) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self other-door) (the-as handle v0-0)) + v0-0 + ) + (('test-close?) + (test-close? self (the-as symbol (-> arg3 param 0))) + ) + (('close) + (set! (-> self front?) (the-as symbol (-> arg3 param 0))) + (set! v0-0 #t) + (set! (-> self want-close?) (the-as symbol v0-0)) + v0-0 + ) + ) + ) + +;; failed to figure out what this is: +(defstate idle (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('open) + (go-virtual open) + ) + (('closed?) + #t + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self want-close?) #f) + ) + :trans (behavior () + (test-close? self #t) + ) + :code sleep-code + :post transform-post + ) + +;; failed to figure out what this is: +(defstate force-close (gungame-door) + :virtual #t + :code (behavior () + (ja-channel-push! 1 0) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! identity) + (ja :group! fort-entry-gate-idle-ja :num! zero) + (let ((gp-0 (-> self skel status))) + (logior! (-> self skel status) (joint-control-status sync-math)) + (ja-post) + (update-transforms (-> self root)) + (set! (-> self skel status) gp-0) + ) + (go-virtual idle) + ) + :post (behavior () + (ja-post) + ) + ) + +;; failed to figure out what this is: +(defstate opened (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('closed?) + #f + ) + (('open?) + #t + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :trans (behavior () + (if (and (-> self want-close?) (not (gungame-door-method-25 self))) + (go-virtual close) + ) + ) + :code sleep-code + :post transform-post + ) + +;; failed to figure out what this is: +(defstate open (gungame-door) + :virtual #t + :event gungame-door-handler + :code (behavior () + (sound-play "gungame-door") + (let ((gp-1 (current-time))) + (until (time-elapsed? gp-1 (seconds 0.2)) + (suspend) + (suspend) + ) + ) + (ja-no-eval :group! fort-entry-gate-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (go-virtual opened) + ) + :post transform-post + ) + +;; definition for method 27 of type gungame-door +;; WARN: disable def twice: 68. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod player-near-door? ((this gungame-door) (arg0 symbol)) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> this root trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) (camera-pos) (-> this root trans))) + ) + (let ((s3-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-float*! (-> s3-1 fvec) (-> s3-1 fvec) -1.0) + (vector-float*! (-> s3-1 rvec) (-> s3-1 rvec) -1.0) + (matrix-transpose! s3-1 s3-1) + (vector-matrix*! gp-1 gp-1 s3-1) + (vector-matrix*! s4-1 s4-1 s3-1) + ) + (let ((f1-0 16384.0) + (f0-2 16384.0) + ) + (when (and (>= f1-0 (fabs (-> gp-1 z))) (>= f0-2 (fabs (-> gp-1 x)))) + (if arg0 + (and (< 0.0 (-> s4-1 z)) (< 0.0 (-> gp-1 z))) + (and (< (-> s4-1 z) 0.0) (< (-> gp-1 z) 0.0)) + ) + ) + ) + ) + ) + +;; definition for method 25 of type gungame-door +(defmethod gungame-door-method-25 ((this gungame-door)) + (if (-> this front?) + (not (test-close? this #t)) + (or (not (test-close? this #f)) (not (send-event (handle->process (-> this other-door)) 'test-close? #f))) + ) + ) + +;; definition for method 26 of type gungame-door +;; WARN: disable def twice: 73. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod test-close? ((this gungame-door) (arg0 symbol)) + (local-vars (v0-6 symbol)) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> this root trans))) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (camera-pos) (-> this root trans))) + ) + (let ((s3-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> this root quat)))) + (vector-float*! (-> s3-1 fvec) (-> s3-1 fvec) -1.0) + (vector-float*! (-> s3-1 rvec) (-> s3-1 rvec) -1.0) + (matrix-transpose! s3-1 s3-1) + (vector-matrix*! s5-1 s5-1 s3-1) + (vector-matrix*! gp-1 gp-1 s3-1) + ) + (let ((f0-2 16384.0)) + (cond + (arg0 + (when (and (< 0.0 (-> s5-1 z)) (< 0.0 (-> gp-1 z)) (or (>= f0-2 (fabs (-> s5-1 x))) (< 102400.0 (-> gp-1 z)))) + (return #t) + v0-6 + ) + ) + (else + (and (< (-> s5-1 z) 0.0) (< (-> gp-1 z) 0.0)) + ) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate close (gungame-door) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('closed?) + #f + ) + (else + (gungame-door-handler proc argc message block) + ) + ) + ) + :enter (behavior () + (set! (-> self close-sound) (sound-play "door-close-all")) + ) + :code (behavior () + (let ((gp-0 #t)) + (until #f + (cond + ((gungame-door-method-25 self) + (if gp-0 + (sound-play "door-stopped") + ) + (sound-pause (-> self close-sound)) + (set! gp-0 #f) + ) + (else + (if (not gp-0) + (sound-continue (-> self close-sound)) + ) + (set! gp-0 #t) + (ja :num! (seek! 0.0)) + ) + ) + (suspend) + (when (>= 0.0 (ja-frame-num 0)) + (ja-no-eval :num! zero) + (goto cfg-12) + ) + ) + ) + #f + (label cfg-12) + (go-virtual idle) + ) + :post transform-post + ) + +;; definition for method 11 of type gungame-door +(defmethod init-from-entity! ((this gungame-door) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape-moving this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) cshape-reaction-default) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s4-0 penetrated-by) (penetrate)) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s4-0 total-prims) (the-as uint 3)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 12288.0 0.0 40960.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-12 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-12 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-12 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-12 prim-core action) (collide-action solid)) + (set! (-> v1-12 transform-index) 4) + (set-vector! (-> v1-12 local-sphere) 8192.0 16384.0 0.0 20480.0) + ) + (let ((v1-14 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-14 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-14 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-14 prim-core action) (collide-action solid)) + (set! (-> v1-14 transform-index) 5) + (set-vector! (-> v1-14 local-sphere) -8192.0 16384.0 0.0 20480.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-17 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-17 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-17 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-gungame-door" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (ja-channel-push! 1 0) + (let ((a0-23 (-> this skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> this draw art-group data 2))) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> this draw art-group data 2)) num-func-identity) + ) + (transform-post) + (go (method-of-object this idle)) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/gungame/gungame-part_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gungame-part_REF.gc new file mode 100644 index 0000000000..8456b6591a --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gungame-part_REF.gc @@ -0,0 +1,264 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-gungame-vent + :id 1426 + :flags (sp4 sp6) + :bounds (static-bspherem 0 0 0 2) + :rotate ((degrees 0) (degrees -90) (degrees 0)) + :parts ((sp-item 4683 :fade-after (meters 100) :falloff-to (meters 140) :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 4683 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 3.0 1.0) + (:x (meters -1)) + (:y (meters 0.25) (meters 0.75)) + (:z (meters -0.5) (meters 1)) + (:scale-x (meters 1) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 96.0 64.0) + (:g 128.0 32.0) + (:b :copy r) + (:a 0.0) + (:vel-x (meters 0.033333335) (meters 0.01)) + (:vel-y (meters -0.016666668) (meters -0.01)) + (:scalevel-x (meters 0.006666667) (meters 0.006666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.24) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.95 0.025) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 4684) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4684 + :init-specs ((:fade-a -0.021818181 -0.048)) + ) + +;; failed to figure out what this is: +(defpartgroup group-gungame-overhead-lights + :id 1427 + :flags (sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 4685 :fade-after (meters 80) :flags (sp6)) + (sp-item 4686 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 4687 :fade-after (meters 60) :flags (sp6 sp7)) + (sp-item 4688 :fade-after (meters 60) :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 4685 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters -0.5)) + (:scale-x (meters 14) (meters 0.1)) + (:rot-x (degrees 9)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 16.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4686 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 1)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4687 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4688 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters -1)) + (:y (meters 0)) + (:z (meters 0.5)) + (:scale-x (meters 5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -36)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 128.0 32.0) + (:a 12.0 4.0) + (:omega (degrees 1354.5)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-gungame-pipespew + :id 1428 + :flags (sp4) + :bounds (static-bspherem 0 0 0 3) + :parts ((sp-item 4689 :fade-after (meters 20) :falloff-to (meters 20) :flags (sp7)) + (sp-item 4690 :fade-after (meters 100) :falloff-to (meters 140) :flags (sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 4689 + :init-specs ((:texture (motion-blur-part level-default-sprite)) + (:num 0.0 5.0) + (:z (meters -0.2)) + (:scale-x (meters 0.025) (meters 0.01)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g :copy r) + (:b :copy g) + (:a 64.0 32.0) + (:omega (degrees 0.005625) (degrees 0.00225)) + (:vel-z (meters 0.033333335) (meters 0.033333335)) + (:fade-a -0.64 -0.64) + (:friction 0.92 0.015) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:func 'sparticle-motion-blur) + (:launchrot-x (degrees -7.5) (degrees 15)) + (:launchrot-y (degrees -7.5) (degrees 15)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4690 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0 3.0) + (:z (meters -0.2)) + (:scale-x (meters 0.25) (meters 0.05)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 0.0) + (:vel-z (meters 0.033333335) (meters 0.033333335)) + (:scalevel-x (meters 0.005) (meters 0.008333334)) + (:rotvel-z (degrees -1.2) (degrees 2.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.96) + (:friction 0.9 0.015) + (:timer (seconds 0.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.085) (seconds 0.08)) + (:next-launcher 4691) + (:launchrot-x (degrees -5) (degrees 10)) + (:launchrot-y (degrees -5) (degrees 10)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4691 + :init-specs ((:fade-a -0.48 -0.48)) + ) + +;; failed to figure out what this is: +(defpartgroup group-gungame-blue-lights + :id 1429 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4692 :fade-after (meters 80) :flags (sp6)) (sp-item 4693 :fade-after (meters 120) :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 4692 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 128.0 64.0) + (:b 255.0) + (:a 24.0 4.0) + (:omega (degrees 1815.7499)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4693 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2.5) (meters 0.1)) + (:rot-x (degrees 4.5)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0 32.0) + (:b 255.0) + (:a 12.0 4.0) + (:omega (degrees 2715.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/gungame/gungame-scenes_REF.gc b/test/decompiler/reference/jak3/levels/gungame/gungame-scenes_REF.gc new file mode 100644 index 0000000000..98b51102c6 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/gungame/gungame-scenes_REF.gc @@ -0,0 +1,567 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-red-gun-mod-three red-gun-mod-three red-gun-mod-three-lod0-jg red-gun-mod-three-idle-ja + ((red-gun-mod-three-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-gun-course-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-intro" + :parts 12 + :command-list '((0 (fadein (frame-time-30 5))) + (81 (part-tracker + "group-fma-daxter-guncourse-slide-dust" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 81 94) + ) + ) + (370 (part-tracker + "group-fma-daxter-guncourse-land-dust" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 370 371) + ) + ) + (1325 (fadeout (frame-time-30 5))) + (10000 (task-close! "city-gun-course-1-introduction")) + ) + :cut-list '(31 58 101 137 358 404 484 521 591 745 855 975 1095 1275) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 137) (358 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x380 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'gungame + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "gun" + :level #f + :art-group "skel-gun" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min 1275)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-1-start" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-gun-course-1-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-1-res" + :parts 4 + :command-list '((0 (fadein (frame-time-30 5))) + (465 (fadeout (frame-time-30 5))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-gun-course-1-resolution")) + (task-close! "city-gun-course-1-resolution") + ) + ) + :cut-list '(39 91 144 334 365) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "gun" + :level #f + :art-group "skel-gun" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-start" + :borrow '() + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup011")) + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-gun-course-2-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-2-intro" + :parts 11 + :command-list '((0 (fadein (frame-time-30 5))) + (1325 (fadeout (frame-time-30 5))) + (10000 (task-close! "city-gun-course-2-introduction")) + ) + :cut-list '(114 194 384 459 532 769 855 944 1078 1179) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((0 531) (769 854) (944 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '((766 775)) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "red-gun-mod-three" + :level 'gungame2 + :art-group "skel-red-gun-mod-three" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min 1275)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-start" + :end-point "gungame-2-start" + :borrow '((gungame 0 gungame2 special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-gun-course-2-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-52" + :art-group "scenecamera" + :anim "city-gun-course-2-res" + :parts 4 + :command-list '((360 (fadeout (frame-time-30 10))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-gun-course-2-resolution")) + (task-close! "city-gun-course-2-resolution") + ) + ) + :cut-list '(80 180 267) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'gungame + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'gungame + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "tess-highres" + :level 'gungame + :art-group "skel-tess-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "red-gun-mod-three" + :level 'gungame2 + :art-group "skel-red-gun-mod-three" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "gungame-movie" + :end-point "gungame-start" + :borrow '((gungame 0 gungame2 special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup012")) + ) + ) + +;; definition for function spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust +;; WARN: Return type mismatch float vs none. +(defun spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((s5-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 140)) + (s3-0 (logand 0 (rand-uint31-gen *random-generator*))) + (s4-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 20)) + (v1-3 (+ (logand 0 (rand-uint31-gen *random-generator*)) 40)) + ) + (set! (-> arg2 r-g-b-a x) (the float (- s5-0 s3-0))) + (set! (-> arg2 r-g-b-a y) (the float (- s5-0 s4-0))) + (set! (-> arg2 r-g-b-a z) (the float (- s5-0 v1-3))) + ) + (none) + ) + +;; failed to figure out what this is: +(defpartgroup group-fma-daxter-guncourse-slide-dust + :id 1430 + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 4694)) + ) + +;; failed to figure out what this is: +(defpart 4694 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:birth-func 'spt-birth-func-brightness-part-fma-daxter-guncourse-slide-dust) + (:num 0.5) + (:scale-x (meters 1) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 32.0 32.0) + (:vel-z (meters 0) (meters -0.01)) + (:scalevel-x (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-y (degrees -20) (degrees 20)) + (:rotate-y (degrees 0)) + ) + ) + +;; definition for function spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust +;; WARN: Return type mismatch float vs none. +(defun spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((s5-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 140)) + (s3-0 (logand 0 (rand-uint31-gen *random-generator*))) + (s4-0 (+ (logand 0 (rand-uint31-gen *random-generator*)) 20)) + (v1-3 (+ (logand 0 (rand-uint31-gen *random-generator*)) 40)) + ) + (set! (-> arg2 r-g-b-a x) (the float (- s5-0 s3-0))) + (set! (-> arg2 r-g-b-a y) (the float (- s5-0 s4-0))) + (set! (-> arg2 r-g-b-a z) (the float (- s5-0 v1-3))) + ) + (none) + ) + +;; failed to figure out what this is: +(defpartgroup group-fma-daxter-guncourse-land-dust + :id 1431 + :flags (sp0) + :bounds (static-bspherem 0 0 0 12) + :parts ((sp-item 4695)) + ) + +;; failed to figure out what this is: +(defpart 4695 + :init-specs ((:texture (dirtpuff01 level-default-sprite)) + (:birth-func 'spt-birth-func-brightness-part-fma-daxter-guncourse-land-dust) + (:num 10.0) + (:scale-x (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 32.0 32.0) + (:vel-y (meters 0) (meters 0.016666668)) + (:scalevel-x (meters 0.0016666667) (meters 0.0016666667)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667 -0.10666667) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/hiphog/hiphog-obs_REF.gc b/test/decompiler/reference/jak3/levels/hiphog/hiphog-obs_REF.gc new file mode 100644 index 0000000000..8e4b1f21d4 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/hiphog/hiphog-obs_REF.gc @@ -0,0 +1,9 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +0 + + + + diff --git a/test/decompiler/reference/jak3/levels/hiphog/hiphog-part_REF.gc b/test/decompiler/reference/jak3/levels/hiphog/hiphog-part_REF.gc new file mode 100644 index 0000000000..a0ceadc25a --- /dev/null +++ b/test/decompiler/reference/jak3/levels/hiphog/hiphog-part_REF.gc @@ -0,0 +1,1721 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-blue-glow + :id 848 + :bounds (static-bspherem 0 0 0 3) + :parts ((sp-item 3072 :fade-after (meters 500) :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 3072 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.8) (meters 0.1)) + (:rot-x (degrees 9)) + (:rot-z (degrees -17)) + (:scale-y :copy scale-x) + (:r 10.0) + (:g 30.0) + (:b 128.0) + (:a 30.0 10.0) + (:omega (degrees 11261.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-rtablea + :id 849 + :flags (sp0 sp4 sp7) + :bounds (static-bspherem 0 0 0 16) + :scale (0.25 0.25 1.0) + :parts ((sp-item 3073 :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3074 :flags (is-3d sp7) :period (seconds 0.8) :length (seconds 0.017)) + (sp-item 3075 :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3075 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:scale-y (meters 10)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 8.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow set-conerot)) + (:userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3074 + :init-specs ((:texture (vinroom-tv-text-m hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees 90)) + (:scale-y (meters 0.625)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 96.0) + (:scalevel-x (meters 0.001)) + (:scalevel-y (meters 0.00033333333)) + (:timer (seconds 0.8)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot)) + (:userdata :data (new 'static 'boxed-array :type int32 + 40 + 0 + 0 + #x37f04800 + #x37f04a00 + #x37f04b00 + #x37f04700 + #x37f04600 + #x37f04900 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3073 + :init-specs ((:texture (screen-00 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1.8)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees 90)) + (:scale-y (meters 1.25)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 set-conerot)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x37f04c00 + #x37f04d00 + #x37f04e00 + #x37f04f00 + #x37f05000 + #x37f05100 + #x37f05200 + #x37f05300 + #x37f05400 + #x37f05500 + #x37f05600 + #x37f05700 + #x37f05800 + #x37f05900 + #x37f05a00 + #x37f05b00 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-rtableb + :id 850 + :flags (sp0 sp4 sp7) + :bounds (static-bspherem 0 0 0 16) + :scale (0.06 0.06 1.0) + :parts ((sp-item 3076 :flags (is-3d sp7)) + (sp-item 3077 :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.017)) + (sp-item 3078 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 125) + (sp-item 3079 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 300) + (sp-item 3080 :flags (sp7) :period (seconds 2) :length (seconds 0.017) :offset 375) + (sp-item 3081 :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3081 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 10)) + (:rot-x (degrees 22.5)) + (:scale-y (meters 16)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 8.0 4.0) + (:omega (degrees 4511.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow set-conerot)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3076 + :init-specs ((:texture (vinroom-tv-circle hiphog-sprite)) + (:num 0.0 0.2) + (:x (meters 0.425)) + (:y (meters -0.2)) + (:z (meters -0.02)) + (:scale-x (meters 0)) + (:rot-x (degrees -90)) + (:rot-y (degrees 0)) + (:scale-y (meters 0)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 16.0 16.0) + (:scalevel-x (meters 0.0033333334)) + (:scalevel-y (meters 0.0016666667)) + (:timer (seconds 0.535)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:next-time (seconds 0.335)) + (:next-launcher 3082) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3082 + :init-specs ((:fade-a -0.53333336)) + ) + +;; failed to figure out what this is: +(defpart 3077 + :init-specs ((:texture (vinroom-tv-radar hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 5)) + (:rot-x (degrees 0)) + (:rot-y (degrees -100.00001)) + (:rot-z (degrees 90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 80.0) + (:rotvel-y (degrees -0.6)) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3078 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters 1.525)) + (:y (meters 1.5)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3079 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters 1.025)) + (:y (meters -1.5)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3080 + :init-specs ((:texture (middot level-default-sprite)) + (:num 1.0) + (:x (meters -0.525)) + (:y (meters -2)) + (:z (meters 0)) + (:scale-x (meters 0.2)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 128.0) + (:fade-a -0.28444445) + (:timer (seconds 1.5)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat set-conerot)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-rtablec + :id 851 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3083 :flags (is-3d sp7) :period (seconds 0.267) :length (seconds 0.017)) + (sp-item 3084 :flags (is-3d sp7) :period (seconds 1.067) :length (seconds 0.017) :offset 10) + (sp-item 3085 :flags (sp6 sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3083 + :init-specs ((:texture (screen-00 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 0.46)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees -90)) + (:scale-y (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 8.0) + (:timer (seconds 0.267)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 + 5 + 0 + 0 + #x37f05100 + #x37f05200 + #x37f05300 + #x37f05400 + #x37f05500 + #x37f05600 + #x37f05700 + #x37f05800 + #x37f05900 + #x37f05a00 + #x37f05b00 + #x37f04c00 + #x37f04d00 + #x37f04e00 + #x37f04f00 + #x37f05000 + ) + ) + (:func 'sparticle-texture-animate) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3084 + :init-specs ((:texture (vinroom-small-monitor-08 hiphog-sprite)) + (:num 1.0) + (:x (meters 0.025)) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 0.46)) + (:rot-x (degrees 0)) + (:rot-y (degrees -90)) + (:rot-z (degrees -90)) + (:scale-y (meters 0.3)) + (:r 255.0) + (:g 255.0) + (:b 255.0) + (:a 64.0) + (:fade-a -0.7111111) + (:timer (seconds 1.067)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 80 0 0 #x37f06100 #x37f06200 #x37f06300 #x37f06400)) + (:func 'sparticle-texture-animate) + (:next-time (seconds 0.267)) + (:next-launcher 3086) + (:rotate-y (degrees 90)) + ) + ) + +;; failed to figure out what this is: +(defpart 3086 + :init-specs ((:a 64.0) (:fade-a -0.7111111) (:next-time (seconds 0.267)) (:next-launcher 3086)) + ) + +;; failed to figure out what this is: +(defpart 3085 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:x (meters 0.075)) + (:y (meters -0.1)) + (:scale-x (meters 1)) + (:rot-x (degrees 11.25)) + (:scale-y (meters 2)) + (:r 50.0 20.0) + (:g 0.0) + (:b 255.0) + (:a 2.0 1.0) + (:omega (degrees 1365.75)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1024.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-bigtable + :id 852 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3087 :flags (is-3d sp3 sp7)) (sp-item 3088 :flags (is-3d sp3 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3087 + :init-specs ((:texture (blue-panel hiphog-sprite)) + (:num 1.0) + (:z (meters 0)) + (:scale-x (meters 3.7)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 80.0) + (:g 220.0) + (:b 50.0) + (:a 128.0) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3088 + :init-specs ((:texture (twirl hiphog-sprite)) + (:num 1.0) + (:z (meters 0.01)) + (:scale-x (meters 3.7)) + (:rot-x (degrees -90)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 140.0) + (:rotvel-y (degrees 1.2)) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-center-sphere + :id 853 + :flags (sp0 sp6) + :bounds (static-bspherem 0 3 0 64) + :rotate ((degrees 90) (degrees 0) (degrees 0)) + :parts ((sp-item 3090 :flags (sp6)) + (sp-item 3091 :binding 3089) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3089 :flags (sp1 sp2 sp3)) + (sp-item 3092 :flags (sp6)) + (sp-item 3093 :flags (sp6)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + (sp-item 3094 :flags (is-3d sp1 sp3)) + ) + ) + +;; failed to figure out what this is: +(defpart 3090 + :init-specs ((:texture (vinroom-tv-circle hiphog-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 2)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 30.0 30.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3092 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 6)) + (:rot-x (degrees 45)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 24.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-4 glow)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3093 + :init-specs ((:texture (vol-light level-default-sprite)) + (:num 5.0) + (:y (meters 2.2)) + (:scale-x (meters 0.2) (meters 1)) + (:rot-x (degrees 45)) + (:rot-z (degrees 90)) + (:scale-y (meters 0.5)) + (:r 255.0) + (:g 0.0) + (:b 0.0) + (:a 0.0 15.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 0.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3094 + :init-specs ((:texture (holo-line hiphog-sprite)) + (:num 1.0) + (:y (meters 1.25)) + (:scale-x (meters 1.8)) + (:rot-z (degrees 0) (degrees 36000)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 60.0) + (:b 10.0) + (:a 100.0) + (:rotvel-y (degrees -0.2) 1 (degrees 0.4)) + (:timer (seconds -0.005)) + (:flags (sp-cpuinfo-flag-3 left-multiply-quat)) + ) + ) + +;; definition for function part-hiphog-sphere-vert-line-flicker +;; WARN: Return type mismatch int vs none. +(defun part-hiphog-sphere-vert-line-flicker ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (if (zero? (mod (-> arg1 timer) 5)) + (set! (-> arg2 r-g-b-a w) (rand-vu-float-range 10.0 100.0)) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpart 3091 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 0.5) + (:y (meters 0.55) (meters 1.5)) + (:scale-x (meters 0.1)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 0.0) + (:b 0.0) + (:a 128.0) + (:timer (seconds 4)) + (:flags (sp-cpuinfo-flag-3)) + ) + ) + +;; definition for function birth-func-hiphog-sphere +;; WARN: Return type mismatch int vs none. +(defun birth-func-hiphog-sphere ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (let ((v1-1 (-> arg4 sprite key))) + (when (nonzero? v1-1) + (let ((f0-2 (+ (- 5120.0 (-> arg2 x-y-z-sx y)) (-> v1-1 origin trans y)))) + (set! (-> arg1 radius) (sqrtf (- (* (-> arg1 radius) (-> arg1 radius)) (* f0-2 f0-2)))) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpart 3089 + :init-specs ((:texture (glow level-default-sprite)) + (:birth-func 'birth-func-hiphog-sphere) + (:num 1.0) + (:x (meters 0) (meters 160)) + (:y (meters 0)) + (:z (meters 0.9)) + (:scale-x (meters 0.02) (meters 0.06)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 80.0) + (:b 40.0) + (:a 0.0) + (:omega (degrees 0) (degrees 3600)) + (:vel-x (meters -0.005925926) (meters -0.005925926)) + (:vel-y (meters 0)) + (:vel-z (meters 0)) + (:fade-a 1.59375) + (:timer (seconds 4.4)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 ready-to-launch)) + (:next-time (seconds 0.535)) + (:next-launcher 3095) + ) + ) + +;; failed to figure out what this is: +(defpart 3095 + :init-specs ((:a 255.0) (:fade-a 0.0) (:next-time (seconds 1.667)) (:next-launcher 3096)) + ) + +;; failed to figure out what this is: +(defpart 3096 + :init-specs ((:fade-a -1.59375)) + ) + +;; failed to figure out what this is: +(defpartgroup group-cigar-glow + :id 854 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3097 :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 3097 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.2)) + (:rot-x (degrees 1.125)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 40.0) + (:b 10.0) + (:a 30.0 1.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 40.96) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-cigar-smoke + :id 855 + :flags (sp0 sp4 sp13) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3098 :flags (sp7))) + ) + +;; failed to figure out what this is: +(defpart 3098 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0) (meters 0.01)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 80.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 8.0 8.0) + (:scalevel-x (meters 0.00016666666) (meters 0.00016666666)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.010666667 -0.010666667) + (:accel-y (meters 0.000033333334) (meters 0.000033333334)) + (:friction 0.9) + (:timer (seconds 5)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 3.335)) + (:next-launcher 3099) + ) + ) + +;; failed to figure out what this is: +(defpart 3099 + :init-specs ((:scalevel-x (meters 0.00066666666) (meters 0.00066666666)) + (:scalevel-y (meters 0.00066666666) (meters 0.00066666666)) + (:friction 0.85) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-cigar-smoke-blow + :id 856 + :linger-duration (seconds 25) + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3100)) + ) + +;; failed to figure out what this is: +(defpart 3100 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 1.0) + (:scale-x (meters 0.03) (meters 0.03)) + (:rot-z (degrees -20) (degrees 40)) + (:scale-y :copy scale-x) + (:r 40.0 120.0) + (:g :copy r) + (:b :copy r) + (:a 8.0 32.0) + (:vel-x (meters 0.016666668)) + (:scalevel-x (meters 0.001) (meters 0.0016666667)) + (:scalevel-y (meters 0.00066666666) (meters 0.0013333333)) + (:fade-a -0.013333334 -0.013333334) + (:accel-y (meters 0) (meters 0.000033333334)) + (:accel-z (meters 0.000016666667) (meters 0.000016666667)) + (:friction 0.95 0.02) + (:timer (seconds 20)) + (:flags (sp-cpuinfo-flag-2)) + (:next-time (seconds 1.667)) + (:next-launcher 3101) + (:conerot-y (degrees 0) (degrees 10)) + (:rotate-y (degrees 200.00002)) + ) + ) + +;; failed to figure out what this is: +(defpart 3101 + :init-specs ((:scalevel-y (meters 0.00016666666) (meters 0.00016666666))) + ) + +;; failed to figure out what this is: +(defpartgroup group-cigar-ashes + :id 857 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3102) (sp-item 3103)) + ) + +;; failed to figure out what this is: +(defpart 3102 + :init-specs ((:texture (static1 level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 2.0) + (:scale-x (meters 0.03) (meters 0.01)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 50.0) + (:b 0.0) + (:a 64.0 64.0) + (:fade-a -1.28 -1.28) + (:accel-y (meters -0.00033333333) (meters -0.00033333333)) + (:friction 0.95 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40b000 #x40b100)) + ) + ) + +;; failed to figure out what this is: +(defpart 3103 + :init-specs ((:texture (specs level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 1.0 8.0) + (:scale-x (meters 0.01) (meters 0.01)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 40.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 16.0 64.0) + (:omega (degrees 0.0225)) + (:scalevel-x (meters 0.00066666666)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.32) + (:accel-y (meters -0.00033333333) (meters -0.00033333333)) + (:friction 0.95 0.02) + (:timer (seconds 0.335)) + (:flags (sp-cpuinfo-flag-2)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x404a00 #x406500 #x37f04500)) + (:func 'sparticle-motion-blur) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-cigar-ashes-spit + :id 858 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3104)) + ) + +;; failed to figure out what this is: +(defpart 3104 + :init-specs ((:texture (specs level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 2.0) + (:scale-x (meters 0.05) (meters 0.03)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 40.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 16.0 64.0) + (:omega (degrees 0.0225)) + (:vel-x (meters 0.0016666667)) + (:scalevel-x (meters 0.00033333333)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.10666667) + (:accel-y (meters -0.00016666666)) + (:friction 0.99) + (:timer (seconds 5)) + (:flags (sp-cpuinfo-flag-2 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x404a00 #x404a00 #x406500 #x37f04500)) + (:func 'sparticle-motion-blur) + (:conerot-y (degrees 0) (degrees 10)) + (:rotate-x (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-red-light + :id 859 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3105 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3105 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 64.0 64.0) + (:b 0.0) + (:a 32.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-ceiling-light + :id 860 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3106 :flags (sp6 sp7)) (sp-item 3107 :flags (sp6 sp7)) (sp-item 3108 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3106 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 1.1)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3107 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3108 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -1.1)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 192.0 64.0) + (:b 128.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-booth-ceiling-light + :id 861 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3109 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3109 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -209)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 20.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1638.4) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-booth-wall-light + :id 862 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3110 :flags (sp6 sp7)) (sp-item 3111 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3110 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters -0.3)) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -209)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1228.8) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3111 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.3)) + (:scale-x (meters 1)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees -127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 1228.8) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-bar-light + :id 863 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3112 :flags (sp6 sp7)) (sp-item 3113 :flags (sp6 sp7)) (sp-item 3114 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3112 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0.8)) + (:y (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.225)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.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 3113 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:y (meters 0.05)) + (:scale-x (meters 2)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.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 3114 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.8)) + (:y (meters 0.05)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.225)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.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: +(defpartgroup group-hiphog-booth-table-light + :id 864 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3115 :flags (sp6 sp7)) (sp-item 3116 :flags (sp6 sp7)) (sp-item 3117 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3115 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters 0.8)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3116 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3117 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:x (meters -0.8)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 2048.0) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-floor-light + :id 865 + :flags (sp4) + :bounds (static-bspherem 0 0 0 1) + :parts ((sp-item 3118 :flags (sp6 sp7)) (sp-item 3119 :flags (sp6 sp7)) (sp-item 3120 :flags (sp6 sp7))) + ) + +;; failed to figure out what this is: +(defpart 3118 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters 0.6)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3119 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 127)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 3120 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:z (meters -0.6)) + (:scale-x (meters 1.5)) + (:rot-x (degrees 0.9)) + (:rot-z (degrees 225.99998)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 192.0 64.0) + (:b 255.0) + (:a 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 819.2) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-neon-clock + :id 866 + :bounds (static-bspherem 0 0 0 4) + :parts ((sp-item 3121 :flags (is-3d)) + (sp-item 3122 :flags (is-3d)) + (sp-item 3123 :flags (is-3d) :hour-mask #b111111000000000000111111) + (sp-item 3124 :flags (is-3d) :hour-mask #b111111111111000000) + ) + ) + +;; definition for function birth-func-rotate-minute +;; WARN: Return type mismatch int vs none. +(defun birth-func-rotate-minute ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 minutes) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 1092.2667 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +;; definition for function birth-func-rotate-hour +;; WARN: Return type mismatch int vs none. +(defun birth-func-rotate-hour ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 hours) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 5461.3335 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +;; definition for function birth-func-rotate-second +;; WARN: Return type mismatch int vs none. +(defun birth-func-rotate-second ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (local-vars (v1-4 float) (v1-5 float)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (let* ((v1-0 *time-of-day*) + (f0-1 (the float (if v1-0 + (-> v1-0 0 seconds) + 0 + ) + ) + ) + ) + (set-vector! a1-1 (+ 16384.0 (* 1092.2667 f0-1)) 55238.84 49152.0 1.0) + ) + (quaternion-zxy! gp-0 a1-1) + ) + (cond + ((< (-> gp-0 w) 0.0) + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> gp-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) + ) + ) + 0 + (none) + ) + ) + +;; failed to figure out what this is: +(defpart 3122 + :init-specs ((:texture (hiphog-neon-clock-hand hiphog-sprite)) + (:birth-func 'birth-func-rotate-minute) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3121 + :init-specs ((:texture (hiphog-neon-clock-hand hiphog-sprite)) + (:birth-func 'birth-func-rotate-hour) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 2.5)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3123 + :init-specs ((:texture (hiphog-neon-clock-sun hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3124 + :init-specs ((:texture (hiphog-neon-clock-moon hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 128.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-neon-clock-small + :id 867 + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 3125 :flags (is-3d sp6)) + (sp-item 3126 :flags (is-3d sp6)) + (sp-item 3127 :flags (is-3d sp6) :hour-mask #b111110000000000001111111) + (sp-item 3128 :flags (is-3d sp6) :hour-mask #b111111111110000000) + ) + ) + +;; failed to figure out what this is: +(defpart 3126 + :init-specs ((:texture (hiphog-neon-clock-hand-small hiphog-sprite)) + (:birth-func 'birth-func-rotate-minute) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3125 + :init-specs ((:texture (hiphog-neon-clock-hand-small hiphog-sprite)) + (:birth-func 'birth-func-rotate-hour) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-x (degrees 90)) + (:rot-y (degrees 270)) + (:rot-z (degrees 270)) + (:scale-y (meters 2.5)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3127 + :init-specs ((:texture (hiphog-neon-clock-sun-small hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpart 3128 + :init-specs ((:texture (hiphog-neon-clock-moon-small hiphog-sprite)) + (:num 1.0) + (:y (meters 0)) + (:z (meters 0)) + (:scale-x (meters 4)) + (:rot-x (degrees 90)) + (:rot-y (degrees 180)) + (:rot-z (degrees 0)) + (:scale-y (meters 4)) + (:r 64.0 128.0) + (:g :copy r) + (:b :copy g) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2)) + (:rotate-y (degrees 33.436)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-hiphog-mirror + :id 868 + :bounds (static-bspherem 0 0 0 16) + :parts ((sp-item 3129 :flags (is-3d sp6))) + ) + +;; definition of type hiphog-mirror-wf-pt +(deftype hiphog-mirror-wf-pt (structure) + ((x float) + (y float) + ) + ) + +;; definition for method 3 of type hiphog-mirror-wf-pt +(defmethod inspect ((this hiphog-mirror-wf-pt)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" this 'hiphog-mirror-wf-pt) + (format #t "~1Tx: ~f~%" (-> this x)) + (format #t "~1Ty: ~f~%" (-> this y)) + (label cfg-4) + this + ) + +;; definition for symbol *hiphog-mirror-sheen-waveform*, type (inline-array ripple-wave) +(define *hiphog-mirror-sheen-waveform* (new 'static 'inline-array ripple-wave 6 + (new 'static 'ripple-wave :xmul 0.0625 :zmul 0.5) + (new 'static 'ripple-wave :offs 0.125 :zmul 0.375 :delta 0.9) + (new 'static 'ripple-wave :xdiv -13107 :zdiv #x3ecc :delta 0.5) + (new 'static 'ripple-wave :scale 1.0 :speed 0.52) + (new 'static 'ripple-wave :scale 0.5625 :offs 0.5 :xmul 0.625) + (new 'static 'ripple-wave :offs 0.875 :zdiv #x3f80 :zmul 1.0) + ) + ) + +;; definition for function hiphog-mirror-sheen-func +;; WARN: Return type mismatch int vs none. +(defun hiphog-mirror-sheen-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set-vector! s5-0 -1515.52 0.0 -95436.8 1.0) + (vector-! s5-0 (camera-pos) s5-0) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (let* ((f0-8 (+ 32768.0 (atan (-> s5-0 x) (-> s5-0 z)))) + (f0-9 (lerp-scale 0.0 1.0 f0-8 19478.756 45875.2)) + (a2-2 (the-as object (-> *hiphog-mirror-sheen-waveform* 0))) + (v1-4 (the-as ripple-wave a2-2)) + ) + (while (< (-> (the-as ripple-wave a2-2) scale) f0-9) + (set! v1-4 (the-as ripple-wave a2-2)) + (set! a2-2 (&-> (the-as (inline-array ripple-wave) a2-2) 0 xmul)) + ) + (let ((f0-12 (lerp 0.9 1.0 (lerp + (-> v1-4 offs) + (-> (the-as ripple-wave a2-2) offs) + (/ (- f0-9 (-> v1-4 scale)) (- (-> (the-as ripple-wave a2-2) scale) (-> v1-4 scale))) + ) + ) + ) + ) + (set! (-> arg2 fvec w) (* 128.0 f0-12 f0-12 f0-12)) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpart 3129 + :init-specs ((:texture (hiphog-mirror hiphog-sprite)) + (:num 1.0) + (:x (meters 0.2)) + (:y (meters -0.2)) + (:z (meters -0.99)) + (:scale-x (meters 17)) + (:rot-x (degrees 90)) + (:rot-y (degrees 0)) + (:rot-z (degrees 0)) + (:scale-y (meters 8.4)) + (:r 64.0) + (:g :copy r) + (:b :copy g) + (:a 96.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 left-multiply-quat)) + (:func 'hiphog-mirror-sheen-func) + (:rotate-y (degrees 33.436)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/hiphog/hiphog-scenes_REF.gc b/test/decompiler/reference/jak3/levels/hiphog/hiphog-scenes_REF.gc new file mode 100644 index 0000000000..4a5330ddb3 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/hiphog/hiphog-scenes_REF.gc @@ -0,0 +1,1275 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-hip-door-b hip-door-a hip-door-a-lod0-jg hip-door-a-idle-ja + ((hip-door-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 5) + ) + +;; definition of type hip-door-b +(deftype hip-door-b (com-airlock) + () + ) + +;; definition for method 3 of type hip-door-b +(defmethod inspect ((this hip-door-b)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type com-airlock inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-ashelin-effect ashelin-effect ashelin-effect-lod0-jg ashelin-effect-idle-ja + ((ashelin-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-bomb-bot-movie bomb-bot-movie bomb-bot-movie-lod0-jg bomb-bot-movie-idle-ja + ((bomb-bot-movie-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + :global-effects 64 + ) + +;; failed to figure out what this is: +(defskelgroup skel-samos-effect samos-effect samos-effect-lod0-jg samos-effect-idle-ja + ((samos-effect-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +;; definition for method 11 of type hip-door-b +(defmethod init-from-entity! ((this hip-door-b) (arg0 entity-actor)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (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 bot player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid)) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 20480.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-8 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-8 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 4) + (set-vector! (-> v1-8 local-sphere) 0.0 8192.0 0.0 16384.0) + ) + (let ((v1-10 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-10 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-10 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-10 prim-core action) (collide-action solid)) + (set! (-> v1-10 transform-index) 5) + (set-vector! (-> v1-10 local-sphere) 0.0 8192.0 0.0 16384.0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-13 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-hip-door-b" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (init-airlock! this) + (set! (-> this sound-open-loop) (static-sound-spec "wood-door-open" :group 0)) + (set! (-> this sound-open-stop) (static-sound-spec "wood-open-hit" :group 0)) + (set! (-> this sound-close-loop) (static-sound-spec "wood-door-close" :group 0)) + (set! (-> this sound-close-stop) (static-sound-spec "wood-close-hit" :group 0)) + (set! (-> this door-radius) 8192.0) + (go (method-of-object this close) #t) + ) + +;; definition of type hip-mirror +(deftype hip-mirror (process-drawable) + () + (:state-methods + idle + ) + ) + +;; definition for method 3 of type hip-mirror +(defmethod inspect ((this hip-mirror)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-hip-mirror hip-mirror 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 12)) + +;; failed to figure out what this is: +(defstate idle (hip-mirror) + :virtual #t + :code sleep-code + :post (behavior () + (let* ((f0-0 (vector-vector-distance (math-camera-pos) (-> self root trans))) + (f0-1 (lerp-scale 1.0 0.0 f0-0 40960.0 122880.0)) + ) + (ja :num-func num-func-identity :frame-num (ja-aframe f0-1 0)) + ) + (ja-post) + ) + ) + +;; definition for method 11 of type hip-mirror +(defmethod init-from-entity! ((this hip-mirror) (arg0 entity-actor)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-hip-mirror" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logior! (-> this skel status) (joint-control-status blend-shape)) + (go (method-of-object this idle)) + ) + +;; definition for function hiphog-activate +;; INFO: Used lq/sq +(defun hiphog-activate () + (let ((a0-1 (entity-by-name "hip-mirror-2"))) + (when a0-1 + (set! (-> *math-camera* mirror-trans quad) (-> a0-1 extra trans quad)) + (vector-rotate-y! (-> *math-camera* mirror-normal) (new 'static 'vector :x 1.0 :w 1.0) -10297.162) + ) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-cty-remote cty-remote cty-remote-lod0-jg cty-remote-idle-ja + ((cty-remote-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-purple-one purple-one purple-one-lod0-jg purple-one-idle-ja + ((purple-one-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "sewer-kg-met-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "sewer-kg-met-intro" + :parts 8 + :command-list '((930 (fadeout (frame-time-30 30))) (10000 (task-close! "sewer-kg-met-introduction"))) + :cut-list '(295 476 555 798) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 476) (798 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point #f + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "port-assault-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "port-assault-intro" + :parts 7 + :command-list '((0 (fadein (frame-time-30 10))) + (750 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-port-assault-introduction")) + ) + :cut-list '(29 327 380 540 674) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min 380) (540 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-hiphog" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-blow-barricade-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4 scf8) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-blow-barricade-intro" + :parts 10 + :command-list '((0 (fadein (frame-time-30 10))) + (125 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 125 240) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 125 240) + subsample-num + (new 'static 'bfloat :data 5.0) + ) + ) + (134 (part-tracker + "group-cigar-smoke-blow" + entity + "jinx-highres" + joint + "mouthsmoke" + track + #t + duration + (frame-range 134 145) + ) + ) + (279 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 279 517) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 279 517) + subsample-num + (new 'static 'bfloat :data 5.0) + ) + ) + (408 (part-tracker + "group-cigar-ashes" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 408 411) + ) + ) + (418 (part-tracker + "group-cigar-ashes" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 418 419) + ) + ) + (648 (part-tracker + "group-cigar-ashes-spit" + entity + "sidekick-highres" + joint + "tongueTip" + track + #f + duration + (frame-range 648 650) + ) + ) + (868 + (part-tracker + "group-cigar-glow" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 868 1086) + ) + (part-tracker + "group-cigar-smoke" + entity + "jinx-highres" + joint + "cigsmoke" + track + #t + duration + (frame-range 868 1086) + ) + ) + (1072 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-blow-barricade-introduction")) + ) + :cut-list '(59 127 171 198 224 278 394 503 507 590 663 866 946) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'hiphog + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min 278) (394 946)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cty-remote" + :level 'ltnjxhip + :art-group "skel-cty-remote" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jinx-highres" + :level 'ltnjxhip + :art-group "skel-jinx-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-bombbot" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-blow-barricade-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-blow-barricade-res" + :parts 3 + :command-list '((340 (fadeout (frame-time-30 10))) + (10000 + (send-event self 'user-data-set! (task-closed? "city-blow-barricade-resolution")) + (task-close! "city-blow-barricade-resolution") + ) + ) + :cut-list '(55 155 252) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jinx-highres" + :level 'ltnjxhip + :art-group "skel-jinx-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "cty-remote" + :level 'ltnjxhip + :art-group "skel-cty-remote" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "purple-one" + :level 'ltnjxhip + :art-group "skel-purple-one" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "hiphog-movie-nocity" + :borrow '((hiphog 0 ltnjxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete '(unless (send-event self 'user-data) (talker-spawn "powup014")) + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-port-fight-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-fight-intro" + :parts 15 + :command-list '((0 (fadein (frame-time-30 10))) + (1474 (part-tracker + "group-fma-hiphog-holo-glow" + entity + "bomb-bot-movie" + joint + "main" + track + #t + duration + (frame-range 1474 1614) + ) + ) + (1752 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-port-fight-introduction")) + ) + :cut-list '(108 136 199 223 369 475 521 586 696 731 854 1014 1089 1186 1334 1419 1614) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min 696) (731 1186) (1334 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "bomb-bot-movie" + :level 'ltnfxhip + :art-group "skel-bomb-bot-movie" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "ctyport-hiphog" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene + (new 'static 'scene + :name "city-sniper-fight-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-sniper-fight-intro" + :parts 5 + :command-list '((0 (fadein (frame-time-30 10))) + (590 (fadeout (frame-time-30 10))) + (10000 (task-close! "city-sniper-fight-introduction")) + ) + :cut-list '(113 218 329 417 454) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnjxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie" + :end-point "hiphog-movie" + :borrow '((hiphog 0 ltnjxhip special) + (ctywide-ff alias ctywide copy ctypesa special ctycara special ctycarb special ctypepa special) + ) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :scene-task #x89 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-port-attack-intro" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-attack-intro" + :parts 16 + :command-list '((0 (fadein (frame-time-30 10)) (kill "hiphog-hologram-part-1")) + (1 (apply ,(lambda :behavior scene-player + () + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (kill-by-type barge *active-pool*) + (none) + ) + ) + ) + (1790 (fadeout (frame-time-30 15))) + (10000 + (apply ,(lambda :behavior scene-player + () + (persist-with-delay *setting-control* #f (seconds 120) 'stop-boats? #t 0.0 0) + (persist-with-delay *setting-control* 'door (seconds 4) 'airlock #t 0.0 0) + (none) + ) + ) + (task-close! "city-port-attack-introduction") + ) + ) + :cut-list '(0 87 135 221 319 387 419 925 1071 1254 1358 1496 1553 1609 1688) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "ashelin-effect" + :level 'ltnfxhip + :art-group "skel-ashelin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "errol-effect" + :level 'ltnfxhip + :art-group "skel-errol-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "samos-effect" + :level 'ltnfxhip + :art-group "skel-samos-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'hiphog + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "hiphog-movie" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running '(sound-play-loop "hiphog-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "city-port-attack-intro-demo" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-24" + :art-group "scenecamera" + :anim "city-port-attack-intro" + :parts 16 + :command-list '((0 (fadein (frame-time-30 10)) (kill "hiphog-hologram-part-1")) + (1 (apply ,(lambda :behavior scene-player + () + (set-setting! 'stop-boats? #t 0.0 0) + (set-setting! 'airlock #f 0.0 0) + (kill-by-type barge *active-pool*) + (none) + ) + ) + ) + (1790 (fadeout (frame-time-30 15))) + (10000 + (apply ,(lambda :behavior scene-player + () + (persist-with-delay *setting-control* #f (seconds 120) 'stop-boats? #t 0.0 0) + (persist-with-delay *setting-control* 'door (seconds 4) 'airlock #t 0.0 0) + (none) + ) + ) + (task-close! "city-port-attack-introduction") + ) + ) + :cut-list '(0 87 135 221 319 387 419 925 1071 1254 1358 1496 1553 1609 1688) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "jakc-highres" + :level 'hiphog + :art-group "skel-jakc-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x80 + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'hiphog + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "torn-highres" + :level 'ltnfxhip + :art-group "skel-torn-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "ashelin-effect" + :level 'ltnfxhip + :art-group "skel-ashelin-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "errol-effect" + :level 'ltnfxhip + :art-group "skel-errol-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "samos-effect" + :level 'ltnfxhip + :art-group "skel-samos-effect" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "hiphog-movie-nocity" + :end-point "ctyport-attack-start" + :borrow '((hiphog 0 ltnfxhip special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-volume -1.0 + :music-delay 1500.0 + :on-running #f + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-fma-hiphog-holo-glow + :id 869 + :flags (sp0) + :bounds (static-bspherem 0 0 0 24) + :parts ((sp-item 3130 :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 3130 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 0.2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 10.0 10.0) + (:b 0.0) + (:a 10.0 10.0) + (:omega (degrees 6761.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/hover-nav-lpattack_REF.gc b/test/decompiler/reference/jak3/levels/stadium/hover-nav-lpattack_REF.gc new file mode 100644 index 0000000000..84c78cac9e --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/hover-nav-lpattack_REF.gc @@ -0,0 +1,1847 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *lpattack-adjacency*, type nav-network-data +(define *lpattack-adjacency* + (new 'static 'nav-network-data + :node-array (new 'static 'boxed-array :type nav-network-info + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :parent #f) + :pos (new 'static 'vector :x -1018060.8 :y 55050.24 :z -1175674.9 :w 1.0) + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 1 :dist 96256.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 1 :parent #f) + :pos (new 'static 'vector :x -1104117.8 :y 55050.24 :z -1218764.8 :w 1.0) + :index 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :dist 96256.0) + (new 'static 'nav-network-adjacency :index 2 :dist 153149.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 2 :parent #f) + :pos (new 'static 'vector :x -1256284.1 :y 55050.24 :z -1236049.9 :w 1.0) + :index 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 1 :dist 153149.44) + (new 'static 'nav-network-adjacency :index 3 :dist 200417.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 3 :parent #f) + :pos (new 'static 'vector :x -1442283.5 :y 129310.72 :z -1228349.5 :w 1.0) + :index 3 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 2 :dist 200417.28) + (new 'static 'nav-network-adjacency :index 4 :dist 154624.0) + (new 'static 'nav-network-adjacency :index 9 :dist 234004.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 4 :parent #f) + :pos (new 'static 'vector :x -1586831.4 :y 166256.64 :z -1187799.0 :w 1.0) + :index 4 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 3 :dist 154624.0) + (new 'static 'nav-network-adjacency :index 5 :dist 125788.16) + (new 'static 'nav-network-adjacency :index 9 :dist 167976.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 5 :parent #f) + :pos (new 'static 'vector :x -1702502.4 :y 119234.56 :z -1172684.8 :w 1.0) + :index 5 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 4 :dist 125788.16) + (new 'static 'nav-network-adjacency :index 6 :dist 139223.05) + (new 'static 'nav-network-adjacency :index 12 :dist 212254.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 6 :parent #f) + :pos (new 'static 'vector :x -1834844.1 :y 119234.56 :z -1215856.6 :w 1.0) + :index 6 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 5 :dist 139223.05) + (new 'static 'nav-network-adjacency :index 15 :dist 186736.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 7 :parent #f) + :pos (new 'static 'vector :x -1635532.8 :y 235601.92 :z -1578352.6 :w 1.0) + :index 7 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 8 :dist 125665.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 8 :parent #f) + :pos (new 'static 'vector :x -1611939.9 :y 304455.7 :z -1475911.6 :w 1.0) + :index 8 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 7 :dist 125665.28) + (new 'static 'nav-network-adjacency :index 9 :dist 155115.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 9 :parent #f) + :pos (new 'static 'vector :x -1620090.9 :y 235601.92 :z -1337139.2 :w 1.0) + :index 9 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 3 :dist 234004.48) + (new 'static 'nav-network-adjacency :index 4 :dist 167976.95) + (new 'static 'nav-network-adjacency :index 8 :dist 155115.52) + (new 'static 'nav-network-adjacency :index 12 :dist 123494.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 10 :parent #f) + :pos (new 'static 'vector :x -1790935.0 :y 225689.6 :z -1583022.1 :w 1.0) + :index 10 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 11 :dist 151060.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 11 :parent #f) + :pos (new 'static 'vector :x -1763205.1 :y 304455.7 :z -1457111.0 :w 1.0) + :index 11 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 10 :dist 151060.48) + (new 'static 'nav-network-adjacency :index 12 :dist 133038.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 12 :parent #f) + :pos (new 'static 'vector :x -1742315.5 :y 225689.6 :z -1351966.8 :w 1.0) + :index 12 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 5 :dist 212254.72) + (new 'static 'nav-network-adjacency :index 9 :dist 123494.4) + (new 'static 'nav-network-adjacency :index 11 :dist 133038.08) + (new 'static 'nav-network-adjacency :index 15 :dist 219217.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 13 :parent #f) + :pos (new 'static 'vector :x -2132664.2 :y 232079.36 :z -1513144.4 :w 1.0) + :index 13 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 14 :dist 144138.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 14 :parent #f) + :pos (new 'static 'vector :x -2047836.1 :y 304455.7 :z -1421762.5 :w 1.0) + :index 14 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 13 :dist 144138.23) + (new 'static 'nav-network-adjacency :index 15 :dist 167116.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 15 :parent #f) + :pos (new 'static 'vector :x -1955799.0 :y 232079.36 :z -1302528.0 :w 1.0) + :index 15 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 6 :dist 186736.64) + (new 'static 'nav-network-adjacency :index 12 :dist 219217.92) + (new 'static 'nav-network-adjacency :index 14 :dist 167116.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 16 :parent #f) + :pos (new 'static 'vector :x -1250590.8 :y 222126.08 :z -600023.06 :w 1.0) + :index 16 + :sub-graph 1 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 17 :dist 144752.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 17 :parent #f) + :pos (new 'static 'vector :x -1157775.4 :y 228352.0 :z -710901.75 :w 1.0) + :index 17 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 16 :dist 144752.64) + (new 'static 'nav-network-adjacency :index 18 :dist 85565.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 18 :parent #f) + :pos (new 'static 'vector :x -1087610.9 :y 179896.31 :z -717905.94 :w 1.0) + :index 18 + :sub-graph 1 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 17 :dist 85565.44) + (new 'static 'nav-network-adjacency :index 19 :dist 215654.4) + (new 'static 'nav-network-adjacency :index 20 :dist 247398.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 19 :parent #f) + :pos (new 'static 'vector :x -946872.3 :y 39239.68 :z -800931.8 :w 1.0) + :index 19 + :sub-graph 1 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 18 :dist 215654.4) + (new 'static 'nav-network-adjacency :index 20 :dist 153190.4) + (new 'static 'nav-network-adjacency :index 32 :dist 159989.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 20 :parent #f) + :pos (new 'static 'vector :x -1046609.94 :y 39239.68 :z -917217.25 :w 1.0) + :index 20 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 18 :dist 247398.4) + (new 'static 'nav-network-adjacency :index 19 :dist 153190.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 21 :parent #f) + :pos (new 'static 'vector :x -1437737.0 :y 163430.4 :z -290037.75 :w 1.0) + :index 21 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 22 :dist 151756.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 22 :parent #f) + :pos (new 'static 'vector :x -1552343.0 :y 224665.6 :z -368435.2 :w 1.0) + :index 22 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 21 :dist 151756.8) + (new 'static 'nav-network-adjacency :index 23 :dist 180756.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 23 :parent #f) + :pos (new 'static 'vector :x -1688371.2 :y 163430.4 :z -470589.44 :w 1.0) + :index 23 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 22 :dist 180756.48) + (new 'static 'nav-network-adjacency :index 24 :dist 239984.64) + (new 'static 'nav-network-adjacency :index 25 :dist 313384.97) + (new 'static 'nav-network-adjacency :index 26 :dist 131358.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 24 :parent #f) + :pos (new 'static 'vector :x -1667440.6 :y 116080.64 :z -704921.6 :w 1.0) + :index 24 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 23 :dist 239984.64) + (new 'static 'nav-network-adjacency :index 27 :dist 306135.03) + (new 'static 'nav-network-adjacency :index 31 :dist 142090.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 25 :parent #f) + :pos (new 'static 'vector :x -1907548.1 :y 116080.64 :z -689520.6 :w 1.0) + :index 25 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 23 :dist 313384.97) + (new 'static 'nav-network-adjacency :index 27 :dist 148398.08) + (new 'static 'nav-network-adjacency :index 31 :dist 138854.4) + (new 'static 'nav-network-adjacency :index 35 :dist 172154.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 26 :parent #f) + :pos (new 'static 'vector :x -1818378.2 :y 149463.05 :z -458096.62 :w 1.0) + :index 26 + :sub-graph 2 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 23 :dist 131358.72) + (new 'static 'nav-network-adjacency :index 27 :dist 141352.95) + (new 'static 'nav-network-adjacency :index 28 :dist 208076.8) + (new 'static 'nav-network-adjacency :index 31 :dist 314122.25) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 27 :parent #f) + :pos (new 'static 'vector :x -1926881.2 :y 116080.64 :z -542392.3 :w 1.0) + :index 27 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 24 :dist 306135.03) + (new 'static 'nav-network-adjacency :index 25 :dist 148398.08) + (new 'static 'nav-network-adjacency :index 26 :dist 141352.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 28 :parent #f) + :pos (new 'static 'vector :x -1849753.6 :y 224665.6 :z -266649.6 :w 1.0) + :index 28 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 26 :dist 208076.8) + (new 'static 'nav-network-adjacency :index 29 :dist 118210.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 29 :parent #f) + :pos (new 'static 'vector :x -1910005.8 :y 224665.6 :z -164945.92 :w 1.0) + :index 29 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 28 :dist 118210.56) + (new 'static 'nav-network-adjacency :index 30 :dist 110796.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 30 :parent #f) + :pos (new 'static 'vector :x -1991639.0 :y 224665.6 :z -89989.12 :w 1.0) + :index 30 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 29 :dist 110796.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 31 :parent #f) + :pos (new 'static 'vector :x -1794048.0 :y 116080.64 :z -769474.56 :w 1.0) + :index 31 + :sub-graph 2 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 24 :dist 142090.23) + (new 'static 'nav-network-adjacency :index 25 :dist 138854.4) + (new 'static 'nav-network-adjacency :index 26 :dist 314122.25) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 32 :parent #f) + :pos (new 'static 'vector :x -809615.4 :y 105472.0 :z -849551.4 :w 1.0) + :index 32 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 19 :dist 159989.77) + (new 'static 'nav-network-adjacency :index 33 :dist 211435.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 33 :parent #f) + :pos (new 'static 'vector :x -618127.4 :y 126074.88 :z -936878.06 :w 1.0) + :index 33 + :sub-graph 1 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 32 :dist 211435.52) + (new 'static 'nav-network-adjacency :index 34 :dist 145858.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 34 :parent #f) + :pos (new 'static 'vector :x -589168.6 :y 126074.88 :z -1079869.5 :w 1.0) + :index 34 + :sub-graph 1 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 33 :dist 145858.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 35 :parent #f) + :pos (new 'static 'vector :x -2017976.4 :y 116080.64 :z -821616.6 :w 1.0) + :index 35 + :sub-graph 2 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 25 :dist 172154.88) + (new 'static 'nav-network-adjacency :index 36 :dist 169041.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 36 :parent #f) + :pos (new 'static 'vector :x -2052751.4 :y 116080.64 :z -987054.06 :w 1.0) + :index 36 + :sub-graph 2 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 35 :dist 169041.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 37 :parent #f) + :pos (new 'static 'vector :x -1771192.4 :y 131522.56 :z -173056.0 :w 1.0) + :index 37 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 138362.88) + (new 'static 'nav-network-adjacency :index 39 :dist 127098.88) + (new 'static 'nav-network-adjacency :index 42 :dist 122511.36) + (new 'static 'nav-network-adjacency :index 43 :dist 197386.23) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 38 :parent #f) + :pos (new 'static 'vector :x -1812029.5 :y 131522.56 :z -40837.12 :w 1.0) + :index 38 + :sub-graph 3 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 37 :dist 138362.88) + (new 'static 'nav-network-adjacency :index 40 :dist 209592.31) + (new 'static 'nav-network-adjacency :index 42 :dist 180879.36) + (new 'static 'nav-network-adjacency :index 43 :dist 133160.95) + (new 'static 'nav-network-adjacency :index 44 :dist 253132.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 39 :parent #f) + :pos (new 'static 'vector :x -1650196.5 :y 131522.56 :z -212008.95 :w 1.0) + :index 39 + :sub-graph 3 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 37 :dist 127098.88) + (new 'static 'nav-network-adjacency :index 42 :dist 120872.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 40 :parent #f) + :pos (new 'static 'vector :x -1829314.5 :y 131522.56 :z 168017.92 :w 1.0) + :index 40 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 209592.31) + (new 'static 'nav-network-adjacency :index 41 :dist 192225.28) + (new 'static 'nav-network-adjacency :index 43 :dist 223027.2) + (new 'static 'nav-network-adjacency :index 44 :dist 145653.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 41 :parent #f) + :pos (new 'static 'vector :x -1866711.0 :y 131522.56 :z 356597.75 :w 1.0) + :index 41 + :sub-graph 3 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 40 :dist 192225.28) + (new 'static 'nav-network-adjacency :index 44 :dist 251453.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 42 :parent #f) + :pos (new 'static 'vector :x -1693245.5 :y 41738.24 :z -143482.88 :w 1.0) + :index 42 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 37 :dist 122511.36) + (new 'static 'nav-network-adjacency :index 38 :dist 180879.36) + (new 'static 'nav-network-adjacency :index 39 :dist 120872.96) + (new 'static 'nav-network-adjacency :index 43 :dist 141434.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 43 :parent #f) + :pos (new 'static 'vector :x -1720565.8 :y 41738.24 :z -4710.4 :w 1.0) + :index 43 + :sub-graph 3 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 37 :dist 197386.23) + (new 'static 'nav-network-adjacency :index 38 :dist 133160.95) + (new 'static 'nav-network-adjacency :index 40 :dist 223027.2) + (new 'static 'nav-network-adjacency :index 42 :dist 141434.88) + (new 'static 'nav-network-adjacency :index 44 :dist 179814.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 44 :parent #f) + :pos (new 'static 'vector :x -1734656.0 :y 21012.48 :z 173342.72 :w 1.0) + :index 44 + :sub-graph 3 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 38 :dist 253132.8) + (new 'static 'nav-network-adjacency :index 40 :dist 145653.77) + (new 'static 'nav-network-adjacency :index 41 :dist 251453.44) + (new 'static 'nav-network-adjacency :index 43 :dist 179814.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 45 :parent #f) + :pos (new 'static 'vector :x -1265049.6 :y 222904.31 :z -860282.9 :w 1.0) + :index 45 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 46 :dist 74178.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 46 :parent #f) + :pos (new 'static 'vector :x -1286881.2 :y 252313.6 :z -795811.8 :w 1.0) + :index 46 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 45 :dist 74178.56) + (new 'static 'nav-network-adjacency :index 47 :dist 153559.05) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 47 :parent #f) + :pos (new 'static 'vector :x -1300111.4 :y 252313.6 :z -642826.25 :w 1.0) + :index 47 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 46 :dist 153559.05) + (new 'static 'nav-network-adjacency :index 48 :dist 200581.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 48 :parent #f) + :pos (new 'static 'vector :x -1313996.8 :y 121978.88 :z -490946.56 :w 1.0) + :index 48 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 47 :dist 200581.12) + (new 'static 'nav-network-adjacency :index 51 :dist 101539.84) + (new 'static 'nav-network-adjacency :index 56 :dist 193945.6) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 49 :parent #f) + :pos (new 'static 'vector :x -1129635.9 :y 186818.56 :z -654704.6 :w 1.0) + :index 49 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 50 :dist 103833.6) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 50 :parent #f) + :pos (new 'static 'vector :x -1194270.8 :y 186818.56 :z -573399.06 :w 1.0) + :index 50 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 49 :dist 103833.6) + (new 'static 'nav-network-adjacency :index 51 :dist 165355.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 51 :parent #f) + :pos (new 'static 'vector :x -1235230.8 :y 121978.88 :z -426926.1 :w 1.0) + :index 51 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index 48 :dist 101539.84) + (new 'static 'nav-network-adjacency :index 50 :dist 165355.52) + (new 'static 'nav-network-adjacency :index 54 :dist 121118.72) + (new 'static 'nav-network-adjacency :index 55 :dist 183336.95) + (new 'static 'nav-network-adjacency :index 56 :dist 148930.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 52 :parent #f) + :pos (new 'static 'vector :x -1028505.6 :y 253992.95 :z -476610.56 :w 1.0) + :index 52 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 53 :dist 109363.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 53 :parent #f) + :pos (new 'static 'vector :x -1104773.1 :y 280207.38 :z -402759.7 :w 1.0) + :index 53 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 52 :dist 109363.2) + (new 'static 'nav-network-adjacency :index 54 :dist 171171.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 54 :parent #f) + :pos (new 'static 'vector :x -1142292.5 :y 121978.88 :z -349265.9 :w 1.0) + :index 54 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 51 :dist 121118.72) + (new 'static 'nav-network-adjacency :index 53 :dist 171171.84) + (new 'static 'nav-network-adjacency :index 55 :dist 111984.64) + (new 'static 'nav-network-adjacency :index 56 :dist 173957.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 55 :parent #f) + :pos (new 'static 'vector :x -1191731.2 :y 121978.88 :z -248832.0 :w 1.0) + :index 55 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 51 :dist 183336.95) + (new 'static 'nav-network-adjacency :index 54 :dist 111984.64) + (new 'static 'nav-network-adjacency :index 56 :dist 126115.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 56 :parent #f) + :pos (new 'static 'vector :x -1308262.4 :y 121978.88 :z -297082.88 :w 1.0) + :index 56 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 48 :dist 193945.6) + (new 'static 'nav-network-adjacency :index 51 :dist 148930.56) + (new 'static 'nav-network-adjacency :index 54 :dist 173957.12) + (new 'static 'nav-network-adjacency :index 55 :dist 126115.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 57 :parent #f) + :pos (new 'static 'vector :x -131276.8 :y 198000.64 :z -389447.7 :w 1.0) + :index 57 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 58 :dist 171008.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 58 :parent #f) + :pos (new 'static 'vector :x -186982.4 :y 136888.31 :z -539156.5 :w 1.0) + :index 58 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 57 :dist 171008.0) + (new 'static 'nav-network-adjacency :index 59 :dist 144957.44) + (new 'static 'nav-network-adjacency :index 63 :dist 110632.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 59 :parent #f) + :pos (new 'static 'vector :x -291471.38 :y 62586.88 :z -606740.5 :w 1.0) + :index 59 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 58 :dist 144957.44) + (new 'static 'nav-network-adjacency :index 60 :dist 92037.12) + (new 'static 'nav-network-adjacency :index 63 :dist 156549.12) + (new 'static 'nav-network-adjacency :index #x6f :dist 81879.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 60 :parent #f) + :pos (new 'static 'vector :x -295280.62 :y 93470.72 :z -693370.9 :w 1.0) + :index 60 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 59 :dist 92037.12) + (new 'static 'nav-network-adjacency :index 62 :dist 167116.8) + (new 'static 'nav-network-adjacency :index 64 :dist 140861.44) + (new 'static 'nav-network-adjacency :index #x6f :dist 84828.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 61 :parent #f) + :pos (new 'static 'vector :x -28753.92 :y 198000.64 :z -779100.2 :w 1.0) + :index 61 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 62 :dist 137297.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 62 :parent #f) + :pos (new 'static 'vector :x -142745.6 :y 125911.04 :z -753500.2 :w 1.0) + :index 62 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 60 :dist 167116.8) + (new 'static 'nav-network-adjacency :index 61 :dist 137297.92) + (new 'static 'nav-network-adjacency :index 64 :dist 59432.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 63 :parent #f) + :pos (new 'static 'vector :x -135331.84 :y 72663.04 :z -612966.4 :w 1.0) + :index 63 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 58 :dist 110632.96) + (new 'static 'nav-network-adjacency :index 59 :dist 156549.12) + (new 'static 'nav-network-adjacency :index 64 :dist 126320.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 64 :parent #f) + :pos (new 'static 'vector :x -162693.12 :y 72663.04 :z -736256.0 :w 1.0) + :index 64 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 60 :dist 140861.44) + (new 'static 'nav-network-adjacency :index 62 :dist 59432.96) + (new 'static 'nav-network-adjacency :index 63 :dist 126320.64) + (new 'static 'nav-network-adjacency :index 65 :dist 160972.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 65 :parent #f) + :pos (new 'static 'vector :x -111861.76 :y 72663.04 :z -888995.8 :w 1.0) + :index 65 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 64 :dist 160972.8) + (new 'static 'nav-network-adjacency :index 66 :dist 126033.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 66 :parent #f) + :pos (new 'static 'vector :x -160522.23 :y 72663.04 :z -1005281.25 :w 1.0) + :index 66 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 65 :dist 126033.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 67 :parent #f) + :pos (new 'static 'vector :x -399523.84 :y 213483.52 :z -1489469.5 :w 1.0) + :index 67 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 68 :dist 95354.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 68 :parent #f) + :pos (new 'static 'vector :x -346030.1 :y 231219.2 :z -1412587.5 :w 1.0) + :index 68 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 67 :dist 95354.88) + (new 'static 'nav-network-adjacency :index 69 :dist 177807.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 69 :parent #f) + :pos (new 'static 'vector :x -230440.95 :y 130990.08 :z -1321984.0 :w 1.0) + :index 69 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 68 :dist 177807.36) + (new 'static 'nav-network-adjacency :index 70 :dist 122961.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 70 :parent #f) + :pos (new 'static 'vector :x -165806.08 :y 62586.88 :z -1242849.2 :w 1.0) + :index 70 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 69 :dist 122961.92) + (new 'static 'nav-network-adjacency :index 71 :dist 133079.05) + (new 'static 'nav-network-adjacency :index #x72 :dist 141352.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 71 :parent #f) + :pos (new 'static 'vector :x -39772.16 :y 62586.88 :z -1285652.5 :w 1.0) + :index 71 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 70 :dist 133079.05) + (new 'static 'nav-network-adjacency :index 72 :dist 139059.2) + (new 'static 'nav-network-adjacency :index 74 :dist 125419.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 72 :parent #f) + :pos (new 'static 'vector :x 99205.12 :y 62586.88 :z -1280532.5 :w 1.0) + :index 72 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 71 :dist 139059.2) + (new 'static 'nav-network-adjacency :index 76 :dist 231464.95) + (new 'static 'nav-network-adjacency :index 77 :dist 301629.44) + (new 'static 'nav-network-adjacency :index 78 :dist 214302.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 73 :parent #f) + :pos (new 'static 'vector :x -22855.68 :y 258867.2 :z -1458790.4 :w 1.0) + :index 73 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 74 :dist 137052.16) + (new 'static 'nav-network-adjacency :index 75 :dist 82862.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 74 :parent #f) + :pos (new 'static 'vector :x -35758.08 :y 155443.2 :z -1369825.2 :w 1.0) + :index 74 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 71 :dist 125419.52) + (new 'static 'nav-network-adjacency :index 73 :dist 137052.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 75 :parent #f) + :pos (new 'static 'vector :x -23019.52 :y 246333.44 :z -1540710.4 :w 1.0) + :index 75 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 73 :dist 82862.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 76 :parent #f) + :pos (new 'static 'vector :x 322273.28 :y 102522.88 :z -1327677.5 :w 1.0) + :index 76 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 72 :dist 231464.95) + (new 'static 'nav-network-adjacency :index 77 :dist 210124.8) + (new 'static 'nav-network-adjacency :index 78 :dist 251371.52) + (new 'static 'nav-network-adjacency :index 79 :dist 247808.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 77 :parent #f) + :pos (new 'static 'vector :x 351109.12 :y 102522.88 :z -1119559.6 :w 1.0) + :index 77 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 72 :dist 301629.44) + (new 'static 'nav-network-adjacency :index 76 :dist 210124.8) + (new 'static 'nav-network-adjacency :index 78 :dist 139796.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 78 :parent #f) + :pos (new 'static 'vector :x 218234.88 :y 62586.88 :z -1102397.5 :w 1.0) + :index 78 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 72 :dist 214302.72) + (new 'static 'nav-network-adjacency :index 76 :dist 251371.52) + (new 'static 'nav-network-adjacency :index 77 :dist 139796.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 79 :parent #f) + :pos (new 'static 'vector :x 451952.62 :y 258867.2 :z -1469644.8 :w 1.0) + :index 79 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 76 :dist 247808.0) + (new 'static 'nav-network-adjacency :index 80 :dist 107438.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 80 :parent #f) + :pos (new 'static 'vector :x 534200.3 :y 231464.95 :z -1533091.9 :w 1.0) + :index 80 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 79 :dist 107438.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 81 :parent #f) + :pos (new 'static 'vector :x 402923.53 :y 302120.97 :z -72089.6 :w 1.0) + :index 81 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 82 :dist 231383.05) + (new 'static 'nav-network-adjacency :index 92 :dist 96460.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 82 :parent #f) + :pos (new 'static 'vector :x 286597.12 :y 125132.8 :z -165191.69 :w 1.0) + :index 82 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 81 :dist 231383.05) + (new 'static 'nav-network-adjacency :index 83 :dist 129802.24) + (new 'static 'nav-network-adjacency :index 88 :dist 197550.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 83 :parent #f) + :pos (new 'static 'vector :x 273940.47 :y 125132.8 :z -294379.53 :w 1.0) + :index 83 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 82 :dist 129802.24) + (new 'static 'nav-network-adjacency :index 84 :dist 120954.88) + (new 'static 'nav-network-adjacency :index 88 :dist 223395.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 84 :parent #f) + :pos (new 'static 'vector :x 300318.72 :y 125132.8 :z -412426.25 :w 1.0) + :index 84 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 83 :dist 120954.88) + (new 'static 'nav-network-adjacency :index 85 :dist 108503.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 85 :parent #f) + :pos (new 'static 'vector :x 277053.44 :y 125132.8 :z -518389.75 :w 1.0) + :index 85 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 84 :dist 108503.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 86 :parent #f) + :pos (new 'static 'vector :x 86425.6 :y 287989.75 :z 1515.52 :w 1.0) + :index 86 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 87 :dist 103669.76) + (new 'static 'nav-network-adjacency :index 88 :dist 235765.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 87 :parent #f) + :pos (new 'static 'vector :x 63528.96 :y 243752.95 :z 92446.72 :w 1.0) + :index 87 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 86 :dist 103669.76) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 88 :parent #f) + :pos (new 'static 'vector :x 89088.0 :y 125132.8 :z -168919.05 :w 1.0) + :index 88 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index 82 :dist 197550.08) + (new 'static 'nav-network-adjacency :index 83 :dist 223395.84) + (new 'static 'nav-network-adjacency :index 86 :dist 235765.77) + (new 'static 'nav-network-adjacency :index 89 :dist 106741.76) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 89 :parent #f) + :pos (new 'static 'vector :x -16670.72 :y 125132.8 :z -154501.12 :w 1.0) + :index 89 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 88 :dist 106741.76) + (new 'static 'nav-network-adjacency :index 90 :dist 151920.64) + (new 'static 'nav-network-adjacency :index 91 :dist 237363.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 90 :parent #f) + :pos (new 'static 'vector :x -166584.31 :y 125132.8 :z -179036.16 :w 1.0) + :index 90 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 89 :dist 151920.64) + (new 'static 'nav-network-adjacency :index 91 :dist 147046.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 91 :parent #f) + :pos (new 'static 'vector :x -181862.4 :y 150773.77 :z -323010.56 :w 1.0) + :index 91 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 89 :dist 237363.2) + (new 'static 'nav-network-adjacency :index 90 :dist 147046.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 92 :parent #f) + :pos (new 'static 'vector :x 474152.97 :y 289423.38 :z -8273.92 :w 1.0) + :index 92 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 81 :dist 96460.8) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 93 :parent #f) + :pos (new 'static 'vector :x -979886.06 :y 234577.92 :z -65945.6 :w 1.0) + :index 93 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 201195.52) + (new 'static 'nav-network-adjacency :index 95 :dist 151633.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 94 :parent #f) + :pos (new 'static 'vector :x -819855.4 :y 113909.76 :z -48250.88 :w 1.0) + :index 94 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 93 :dist 201195.52) + (new 'static 'nav-network-adjacency :index 96 :dist 78684.16) + (new 'static 'nav-network-adjacency :index 97 :dist 117268.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 95 :parent #f) + :pos (new 'static 'vector :x -1128079.4 :y 234577.92 :z -97976.32 :w 1.0) + :index 95 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 93 :dist 151633.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 96 :parent #f) + :pos (new 'static 'vector :x -752476.2 :y 113909.76 :z -88842.24 :w 1.0) + :index 96 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 78684.16) + (new 'static 'nav-network-adjacency :index #x75 :dist 148971.52) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 97 :parent #f) + :pos (new 'static 'vector :x -860938.25 :y 113909.76 :z 61603.84 :w 1.0) + :index 97 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 94 :dist 117268.48) + (new 'static 'nav-network-adjacency :index 98 :dist 108625.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 98 :parent #f) + :pos (new 'static 'vector :x -812359.7 :y 113909.76 :z 158760.95 :w 1.0) + :index 98 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 97 :dist 108625.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 99 :parent #f) + :pos (new 'static 'vector :x -75898.88 :y 267386.88 :z 73932.8 :w 1.0) + :index 99 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index 100 :dist 149135.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index 100 :parent #f) + :pos (new 'static 'vector :x -111288.32 :y 186163.2 :z 193904.64 :w 1.0) + :index 100 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 99 :dist 149135.36) + (new 'static 'nav-network-adjacency :index #x65 :dist 219095.05) + (new 'static 'nav-network-adjacency :index #x66 :dist 287539.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x65 :parent #f) + :pos (new 'static 'vector :x -318095.38 :y 113909.76 :z 192757.77 :w 1.0) + :index #x65 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 100 :dist 219095.05) + (new 'static 'nav-network-adjacency :index #x66 :dist 306995.2) + (new 'static 'nav-network-adjacency :index #x77 :dist 123617.28) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x66 :parent #f) + :pos (new 'static 'vector :x -175677.44 :y 113909.76 :z 464691.2 :w 1.0) + :index #x66 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 100 :dist 287539.2) + (new 'static 'nav-network-adjacency :index #x65 :dist 306995.2) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x67 :parent #f) + :pos (new 'static 'vector :x -889733.1 :y 112476.16 :z 546816.0 :w 1.0) + :index #x67 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x68 :dist 124149.76) + (new 'static 'nav-network-adjacency :index #x69 :dist 128491.52) + (new 'static 'nav-network-adjacency :index #x6b :dist 335749.12) + (new 'static 'nav-network-adjacency :index #x6d :dist 146350.08) + (new 'static 'nav-network-adjacency :index #x7a :dist 150077.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x68 :parent #f) + :pos (new 'static 'vector :x -894648.3 :y 112476.16 :z 670842.9 :w 1.0) + :index #x68 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x67 :dist 124149.76) + (new 'static 'nav-network-adjacency :index #x6a :dist 276725.75) + (new 'static 'nav-network-adjacency :index #x6c :dist 149626.88) + (new 'static 'nav-network-adjacency :index #x6e :dist 120791.04) + (new 'static 'nav-network-adjacency :index #x7a :dist 187924.48) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x69 :parent #f) + :pos (new 'static 'vector :x -995123.2 :y 112476.16 :z 473251.84 :w 1.0) + :index #x69 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 128491.52) + (new 'static 'nav-network-adjacency :index #x6a :dist 190668.8) + (new 'static 'nav-network-adjacency :index #x6c :dist 332349.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6a :parent #f) + :pos (new 'static 'vector :x -1154621.5 :y 125992.96 :z 576880.6 :w 1.0) + :index #x6a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x68 :dist 276725.75) + (new 'static 'nav-network-adjacency :index #x69 :dist 190668.8) + (new 'static 'nav-network-adjacency :index #x6b :dist 223313.92) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6b :parent #f) + :pos (new 'static 'vector :x -1113866.2 :y 125992.96 :z 796426.25 :w 1.0) + :index #x6b + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 335749.12) + (new 'static 'nav-network-adjacency :index #x6a :dist 223313.92) + (new 'static 'nav-network-adjacency :index #x6c :dist 151797.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6c :parent #f) + :pos (new 'static 'vector :x -962846.75 :y 112476.16 :z 804003.8 :w 1.0) + :index #x6c + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x68 :dist 149626.88) + (new 'static 'nav-network-adjacency :index #x69 :dist 332349.44) + (new 'static 'nav-network-adjacency :index #x6b :dist 151797.77) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6d :parent #f) + :pos (new 'static 'vector :x -911687.7 :y 257146.88 :z 549396.5 :w 1.0) + :index #x6d + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x67 :dist 146350.08) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6e :parent #f) + :pos (new 'static 'vector :x -923033.6 :y 225239.05 :z 703447.06 :w 1.0) + :index #x6e + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x68 :dist 120791.04) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x6f :parent #f) + :pos (new 'static 'vector :x -361144.3 :y 62586.88 :z -649748.5 :w 1.0) + :index #x6f + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index 59 :dist 81879.04) + (new 'static 'nav-network-adjacency :index 60 :dist 84828.16) + (new 'static 'nav-network-adjacency :index #x70 :dist 131686.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x70 :parent #f) + :pos (new 'static 'vector :x -492707.84 :y 62586.88 :z -643563.5 :w 1.0) + :index #x70 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x6f :dist 131686.4) + (new 'static 'nav-network-adjacency :index #x71 :dist 226304.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x71 :parent #f) + :pos (new 'static 'vector :x -715939.8 :y 62586.88 :z -606535.7 :w 1.0) + :index #x71 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x70 :dist 226304.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x72 :parent #f) + :pos (new 'static 'vector :x -143237.12 :y 128450.56 :z -1119846.4 :w 1.0) + :index #x72 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 70 :dist 141352.95) + (new 'static 'nav-network-adjacency :index #x73 :dist 183992.31) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x73 :parent #f) + :pos (new 'static 'vector :x -62668.8 :y 62586.88 :z -968089.6 :w 1.0) + :index #x73 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x72 :dist 183992.31) + (new 'static 'nav-network-adjacency :index #x74 :dist 235847.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x74 :parent #f) + :pos (new 'static 'vector :x -90972.16 :y 62586.88 :z -733962.25 :w 1.0) + :index #x74 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x73 :dist 235847.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x75 :parent #f) + :pos (new 'static 'vector :x -636395.5 :y 113909.76 :z -182190.08 :w 1.0) + :index #x75 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index 96 :dist 148971.52) + (new 'static 'nav-network-adjacency :index #x76 :dist 105594.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x76 :parent #f) + :pos (new 'static 'vector :x -542883.8 :y 113909.76 :z -231219.2 :w 1.0) + :index #x76 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x75 :dist 105594.88) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x77 :parent #f) + :pos (new 'static 'vector :x -439418.88 :y 113909.76 :z 169164.8 :w 1.0) + :index #x77 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x65 :dist 123617.28) + (new 'static 'nav-network-adjacency :index #x78 :dist 130703.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x78 :parent #f) + :pos (new 'static 'vector :x -570081.25 :y 113909.76 :z 165191.69 :w 1.0) + :index #x78 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x77 :dist 130703.36) + (new 'static 'nav-network-adjacency :index #x79 :dist 95846.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x79 :parent #f) + :pos (new 'static 'vector :x -664657.94 :y 113909.76 :z 149749.77 :w 1.0) + :index #x79 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x78 :dist 95846.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7a :parent #f) + :pos (new 'static 'vector :x -740597.75 :y 113909.76 :z 563240.94 :w 1.0) + :index #x7a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x67 :dist 150077.44) + (new 'static 'nav-network-adjacency :index #x68 :dist 187924.48) + (new 'static 'nav-network-adjacency :index #x7b :dist 251166.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7b :parent #f) + :pos (new 'static 'vector :x -493199.38 :y 113909.76 :z 520028.16 :w 1.0) + :index #x7b + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7a :dist 251166.72) + (new 'static 'nav-network-adjacency :index #x7c :dist 175964.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7c :parent #f) + :pos (new 'static 'vector :x -343736.3 :y 113909.76 :z 427130.88 :w 1.0) + :index #x7c + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x7b :dist 175964.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7d :parent #f) + :pos (new 'static 'vector :x 91791.36 :y 100474.88 :z 776069.1 :w 1.0) + :index #x7d + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x7e :dist 118333.44) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7e :parent #f) + :pos (new 'static 'vector :x -22200.32 :y 100474.88 :z 807772.2 :w 1.0) + :index #x7e + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7d :dist 118333.44) + (new 'static 'nav-network-adjacency :index #x7f :dist 170352.64) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x7f :parent #f) + :pos (new 'static 'vector :x -133898.23 :y 100474.88 :z 936345.6 :w 1.0) + :index #x7f + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x7e :dist 170352.64) + (new 'static 'nav-network-adjacency :index #x80 :dist 183132.16) + (new 'static 'nav-network-adjacency :index #x83 :dist 188293.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x80 :parent #f) + :pos (new 'static 'vector :x -186163.2 :y 100474.88 :z 1111859.2 :w 1.0) + :index #x80 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7f :dist 183132.16) + (new 'static 'nav-network-adjacency :index #x81 :dist 179036.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x81 :parent #f) + :pos (new 'static 'vector :x -197017.6 :y 100474.88 :z 1290567.6 :w 1.0) + :index #x81 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x80 :dist 179036.16) + (new 'static 'nav-network-adjacency :index #x82 :dist 128000.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x82 :parent #f) + :pos (new 'static 'vector :x -268369.9 :y 100474.88 :z 1396817.9 :w 1.0) + :index #x82 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x81 :dist 128000.0) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x83 :parent #f) + :pos (new 'static 'vector :x 20930.56 :y 205905.92 :z 917299.2 :w 1.0) + :index #x83 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x7f :dist 188293.12) + (new 'static 'nav-network-adjacency :index #x84 :dist 100229.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x84 :parent #f) + :pos (new 'static 'vector :x 86384.64 :y 152494.08 :z 971284.5 :w 1.0) + :index #x84 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x83 :dist 100229.12) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x85 :parent #f) + :pos (new 'static 'vector :x 615833.6 :y 100474.88 :z 1019289.6 :w 1.0) + :index #x85 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x8f :dist 200663.05) + (new 'static 'nav-network-adjacency :index #x90 :dist 191733.77) + (new 'static 'nav-network-adjacency :index #x91 :dist 243916.8) + (new 'static 'nav-network-adjacency :index #x96 :dist 127016.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x86 :parent #f) + :pos (new 'static 'vector :x 613130.25 :y 100474.88 :z 642826.25 :w 1.0) + :index #x86 + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x87 :dist 165109.77) + (new 'static 'nav-network-adjacency :index #x90 :dist 184893.44) + (new 'static 'nav-network-adjacency :index #x91 :dist 220569.6) + (new 'static 'nav-network-adjacency :index #x9b :dist 219586.56) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x87 :parent #f) + :pos (new 'static 'vector :x 660602.9 :y 100474.88 :z 484720.62 :w 1.0) + :index #x87 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x86 :dist 165109.77) + (new 'static 'nav-network-adjacency :index #x88 :dist 165683.2) + (new 'static 'nav-network-adjacency :index #x9b :dist 226263.05) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x88 :parent #f) + :pos (new 'static 'vector :x 824074.25 :y 100474.88 :z 511795.2 :w 1.0) + :index #x88 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x87 :dist 165683.2) + (new 'static 'nav-network-adjacency :index #x89 :dist 230277.12) + (new 'static 'nav-network-adjacency :index #x93 :dist 122552.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x89 :parent #f) + :pos (new 'static 'vector :x 1053450.2 :y 100474.88 :z 532234.25 :w 1.0) + :index #x89 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x88 :dist 230277.12) + (new 'static 'nav-network-adjacency :index #x8a :dist 141967.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8a :parent #f) + :pos (new 'static 'vector :x 1178214.4 :y 100474.88 :z 599982.06 :w 1.0) + :index #x8a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x89 :dist 141967.36) + (new 'static 'nav-network-adjacency :index #x8b :dist 272670.72) + (new 'static 'nav-network-adjacency :index #x97 :dist 206684.16) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8b :parent #f) + :pos (new 'static 'vector :x 1195540.5 :y 100474.88 :z 872120.3 :w 1.0) + :index #x8b + :count 4 + :adjacency (new 'static 'inline-array nav-network-adjacency 4 + (new 'static 'nav-network-adjacency :index #x8a :dist 272670.72) + (new 'static 'nav-network-adjacency :index #x8c :dist 286351.38) + (new 'static 'nav-network-adjacency :index #x94 :dist 123043.84) + (new 'static 'nav-network-adjacency :index #x9a :dist 214343.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8c :parent #f) + :pos (new 'static 'vector :x 1220649.0 :y 100474.88 :z 1157365.8 :w 1.0) + :index #x8c + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8b :dist 286351.38) + (new 'static 'nav-network-adjacency :index #x8d :dist 188825.6) + (new 'static 'nav-network-adjacency :index #x9a :dist 314531.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8d :parent #f) + :pos (new 'static 'vector :x 1057873.9 :y 100474.88 :z 1253089.2 :w 1.0) + :index #x8d + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8c :dist 188825.6) + (new 'static 'nav-network-adjacency :index #x8e :dist 295976.97) + (new 'static 'nav-network-adjacency :index #x95 :dist 123535.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8e :parent #f) + :pos (new 'static 'vector :x 762224.6 :y 100474.88 :z 1238876.1 :w 1.0) + :index #x8e + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x8d :dist 295976.97) + (new 'static 'nav-network-adjacency :index #x8f :dist 120504.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x8f :parent #f) + :pos (new 'static 'vector :x 643563.5 :y 100474.88 :z 1217986.5 :w 1.0) + :index #x8f + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x85 :dist 200663.05) + (new 'static 'nav-network-adjacency :index #x8e :dist 120504.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x90 :parent #f) + :pos (new 'static 'vector :x 619806.75 :y 100474.88 :z 827596.8 :w 1.0) + :index #x90 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x85 :dist 191733.77) + (new 'static 'nav-network-adjacency :index #x86 :dist 184893.44) + (new 'static 'nav-network-adjacency :index #x91 :dist 141598.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x91 :parent #f) + :pos (new 'static 'vector :x 478576.62 :y 100474.88 :z 817643.5 :w 1.0) + :index #x91 + :count 5 + :adjacency (new 'static 'inline-array nav-network-adjacency 5 + (new 'static 'nav-network-adjacency :index #x85 :dist 243916.8) + (new 'static 'nav-network-adjacency :index #x86 :dist 220569.6) + (new 'static 'nav-network-adjacency :index #x90 :dist 141598.72) + (new 'static 'nav-network-adjacency :index #x92 :dist 164167.69) + (new 'static 'nav-network-adjacency :index #x9b :dist 307691.53) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x92 :parent #f) + :pos (new 'static 'vector :x 315678.72 :y 100474.88 :z 796958.75 :w 1.0) + :index #x92 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x91 :dist 164167.69) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x93 :parent #f) + :pos (new 'static 'vector :x 807608.3 :y -20725.76 :z 519168.0 :w 1.0) + :index #x93 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x88 :dist 122552.32) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x94 :parent #f) + :pos (new 'static 'vector :x 1208811.5 :y -20725.76 :z 888791.06 :w 1.0) + :index #x94 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x8b :dist 123043.84) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x95 :parent #f) + :pos (new 'static 'vector :x 1081262.1 :y -20725.76 :z 1247764.5 :w 1.0) + :index #x95 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x8d :dist 123535.36) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x96 :parent #f) + :pos (new 'static 'vector :x 620789.75 :y -20725.76 :z 1057013.8 :w 1.0) + :index #x96 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x85 :dist 127016.96) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x97 :parent #f) + :pos (new 'static 'vector :x 1384775.6 :y 100474.88 :z 593715.2 :w 1.0) + :index #x97 + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8a :dist 206684.16) + (new 'static 'nav-network-adjacency :index #x98 :dist 135208.95) + (new 'static 'nav-network-adjacency :index #x99 :dist 191774.72) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x98 :parent #f) + :pos (new 'static 'vector :x 1388871.6 :y 100474.88 :z 458588.16 :w 1.0) + :index #x98 + :count 1 + :adjacency (new 'static 'inline-array nav-network-adjacency 1 + (new 'static 'nav-network-adjacency :index #x97 :dist 135208.95) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x99 :parent #f) + :pos (new 'static 'vector :x 1428193.2 :y 100474.88 :z 780533.75 :w 1.0) + :index #x99 + :count 2 + :adjacency (new 'static 'inline-array nav-network-adjacency 2 + (new 'static 'nav-network-adjacency :index #x97 :dist 191774.72) + (new 'static 'nav-network-adjacency :index #x9a :dist 125542.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x9a :parent #f) + :pos (new 'static 'vector :x 1407467.5 :y 100474.88 :z 904314.9 :w 1.0) + :index #x9a + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x8b :dist 214343.69) + (new 'static 'nav-network-adjacency :index #x8c :dist 314531.84) + (new 'static 'nav-network-adjacency :index #x99 :dist 125542.4) + ) + ) + (new 'static 'nav-network-info + :path-node (new 'static 'nav-network-path-node :row-index #x9b :parent #f) + :pos (new 'static 'vector :x 436101.12 :y 100474.88 :z 512901.12 :w 1.0) + :index #x9b + :count 3 + :adjacency (new 'static 'inline-array nav-network-adjacency 3 + (new 'static 'nav-network-adjacency :index #x86 :dist 219586.56) + (new 'static 'nav-network-adjacency :index #x87 :dist 226263.05) + (new 'static 'nav-network-adjacency :index #x91 :dist 307691.53) + ) + ) + ) + :edge-array (new 'static 'boxed-array :type nav-network-edge + (new 'static 'nav-network-edge :end-index 1 :radius 26910.72) + (new 'static 'nav-network-edge :start-index 1 :end-index 2 :radius 33300.48) + (new 'static 'nav-network-edge :start-index 3 :end-index 2 :radius 58245.12) + (new 'static 'nav-network-edge :start-index 3 :end-index 4 :radius 40263.68) + (new 'static 'nav-network-edge :start-index 5 :end-index 4 :radius 39976.96) + (new 'static 'nav-network-edge :start-index 6 :end-index 5 :radius 33136.64) + (new 'static 'nav-network-edge :start-index 7 :end-index 8 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 8 :end-index 9 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 9 :end-index 3 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 9 :end-index 4 :radius 23961.6) + (new 'static 'nav-network-edge :start-index 10 :end-index 11 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 11 :end-index 12 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 12 :end-index 5 :radius 23920.64) + (new 'static 'nav-network-edge :start-index 12 :end-index 9 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 13 :end-index 14 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 14 :end-index 15 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 15 :end-index 6 :radius 25518.08) + (new 'static 'nav-network-edge :start-index 15 :end-index 12 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 16 :end-index 17 :radius 34447.36 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 17 :end-index 18 :radius 44195.84 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 18 :end-index 19 :radius 29040.64 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 19 :end-index 20 :radius 65536.0 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 19 :end-index 32 :radius 30842.88 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 20 :end-index 18 :radius 38666.24 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 21 :end-index 22 :radius 32727.04 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 22 :end-index 23 :radius 44728.32 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 23 :end-index 24 :radius 75612.16 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 23 :end-index 25 :radius 75120.64 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 24 :end-index 27 :radius 84828.16 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 25 :end-index 31 :radius 72908.8 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 25 :end-index 35 :radius 16384.0 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 23 :radius 76308.48 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 27 :radius 82206.72 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 28 :radius 43048.96 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 26 :end-index 31 :radius 77168.64 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 27 :end-index 25 :radius 83066.88 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 28 :end-index 29 :radius 30187.52 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 29 :end-index 30 :radius 25518.08 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 31 :end-index 24 :radius 76267.52 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 32 :end-index 33 :radius 25108.48 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 33 :end-index 34 :radius 45219.84 :sub-graph 1) + (new 'static 'nav-network-edge :start-index 35 :end-index 36 :radius 16384.0 :sub-graph 2) + (new 'static 'nav-network-edge :start-index 37 :end-index 38 :radius 45506.56 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 37 :end-index 39 :radius 34979.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 37 :end-index 43 :radius 51159.04 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 38 :end-index 40 :radius 54927.36 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 38 :end-index 44 :radius 48291.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 40 :end-index 41 :radius 56975.36 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 37 :radius 58777.6 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 38 :radius 70164.48 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 39 :radius 43704.32 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 42 :end-index 43 :radius 33382.4 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 38 :radius 55459.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 40 :radius 43827.2 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 43 :end-index 44 :radius 36536.32 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 44 :end-index 40 :radius 38051.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 44 :end-index 41 :radius 41123.84 :sub-graph 3) + (new 'static 'nav-network-edge :start-index 45 :end-index 46 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 46 :end-index 47 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 47 :end-index 48 :radius 31170.56) + (new 'static 'nav-network-edge :start-index 48 :end-index 51 :radius 31662.08) + (new 'static 'nav-network-edge :start-index 49 :end-index 50 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 50 :end-index 51 :radius 34938.88) + (new 'static 'nav-network-edge :start-index 51 :end-index 54 :radius 27361.28) + (new 'static 'nav-network-edge :start-index 51 :end-index 55 :radius 26296.32) + (new 'static 'nav-network-edge :start-index 51 :end-index 56 :radius 28835.84) + (new 'static 'nav-network-edge :start-index 52 :end-index 53 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 53 :end-index 54 :radius 21995.52) + (new 'static 'nav-network-edge :start-index 54 :end-index 55 :radius 31006.72) + (new 'static 'nav-network-edge :start-index 55 :end-index 56 :radius 24698.88) + (new 'static 'nav-network-edge :start-index 56 :end-index 48 :radius 23388.16) + (new 'static 'nav-network-edge :start-index 56 :end-index 54 :radius 29368.32) + (new 'static 'nav-network-edge :start-index 57 :end-index 58 :radius 29696.0) + (new 'static 'nav-network-edge :start-index 58 :end-index 59 :radius 37232.64) + (new 'static 'nav-network-edge :start-index 58 :end-index 63 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 59 :end-index 60 :radius 44728.32) + (new 'static 'nav-network-edge :start-index 59 :end-index 63 :radius 39075.84) + (new 'static 'nav-network-edge :start-index 60 :end-index 62 :radius 36249.6) + (new 'static 'nav-network-edge :start-index 60 :end-index #x6f :radius 28057.6) + (new 'static 'nav-network-edge :start-index 61 :end-index 62 :radius 38297.6) + (new 'static 'nav-network-edge :start-index 62 :end-index 64 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 63 :end-index 64 :radius 49520.64) + (new 'static 'nav-network-edge :start-index 64 :end-index 60 :radius 29900.8) + (new 'static 'nav-network-edge :start-index 64 :end-index 65 :radius 59637.76) + (new 'static 'nav-network-edge :start-index 65 :end-index 66 :radius 52920.32) + (new 'static 'nav-network-edge :start-index 67 :end-index 68 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 68 :end-index 69 :radius 36167.68) + (new 'static 'nav-network-edge :start-index 69 :end-index 70 :radius 61562.88) + (new 'static 'nav-network-edge :start-index 70 :end-index 71 :radius 51650.56) + (new 'static 'nav-network-edge :start-index 70 :end-index #x72 :radius 37150.72) + (new 'static 'nav-network-edge :start-index 71 :end-index 72 :radius 55377.92) + (new 'static 'nav-network-edge :start-index 72 :end-index 76 :radius 38707.2) + (new 'static 'nav-network-edge :start-index 72 :end-index 77 :radius 50176.0) + (new 'static 'nav-network-edge :start-index 73 :end-index 74 :radius 26501.12) + (new 'static 'nav-network-edge :start-index 73 :end-index 75 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 74 :end-index 71 :radius 43827.2) + (new 'static 'nav-network-edge :start-index 76 :end-index 77 :radius 38420.48) + (new 'static 'nav-network-edge :start-index 77 :end-index 78 :radius 44072.96) + (new 'static 'nav-network-edge :start-index 78 :end-index 72 :radius 42147.84) + (new 'static 'nav-network-edge :start-index 78 :end-index 76 :radius 49315.84) + (new 'static 'nav-network-edge :start-index 79 :end-index 76 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 80 :end-index 79 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 81 :end-index 82 :radius 34078.72) + (new 'static 'nav-network-edge :start-index 82 :end-index 83 :radius 64962.56) + (new 'static 'nav-network-edge :start-index 82 :end-index 88 :radius 56279.04) + (new 'static 'nav-network-edge :start-index 83 :end-index 84 :radius 66437.12) + (new 'static 'nav-network-edge :start-index 83 :end-index 88 :radius 54272.0) + (new 'static 'nav-network-edge :start-index 84 :end-index 85 :radius 53821.44) + (new 'static 'nav-network-edge :start-index 86 :end-index 87 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 86 :end-index 88 :radius 42598.4) + (new 'static 'nav-network-edge :start-index 88 :end-index 89 :radius 35266.56) + (new 'static 'nav-network-edge :start-index 89 :end-index 90 :radius 54968.32) + (new 'static 'nav-network-edge :start-index 90 :end-index 91 :radius 39731.2) + (new 'static 'nav-network-edge :start-index 91 :end-index 89 :radius 45219.84) + (new 'static 'nav-network-edge :start-index 92 :end-index 81 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 93 :end-index 94 :radius 43827.2) + (new 'static 'nav-network-edge :start-index 93 :end-index 95 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 94 :end-index 96 :radius 62914.56) + (new 'static 'nav-network-edge :start-index 94 :end-index 97 :radius 57303.04) + (new 'static 'nav-network-edge :start-index 96 :end-index #x75 :radius 53698.56) + (new 'static 'nav-network-edge :start-index 97 :end-index 98 :radius 64593.92) + (new 'static 'nav-network-edge :start-index 99 :end-index 100 :radius 16384.0) + (new 'static 'nav-network-edge :start-index 100 :end-index #x65 :radius 44605.44) + (new 'static 'nav-network-edge :start-index #x65 :end-index #x66 :radius 55132.16) + (new 'static 'nav-network-edge :start-index #x65 :end-index #x77 :radius 35266.56) + (new 'static 'nav-network-edge :start-index #x66 :end-index 100 :radius 36536.32) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x68 :radius 50053.12) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x69 :radius 55009.28) + (new 'static 'nav-network-edge :start-index #x67 :end-index #x6b :radius 59064.32) + (new 'static 'nav-network-edge :start-index #x68 :end-index #x6a :radius 84541.44) + (new 'static 'nav-network-edge :start-index #x68 :end-index #x7a :radius 49274.88) + (new 'static 'nav-network-edge :start-index #x69 :end-index #x6a :radius 69427.2) + (new 'static 'nav-network-edge :start-index #x69 :end-index #x6c :radius 63078.4) + (new 'static 'nav-network-edge :start-index #x6a :end-index #x6b :radius 74055.68) + (new 'static 'nav-network-edge :start-index #x6b :end-index #x6c :radius 84295.68) + (new 'static 'nav-network-edge :start-index #x6c :end-index #x68 :radius 37519.36) + (new 'static 'nav-network-edge :start-index #x6d :end-index #x67 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x6e :end-index #x68 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x6f :end-index 59 :radius 30023.68) + (new 'static 'nav-network-edge :start-index #x6f :end-index #x70 :radius 37355.52) + (new 'static 'nav-network-edge :start-index #x70 :end-index #x71 :radius 32194.56) + (new 'static 'nav-network-edge :start-index #x72 :end-index #x73 :radius 49930.24) + (new 'static 'nav-network-edge :start-index #x73 :end-index #x74 :radius 39075.84) + (new 'static 'nav-network-edge :start-index #x75 :end-index #x76 :radius 43704.32) + (new 'static 'nav-network-edge :start-index #x77 :end-index #x78 :radius 30801.92) + (new 'static 'nav-network-edge :start-index #x78 :end-index #x79 :radius 37232.64) + (new 'static 'nav-network-edge :start-index #x7a :end-index #x67 :radius 44113.92) + (new 'static 'nav-network-edge :start-index #x7a :end-index #x7b :radius 56770.56) + (new 'static 'nav-network-edge :start-index #x7b :end-index #x7c :radius 66764.8) + (new 'static 'nav-network-edge :start-index #x7d :end-index #x7e :radius 53370.88) + (new 'static 'nav-network-edge :start-index #x7e :end-index #x7f :radius 54476.8) + (new 'static 'nav-network-edge :start-index #x7f :end-index #x80 :radius 53084.16) + (new 'static 'nav-network-edge :start-index #x80 :end-index #x81 :radius 48087.04) + (new 'static 'nav-network-edge :start-index #x81 :end-index #x82 :radius 43294.72) + (new 'static 'nav-network-edge :start-index #x83 :end-index #x7f :radius 20193.28) + (new 'static 'nav-network-edge :start-index #x83 :end-index #x84 :radius 16384.0) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x87 :radius 62914.56) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x90 :radius 65372.16) + (new 'static 'nav-network-edge :start-index #x86 :end-index #x9b :radius 74506.24) + (new 'static 'nav-network-edge :start-index #x87 :end-index #x88 :radius 71598.08) + (new 'static 'nav-network-edge :start-index #x88 :end-index #x89 :radius 86343.68) + (new 'static 'nav-network-edge :start-index #x89 :end-index #x8a :radius 95559.68) + (new 'static 'nav-network-edge :start-index #x8a :end-index #x8b :radius 55418.88) + (new 'static 'nav-network-edge :start-index #x8a :end-index #x97 :radius 80691.2) + (new 'static 'nav-network-edge :start-index #x8b :end-index #x8c :radius 90521.6) + (new 'static 'nav-network-edge :start-index #x8c :end-index #x8d :radius 81510.4) + (new 'static 'nav-network-edge :start-index #x8d :end-index #x8e :radius 79708.16) + (new 'static 'nav-network-edge :start-index #x8e :end-index #x8f :radius 96296.96) + (new 'static 'nav-network-edge :start-index #x8f :end-index #x85 :radius 77905.92) + (new 'static 'nav-network-edge :start-index #x90 :end-index #x85 :radius 70901.76) + (new 'static 'nav-network-edge :start-index #x90 :end-index #x91 :radius 58900.48) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x85 :radius 65945.6) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x86 :radius 70819.84) + (new 'static 'nav-network-edge :start-index #x91 :end-index #x92 :radius 55746.56) + (new 'static 'nav-network-edge :start-index #x93 :end-index #x88 :radius 27402.24) + (new 'static 'nav-network-edge :start-index #x94 :end-index #x8b :radius 31948.8) + (new 'static 'nav-network-edge :start-index #x95 :end-index #x8d :radius 34447.36) + (new 'static 'nav-network-edge :start-index #x96 :end-index #x85 :radius 32358.4) + (new 'static 'nav-network-edge :start-index #x97 :end-index #x98 :radius 59596.8) + (new 'static 'nav-network-edge :start-index #x97 :end-index #x99 :radius 40140.8) + (new 'static 'nav-network-edge :start-index #x99 :end-index #x9a :radius 42352.64) + (new 'static 'nav-network-edge :start-index #x9a :end-index #x8b :radius 34611.2) + (new 'static 'nav-network-edge :start-index #x9a :end-index #x8c :radius 30760.96) + (new 'static 'nav-network-edge :start-index #x9b :end-index #x87 :radius 70860.8) + (new 'static 'nav-network-edge :start-index #x9b :end-index #x91 :radius 60416.0) + ) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/king-rider_REF.gc b/test/decompiler/reference/jak3/levels/stadium/king-rider_REF.gc new file mode 100644 index 0000000000..dbfa0c344f --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/king-rider_REF.gc @@ -0,0 +1,277 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type king-rider +(deftype king-rider (process-focusable) + ((parent (pointer vehicle) :override) + (front-back-interp float) + (left-right-interp float) + (up-down-interp float) + (complain-time time-frame) + (complain-speech int32) + (last-moved-time time-frame) + ) + (:state-methods + idle + die + ) + ) + +;; definition for method 3 of type king-rider +(defmethod inspect ((this king-rider)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tfront-back-interp: ~f~%" (-> this front-back-interp)) + (format #t "~2Tleft-right-interp: ~f~%" (-> this left-right-interp)) + (format #t "~2Tup-down-interp: ~f~%" (-> this up-down-interp)) + (format #t "~2Tcomplain-time: ~D~%" (-> this complain-time)) + (format #t "~2Tcomplain-speech: ~D~%" (-> this complain-speech)) + (format #t "~2Tlast-moved-time: ~D~%" (-> this last-moved-time)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-king-rider king-rider king-rider-lod0-jg king-rider-idle-ja + ((king-rider-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) + +;; definition for function king-pilot-trans +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defbehavior king-pilot-trans king-rider () + (when (and *target* (focus-test? *target* pilot-riding)) + (let ((s5-0 (-> *target* pilot))) + (when (nonzero? s5-0) + (let ((gp-0 (new 'stack-no-clear 'matrix))) + (set! (-> gp-0 uvec x) (* 182.04445 (* 0.5454545 (the float (current-time))))) + (set! (-> gp-0 uvec z) (sin (-> gp-0 uvec x))) + (set! (-> gp-0 uvec w) (cos (-> gp-0 uvec x))) + (set! (-> gp-0 uvec y) (seconds-per-frame)) + (set! (-> gp-0 rvec quad) (-> s5-0 local-accel quad)) + (let ((f1-6 (+ (* 0.03 (-> gp-0 uvec z)) (* -1.0 (-> gp-0 rvec x) (-> s5-0 left-right-accel-factor))))) + (+! (-> self left-right-interp) (* (- f1-6 (-> self left-right-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + (set! (-> self left-right-interp) (fmax -1.0 (fmin 1.0 (-> self left-right-interp)))) + (let ((f1-15 (+ (* 0.03 (-> gp-0 uvec w)) (* -1.0 (-> gp-0 rvec z) (-> s5-0 front-back-accel-factor))))) + (+! (-> self front-back-interp) (* (- f1-15 (-> self front-back-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + (set! (-> self front-back-interp) (fmax -1.0 (fmin 1.0 (-> self front-back-interp)))) + (let ((f1-24 (+ (* 0.03 (-> gp-0 uvec w)) (* -1.0 (-> gp-0 rvec y) (-> s5-0 up-down-accel-factor))))) + (+! (-> self up-down-interp) (* (- f1-24 (-> self up-down-interp)) (fmin 1.0 (* 8.0 (-> gp-0 uvec y))))) + ) + ) + (set! (-> self up-down-interp) (fmax -1.0 (fmin 1.0 (-> self up-down-interp)))) + ) + ) + ) + 0 + (none) + ) + +;; definition for function king-pilot-wcar-anim-loop +;; WARN: new jak 2 until loop case, check carefully +(defbehavior king-pilot-wcar-anim-loop king-rider () + (ja-channel-set! 3) + (ja :group! king-rider-pilot-car-turn-back-ja) + (ja :chan 1 :group! king-rider-pilot-car-turn-front-ja) + (ja :chan 2 :group! king-rider-pilot-car-up-down-ja) + (until #f + (let ((f30-0 (* 5.0 (+ 1.0 (-> self left-right-interp))))) + (ja :num-func num-func-identity :frame-num (ja-aframe f30-0 0)) + (let ((gp-1 (-> self skel root-channel 1))) + (let ((f0-3 (* 0.5 (+ 1.0 (-> self front-back-interp))))) + (set! (-> gp-1 frame-interp 1) f0-3) + (set! (-> gp-1 frame-interp 0) f0-3) + ) + (set! (-> gp-1 num-func) num-func-identity) + (set! (-> gp-1 frame-num) (ja-aframe f30-0 1)) + ) + ) + (let ((f0-6 (* 5.0 (- 1.0 (-> self up-down-interp)))) + (gp-2 (-> self skel root-channel 2)) + ) + (let ((f1-7 (fabs (-> self up-down-interp)))) + (set! (-> gp-2 frame-interp 1) f1-7) + (set! (-> gp-2 frame-interp 0) f1-7) + ) + (set! (-> gp-2 num-func) num-func-identity) + (set! (-> gp-2 frame-num) (ja-aframe f0-6 2)) + ) + (suspend) + ) + #f + ) + +;; failed to figure out what this is: +(defstate idle (king-rider) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (local-vars (v0-0 object)) + (case message + (('attack-invinc) + (go-virtual die) + ) + (('hide) + (set! v0-0 (logior (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('unhide) + (set! v0-0 (logclear (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + ) + ) + :trans (behavior () + (local-vars (v1-26 float)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (king-pilot-trans) + (cond + ((and *target* + (focus-test? *target* pilot-riding) + (nonzero? (-> *target* pilot)) + (-> self parent) + (-> self parent 0) + (= *target* (find-rider (-> self parent 0))) + ) + (let ((v1-14 (-> *target* pilot))) + (when (time-elapsed? (-> self complain-time) (seconds 3)) + (let* ((f0-0 1228800.0) + (f0-2 (* f0-0 f0-0)) + (a0-7 (-> v1-14 accel-array)) + ) + (when (or (< f0-2 (+ (* (-> a0-7 0 x) (-> a0-7 0 x)) (* (-> a0-7 0 z) (-> a0-7 0 z)))) + (< 4915200.0 (fabs (-> v1-14 accel-array 0 y))) + ) + (set! (-> self complain-speech) (mod (+ (-> self complain-speech) (rand-vu-int-range 2 6)) 9)) + (set-time! (-> self complain-time)) + ) + ) + ) + ) + (let* ((f0-4 20480.0) + (f0-6 (* f0-4 f0-4)) + ) + (.lvf vf1 (&-> (-> *target* control transv) quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-26 vf1) + (if (< f0-6 v1-26) + (set-time! (-> self last-moved-time)) + ) + ) + (if (time-elapsed? (-> self last-moved-time) (seconds 8)) + (set! (-> self last-moved-time) (+ (current-time) (seconds 24))) + ) + ) + (else + (set-time! (-> self last-moved-time)) + ) + ) + ) + ) + :code (behavior () + (king-pilot-wcar-anim-loop) + (sleep-code) + ) + :post ja-post + ) + +;; failed to figure out what this is: +(defstate die (king-rider) + :virtual #t + :code (behavior () + (cleanup-for-death self) + ) + ) + +;; definition for function king-rider-init-by-other +;; INFO: Used lq/sq +(defbehavior king-rider-init-by-other king-rider ((arg0 vehicle)) + (let ((s5-0 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) + (set! (-> s5-0 penetrated-by) (the-as penetrate -1)) + (let ((v1-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-3 transform-index) 3) + (set-vector! (-> v1-3 local-sphere) 0.0 0.0 0.0 4096.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-3) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-6 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) + ) + (set! (-> self root) s5-0) + ) + (set! (-> self root trans quad) (-> arg0 root trans quad)) + (quaternion-copy! (-> self root quat) (-> arg0 root quat)) + (set! (-> self level) (level-get *level* 'lpattack)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-king-rider" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((a1-8 (get-best-seat arg0 (-> self root trans) (vehicle-seat-flag vsf1) 0))) + (when (!= a1-8 -1) + (put-rider-in-seat arg0 a1-8 self) + (logior! (-> self focus-status) (focus-status pilot-riding)) + ) + ) + (set! (-> self complain-time) 0) + (set-time! (-> self last-moved-time)) + (send-event + arg0 + 'attack + #f + (static-attack-info + :mask (vehicle-impulse-factor) + ((id (new-attack-id)) (damage 2.0) (vehicle-damage-factor 0.0) (vehicle-impulse-factor 0.0)) + ) + ) + (go-virtual idle) + ) + +;; definition for function king-rider-spawn +;; WARN: Return type mismatch process vs king-rider. +(defun king-rider-spawn ((arg0 vehicle)) + (local-vars (s5-1 process)) + (dotimes (s5-0 4) + (let ((s4-0 (get-rider-in-seat arg0 s5-0))) + (when (type? s4-0 king-rider) + (set! s5-1 s4-0) + (goto cfg-7) + ) + ) + ) + (set! s5-1 (the-as process #f)) + (label cfg-7) + (when (not s5-1) + (let ((v1-8 (process-spawn king-rider arg0 :name "king-rider" :to arg0))) + (if v1-8 + (set! s5-1 (-> v1-8 0)) + ) + ) + ) + (the-as king-rider s5-1) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc new file mode 100644 index 0000000000..cb030d814d --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/rubble-attack_REF.gc @@ -0,0 +1,851 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type rub-missile +(deftype rub-missile (metalhead-grenade-shot) + () + ) + +;; definition for method 3 of type rub-missile +(defmethod inspect ((this rub-missile)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type metalhead-grenade-shot inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defstate impact (rub-missile) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type metalhead-grenade-shot impact) enter))) + (if t9-0 + (t9-0) + ) + ) + (send-event (handle->process (-> self desired-target)) 'die) + ) + ) + +;; definition for method 39 of type rub-missile +;; WARN: Return type mismatch object vs none. +(defmethod projectile-method-39 ((this rub-missile)) + (let ((t9-0 (method-of-type metalhead-grenade-shot projectile-method-39))) + (t9-0 this) + ) + (send-event (handle->process (-> this desired-target)) 'update (-> this root trans)) + (none) + ) + +;; definition for method 26 of type rub-missile +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod projectile-method-26 ((this rub-missile)) + (cond + ((logtest? (-> *part-group-id-table* 1021 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> this root trans quad)) + (part-tracker-spawn + part-tracker-subsampler + :to this + :group (-> *part-group-id-table* 1021) + :duration (seconds 0.167) + ) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> this root trans quad)) + (part-tracker-spawn part-tracker :to this :group (-> *part-group-id-table* 1021) :duration (seconds 0.167)) + ) + ) + 0 + (none) + ) + +;; definition for method 28 of type rub-missile +;; WARN: Return type mismatch int vs none. +(defmethod play-impact-sound ((this rub-missile) (arg0 projectile-options)) + (case arg0 + (((projectile-options po0)) + (sound-play "firebomb") + ) + (((projectile-options po0 po1)) + (let ((f0-0 (vector-vector-distance-squared (-> this root trans) (-> this desired-target-pos))) + (f1-0 614400.0) + ) + (when (< f0-0 (* f1-0 f1-0)) + (let ((a0-6 (static-sound-spec "incoming" :group 0 :volume 0.0))) + (set! (-> a0-6 volume) 1024) + (sound-play-by-spec a0-6 (-> this sound-id) (-> this root trans)) + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 31 of type rub-missile +;; WARN: Return type mismatch sound-id vs none. +(defmethod init-proj-settings! ((this rub-missile)) + (set! (-> this attack-mode) 'eco-yellow) + (set! (-> this blast-radius) 40960.0) + (set! (-> this max-speed) 245760.0) + (set! (-> this timeout) (seconds 4)) + (set! (-> this update-velocity) projectile-update-velocity-add-gravity) + (set! (-> this move) gren-canister-move) + (set! (-> this root dynam gravity y) 409600.0) + (set! (-> this root dynam gravity-length) 409600.0) + (set! (-> this root dynam gravity-max) 409600.0) + (let ((f0-5 1092.2667)) + (quaternion-axis-angle! (-> this tumble-quat) 1.0 0.0 0.0 f0-5) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1020) this)) + (set! (-> this sound-id) (new-sound-id)) + (none) + ) + +;; definition of type dm-missile-target +(deftype dm-missile-target (process-drawable) + ((ring-jmod joint-mod 2) + (ring-timer time-frame) + (blink-timer time-frame) + (target-sound-id sound-id) + (warn-sound-id sound-id) + ) + (:state-methods + idle + lock + ) + ) + +;; definition for method 3 of type dm-missile-target +(defmethod inspect ((this dm-missile-target)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Tring-jmod[2] @ #x~X~%" (-> this ring-jmod)) + (format #t "~2Tring-timer: ~D~%" (-> this ring-timer)) + (format #t "~2Tblink-timer: ~D~%" (-> this blink-timer)) + (format #t "~2Ttarget-sound-id: ~D~%" (-> this target-sound-id)) + (format #t "~2Twarn-sound-id: ~D~%" (-> this warn-sound-id)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-dm-missile-target dm-missile-target dm-missile-target-lod0-jg dm-missile-target-idle-ja + ((dm-missile-target-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0.5 84) + :longest-edge (meters 80) + :shadow dm-missile-target-shadow-mg + :origin-joint-index 4 + :shadow-joint-index 5 + ) + +;; definition for function dm-missile-target-post +(defbehavior dm-missile-target-post dm-missile-target () + (ja-post) + (none) + ) + +;; definition for function dm-missile-target-handler +;; INFO: Used lq/sq +(defbehavior dm-missile-target-handler dm-missile-target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-0 object)) + (case arg2 + (('update-trans-only) + (set! v0-0 (-> self root trans)) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> arg3 param 0)) quad)) + v0-0 + ) + (('update) + (let ((gp-0 (the-as object (-> arg3 param 0)))) + (let* ((f0-1 (- (-> (the-as vector gp-0) y) (-> self root trans y))) + (f0-2 (lerp-scale 1.5 2.0 f0-1 0.0 614400.0)) + ) + (set-vector! (-> self root scale) f0-2 1.0 f0-2 1.0) + ) + (let ((f0-4 (vector-vector-distance-squared (-> self root trans) (the-as vector gp-0))) + (f1-2 409600.0) + ) + (when (< f0-4 (* f1-2 f1-2)) + (if (not (and (-> self next-state) (= (-> self next-state name) 'lock))) + (go-virtual lock) + ) + (when (time-elapsed? (-> self blink-timer) (seconds 0.05)) + (if (logtest? (-> self draw status) (draw-control-status no-draw)) + (send-event self 'on) + (send-event self 'off) + ) + (set-time! (-> self blink-timer)) + ) + ) + ) + ) + 0 + ) + (('on) + (let ((v1-35 (-> self draw shadow-ctrl))) + (logclear! (-> v1-35 settings flags) (shadow-flags disable-draw)) + ) + 0 + (set! v0-0 (logclear (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('off) + (let ((v1-40 (-> self draw shadow-ctrl))) + (logior! (-> v1-40 settings flags) (shadow-flags disable-draw)) + ) + 0 + (set! v0-0 (logior (-> self draw status) (draw-control-status no-draw))) + (set! (-> self draw status) (the-as draw-control-status v0-0)) + v0-0 + ) + (('spotlight-on) + (let ((v1-46 (-> self draw shadow-ctrl))) + (logclear! (-> v1-46 settings flags) (shadow-flags disable-draw)) + ) + 0 + ) + (('spotlight-off) + (let ((v1-48 (-> self draw shadow-ctrl))) + (logior! (-> v1-48 settings flags) (shadow-flags disable-draw)) + ) + 0 + ) + (('lock) + (go-virtual lock) + ) + (('unlock) + (go-virtual idle) + ) + (('die) + (if (not (-> *setting-control* cam-current entity-name)) + (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) + ) + (go empty-state) + ) + ) + ) + +;; failed to figure out what this is: +(defstate idle (dm-missile-target) + :virtual #t + :event dm-missile-target-handler + :enter (behavior () + (set! (-> self ring-timer) 0) + (dotimes (v1-0 2) + (set! (-> self ring-jmod v1-0 twist z) (the-as float #t)) + ) + ) + :exit (behavior () + (if (nonzero? (-> self target-sound-id)) + (sound-stop (-> self target-sound-id)) + ) + ) + :trans (behavior () + (if (nonzero? (-> self target-sound-id)) + (sound-play "ruins-target" :id (-> self target-sound-id)) + ) + ) + :code (behavior () + (ja-no-eval :group! dm-missile-target-idle-ja :num! zero) + (sleep-code) + ) + :post (behavior () + (when (< (-> self ring-timer) (current-time)) + (let ((v1-2 (rand-vu-int-range 0 7))) + (dotimes (a0-3 2) + (if (logand (ash 1 a0-3) v1-2) + (set! (-> self ring-jmod a0-3 twist y) (* -1.0 (-> self ring-jmod a0-3 twist y))) + ) + ) + ) + (set! (-> self ring-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.6 1.8))))) + ) + (dm-missile-target-post) + ) + ) + +;; failed to figure out what this is: +(defstate lock (dm-missile-target) + :virtual #t + :event dm-missile-target-handler + :enter (behavior () + (dotimes (v1-0 2) + (set! (-> self ring-jmod v1-0 twist z) (the-as float #f)) + ) + ) + :exit (behavior () + (if (nonzero? (-> self warn-sound-id)) + (sound-stop (-> self warn-sound-id)) + ) + ) + :trans (behavior () + (if (nonzero? (-> self warn-sound-id)) + (sound-play "target-warn" :id (-> self warn-sound-id)) + ) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! dm-missile-target-idle-ja :num! (seek!) :frame-num 0.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (sleep-code) + ) + :post dm-missile-target-post + ) + +;; definition for method 7 of type dm-missile-target +;; WARN: Return type mismatch process-drawable vs dm-missile-target. +(defmethod relocate ((this dm-missile-target) (offset int)) + (dotimes (v1-0 2) + (if (nonzero? (-> this ring-jmod v1-0)) + (&+! (-> this ring-jmod v1-0) offset) + ) + ) + (the-as dm-missile-target ((method-of-type process-drawable relocate) this offset)) + ) + +;; definition for method 10 of type dm-missile-target +(defmethod deactivate ((this dm-missile-target)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this target-sound-id)) + (sound-stop (-> this target-sound-id)) + ) + (if (nonzero? (-> this warn-sound-id)) + (sound-stop (-> this warn-sound-id)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +;; definition for symbol *dm-missile-target-shadow-control*, type shadow-control +(define *dm-missile-target-shadow-control* + (new 'static 'shadow-control :settings (new 'static 'shadow-settings + :center (new 'static 'vector :w (the-as float #x9a)) + :shadow-dir (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w 163840.0) + :top-plane (new 'static 'plane :y 1.0 :w -163840.0) + :shadow-type 2 + ) + ) + ) + +;; definition for function dm-missile-target-init-by-other +;; INFO: Used lq/sq +(defbehavior dm-missile-target-init-by-other dm-missile-target ((arg0 vector)) + (set! (-> self root) (new 'process 'trsqv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-dm-missile-target" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (setup-masks (-> self draw) 0 2) + (vector+! (-> self root trans) (-> self root trans) (new 'static 'vector :y 81920.0 :w 1.0)) + (set-vector! (-> self root scale) 2.0 1.0 2.0 1.0) + (set! (-> self ring-jmod 0) (the-as joint-mod (new 'process 'joint-mod-spinner self 5 *y-vector* 49152.0))) + (set! (-> self ring-jmod 1) (the-as joint-mod (new 'process 'joint-mod-spinner self 6 *y-vector* -32768.0))) + (set! (-> self draw shadow-ctrl) *dm-missile-target-shadow-control*) + (set! (-> self target-sound-id) (new-sound-id)) + (set! (-> self warn-sound-id) (new-sound-id)) + (ja-no-eval :group! dm-missile-target-idle-ja :num! zero) + (ja-post) + (set-setting! 'highlight-color #f 0.0 #x200000ff) + (go-virtual idle) + ) + +;; definition for symbol *missile-spawners-all*, type (array (array vector)) +(define *missile-spawners-all* + (the-as (array (array vector)) (new 'static 'boxed-array :type array + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1264012.9 :y 171088.28 :z -1945632.4 :w 1.0) + (new 'static 'vector :x -1372659.8 :y 93930.7 :z -183979.22 :w 1.0) + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -2812845.8 :y 221565.34 :z -914960.0 :w 1.0) + (new 'static 'vector :x -1716713.5 :y 160845.83 :z -1615964.1 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -963790.0 :y 92553.22 :z -1338117.4 :w 1.0) + (new 'static 'vector :x -1716713.5 :y 160845.83 :z -1615964.1 :w 1.0) + (new 'static 'vector :x -1968271.0 :y 239602.48 :z 1218449.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 583820.9 :y 128227.734 :z -692007.3 :w 1.0) + (new 'static 'vector :x -85653.914 :y 159268.86 :z -1789697.6 :w 1.0) + (new 'static 'vector :x 924756.8 :y 184549.38 :z -1444707.5 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 924756.8 :y 184549.38 :z -1444707.5 :w 1.0) + (new 'static 'vector :x 322749.66 :y 187547.64 :z 211919.67 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 671323.3 :y 146283.31 :z -943431.25 :w 1.0) + (new 'static 'vector :x -118573.47 :y 198613.4 :z 214160.6 :w 1.0) + (new 'static 'vector :x -1405265.1 :y 91194.984 :z -253249.53 :w 1.0) + (new 'static 'vector :x -1092076.8 :y 207061.4 :z 597792.75 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1277521.9 :y 185948.16 :z -200834.25 :w 1.0) + (new 'static 'vector :x 358128.44 :y 221917.6 :z 232636.83 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1675861.2 :y 372983.4 :z 504688.22 :w 1.0) + (new 'static 'vector :x -1653110.8 :y 412161.62 :z 1300128.1 :w 1.0) + (new 'static 'vector :x -1106516.4 :y 187868.36 :z -293120.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1675861.2 :y 372983.4 :z 504688.22 :w 1.0) + (new 'static 'vector :x -1653110.8 :y 412161.62 :z 1300128.1 :w 1.0) + (new 'static 'vector :x -1106516.4 :y 187868.36 :z -293120.0 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x -1751204.2 :y 355590.97 :z 1353843.5 :w 1.0) + (new 'static 'vector :x 660947.75 :y 210554.88 :z 1027779.8 :w 1.0) + (new 'static 'vector :x 305282.66 :y 246803.66 :z 55287.81 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 305282.66 :y 246803.66 :z 55287.81 :w 1.0) + (new 'static 'vector :x 2127342.0 :y 443428.47 :z 586409.2 :w 1.0) + ) + (new 'static 'boxed-array :type vector + (new 'static 'vector :x 2127342.0 :y 443428.47 :z 586409.2 :w 1.0) + (new 'static 'vector :x 389331.34 :y 210130.12 :z -56164.35 :w 1.0) + (new 'static 'vector :x 1093069.6 :y 132921.75 :z 1745401.9 :w 1.0) + (new 'static 'vector :x 479159.1 :y 66208.56 :z 2266018.5 :w 1.0) + (new 'static 'vector :x 13882.163 :y 203250.89 :z 1256858.4 :w 1.0) + ) + ) + ) + ) + +;; definition of type rubble-attack-manager +(deftype rubble-attack-manager (task-manager) + ((missile-spawners (array vector)) + (missile handle) + (missile-target handle) + (missile-timer time-frame) + (vehicle-handle handle) + (king-rider handle) + (talk-timer time-frame) + (played-speeches uint32) + (first-dp-noticed? symbol) + ) + (:methods + (spawn-missile (_type_) none) + (rubble-attack-manager-method-33 (_type_) none) + (play-speech (_type_ int) symbol) + ) + ) + +;; definition for method 3 of type rubble-attack-manager +(defmethod inspect ((this rubble-attack-manager)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type task-manager inspect))) + (t9-0 this) + ) + (format #t "~2Tmissile-spawners: ~A~%" (-> this missile-spawners)) + (format #t "~2Tmissile: ~D~%" (-> this missile)) + (format #t "~2Tmissile-target: ~D~%" (-> this missile-target)) + (format #t "~2Tmissile-timer: ~D~%" (-> this missile-timer)) + (format #t "~2Tvehicle-handle: ~D~%" (-> this vehicle-handle)) + (format #t "~2Tking-rider: ~D~%" (-> this king-rider)) + (format #t "~2Ttalk-timer: ~D~%" (-> this talk-timer)) + (format #t "~2Tplayed-speeches: ~D~%" (-> this played-speeches)) + (format #t "~2Tfirst-dp-noticed?: ~A~%" (-> this first-dp-noticed?)) + (label cfg-4) + this + ) + +;; definition for method 34 of type rubble-attack-manager +(defmethod play-speech ((this rubble-attack-manager) (arg0 int)) + (let ((s5-1 (logtest? (-> this played-speeches) (ash 1 arg0)))) + (when (not s5-1) + (let ((v1-3 arg0)) + (cond + ((zero? v1-3) + (talker-spawn-func (-> *talker-speech* 340) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 4) + (talker-spawn-func (-> *talker-speech* 343) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 5) + (talker-spawn-func (-> *talker-speech* 345) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 1) + (talker-spawn-func (-> *talker-speech* 346) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 3) + (talker-spawn-func (-> *talker-speech* 347) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 2) + (talker-spawn-func (-> *talker-speech* 344) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 6) + (talker-spawn-func (-> *talker-speech* 341) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ((= v1-3 7) + (talker-spawn-func (-> *talker-speech* 342) *entity-pool* (target-pos 0) (the-as region #f)) + ) + ) + ) + (logior! (-> this played-speeches) (ash 1 arg0)) + ) + (not s5-1) + ) + ) + +;; definition for method 32 of type rubble-attack-manager +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +;; WARN: Function (method 32 rubble-attack-manager) has a return type of none, but the expression builder found a return statement. +(defmethod spawn-missile ((this rubble-attack-manager)) + (local-vars (sv-816 vector) (sv-832 (function vector quaternion vector)) (sv-848 vector)) + (when *target* + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s3-0 (target-pos 0)) + (s2-0 (the-as vector #f)) + ) + (when (-> this missile-spawners) + (let ((f30-0 0.0)) + (dotimes (s4-0 (length (-> this missile-spawners))) + (let ((s1-0 (-> this missile-spawners s4-0)) + (s0-0 vector-vector-xz-distance) + ) + (set! sv-816 s1-0) + (let* ((a1-0 (target-pos 0)) + (f28-0 (s0-0 sv-816 a1-0)) + ) + (when (and (sphere-in-view-frustum? (sphere<-vector+r! (new 'stack-no-clear 'sphere) s1-0 81920.0)) (< f30-0 f28-0)) + (set! f30-0 f28-0) + (set! s2-0 s1-0) + ) + ) + ) + ) + ) + ) + (vector+float*! s5-0 s3-0 (-> *target* control transv) 2.0) + (let ((a0-10 (find-nearest-nav-mesh s5-0 (the-as float #x7f800000)))) + (if a0-10 + (nav-mesh-method-10 a0-10 s5-0 s5-0 (the-as nav-poly #f)) + (return #f) + ) + ) + (set! (-> s5-0 y) (+ 204800.0 (-> s3-0 y) (-> s5-0 y))) + (let ((s4-1 (new 'stack-no-clear 'collide-query))) + (set! (-> s4-1 start-pos quad) (-> s5-0 quad)) + (set-vector! (-> s4-1 move-dist) 0.0 -409600.0 0.0 1.0) + (let ((v1-21 s4-1)) + (set! (-> v1-21 radius) 40.96) + (set! (-> v1-21 collide-with) (collide-spec backgnd obstacle pusher)) + (set! (-> v1-21 ignore-process0) #f) + (set! (-> v1-21 ignore-process1) #f) + (set! (-> v1-21 ignore-pat) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1 :board #x1) + ) + (set! (-> v1-21 action-mask) (collide-action solid)) + ) + (let ((f0-9 (fill-and-probe-using-line-sphere *collide-cache* s4-1))) + (when (>= f0-9 0.0) + (+! (-> s5-0 y) (* f0-9 (-> s4-1 move-dist y))) + (when (< (- (-> s5-0 y) (-> (target-pos 0) y)) 81920.0) + (let ((s4-2 (new 'stack-no-clear 'traj3d-params)) + (s1-1 (new 'stack-no-clear 'vector)) + ) + (cond + (s2-0 + (set! (-> s1-1 quad) (-> s2-0 quad)) + ) + (else + (let ((s0-2 s1-1) + (s2-1 vector-normalize!) + ) + (set! sv-832 vector-z-quaternion!) + (set! sv-848 s1-1) + (let ((a1-8 (target-rot))) + (vector+! s0-2 s3-0 (s2-1 (sv-832 sv-848 a1-8) 409600.0)) + ) + ) + (+! (-> s1-1 y) 1228800.0) + ) + ) + (set! (-> s4-2 initial-tilt) 8192.0) + (set! (-> s4-2 gravity) 409600.0) + (set! (-> s4-2 src quad) (-> s1-1 quad)) + (set! (-> s4-2 dest quad) (-> s5-0 quad)) + (when (traj3d-calc-initial-velocity-using-tilt s4-2) + (let ((s3-1 (new 'stack-no-clear 'projectile-init-by-other-params))) + (set! (-> this missile-target) + (ppointer->handle (process-spawn dm-missile-target s5-0 :name "dm-missile-target" :to this)) + ) + (set! (-> s3-1 ent) (-> this entity)) + (set! (-> s3-1 charge) 1.0) + (set! (-> s3-1 options) (projectile-options)) + (logclear! (-> s3-1 options) (projectile-options po14 po15 po16)) + (set! (-> s3-1 pos quad) (-> s1-1 quad)) + (set! (-> s3-1 notify-handle) (the-as handle #f)) + (set! (-> s3-1 owner-handle) (process->handle this)) + (set! (-> s3-1 target-handle) (ppointer->handle (-> this missile-target process))) + (set! (-> s3-1 target-pos quad) (-> s5-0 quad)) + (set! (-> s3-1 ignore-handle) (process->handle this)) + (let* ((v1-56 *game-info*) + (a0-50 (+ (-> v1-56 attack-id) 1)) + ) + (set! (-> v1-56 attack-id) a0-50) + (set! (-> s3-1 attack-id) a0-50) + ) + (set! (-> s3-1 timeout) (seconds 4)) + (set! (-> s3-1 damage) 4.0) + (logior! (-> s3-1 options) (projectile-options po14)) + (set! (-> s3-1 vehicle-damage-factor) 1.0) + (logior! (-> s3-1 options) (projectile-options po15)) + (set! (-> s3-1 vehicle-impulse-factor) 7.5) + (logior! (-> s3-1 options) (projectile-options po16)) + (set! (-> s3-1 vel quad) (-> s4-2 initial-velocity quad)) + (set! (-> this missile) (process->handle (-> (spawn-projectile rub-missile s3-1 this *default-dead-pool*) 0))) + ) + ) + ) + ) + ) + ) + ) + ) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(method-set! rubble-attack-manager 33 (if *debug-segment* + (lambda () 0) + nothing + ) + ) + +;; definition for method 30 of type rubble-attack-manager +;; WARN: disable def twice: 131. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod taskman-event-handler ((this rubble-attack-manager) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (local-vars (v0-2 object)) + (case arg2 + (('camera-cut) + (let ((a0-3 (handle->process (-> this missile)))) + (if a0-3 + (deactivate a0-3) + ) + ) + (let ((a0-7 (handle->process (-> this missile-target)))) + (if a0-7 + (deactivate a0-7) + ) + ) + (set! v0-2 (+ (-> this missile-timer) (seconds 5))) + (set! (-> this missile-timer) (the-as time-frame v0-2)) + v0-2 + ) + (('missile-spawners) + (let ((s5-0 (command-get-int (-> arg3 param 0) 0))) + (cond + ((zero? s5-0) + (set! (-> this missile-spawners) #f) + #f + ) + ((>= (length *missile-spawners-all*) s5-0) + (set! v0-2 (-> *missile-spawners-all* (+ s5-0 -1))) + (set! (-> this missile-spawners) (the-as (array vector) v0-2)) + v0-2 + ) + (else + (set! (-> this missile-spawners) #f) + #f + ) + ) + ) + ) + (('notify) + (when (>= arg1 1) + (case (-> arg3 param 0) + (('dp-bipedal-ambush) + (when (time-elapsed? (-> this talk-timer) (seconds 30)) + (cond + ((not (-> this first-dp-noticed?)) + (play-speech this 4) + (set! (-> this first-dp-noticed?) #t) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + (else + (let ((a1-5 (logior (-> this played-speeches) 15))) + (when (play-speech this (rand-vu-int-count-excluding 8 (the-as int a1-5))) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + ) + ) + ) + ) + ) + (('dp-bipedal-die) + (when (and (time-elapsed? (-> this talk-timer) (seconds 30)) + (play-speech this (rand-vu-int-count-excluding 4 (the-as int (-> this played-speeches)))) + ) + (set! v0-2 (current-time)) + (set! (-> this talk-timer) (the-as time-frame v0-2)) + v0-2 + ) + ) + ) + ) + ) + (else + ((method-of-type task-manager taskman-event-handler) this arg0 arg1 arg2 arg3) + ) + ) + ) + +;; failed to figure out what this is: +(defstate active (rubble-attack-manager) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type task-manager active) enter))) + (if t9-0 + (t9-0) + ) + ) + (set-time! (-> self missile-timer)) + ) + :code (behavior () + (local-vars (v1-23 object)) + (while (!= (status-of-level-and-borrows *level* 'lpattack #f) 'active) + (set-time! (-> self missile-timer)) + (suspend) + ) + (while (begin + (set! (-> self vehicle-handle) (-> *vehicle-info* handle-by-vehicle-type 17)) + (not (handle->process (-> self vehicle-handle))) + ) + (format *stdebug* "rubble-attack task manager waiting for rhino~%") + (set-time! (-> self missile-timer)) + (suspend) + ) + (set! (-> self king-rider) + (process->handle (king-rider-spawn (the-as vehicle (handle->process (-> self vehicle-handle))))) + ) + (until v1-23 + (set-time! (-> self missile-timer)) + (suspend) + (set! v1-23 (and *target* (= (send-event *target* 'query 'mode) 'pilot))) + ) + (play-speech self 0) + (set-setting! 'music 'ruinsatk 0.0 0) + (sleep-code) + ) + ) + +;; definition for method 26 of type rubble-attack-manager +;; WARN: Return type mismatch time-frame vs none. +(defmethod task-manager-method-26 ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager task-manager-method-26))) + (t9-0 this) + ) + (rubble-attack-manager-method-33 this) + (when (time-elapsed? (-> this missile-timer) (seconds 7)) + (spawn-missile this) + (set! (-> this missile-timer) (+ (current-time) (the int (* 2100.0 (rand-vu-float-range 0.0 0.25))))) + ) + (when (and (or (not (logtest? (-> this played-speeches) 64)) (not (logtest? (-> this played-speeches) 128))) + (and (-> this first-dp-noticed?) (time-elapsed? (-> this talk-timer) (seconds 25))) + ) + (let ((v1-23 (the-as dm-missile-target (handle->process (-> this missile-target))))) + (when v1-23 + (let ((f0-4 (vector-dot + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> v1-23 root trans) (target-pos 0)) 1.0) + (vector-x-quaternion! (new 'stack-no-clear 'vector) (target-rot)) + ) + ) + ) + (cond + ((< f0-4 -0.6) + (if (play-speech this 6) + (set-time! (-> this talk-timer)) + ) + ) + ((< 0.6 f0-4) + (if (play-speech this 7) + (set-time! (-> this talk-timer)) + ) + ) + ) + ) + ) + ) + ) + (none) + ) + +;; definition for method 25 of type rubble-attack-manager +(defmethod task-manager-method-25 ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager task-manager-method-25))) + (t9-0 this) + ) + (let ((a0-3 (handle->process (-> this king-rider)))) + (if a0-3 + (deactivate a0-3) + ) + ) + (none) + ) + +;; definition for method 20 of type rubble-attack-manager +;; WARN: Return type mismatch symbol vs none. +(defmethod init! ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager init!))) + (t9-0 this) + ) + (set! (-> this king-rider) (the-as handle #f)) + (none) + ) + +;; definition for method 21 of type rubble-attack-manager +;; WARN: Return type mismatch symbol vs none. +(defmethod set-time-limit ((this rubble-attack-manager)) + (let ((t9-0 (method-of-type task-manager set-time-limit))) + (t9-0 this) + ) + (set-setting! 'pilot-exit #f 0.0 0) + (set! (-> this missile) (the-as handle #f)) + (set! (-> this missile-target) (the-as handle #f)) + (set! (-> this missile-spawners) #f) + (set! (-> this first-dp-noticed?) #f) + (none) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc new file mode 100644 index 0000000000..b6bd539e5b --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/rubble-obs_REF.gc @@ -0,0 +1,1197 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type rub-tower +(deftype rub-tower (process-focusable) + ((last-attack-time time-frame) + (collision-updated? symbol) + ) + (:state-methods + idle + (unstable float) + fall + fallen + ) + (:methods + (init-collision! (_type_) none) + (check-impact (_type_ rigid-body-impact vehicle) symbol) + (update-collision (_type_) none) + ) + ) + +;; definition for method 3 of type rub-tower +(defmethod inspect ((this rub-tower)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tlast-attack-time: ~D~%" (-> this last-attack-time)) + (format #t "~2Tcollision-updated?: ~A~%" (-> this collision-updated?)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-tower rub-tower rub-tower-lod0-jg rub-tower-idle-ja + ((rub-tower-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 -10 60) + :origin-joint-index 3 + ) + +;; definition for function rub-tower-event-handler +(defbehavior rub-tower-event-handler rub-tower ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('trigger) + (go-virtual fall) + ) + (('impact-impulse) + (let ((a1-4 (-> arg3 param 0))) + (check-impact self (the-as rigid-body-impact a1-4) (the-as vehicle arg0)) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate idle (rub-tower) + :virtual #t + :event rub-tower-event-handler + :code (behavior () + (ja :group! (ja-group) :num! min) + (transform-post) + (sleep-code) + ) + ) + +;; failed to figure out what this is: +(defstate unstable (rub-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('event-bump) + (sound-play "rub-hit") + ) + (else + (rub-tower-event-handler proc argc message block) + ) + ) + ) + :code (behavior ((arg0 float)) + (ja-channel-push! 1 (the-as time-frame (the int (* 60.0 arg0)))) + (ja-no-eval :group! rub-tower-bump-ja :num! (seek! max arg0) :frame-num 5.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek! max arg0)) + ) + (go-virtual idle) + ) + :post transform-post + ) + +;; failed to figure out what this is: +(defstate fall (rub-tower) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('event-hit-ground) + (activate! *camera-smush-control* 2048.0 30 150 1.0 0.8 (-> *display* camera-clock)) + (sound-play "rub-fall-impact") + (cond + ((logtest? (-> *part-group-id-table* 1026 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self node-list data 11 bone transform trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1026)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self node-list data 11 bone transform trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1026)) + ) + ) + ) + ) + ) + :code (behavior () + (update-collision self) + (sound-play "rub-fall") + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! rub-tower-fall-ja :num! (seek!) :frame-num 2.0) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (go-virtual fallen) + ) + :post transform-post + ) + +;; failed to figure out what this is: +(defstate fallen (rub-tower) + :virtual #t + :code (behavior () + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (ja :group! rub-tower-fall-ja :num! max) + (update-collision self) + (transform-post) + (sleep-code) + ) + ) + +;; definition for method 27 of type rub-tower +(defmethod get-inv-mass ((this rub-tower)) + 0.0 + ) + +;; definition for method 33 of type rub-tower +(defmethod check-impact ((this rub-tower) (arg0 rigid-body-impact) (arg1 vehicle)) + (let ((f30-0 (-> arg0 impulse))) + (let* ((s5-0 arg1) + (v1-0 (if (type? s5-0 wvehicle) + s5-0 + ) + ) + ) + (b! + (not (or (< 921600.0 f30-0) (and v1-0 (logtest? (-> v1-0 controls flags) (vehicle-controls-flag vcf2))))) + cfg-11 + :delay (nop!) + ) + ) + (sound-play "rub-impact") + (go (method-of-object this fall)) + (b! #t cfg-20 :delay (nop!)) + (label cfg-11) + (when (and (time-elapsed? (-> this last-attack-time) (seconds 2)) + (not (and (-> this next-state) (= (-> this next-state name) 'unstable))) + ) + (sound-play "rub-impact") + (go (method-of-object this unstable) (lerp-scale 0.4 0.8 f30-0 0.0 921600.0)) + ) + ) + (label cfg-20) + (set-time! (-> this last-attack-time)) + #f + ) + +;; definition for method 32 of type rub-tower +;; WARN: Return type mismatch int vs none. +(defmethod init-collision! ((this rub-tower)) + (let ((s5-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (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 camera-blocker)) + (set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 40960.0 -40960.0 245760.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-9 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-9 prim-core collide-as) (collide-spec obstacle camera-blocker)) + (set! (-> v1-9 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> v1-9 prim-core action) (collide-action solid rideable)) + (set! (-> v1-9 transform-index) 3) + (set-vector! (-> v1-9 local-sphere) 0.0 40960.0 -40960.0 245760.0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-11 transform-index) 3) + (set-vector! (-> v1-11 local-sphere) 0.0 40960.0 -40960.0 245760.0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-14 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) + ) + (set! (-> this root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 34 of type rub-tower +;; WARN: Return type mismatch int vs none. +(defmethod update-collision ((this rub-tower)) + (when (not (-> this collision-updated?)) + (let ((v1-5 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 0)) + (a1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 1)) + ) + (when (and v1-5 a1-3) + (set! (-> a1-3 prim-core action) (-> v1-5 prim-core action)) + (set! (-> a1-3 prim-core collide-as) (logior (-> v1-5 prim-core collide-as) (collide-spec obstacle))) + (set! (-> a1-3 prim-core collide-with) (-> v1-5 prim-core collide-with)) + (set! (-> v1-5 prim-core action) (collide-action)) + (set! (-> v1-5 prim-core collide-as) (collide-spec)) + (set! (-> v1-5 prim-core collide-with) (collide-spec)) + (set! (-> this collision-updated?) #t) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 11 of type rub-tower +(defmethod init-from-entity! ((this rub-tower) (arg0 entity-actor)) + (init-collision! this) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as skeleton-group (art-group-get-by-name *level* "skel-rub-tower" (the-as (pointer level) #f))) + (the-as pair 0) + ) + (set! (-> this collision-updated?) #f) + (if (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) + (go (method-of-object this fallen)) + (go (method-of-object this idle)) + ) + ) + +;; definition of type rub-electric-gate-switch +(deftype rub-electric-gate-switch (process-focusable) + ((part-sparks sparticle-launch-control) + ) + (:state-methods + idle + explode + exploded + ) + (:methods + (check-impact (_type_ rigid-body-impact vehicle) symbol) + (go-explode (_type_) none) + (spawn-joint-exploder (_type_) none) + (update-draw-mask (_type_) none) + ) + ) + +;; definition for method 3 of type rub-electric-gate-switch +(defmethod inspect ((this rub-electric-gate-switch)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-focusable inspect))) + (t9-0 this) + ) + (format #t "~2Tpart-sparks: ~A~%" (-> this part-sparks)) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-switch rub-electric-gate-switch rub-electric-gate-switch-lod0-jg rub-electric-gate-switch-idle-ja + ((rub-electric-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 15) + :longest-edge (meters 1) + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-switch-explode rub-electric-gate-switch rub-electric-gate-switch-lod0-jg rub-electric-gate-switch-idle-ja + ((rub-electric-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 100) + ) + +;; definition for symbol *rub-electric-gate-switch-exploder-params*, type joint-exploder-static-params +(define *rub-electric-gate-switch-exploder-params* + (new 'static 'joint-exploder-static-params + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 19 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 20 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 21 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 22 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 23 :parent-joint-index -1) + ) + :collide-spec (collide-spec backgnd) + :art-level #f + ) + ) + +;; failed to figure out what this is: +(defstate idle (rub-electric-gate-switch) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('trigger) + (go-virtual explode) + ) + (('impact-impulse) + (let ((a1-4 (-> block param 0))) + (check-impact self (the-as rigid-body-impact a1-4) (the-as vehicle proc)) + ) + ) + ) + ) + :code (behavior () + (ja :group! (ja-group) :num! min) + (transform-post) + (sleep-code) + ) + :post (behavior () + (if (nonzero? (-> self part)) + (spawn (-> self part) (-> self root trans)) + ) + ) + ) + +;; failed to figure out what this is: +(defstate explode (rub-electric-gate-switch) + :virtual #t + :code (behavior () + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (sound-play "ruins-gate-towr") + (spawn-joint-exploder self) + (cond + ((logtest? (-> *part-group-id-table* 1024 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1024)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> self root trans quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1024)) + ) + ) + (update-draw-mask self) + (go-virtual exploded) + ) + ) + +;; failed to figure out what this is: +(defstate exploded (rub-electric-gate-switch) + :virtual #t + :enter (behavior () + (set-time! (-> self state-time)) + ) + :code (behavior () + (until (time-elapsed? (-> self state-time) (seconds 2)) + (suspend) + ) + (logclear! (-> self root penetrated-by) (penetrate vehicle)) + (sleep-code) + ) + :post (behavior () + (if (nonzero? (-> self part-sparks)) + (spawn (-> self part-sparks) (-> self root trans)) + ) + ) + ) + +;; definition for method 27 of type rub-electric-gate-switch +(defmethod get-inv-mass ((this rub-electric-gate-switch)) + 0.01 + ) + +;; definition for method 31 of type rub-electric-gate-switch +(defmethod check-impact ((this rub-electric-gate-switch) (arg0 rigid-body-impact) (arg1 vehicle)) + (let ((v1-0 (if (type? arg1 wvehicle) + arg1 + ) + ) + ) + (when (or (< 1024000.0 (-> arg0 impulse)) + (and v1-0 (logtest? (-> v1-0 controls flags) (vehicle-controls-flag vcf2))) + ) + (go-explode this) + #t + ) + ) + ) + +;; definition for method 33 of type rub-electric-gate-switch +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod spawn-joint-exploder ((this rub-electric-gate-switch)) + (let ((gp-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) + (set! (-> gp-0 fountain-rand-transv-lo quad) (-> (target-pos 0) quad)) + (set! (-> gp-0 fountain-rand-transv-hi x) 122880.0) + (set! (-> gp-0 fountain-rand-transv-hi y) 245760.0) + (set! (-> gp-0 fountain-rand-transv-hi z) 4096.0) + (set! (-> gp-0 fountain-rand-transv-hi w) 16384.0) + (set! (-> gp-0 friction) 0.95) + (set! (-> gp-0 duration) (seconds 4)) + (process-spawn + joint-exploder + (art-group-get-by-name *level* "skel-rub-electric-gate-switch" (the-as (pointer level) #f)) + 2 + gp-0 + *rub-electric-gate-switch-exploder-params* + :name "joint-exploder" + :to this + ) + ) + 0 + (none) + ) + +;; definition for method 32 of type rub-electric-gate-switch +;; WARN: Return type mismatch int vs none. +(defmethod go-explode ((this rub-electric-gate-switch)) + (logior! (-> this root penetrated-by) (penetrate vehicle)) + (go (method-of-object this explode)) + 0 + (none) + ) + +;; definition for method 7 of type rub-electric-gate-switch +;; WARN: Return type mismatch process-drawable vs rub-electric-gate-switch. +(defmethod relocate ((this rub-electric-gate-switch) (offset int)) + (if (nonzero? (-> this part-sparks)) + (&+! (-> this part-sparks) offset) + ) + (the-as rub-electric-gate-switch ((method-of-type process-drawable relocate) this offset)) + ) + +;; definition for method 10 of type rub-electric-gate-switch +(defmethod deactivate ((this rub-electric-gate-switch)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this part-sparks)) + (kill-particles (-> this part-sparks)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +;; definition for method 11 of type rub-electric-gate-switch +(defmethod init-from-entity! ((this rub-electric-gate-switch) (arg0 entity-actor)) + (logclear! (-> this mask) (process-mask actor-pause)) + (let ((s4-0 (new 'process 'collide-shape this (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 penetrated-by) (penetrate)) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s4-0 total-prims) (the-as uint 3)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle camera-blocker)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid rideable)) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 -40960.0 245760.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-11 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-11 prim-core collide-with) (collide-spec jak hit-by-others-list player-list)) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 3) + (set-vector! (-> v1-11 local-sphere) 0.0 40960.0 0.0 61440.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-13 transform-index) 3) + (set-vector! (-> v1-13 local-sphere) 0.0 40960.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-16 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-16 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) + ) + (set! (-> this root) s4-0) + ) + (set! (-> this root pause-adjust-distance) 614400.0) + (process-drawable-from-entity! this arg0) + (initialize-skeleton + this + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-rub-electric-gate-switch" (the-as (pointer level) #f)) + ) + (the-as pair 0) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1023) this)) + (set! (-> this part-sparks) (create-launch-control (-> *part-group-id-table* 1025) this)) + (cond + ((logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete)) + (update-draw-mask this) + (go (method-of-object this exploded)) + ) + (else + (setup-masks (-> this draw) 2 1) + (go (method-of-object this idle)) + ) + ) + ) + +;; definition for method 34 of type rub-electric-gate-switch +;; WARN: Return type mismatch int vs none. +(defmethod update-draw-mask ((this rub-electric-gate-switch)) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 0)) + (a1-3 (-> (the-as collide-shape-prim-group (-> this root root-prim)) child 1)) + ) + (when (and v1-3 a1-3) + (set! (-> a1-3 prim-core action) (-> v1-3 prim-core action)) + (set! (-> a1-3 prim-core collide-as) (logior (-> v1-3 prim-core collide-as) (collide-spec obstacle))) + (set! (-> a1-3 prim-core collide-with) (-> v1-3 prim-core collide-with)) + (set! (-> v1-3 prim-core action) (collide-action)) + (set! (-> v1-3 prim-core collide-as) (collide-spec)) + (set! (-> v1-3 prim-core collide-with) (collide-spec)) + (setup-masks (-> this draw) 1 2) + ) + ) + 0 + (none) + ) + +;; definition of type rub-elec-gate +(deftype rub-elec-gate (process-drawable) + ((path-r path-control) + (actor-group (pointer actor-group)) + (actor-group-count int32) + (width float) + (height float) + (active? symbol) + (switch-status uint8) + (palette-id int8) + (hit-sound-id sound-id) + (shutoff-delay-time time-frame) + ) + (:state-methods + idle + die + ) + (:methods + (toggle-blocking-plane (_type_ symbol) none) + ) + ) + +;; definition for method 3 of type rub-elec-gate +(defmethod inspect ((this rub-elec-gate)) + (when (not this) + (set! this this) + (goto cfg-7) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (format #t "~2Tpath-l: ~A~%" (-> this path)) + (format #t "~2Tpath-r: ~A~%" (-> this path-r)) + (format #t "~2Tactor-group: #x~X~%" (-> this actor-group)) + (dotimes (s5-0 (-> this actor-group-count)) + (format #t "~T [~D]~2Tactor-group: ~`actor-group`P~%" s5-0 (-> this actor-group s5-0)) + ) + (format #t "~2Tactor-group-count: ~D~%" (-> this actor-group-count)) + (format #t "~2Twidth: ~f~%" (-> this width)) + (format #t "~2Theight: ~f~%" (-> this height)) + (format #t "~2Tactive?: ~A~%" (-> this active?)) + (format #t "~2Tswitch-status: ~D~%" (-> this switch-status)) + (format #t "~2Tpalette-id: ~D~%" (-> this palette-id)) + (format #t "~2Thit-sound-id: ~D~%" (-> this hit-sound-id)) + (format #t "~2Tshutoff-delay-time: ~D~%" (-> this shutoff-delay-time)) + (label cfg-7) + this + ) + +;; failed to figure out what this is: +(defstate idle (rub-elec-gate) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('kill) + (go-virtual die) + ) + (('blocking-plane-hit) + (let* ((s5-0 proc) + (v1-3 (if (type? s5-0 process-drawable) + s5-0 + ) + ) + (gp-1 (the-as object (-> block param 0))) + ) + (when (and v1-3 (the-as uint gp-1)) + (sound-play + "ruins-gate-hit" + :id (-> self hit-sound-id) + :position (-> (the-as process-drawable v1-3) root trans) + ) + (cond + ((logtest? (-> *part-group-id-table* 1027 flags) (sp-group-flag sp13)) + (set! (-> *launch-matrix* trans quad) (-> (the-as rigid-body-impact gp-1) point quad)) + (part-tracker-spawn part-tracker-subsampler :to *entity-pool* :group (-> *part-group-id-table* 1027)) + ) + (else + (set! (-> *launch-matrix* trans quad) (-> (the-as rigid-body-impact gp-1) point quad)) + (part-tracker-spawn part-tracker :to *entity-pool* :group (-> *part-group-id-table* 1027)) + ) + ) + ) + ) + #f + ) + ) + ) + :trans (behavior () + (when (and (< 1 (-> self actor-group-count)) (nonzero? (-> self actor-group 0)) (nonzero? (-> self actor-group 1))) + (let ((gp-0 0)) + (let ((s5-0 (length (-> self actor-group 0)))) + (dotimes (v1-8 s5-0) + (let ((a0-7 (-> self actor-group 0 data v1-8))) + (when (and a0-7 (-> a0-7 actor)) + (cond + ((not (logtest? (-> a0-7 actor extra perm status) (entity-perm-status subtask-complete))) + (+! gp-0 1) + 0 + ) + (else + (logior! (-> self switch-status) (ash 1 v1-8)) + ) + ) + ) + ) + ) + (dotimes (s4-0 s5-0) + (when (logtest? (-> self switch-status) (ash 1 s4-0)) + (let ((s3-0 (-> self actor-group 1))) + (dotimes (s2-0 (-> s3-0 length)) + (let ((a1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-9 from) (process->ppointer self)) + (set! (-> a1-9 num-params) 1) + (set! (-> a1-9 message) 'off) + (set! (-> a1-9 param 0) (the-as uint s4-0)) + (let ((t9-1 send-event-function) + (v1-20 (-> s3-0 data s2-0 actor)) + ) + (t9-1 + (if v1-20 + (-> v1-20 extra process) + ) + a1-9 + ) + ) + ) + ) + ) + ) + ) + ) + (when (and (zero? gp-0) (-> self active?) (zero? (-> self shutoff-delay-time))) + (set-time! (-> self shutoff-delay-time)) + (when (string= (-> self name) "rub-elec-gate-1") + (if (res-lump-struct (-> self entity) 'camera-name structure) + (process-spawn + external-camera-controller + (-> self entity) + 1200 + #f + :name "external-camera-controller" + :to *entity-pool* + ) + ) + (let ((a1-15 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-15 from) (process->ppointer self)) + (set! (-> a1-15 num-params) 0) + (set! (-> a1-15 message) 'camera-cut) + (let ((t9-7 send-event-function) + (v1-45 (-> *game-info* sub-task-list (game-task-node palace-ruins-attack-resolution))) + ) + (t9-7 + (handle->process (if (-> v1-45 manager) + (-> v1-45 manager manager) + (the-as handle #f) + ) + ) + a1-15 + ) + ) + ) + ) + ) + ) + ) + (when (nonzero? (-> self shutoff-delay-time)) + (when (time-elapsed? (-> self shutoff-delay-time) (seconds 2)) + (toggle-blocking-plane self #f) + (process-entity-status! self (entity-perm-status subtask-complete) #t) + (set! (-> self active?) #f) + (if (nonzero? (-> self part)) + (kill-particles (-> self part)) + ) + (sound-play "ruins-gate-off") + (set! (-> self shutoff-delay-time) 0) + 0 + ) + ) + (when (-> self active?) + (when (nonzero? (-> self sound)) + (update-trans! (-> self sound) (-> self root trans)) + (update! (-> self sound)) + ) + (let ((gp-3 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) + (if (nonzero? (-> self shutoff-delay-time)) + (rub-elec-gate-adjust-particles (-> self width) (-> self height) (rand-vu-float-range 0.0 1.0)) + (rub-elec-gate-adjust-particles (-> self width) (-> self height) 1.0) + ) + (matrix<-trans gp-3 (-> self root trans)) + (spawn-from-mat (-> self part) gp-3) + ) + ) + (if (nonzero? (-> self path-r)) + (debug-draw (-> self path-r)) + ) + ) + :code sleep-code + :post (behavior () + (if (or (sphere-in-view-frustum? + (sphere<-vector+r! (new 'stack-no-clear 'sphere) (-> self root trans) (-> self width)) + ) + (< (if *target* + (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)) + 4096000.0 + ) + 409600.0 + ) + ) + (set-stadiuma-electricity-scale! + (if (-> self active?) + 1.0 + 0.0 + ) + (-> self palette-id) + (-> self level name) + ) + ) + ) + ) + +;; failed to figure out what this is: +(defstate die (rub-elec-gate) + :virtual #t + :code (behavior () + (cleanup-for-death self) + ) + ) + +;; definition for method 22 of type rub-elec-gate +;; WARN: Return type mismatch int vs none. +(defmethod toggle-blocking-plane ((this rub-elec-gate) (arg0 symbol)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (cond + (arg0 + (when (and (nonzero? (-> this path)) (nonzero? (-> this path-r))) + (let ((gp-0 (new 'static 'inline-array vector 2 (new 'static 'vector) (new 'static 'vector)))) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (get-point-at-percent-along-path! (-> this path) (-> gp-0 0) 0.0 'interp) + (get-point-at-percent-along-path! (-> this path) (-> gp-0 1) 1.0 'interp) + (vector-! s3-0 (-> gp-0 1) (-> gp-0 0)) + (get-point-at-percent-along-path! (-> this path-r) (-> gp-0 1) 0.0 'interp) + (vector-! s2-0 (-> gp-0 1) (-> gp-0 0)) + (set! (-> this width) (vector-length s2-0)) + (set! (-> this height) (vector-length s3-0)) + (let ((a1-8 (-> this root trans))) + (let ((v1-17 (-> gp-0 0))) + (let ((a0-7 s2-0)) + (let ((a2-4 0.5)) + (.mov vf7 a2-4) + ) + (.lvf vf5 (&-> a0-7 quad)) + ) + (.lvf vf4 (&-> v1-17 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a1-8 quad) vf6) + ) + (vector-normalize! (vector-cross! s4-0 s2-0 s3-0) 1.0) + (quaternion-look-at! (-> this root quat) s4-0 s3-0) + ) + (+! (-> gp-0 0 y) -20480.0) + (+! (-> gp-0 1 y) -20480.0) + (blocking-plane-spawn (the-as curve-control #f) gp-0 122880.0) + ) + ) + ) + (else + (blocking-plane-destroy) + ) + ) + 0 + (none) + ) + ) + +;; definition for method 7 of type rub-elec-gate +;; WARN: Return type mismatch process-drawable vs rub-elec-gate. +(defmethod relocate ((this rub-elec-gate) (offset int)) + (if (nonzero? (-> this path-r)) + (&+! (-> this path-r) offset) + ) + (the-as rub-elec-gate ((method-of-type process-drawable relocate) this offset)) + ) + +;; definition for method 10 of type rub-elec-gate +(defmethod deactivate ((this rub-elec-gate)) + "Make a process dead, clean it up, remove it from the active pool, and return to dead pool." + (if (nonzero? (-> this sound)) + (stop! (-> this sound)) + ) + ((method-of-type process-drawable deactivate) this) + (none) + ) + +;; definition for method 11 of type rub-elec-gate +;; INFO: Used lq/sq +(defmethod init-from-entity! ((this rub-elec-gate) (arg0 entity-actor)) + (local-vars (sv-16 res-tag)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (logclear! (-> this mask) (process-mask actor-pause)) + (set! (-> this active?) + (not (logtest? (-> this entity extra perm status) (entity-perm-status subtask-complete))) + ) + (set! (-> this path) (new 'process 'path-control this 'pathl 0.0 (the-as entity #f) #f)) + (cond + ((logtest? (-> this path flags) (path-control-flag not-found)) + (set! (-> this path) (the-as path-control 0)) + 0 + ) + (else + (logior! (-> this path flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (set! (-> this path-r) (new 'process 'path-control this 'pathr 0.0 (the-as entity #f) #f)) + (cond + ((logtest? (-> this path-r flags) (path-control-flag not-found)) + (set! (-> this path-r) (the-as path-control 0)) + 0 + ) + (else + (logior! (-> this path-r flags) (path-control-flag display draw-line draw-point draw-text)) + ) + ) + (if (-> this active?) + (toggle-blocking-plane this #t) + ) + (set! (-> this part) (create-launch-control (-> *part-group-id-table* 1022) this)) + (set! (-> this sound) (new 'process 'ambient-sound "ruins-gate-hum" (-> this root trans) 0.0)) + (set! (-> this hit-sound-id) (new-sound-id)) + (set! (-> this entity) arg0) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-31 (res-lump-data arg0 'actor-groups pointer :tag-ptr (& sv-16)))) + (cond + ((and v1-31 (nonzero? (-> sv-16 elt-count))) + (set! (-> this actor-group-count) (the-as int (-> sv-16 elt-count))) + (set! (-> this actor-group) (the-as (pointer actor-group) v1-31)) + ) + (else + (format 0 "ERROR: entity missing actor-group!~%") + ) + ) + ) + (set! (-> this palette-id) + (res-lump-value (-> this entity) 'extra-id int :default (the-as uint128 -1) :time -1000000000.0) + ) + (go (method-of-object this idle)) + ) + +;; definition of type rub-electric-gate-panel +(deftype rub-electric-gate-panel (process-drawable) + () + (:state-methods + idle + ) + (:methods + (get-skel (_type_) art-group) + (setup-draw-masks (_type_ symbol int) none) + ) + ) + +;; definition for method 3 of type rub-electric-gate-panel +(defmethod inspect ((this rub-electric-gate-panel)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defstate idle (rub-electric-gate-panel) + :virtual #t + :event (behavior ((proc process) (argc int) (message symbol) (block event-message-block)) + (case message + (('on) + (setup-draw-masks self #t (the-as int (-> block param 0))) + ) + (('off) + (setup-draw-masks self #f (the-as int (-> block param 0))) + ) + ) + ) + :enter (behavior () + (setup-draw-masks self #t -1) + ) + :code (behavior () + (ja :group! (ja-group) :num! min) + (ja-post) + (sleep-code) + ) + ) + +;; definition for method 22 of type rub-electric-gate-panel +;; WARN: Return type mismatch int vs none. +(defmethod setup-draw-masks ((this rub-electric-gate-panel) (arg0 symbol) (arg1 int)) + 0 + (none) + ) + +;; definition for method 11 of type rub-electric-gate-panel +(defmethod init-from-entity! ((this rub-electric-gate-panel) (arg0 entity-actor)) + (set! (-> this root) (new 'process 'trsqv)) + (process-drawable-from-entity! this arg0) + (initialize-skeleton this (the-as skeleton-group (get-skel this)) (the-as pair 0)) + (logclear! (-> this mask) (process-mask actor-pause)) + (go (method-of-object this idle)) + ) + +;; definition of type rub-electric-gate-panel-a +(deftype rub-electric-gate-panel-a (rub-electric-gate-panel) + () + ) + +;; definition for method 3 of type rub-electric-gate-panel-a +(defmethod inspect ((this rub-electric-gate-panel-a)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type rub-electric-gate-panel inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-panel-a rub-electric-gate-panel-a rub-electric-gate-panel-a-lod0-jg rub-electric-gate-panel-a-idle-ja + ((rub-electric-gate-panel-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +;; definition for method 22 of type rub-electric-gate-panel-a +;; WARN: Return type mismatch int vs none. +(defmethod setup-draw-masks ((this rub-electric-gate-panel-a) (arg0 symbol) (arg1 int)) + (let ((v1-0 1) + (a3-0 2) + ) + (when (zero? arg1) + (set! v1-0 1) + (set! a3-0 2) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +;; definition for method 21 of type rub-electric-gate-panel-a +(defmethod get-skel ((this rub-electric-gate-panel-a)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-a" (the-as (pointer level) #f)) + ) + +;; definition of type rub-electric-gate-panel-b +(deftype rub-electric-gate-panel-b (rub-electric-gate-panel) + () + ) + +;; definition for method 3 of type rub-electric-gate-panel-b +(defmethod inspect ((this rub-electric-gate-panel-b)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type rub-electric-gate-panel inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-panel-b rub-electric-gate-panel-b rub-electric-gate-panel-b-lod0-jg rub-electric-gate-panel-b-idle-ja + ((rub-electric-gate-panel-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +;; definition for method 22 of type rub-electric-gate-panel-b +;; WARN: Return type mismatch int vs none. +(defmethod setup-draw-masks ((this rub-electric-gate-panel-b) (arg0 symbol) (arg1 int)) + (let ((v1-0 3) + (a3-0 12) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 4) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 8) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +;; definition for method 21 of type rub-electric-gate-panel-b +(defmethod get-skel ((this rub-electric-gate-panel-b)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-b" (the-as (pointer level) #f)) + ) + +;; definition of type rub-electric-gate-panel-c +(deftype rub-electric-gate-panel-c (rub-electric-gate-panel) + () + ) + +;; definition for method 3 of type rub-electric-gate-panel-c +(defmethod inspect ((this rub-electric-gate-panel-c)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type rub-electric-gate-panel inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-panel-c rub-electric-gate-panel-c rub-electric-gate-panel-c-lod0-jg rub-electric-gate-panel-c-idle-ja + ((rub-electric-gate-panel-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +;; definition for method 22 of type rub-electric-gate-panel-c +;; WARN: Return type mismatch int vs none. +(defmethod setup-draw-masks ((this rub-electric-gate-panel-c) (arg0 symbol) (arg1 int)) + (let ((v1-0 7) + (a3-0 56) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 8) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 16) + ) + ((= arg1 2) + (set! v1-0 4) + (set! a3-0 32) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +;; definition for method 21 of type rub-electric-gate-panel-c +(defmethod get-skel ((this rub-electric-gate-panel-c)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-c" (the-as (pointer level) #f)) + ) + +;; definition of type rub-electric-gate-panel-d +(deftype rub-electric-gate-panel-d (rub-electric-gate-panel) + () + ) + +;; definition for method 3 of type rub-electric-gate-panel-d +(defmethod inspect ((this rub-electric-gate-panel-d)) + (when (not this) + (set! this this) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type rub-electric-gate-panel inspect))) + (t9-0 this) + ) + (label cfg-4) + this + ) + +;; failed to figure out what this is: +(defskelgroup skel-rub-electric-gate-panel-d rub-electric-gate-panel-d rub-electric-gate-panel-d-lod0-jg rub-electric-gate-panel-d-idle-ja + ((rub-electric-gate-panel-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 15) + ) + +;; definition for method 22 of type rub-electric-gate-panel-d +;; WARN: Return type mismatch int vs none. +(defmethod setup-draw-masks ((this rub-electric-gate-panel-d) (arg0 symbol) (arg1 int)) + (let ((v1-0 31) + (a3-0 992) + ) + (cond + ((zero? arg1) + (set! v1-0 1) + (set! a3-0 32) + ) + ((= arg1 1) + (set! v1-0 2) + (set! a3-0 64) + ) + ((= arg1 2) + (set! v1-0 4) + (set! a3-0 128) + ) + ((= arg1 3) + (set! v1-0 8) + (set! a3-0 256) + ) + ((= arg1 4) + (set! v1-0 16) + (set! a3-0 512) + ) + ) + (if arg0 + (setup-masks (-> this draw) v1-0 a3-0) + (setup-masks (-> this draw) a3-0 v1-0) + ) + ) + 0 + (none) + ) + +;; definition for method 21 of type rub-electric-gate-panel-d +(defmethod get-skel ((this rub-electric-gate-panel-d)) + (art-group-get-by-name *level* "skel-rub-electric-gate-panel-d" (the-as (pointer level) #f)) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/rubble-part_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubble-part_REF.gc new file mode 100644 index 0000000000..50b7b53542 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/rubble-part_REF.gc @@ -0,0 +1,676 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-rub-missile + :id 1020 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 640) + :parts ((sp-item 3723 :binding 3722) + (sp-item 3722 :flags (sp2) :period (seconds 0.017) :length (seconds 0.017)) + (sp-item 3724) + ) + ) + +;; failed to figure out what this is: +(defpart 3723 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 12) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + ) + ) + +;; failed to figure out what this is: +(defpart 3722 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10) (meters 10)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 90.0 30.0) + (:g :copy r) + (:b :copy r) + (:a 64.0) + (:scalevel-x (meters 0.06666667) (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +;; failed to figure out what this is: +(defpart 3724 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30) (meters 2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 100.0 28.0) + (:b 0.0) + (:a 12.0 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rub-missile-explode + :id 1021 + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 3725 :flags (sp3)) (sp-item 3726) (sp-item 3727) (sp-item 3728 :flags (sp3))) + ) + +;; failed to figure out what this is: +(defpart 3725 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30)) + (:rot-x (degrees 225)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 40.0) + (:a 32.0) + (:fade-a -0.035555556) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:userdata 40960.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3727 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 5.0) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.95 0.02) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3726 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 10.0) + (:scale-x (meters 1) (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9 0.09) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:func 'sparticle-2d-spline-align-instant) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3728 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:num 5.0) + (:scale-x (meters 10) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0) (meters 0.33333334)) + (:scalevel-x (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rub-elec-gate + :id 1022 + :flags (sp0 sp1) + :bounds (static-bspherem 0 0 0 30) + :parts ((sp-item 3729 :flags (is-3d sp7) :period (seconds 2) :length (seconds 0.035))) + ) + +;; failed to figure out what this is: +(defpart 3729 + :init-specs ((:texture (lasersmoke-00 level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:scale-y (meters 1)) + (:r 0.0) + (:g 96.0) + (:b 128.0) + (:a 48.0) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 + 20 + 1 + 0 + #x401b00 + #x401c00 + #x401d00 + #x401e00 + #x401f00 + #x402000 + #x402100 + #x402200 + #x402300 + #x402400 + #x402500 + #x402600 + #x402700 + #x402800 + #x402900 + #x402a00 + #x402b00 + #x402c00 + #x402d00 + #x402e00 + #x402f00 + #x403000 + #x403100 + #x403200 + #x403300 + #x403400 + #x403500 + #x403600 + #x403700 + #x403800 + ) + ) + (:func 'spt-func-part-rub-elec-gate) + (:rotate-x (degrees 90)) + ) + ) + +;; definition for function spt-func-match-part-def +;; WARN: Return type mismatch float vs none. +(defun spt-func-match-part-def ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (set! (-> arg2 coneradius) (-> *part-id-table* 3729 init-specs 9 initial-valuef)) + (none) + ) + +;; definition for function spt-func-part-rub-elec-gate +(defun spt-func-part-rub-elec-gate ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) + (spt-func-match-part-def arg0 arg1 arg2) + (sparticle-texture-animate arg0 arg1 (the-as vector arg2)) + (none) + ) + +;; failed to figure out what this is: +(defpart 3730 + :init-specs ((:texture (static1 level-default-sprite)) + (:num 1.0) + (:x (meters 0)) + (:z (meters 0)) + (:scale-x (meters 1)) + (:rot-y (degrees 0) 1 (degrees 180)) + (:scale-y (meters 1)) + (:r 10.0) + (:g 10.0) + (:b 255.0) + (:a 4.0 16.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3)) + (:rotate-x (degrees 90)) + (:rotate-z (degrees 90)) + ) + ) + +;; definition for function rub-elec-gate-adjust-particles +;; WARN: Return type mismatch int vs none. +(defun rub-elec-gate-adjust-particles ((arg0 float) (arg1 float) (arg2 float)) + (* 0.5 arg0) + (set! (-> *part-id-table* 3729 init-specs 3 initial-valuef) (- (* 0.5 arg1))) + (set! (-> *part-id-table* 3729 init-specs 4 initial-valuef) arg0) + (set! (-> *part-id-table* 3729 init-specs 5 initial-valuef) arg1) + (set! (-> *part-id-table* 3729 init-specs 9 initial-valuef) (* 48.0 arg2)) + 0 + (none) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-switch-glow + :id 1023 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 60) + :parts ((sp-item 3731 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085)) + (sp-item 3732 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 25) + (sp-item 3733 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 50) + (sp-item 3734 :flags (sp6 sp7) :period (seconds 0.335) :length (seconds 0.085) :offset 75) + ) + ) + +;; failed to figure out what this is: +(defpart 3731 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 13.5)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3732 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 15)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3733 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 16.5)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3734 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:y (meters 18)) + (:scale-x (meters 10) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 90)) + (:scale-y (meters 3) (meters 1)) + (:r 0.0) + (:g 64.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 9011.25)) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-switch-explode + :id 1024 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3735 :flags (sp3 sp7)) + (sp-item 3736 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3737 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3738 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.167)) + (sp-item 3739 :flags (sp7) :period (seconds 20) :length (seconds 0.067)) + ) + ) + +;; failed to figure out what this is: +(defpart 3735 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:y (meters 10)) + (:scale-x (meters 60)) + (:rot-x (degrees 2.25)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 150.0) + (:b 255.0) + (:a 128.0) + (:omega (degrees 6767.9995)) + (:scalevel-x (meters -1)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.167)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 glow)) + (:userdata 4096.0) + ) + ) + +;; failed to figure out what this is: +(defpart 3736 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 12)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +;; failed to figure out what this is: +(defpart 3737 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 10)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +;; failed to figure out what this is: +(defpart 3738 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:y (meters 8)) + (:scale-x (meters 2) (meters 8)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +;; failed to figure out what this is: +(defpart 3739 + :init-specs ((:texture (hotdot level-default-sprite)) + (:num 100.0) + (:y (meters 10) (meters 5)) + (:scale-x (meters 0.3) (meters 0.5)) + (:rot-y (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0 1 128.0) + (:g :copy r) + (:b 255.0) + (:a 255.0) + (:vel-y (meters 0.16666667) (meters 0.6666667)) + (:fade-a -0.425) + (:accel-y (meters -0.0026666666)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-switch-sparks + :id 1025 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 40) + :parts ((sp-item 3740 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7) :period (seconds 1) :length (seconds 0.017)) + (sp-item 3741 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + (sp-item 3741 :fade-after (meters 100) :falloff-to (meters 200) :flags (sp7)) + ) + ) + +;; failed to figure out what this is: +(defpart 3740 + :init-specs ((:texture (gun-blue-hit-spek level-default-sprite)) + (:num 10.0) + (:y (meters 1)) + (:scale-x (meters 0.05) (meters 0.1)) + (:rot-x 4) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 128.0) + (:b 128.0 128.0) + (:a 128.0 128.0) + (:omega (degrees 0.0675)) + (:vel-y (meters 0.033333335) (meters 0.06666667)) + (:accel-y (meters -0.0016666667)) + (:friction 0.96 0.02) + (:timer (seconds 1.667)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 launch-along-z left-multiply-quat)) + (:func 'sparticle-motion-blur) + (:next-time (seconds 1)) + (:next-launcher 3742) + (:conerot-x (degrees 0) (degrees 60)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3742 + :init-specs ((:fade-a -0.85333335 -0.85333335)) + ) + +;; failed to figure out what this is: +(defpart 3741 + :init-specs ((:texture (colorflash level-default-sprite)) + (:num 0.1) + (:x (meters 0) (meters 1)) + (:y (meters 2)) + (:scale-x (meters 1) (meters 3)) + (:rot-x (degrees 2.25)) + (:scale-y :copy scale-x) + (:r 100.0) + (:g 100.0) + (:b 128.0 2.0 128.0) + (:a -512.0 5 128.0) + (:scalevel-x (meters -0.033333335)) + (:scalevel-y :copy scalevel-x) + (:timer (seconds 0.05)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:userdata 409.6) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rhino-door-break + :id 1003 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3743 :flags (sp7) :period (seconds 20) :length (seconds 0.067))) + ) + +;; failed to figure out what this is: +(defpart 3743 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 10.0) + (:x (meters -12) (meters 24)) + (:y (meters -4) (meters 20)) + (:scale-x (meters 4) (meters 4)) + (:rot-z (degrees -90)) + (:scale-y :copy scale-x) + (:r 100.0 80.0) + (:g :copy r) + (:b :copy r) + (:a 64.0 64.0) + (:scalevel-x (meters 0.0033333334) (meters 0.0033333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334 -0.21333334) + (:accel-y (meters -0.00033333333)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-tower-break + :id 1026 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3744 :flags (sp7) :period (seconds 20) :length (seconds 0.067) :offset 20)) + ) + +;; failed to figure out what this is: +(defpart 3744 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 10.0) + (:y (meters -4)) + (:scale-x (meters 4) (meters 6)) + (:rot-z (degrees -90)) + (:scale-y :copy scale-x) + (:r 120.0) + (:g 100.0) + (:b 80.0) + (:a 0.0) + (:vel-y (meters 0.33333334) (meters 0.33333334)) + (:scalevel-x (meters 0.013333334) (meters 0.013333334)) + (:rotvel-z (degrees -0.2) (degrees 0.4)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.64 -0.64) + (:accel-y (meters 0.00033333333)) + (:friction 0.9) + (:timer (seconds 2)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13)) + (:next-time (seconds 0.335)) + (:next-launcher 3745) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 3745 + :init-specs ((:fade-a -0.256 -0.256)) + ) + +;; failed to figure out what this is: +(defpartgroup group-elec-gate-sparks + :id 1027 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 20) + :parts ((sp-item 3746 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.667)) + (sp-item 3747 :flags (sp6 sp7) :period (seconds 20) :length (seconds 0.667)) + ) + ) + +;; failed to figure out what this is: +(defpart 3746 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 3.0) + (:scale-x (meters 2) (meters 4)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 2) (meters 3)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + +;; failed to figure out what this is: +(defpart 3747 + :init-specs ((:texture (lightning-anim-01 level-default-sprite)) + (:num 1.0 1.0) + (:scale-x (meters 4) (meters 6)) + (:rot-x 4) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y (meters 3) (meters 4)) + (:r 40.0) + (:g 40.0 40.0) + (:b 255.0) + (:a 128.0) + (:timer (seconds 0.017) (seconds 0.33)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + (:userdata :data (new 'static 'boxed-array :type int32 10 1 0 #x405700 #x405800 #x405900)) + (:func 'sparticle-texture-animate) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/rubblea-init_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rubblea-init_REF.gc new file mode 100644 index 0000000000..b6657755ee --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/rubblea-init_REF.gc @@ -0,0 +1,69 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for function rubblea-login +;; WARN: Return type mismatch int vs none. +(defun rubblea-login ((arg0 level)) + (format 0 "rubblea-login~%") + 0 + (none) + ) + +;; definition for function rubblea-activate +;; WARN: Return type mismatch int vs none. +(defun rubblea-activate ((arg0 level)) + (format 0 "rubblea-activate~%") + (let ((v1-0 *traffic-info*) + (a0-2 (-> arg0 name)) + ) + (set! (-> v1-0 vehicle-level) arg0) + (set! (-> v1-0 vehicle-levels 10) a0-2) + (set! (-> v1-0 vehicle-levels 12) a0-2) + (set! (-> v1-0 vehicle-levels 13) a0-2) + (set! (-> v1-0 vehicle-levels 14) a0-2) + (set! (-> v1-0 vehicle-levels 15) a0-2) + (set! (-> v1-0 vehicle-levels 16) a0-2) + (set! (-> v1-0 vehicle-levels 17) a0-2) + (set! (-> v1-0 vehicle-levels 18) a0-2) + (set! (-> v1-0 vehicle-levels 19) a0-2) + ) + (vehicle-manager-start (the-as process *entity-pool*)) + (if (and (nonzero? *nav-network*) *nav-network*) + (init-by-other! *nav-network* arg0 *lpattack-adjacency*) + ) + 0 + (none) + ) + +;; definition for function rubblea-deactivate +;; WARN: Return type mismatch int vs none. +(defun rubblea-deactivate ((arg0 level)) + (format 0 "rubblea-deactivate~%") + (let ((v1-0 *traffic-info*)) + (set! (-> v1-0 vehicle-level) (the-as level #f)) + ) + (vehicle-manager-kill) + 0 + (none) + ) + +;; definition for function lpattack-login +;; WARN: Return type mismatch int vs none. +(defun lpattack-login ((arg0 level)) + (set! *nav-network* (new 'loading-level 'nav-network)) + (alloc-nav-network-for-level! *nav-network* 64 10) + 0 + (none) + ) + +;; definition for function lpattack-logout +;; WARN: Return type mismatch int vs none. +(defun lpattack-logout ((arg0 level)) + (set! *nav-network* (the-as nav-network 0)) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/stadium/rublcst-scenes_REF.gc b/test/decompiler/reference/jak3/levels/stadium/rublcst-scenes_REF.gc new file mode 100644 index 0000000000..a50cce4890 --- /dev/null +++ b/test/decompiler/reference/jak3/levels/stadium/rublcst-scenes_REF.gc @@ -0,0 +1,946 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-kid kid kid-lod0-jg kid-idle-ja + ((kid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defskelgroup skel-rhino-wheel-fma rhino-wheel-fma rhino-wheel-fma-lod0-jg rhino-wheel-fma-idle-ja + ((rhino-wheel-fma-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 100) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(load-scene (new 'static 'scene + :name "palace-ruins-attack-res-a" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-177" + :art-group "scenecamera" + :anim "palace-ruins-attack-res-a" + :parts 3 + :command-list '((0 (fadein (frame-time-30 10)) (send-event *target* 'draw-vehicle #f)) + (160 (part-tracker + "group-rubble-missile" + entity + "particleman" + joint + "particleC" + track + #t + duration + (frame-range 160 221) + ) + ) + (222 + (part-tracker + "group-rubble-missile-explode" + entity + "particleman" + joint + "particleA" + track + #f + duration + (frame-range 222 232) + ) + (part-tracker + "group-placeholder-multiple" + entity + "particleman" + joint + "particleB" + track + #t + duration + (frame-range 222 310) + ) + ) + (290 (fadeout (frame-time-30 20))) + (309 (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (disable *screen-filter*) + (setup + *screen-filter* + (new 'static 'vector :w 128.0) + (new 'static 'vector :w 128.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-setting! 'allow-blackout #f 0.0 0) + ) + (none) + ) + ) + ) + (10000 + (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (remove-setting! 'allow-blackout) + (setup + *screen-filter* + (new 'static 'vector :w 128.0) + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0) + (* 1.1111112 (seconds-per-frame)) + (bucket-id tex-hud-pris2) + #x3fffff + #x33001 + #t + ) + (set-filter-color! 1.0 1.0 1.0) + ) + (none) + ) + ) + (apply ,(lambda :behavior scene-player + () + (if (-> self aborted?) + (task-close! "comb-wild-ride-introduction") + ) + (none) + ) + ) + ) + ) + :cut-list '(56 100 145 165 222) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "darkjak-highres" + :level 'rublcst + :art-group "skel-darkjak-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x20 + ) + (new 'static 'scene-actor + :name "damus-highres" + :level 'rublcst + :art-group "skel-damus-highres" + :prefix "" + :draw-frames '((min 294) (315 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'rublcst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-fma" + :level 'lpattack + :art-group "skel-rhino-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-wheel-fma" + :level 'rublcst + :art-group "skel-rhino-wheel-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'rublcst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "rubblec-fma" + :end-point "railb-start" + :borrow '((stadiuma 0 lpattack special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :scene-task #x105 + :on-running #f + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(set! (-> *lightning-spec-id-table* 35) (new 'static 'lightning-spec + :name "lightning-darkjak-rubble-shock" + :flags (lightning-spec-flags lsf0) + :rand-func #x2 + :start-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :end-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5) + :fade-start-factor 0.2 + :texture (new 'static 'texture-id :index #x3a :page #x4) + :reduction 0.42 + :num-points 32 + :box-size 4096.0 + :merge-factor 0.6 + :merge-count 2 + :radius 409.6 + :duration 30.0 + :duration-rand 150.0 + :sound #f + ) + ) + +;; failed to figure out what this is: +(load-scene + (new 'static 'scene + :name "palace-ruins-attack-res" + :extra #f + :info #f + :scene-flags (scene-flags scf1 scf2 scf3 scf4) + :mask-to-clear (process-mask movie projectile) + :entity "scene-stage-177" + :art-group "scenecamera" + :anim "palace-ruins-attack-res" + :parts 41 + :command-list '((0 + (fadein (frame-time-30 30)) + (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 0 0 0.0) (none))) + ) + (1 + (part-tracker + "group-fma-rhino-smoke" + entity + "particleman" + joint + "particleA" + track + #t + duration + (frame-range 1 3620) + ) + (apply ,(lambda :behavior scene-player () (set-darkjak-highres-texture-morph! 0.0) (none))) + ) + (745 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 1 1 0.0) (none)))) + (1350 (apply ,(lambda :behavior scene-player + () + (when (not (-> self aborted?)) + (set! (-> *display* force-sync) (the-as uint 196)) + (persist-with-delay *setting-control* 'blur-a (seconds 6.535) 'blur-a 'abs 0.8 0) + (sound-play "trans3") + ) + (none) + ) + ) + ) + (1379 + (send-event *time-of-day* 'save) + (send-event *time-of-day* 'change 'hour (int 14)) + (apply + ,(lambda :behavior scene-player + () + (set-cloud-and-fog-interp! *mood-control* 0.25 0.5 0.0 0.0) + (set-cloud-and-fog-interp! *mood-control* 0.25 0.5 1.0 1.0) + (set-time-for-random-weather! *mood-control* -99.0 -99.0) + (none) + ) + ) + ) + (1546 + (send-event *time-of-day* 'restore) + (apply + ,(lambda :behavior scene-player + () + (set-cloud-and-fog-interp! *mood-control* 1.0 0.64 0.0 0.0) + (set-cloud-and-fog-interp! *mood-control* 1.0 0.64 1.0 1.0) + (set-time-for-random-weather! *mood-control* 90000.0 90000.0) + (none) + ) + ) + ) + (2015 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 5 2 0.0) (none)))) + (2730 + (send-event + "darkjak-highres" + 'trans-hook + ,(lambda :behavior scene-player + () + (let ((f30-0 (ja-aframe-num 0))) + (cond + ((< f30-0 2754.0) + (set-darkjak-highres-texture-morph! 0.0) + ) + ((and (>= f30-0 2754.0) (>= 2760.0 f30-0)) + (set-darkjak-highres-texture-morph! (* 0.16666667 (+ -2754.0 f30-0))) + ) + ((and (>= f30-0 2761.0) (>= 2795.0 f30-0)) + (set-darkjak-highres-texture-morph! (+ 1.0 (* 0.029411765 (- 2761.0 f30-0)))) + ) + ((and (>= f30-0 2795.0) (>= 3630.0 f30-0)) + (set-darkjak-highres-texture-morph! 0.0) + ) + (else + (set-darkjak-highres-texture-morph! 1.0) + ) + ) + (setup-masks (-> self draw) 0 32) + (when (and (>= f30-0 2754.0) (>= 2780.0 f30-0)) + (process-drawable-shock-skel-effect + self + (-> *lightning-spec-id-table* 35) + lightning-probe-callback + (-> *part-id-table* 160) + 1228.8 + -1 + -1 + ) + (process-drawable-shock-effect + self + (-> *lightning-spec-id-table* 9) + lightning-probe-callback + (-> *part-id-table* 187) + 0 + 0 + 40960.0 + ) + ) + ) + (none) + ) + ) + ) + (3008 (apply ,(lambda :behavior scene-player () (set-lightning-time! *mood-control* 3 3 0.0) (none)))) + (3040 + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleB" + track + #t + duration + (frame-range 3040 3074) + ) + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleC" + track + #t + duration + (frame-range 3040 3074) + ) + ) + (3559 + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleD" + track + #t + duration + (frame-range 3559 3603) + ) + (part-tracker + "group-fma-rub-hover-vehicle-exhaust-glow" + entity + "particleman" + joint + "particleE" + track + #t + duration + (frame-range 3559 3603) + ) + ) + (10000 + (task-close! "comb-wild-ride-introduction") + (send-event + "darkjak-highres" + 'trans-hook + ,(lambda :behavior scene-player + () + (set-darkjak-highres-texture-morph! 0.0) + (setup-masks (-> self draw) 0 32) + (none) + ) + ) + ) + ) + :cut-list '(0 + 127 + 196 + 294 + 315 + 593 + 745 + 805 + 886 + 1046 + 1145 + 1278 + 1316 + 1379 + 1546 + 1600 + 1693 + 2018 + 2070 + 2136 + 2236 + 2315 + 2439 + 2510 + 2555 + 2624 + 2731 + 2796 + 2831 + 2925 + 3013 + 3104 + 3148 + 3442 + ) + :wait-ground-time (seconds 1) + :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 '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :camera 4 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "darkjak-highres" + :level 'rublcst + :art-group "skel-darkjak-highres" + :prefix "" + :draw-frames '((min 196) (294 315) (384 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '((127 130)) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + :no-draw-seg #x20 + ) + (new 'static 'scene-actor + :name "damus-highres" + :level 'rublcst + :art-group "skel-damus-highres" + :prefix "" + :draw-frames '((min 294) (315 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "veger-highres" + :level 'rublcst + :art-group "skel-veger-highres" + :prefix "" + :draw-frames '((1919 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '(2796) + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "sidekick-highres" + :level 'rublcst + :art-group "skel-sidekick-highres" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-fma" + :level 'lpattack + :art-group "skel-rhino-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "rhino-wheel-fma" + :level 'rublcst + :art-group "skel-rhino-wheel-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '((min max)) + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "kid" + :level 'rublcst + :art-group "skel-kid" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "kidmedallion" + :level 'rublcst + :art-group "skel-kidmedallion" + :prefix "" + :draw-frames '((1255 max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "comb-rail-rider-fma" + :level 'rublcst + :art-group "skel-comb-rail-rider-fma" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "comb-rail-rider-fma" + :level 'rublcst + :art-group "skel-comb-rail-rider-fma" + :prefix "b-" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :flags #x1 + :shadow-flags -1 + :shadow-volume-joint #f + ) + (new 'static 'scene-actor + :name "particleman" + :level 'rublcst + :art-group "skel-particleman" + :prefix "" + :draw-frames '((min max)) + :scissor-frames '() + :shadow-frames '((min max)) + :cloth-reset-frames '() + :cloth-commands '() + :shadow-flags -1 + :shadow-volume-joint #f + ) + ) + :load-point "rubblec-fma" + :end-point "railb-start" + :borrow '((stadiuma 0 lpattack special)) + :sfx-volume -1.0 + :ambient-volume -1.0 + :music-delay 1500.0 + :scene-task #x105 + :on-running '(sound-play-loop "ruin-amb-mov") + :on-complete #f + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-missile + :id 1295 + :flags (sp0 sp4) + :bounds (static-bspherem 0 0 0 640) + :parts ((sp-item 4353 :binding 4352) + (sp-item 4352 :flags (sp2) :period (seconds 0.017) :length (seconds 0.017)) + (sp-item 4354) + ) + ) + +;; failed to figure out what this is: +(defpart 4353 + :init-specs ((:texture (starflash level-default-sprite)) + (:num 1.0) + (:scale-x (meters 12) (meters 1)) + (:rot-x (degrees 22.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 200.0) + (:b 128.0) + (:a 128.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + ) + ) + +;; failed to figure out what this is: +(defpart 4352 + :init-specs ((:texture (bigpuff level-default-sprite)) + (:num 1.0) + (:scale-x (meters 10) (meters 10)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 90.0 30.0) + (:g :copy r) + (:b :copy r) + (:a 64.0) + (:scalevel-x (meters 0.06666667) (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.21333334) + (:timer (seconds 1)) + (:flags (sp-cpuinfo-flag-2)) + ) + ) + +;; failed to figure out what this is: +(defpart 4354 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30) (meters 2)) + (:rot-x (degrees 22.5)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 100.0 28.0) + (:b 0.0) + (:a 12.0 12.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rubble-missile-explode + :id 1296 + :flags (sp0) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4355 :flags (sp3)) (sp-item 4356) (sp-item 4357) (sp-item 4358 :flags (sp3))) + ) + +;; failed to figure out what this is: +(defpart 4355 + :init-specs ((:texture (glow-soft level-default-sprite)) + (:num 1.0) + (:scale-x (meters 30)) + (:rot-x (degrees 225)) + (:scale-y :copy scale-x) + (:r 255.0) + (:g 128.0) + (:b 40.0) + (:a 32.0) + (:fade-a -0.035555556) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14 glow)) + (:userdata 40960.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4357 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:num 5.0) + (:scale-x (meters 1) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.95 0.02) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 80) (degrees 20)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4356 + :init-specs ((:texture (explosion-edge level-default-sprite)) + (:num 10.0) + (:scale-x (meters 1) (meters 2)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0.033333335) (meters 0.26666668)) + (:scalevel-x (meters 0.033333335)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9 0.09) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:func 'sparticle-2d-spline-align-instant) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4358 + :init-specs ((:texture (explo-texture level-default-sprite)) + (:num 5.0) + (:scale-x (meters 10) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 128.0) + (:g 80.0 20.0) + (:b 30.0) + (:a 255.0) + (:vel-y (meters 0) (meters 0.33333334)) + (:scalevel-x (meters 0.06666667)) + (:scalevel-y :copy scalevel-x) + (:fade-g -0.08888889) + (:fade-b -0.033333335) + (:fade-a -0.28333333 -0.28333333) + (:friction 0.9) + (:timer (seconds 3)) + (:flags (sp-cpuinfo-flag-0 sp-cpuinfo-flag-3 sp-cpuinfo-flag-14)) + (:conerot-x (degrees 0) (degrees 360)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-fma-rhino-smoke + :id 1297 + :flags (sp0) + :bounds (static-bspherem 0 0 0 600) + :parts ((sp-item 4359 :period (seconds 200) :length (seconds 0.035)) (sp-item 4360) (sp-item 4361)) + ) + +;; failed to figure out what this is: +(defpart 4359 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 40.0) + (:y (meters -3)) + (:z (meters 0) (meters 10)) + (:scale-x (meters 5) (meters 2)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 190.0) + (:g 150.0) + (:b 90.0) + (:a 32.0 32.0) + (:vel-x (meters 0.016666668) (meters 0.016666668)) + (:scalevel-x (meters 0.0033333334)) + (:rotvel-z (degrees -0.06666667) (degrees 0.13333334)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.021333333 -0.021333333) + (:accel-y (meters 0) (meters 0.000033333334)) + (:friction 0.95) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 left-multiply-quat)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:rotate-y (degrees 0) (degrees 3600)) + ) + ) + +;; failed to figure out what this is: +(defpart 4360 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters -3)) + (:y (meters -3)) + (:z (meters 1)) + (:scale-x (meters 0.5) (meters 1)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 60.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:scalevel-x (meters 0.00033333333) (meters 0.0033333334)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.94 0.02) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:next-time (seconds 1)) + (:next-launcher 4362) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4362 + :init-specs ((:scalevel-x (meters 0.00033333333) (meters 0.006666667)) + (:scalevel-y :copy scalevel-x) + (:fade-a -0.047407407) + ) + ) + +;; failed to figure out what this is: +(defpart 4361 + :init-specs ((:texture (big-cloud level-default-sprite)) + (:birth-func 'birth-func-texture-group) + (:num 0.1) + (:x (meters 1)) + (:y (meters -3)) + (:z (meters 4)) + (:scale-x (meters 0.5) (meters 0.5)) + (:rot-z (degrees 0) (degrees 360)) + (:scale-y :copy scale-x) + (:r 0.0 60.0) + (:g :copy r) + (:b :copy r) + (:a 0.0) + (:scalevel-x (meters 0.00033333333) (meters 0.0016666667)) + (:rotvel-z (degrees -0.13333334) (degrees 0.26666668)) + (:scalevel-y :copy scalevel-x) + (:fade-a 0.21333334 0.21333334) + (:accel-y (meters 0.00016666666) (meters 0.00016666666)) + (:friction 0.94 0.02) + (:timer (seconds 10)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-13 launch-along-z)) + (:userdata :data (new 'static 'boxed-array :type int32 5 1 0 #x40a000 #x405c00)) + (:next-time (seconds 1)) + (:next-launcher 4362) + (:rotate-y (degrees 0)) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-fma-rub-hover-vehicle-exhaust-glow + :id 1298 + :bounds (static-bspherem 0 0 0 100) + :parts ((sp-item 4363 :flags (sp6))) + ) + +;; failed to figure out what this is: +(defpart 4363 + :init-specs ((:texture (glow level-default-sprite)) + (:num 1.0) + (:scale-x (meters 2) (meters 0.5)) + (:rot-z (degrees 0)) + (:scale-y :copy scale-x) + (:r 0.0) + (:g 64.0 64.0) + (:b 255.0) + (:a 80.0 20.0) + (:timer (seconds 0.017)) + (:flags (sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)) + ) + ) + + + + diff --git a/test/decompiler/reference/jak3/levels/wascity/wasstadium/sig-rider_REF.gc b/test/decompiler/reference/jak3/levels/wascity/wasstadium/sig-rider_REF.gc index 1e5489182b..6f4eaececa 100644 --- a/test/decompiler/reference/jak3/levels/wascity/wasstadium/sig-rider_REF.gc +++ b/test/decompiler/reference/jak3/levels/wascity/wasstadium/sig-rider_REF.gc @@ -146,7 +146,7 @@ (nonzero? (-> *target* pilot)) (-> self parent) (-> self parent 0) - (= *target* (vehicle-method-68 (the-as vehicle (-> self parent 0)))) + (= *target* (find-rider (the-as vehicle (-> self parent 0)))) ) (let ((v1-14 (-> *target* pilot))) (when (time-elapsed? (-> self complain-time) (seconds 3)) @@ -319,7 +319,3 @@ (the-as sig-rider s4-0) ) ) - - - - diff --git a/test/offline/config/jak3/config.jsonc b/test/offline/config/jak3/config.jsonc index 1c535146db..547a99f149 100644 --- a/test/offline/config/jak3/config.jsonc +++ b/test/offline/config/jak3/config.jsonc @@ -106,7 +106,14 @@ "DGO/FREEHQ.DGO", "DGO/LJINX.DGO", "DGO/ONINTENT.DGO", - "DGO/LCTYSNPR.DGO" + "DGO/LCTYSNPR.DGO", + "DGO/LPATK.DGO", + "DGO/HHG.DGO", + "DGO/CGB.DGO", + "DGO/RBCT.DGO", + "DGO/GGA.DGO", + "DGO/VIN.DGO", + "DGO/LCTYBLOW.DGO" ], "skip_compile_files": [ @@ -357,7 +364,16 @@ // bombbot "(method 196 bombbot-player)", // cty-sniper-turret - "citysniper-draw-2d-hud" + "citysniper-draw-2d-hud", + // gun-dummy + "(method 35 gun-dummy-rc-one-eye)", + // blow-tower-obs + "(method 47 tower-flyer)", + // blow-tower-obs2 + "grunt-part-callback", + // cty-blow-tower + "(method 47 bt-hellcat)", + "(method 19 bt-gun-manager)" ], "skip_compile_states": { @@ -369,6 +385,7 @@ "(setup wascity-turret)": ["code"], // bad handle->process "(hostile spydroid)": ["trans"], // reassigning process to a conditional "(explode krimson-wall-break)": ["code"], // art-joint-anim cast - "(active desert-chase-ambush-manager)": ["code"] + "(active desert-chase-ambush-manager)": ["code"], + "(riding-idle-ship bt-grunt)": ["code"] // int->float attempted on a function } }