From 2ba07eb0583e10b0239aef385503e102adb324d8 Mon Sep 17 00:00:00 2001 From: Tyler Wilding Date: Sun, 22 Jan 2023 09:31:39 -0500 Subject: [PATCH] d/jak2: finish `consite-obs` and get almost all side-missions working (#2143) Some side missions require cars, they don't work yet. Also the ring-races and collection ones do not grant orbs. The hoaming beacon collection one causes a `hud` crash --- decompiler/config/jak2/all-types.gc | 95 +- .../jak2/anonymous_function_types.jsonc | 21 + decompiler/config/jak2/inputs.jsonc | 10 +- decompiler/config/jak2/label_types.jsonc | 6 +- decompiler/config/jak2/stack_structures.jsonc | 7 +- decompiler/config/jak2/type_casts.jsonc | 7 +- decompiler/config/jak2/var_names.jsonc | 7 + .../opengl_renderer/OpenGLRenderer.cpp | 11 + game/graphics/opengl_renderer/buckets.h | 5 + goal_src/jak2/engine/ambient/ambient-h.gc | 5075 +++++++++++------ goal_src/jak2/game.gp | 55 +- .../city/side_missions/ctywide-bbush.gc | 3106 ++++++++++ goal_src/jak2/levels/common/airlock.gc | 1 + goal_src/jak2/levels/consite/consite-obs.gc | 338 ++ goal_src/jak2/levels/hiphog/hiphog-scenes.gc | 1 + .../jak2/engine/ambient/ambient-h_REF.gc | 5075 +++++++++++------ .../jak2/engine/ambient/ambient_REF.gc | 2 +- .../city/side_missions/ctywide-bbush_REF.gc | 3315 +++++++++++ .../jak2/levels/consite/consite-obs_REF.gc | 426 ++ test/offline/config/jak2/config.jsonc | 1 + 20 files changed, 14263 insertions(+), 3301 deletions(-) create mode 100644 test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc create mode 100644 test/decompiler/reference/jak2/levels/consite/consite-obs_REF.gc diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 7c864aa117..e151a2d1d5 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -13206,7 +13206,7 @@ (delay uint16 :offset-assert 14) (pos uint16 :offset-assert 16) (neg uint16 :offset-assert 18) - (on-close basic :offset-assert 20) + (on-close pair :offset-assert 20) ) :pack-me :method-count-assert 14 @@ -43906,8 +43906,8 @@ ;; consite-texture ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (define-extern *kor-transform-texture-anim-array* texture-anim-array) -;; (define-extern set-kor-texture-morph! function) +(define-extern *kor-transform-texture-anim-array* texture-anim-array) +(define-extern set-kor-texture-morph! (function float symbol)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; consite-part ;; @@ -43936,7 +43936,6 @@ ;; consite-obs ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype consite-break-scaffold (process-drawable) () :method-count-assert 21 @@ -43946,9 +43945,7 @@ (idle () _type_ :state 20) ) ) -|# -#| (deftype consite-bomb-elevator-hinges (process-drawable) () :method-count-assert 21 @@ -43958,9 +43955,7 @@ (idle () _type_ :state 20) ) ) -|# -#| (deftype consite-bomb-elevator (process-drawable) () :method-count-assert 21 @@ -43970,9 +43965,7 @@ (idle () _type_ :state 20) ) ) -|# -#| (deftype consite-silo-doors (process-drawable) () :method-count-assert 21 @@ -43982,9 +43975,7 @@ (idle () _type_ :state 20) ) ) -|# -#| (deftype baron-npc (process-taskable) () :method-count-assert 38 @@ -43993,10 +43984,9 @@ (:methods ) ) -|# -;; (define-extern consite-bomb-elevator-hinges-init-by-other function) -;; (define-extern consite-activate function) +(define-extern consite-bomb-elevator-hinges-init-by-other (function consite-bomb-elevator entity-actor none :behavior consite-bomb-elevator-hinges)) +(define-extern consite-activate (function none)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; target-indax ;; @@ -46560,13 +46550,12 @@ ;; ctywide-bbush ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#| (deftype race-ring (process-drawable) - ((last-target-pos vector :inline :offset-assert 204) - (keep-part-track-alive symbol :offset-assert 220) ;; guessed by decompiler - (part-track uint64 :offset-assert 228) ;; handle - (rot-y float :offset-assert 236) - (cyl cylinder-flat :inline :offset-assert 252) + ((last-target-pos vector :inline :offset-assert 208) + (keep-part-track-alive symbol :offset-assert 224) ;; guessed by decompiler + (part-track handle :offset-assert 232) ;; handle + (rot-y float :offset-assert 240) + (cyl cylinder-flat :inline :offset-assert 256) ) :method-count-assert 24 :size-assert #x128 @@ -46574,30 +46563,27 @@ (:methods (idle () _type_ :state 20) (die () _type_ :state 21) - (race-ring-method-22 () none 22) - (race-ring-method-23 () none 23) + (race-ring-method-22 (_type_) none 22) + (race-ring-method-23 (_type_) none 23) ) ) -|# -#| +(declare-type city-race-ring-info structure) (deftype bb-ring-info (structure) ((time time-frame :offset-assert 0) (start-pos vector :inline :offset-assert 16) (rotation float :offset-assert 32) - (rings basic :offset-assert 36) + (rings (array city-race-ring-info) :offset-assert 36) ) :method-count-assert 9 :size-assert #x28 :flag-assert #x900000028 ) -|# -#| (deftype bush-collect (process-drawable) - ((minimap connection-minimap :offset-assert 196) - (trans-y float :offset-assert 200) - (beep-time float :offset-assert 204) + ((minimap connection-minimap :offset-assert 200) + (trans-y float :offset-assert 204) + (beep-time float :offset-assert 208) ) :method-count-assert 24 :size-assert #xd4 @@ -46605,67 +46591,60 @@ (:methods (idle () _type_ :state 20) (die () _type_ :state 21) - (bush-collect-method-22 () none 22) - (bush-collect-method-23 () none 23) + (bush-collect-method-22 (_type_) none 22) + (bush-collect-method-23 (_type_) none 23) ) ) -|# -#| (deftype burning-bush-collection-info (structure) ((pos vector :inline :offset-assert 0) - (handle uint64 :offset-assert 16) + (handle handle :offset-assert 16) (minimap connection-minimap :offset-assert 24) ) :method-count-assert 10 :size-assert #x1c :flag-assert #xa0000001c (:methods - (burning-bush-collection-info-method-9 () none 9) + (burning-bush-collection-info-method-9 (_type_ object) none 9) ) ) -|# -#| (deftype bb-collection-info (structure) ((user-data uint32 :offset-assert 0) (time time-frame :offset-assert 8) - (colls basic :offset-assert 16) + (colls (array burning-bush-collection-info) :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 :flag-assert #x900000014 ) -|# -#| (deftype burning-bush-get-on-info (structure) ((trans vector :inline :offset-assert 0) (quat quaternion :inline :offset-assert 16) (camera-trans vector :inline :offset-assert 32) - (camera-rot UNKNOWN 9 :offset-assert 48) + (camera-rot float 9 :offset-assert 48) (time float :offset-assert 84) ) :method-count-assert 9 :size-assert #x58 :flag-assert #x900000058 ) -|# -;; (define-extern race-ring-set-particle-rotation-callback function) ;; (function part-tracker none) -;; (define-extern race-ring-init-by-other function) -;; (define-extern race-ring-spawn function) -;; (define-extern *bb-ring-info* array) -;; (define-extern *city-race-ring-edit-info* object) -;; (define-extern bush-collect-init-by-other function) -;; (define-extern bush-collect-dark-eco-init-by-other function) -;; (define-extern bush-collect-homing-beacon-init-by-other function) -;; (define-extern bush-collect-spawn function) -;; (define-extern bush-collect-homing-beacon-spawn function) -;; (define-extern bush-collect-dark-eco-spawn function) -;; (define-extern *bb-collection-info* array) -;; (define-extern *city-bb-collection-edit-info* object) -;; (define-extern *burning-bush-get-on-info* array) +(define-extern race-ring-set-particle-rotation-callback (function part-tracker none)) +(define-extern race-ring-init-by-other (function city-race-ring-info none :behavior race-ring)) +(define-extern race-ring-spawn (function task-manager city-race-ring-info process)) +(define-extern *bb-ring-info* (array bb-ring-info)) +(define-extern *city-race-ring-edit-info* (pointer int32)) +(define-extern bush-collect-init-by-other (function vector none :behavior bush-collect)) +(define-extern bush-collect-dark-eco-init-by-other (function vector none :behavior bush-collect)) +(define-extern bush-collect-homing-beacon-init-by-other (function vector none :behavior bush-collect)) +(define-extern bush-collect-spawn (function task-manager vector (pointer bush-collect))) +(define-extern bush-collect-homing-beacon-spawn (function task-manager vector (pointer bush-collect))) +(define-extern bush-collect-dark-eco-spawn (function task-manager vector (pointer bush-collect))) +(define-extern *bb-collection-info* (array bb-collection-info)) +(define-extern *city-bb-collection-edit-info* (pointer int32)) +(define-extern *burning-bush-get-on-info* (array burning-bush-get-on-info)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; delivery-task ;; diff --git a/decompiler/config/jak2/anonymous_function_types.jsonc b/decompiler/config/jak2/anonymous_function_types.jsonc index 1dbf3daaa9..95b2f1a7a0 100644 --- a/decompiler/config/jak2/anonymous_function_types.jsonc +++ b/decompiler/config/jak2/anonymous_function_types.jsonc @@ -927,5 +927,26 @@ [0, "(function none :behavior scene-player)"], [1, "(function none :behavior scene-player)"], [2, "(function none :behavior scene-player)"] + ], + "ctywide-bbush": [ + [ + 9, + "(function process int symbol event-message-block none :behavior task-manager)" + ], + [10, "(function symbol :behavior task-manager)"], + [11, "(function none :behavior task-manager)"], + [12, "(function none :behavior task-manager)"], + [13, "(function none :behavior task-manager)"], + [14, "(function none :behavior task-manager)"], + [15, "(function none :behavior task-manager)"], + [16, "(function none :behavior task-manager)"], + [17, "(function none :behavior task-manager)"], + [18, "(function none :behavior task-manager)"], + [19, "(function none :behavior task-manager)"], + [36, "(function none :behavior task-manager)"], + [37, "(function none :behavior task-manager)"], + [38, "(function none :behavior task-manager)"], + [39, "(function none :behavior task-manager)"], + [40, "(function none :behavior task-manager)"] ] } diff --git a/decompiler/config/jak2/inputs.jsonc b/decompiler/config/jak2/inputs.jsonc index 14ec92ac53..8929a82034 100644 --- a/decompiler/config/jak2/inputs.jsonc +++ b/decompiler/config/jak2/inputs.jsonc @@ -121,7 +121,7 @@ // "DGO/HALFPIPE.DGO", // "DGO/LSAMERGD.DGO", "DGO/PAS.DGO", - // "DGO/LBBUSH.DGO", + "DGO/LBBUSH.DGO", "DGO/LPACKAGE.DGO", "DGO/LINTCSTB.DGO", // "DGO/LPORTRUN.DGO", @@ -190,8 +190,15 @@ "CAP.DGO", "CGA.DGO", "CGB.DGO", + "CGC.DGO", + "CFA.DGO", + "CFB.DGO", + "CIA.DGO", "CIB.DGO", + "CMA.DGO", "CMB.DGO", + "COA.DGO", + "COB.DGO", "CPA.DGO", "CPO.DGO", "CTA.DGO", @@ -216,6 +223,7 @@ "HIPHOG.DGO", "INTROCST.DGO", "KIOSK.DGO", + "LBBUSH.DGO", "LCGUARD.DGO", "LCITYLOW.DGO", "LDJAKBRN.DGO", diff --git a/decompiler/config/jak2/label_types.jsonc b/decompiler/config/jak2/label_types.jsonc index b0c2d3b369..073c730117 100644 --- a/decompiler/config/jak2/label_types.jsonc +++ b/decompiler/config/jak2/label_types.jsonc @@ -57,7 +57,7 @@ ["L19", "(pointer float)", 28] ], "ocean-frames": [["L1", "(pointer uint32)", 16384]], - "ambient-h": [["L1", "(inline-array talker-speech-class)", 188]], + "ambient-h": [["L1", "(inline-array talker-speech-class)", 465]], "pat-h": [["L1", "(inline-array pat-mode-info)", 4]], "joint-mod-h": [["L43", "(inline-array vector)", 6]], "rigid-body": [["L163", "rigid-body-object-constants"]], @@ -1156,5 +1156,9 @@ "fortress-scenes": [ ["L60", "vector"], ["L69", "sprite-vec-data-2d"] + ], + "ctywide-bbush": [ + ["L186", "(pointer int32)", 512], + ["L330", "(pointer int32)", 512] ] } diff --git a/decompiler/config/jak2/stack_structures.jsonc b/decompiler/config/jak2/stack_structures.jsonc index 116bd011f4..129585f533 100644 --- a/decompiler/config/jak2/stack_structures.jsonc +++ b/decompiler/config/jak2/stack_structures.jsonc @@ -1734,5 +1734,10 @@ "(trans idle vehicle-turret)": [[16, "vector"]], "(anon-function 9 hal3-course)": [[96, "transport-params"]], "(method 17 turret-control)": [[16, "attack-info"]], - "(code active lightning-tracker)": [[16, "vector"]] + "(code active lightning-tracker)": [[16, "vector"]], + "title-plug-lightning": [[16, "vector"]], + "(anon-function 18 ctywide-bbush)": [ + [64, "vector"], + [128, "vector"] + ] } diff --git a/decompiler/config/jak2/type_casts.jsonc b/decompiler/config/jak2/type_casts.jsonc index 1382d49b03..a748a3cf4c 100644 --- a/decompiler/config/jak2/type_casts.jsonc +++ b/decompiler/config/jak2/type_casts.jsonc @@ -7946,5 +7946,10 @@ "(anon-function 16 hal3-course)": [[32, "v1", "halt-wait-spot"]], "(anon-function 14 hal3-course)": [[32, "v1", "halt-wait-spot"]], "(anon-function 17 hal3-course)": [[55, "v1", "task-manager"]], - "title-plug-lightning": [[99, "v1", "title-control"]] + "title-plug-lightning": [[99, "v1", "title-control"]], + "(trans idle race-ring)": [ + [96, "a1", "process-focusable"], + [19, "a0", "part-tracker"] + ], + "race-ring-set-particle-rotation-callback": [[1, "v1", "(pointer race-ring)"]] } diff --git a/decompiler/config/jak2/var_names.jsonc b/decompiler/config/jak2/var_names.jsonc index cb8f896736..d31fc7692b 100644 --- a/decompiler/config/jak2/var_names.jsonc +++ b/decompiler/config/jak2/var_names.jsonc @@ -4037,5 +4037,12 @@ "sv-16": "data", "v1-15": "_data" } + }, + "set-kor-texture-morph!": { + "vars": { + "v1-0": "tex-arr", + "a1-0": "tex-idx" + }, + "args": ["time"] } } diff --git a/game/graphics/opengl_renderer/OpenGLRenderer.cpp b/game/graphics/opengl_renderer/OpenGLRenderer.cpp index 5f9c00722b..e35bf8b6a2 100644 --- a/game/graphics/opengl_renderer/OpenGLRenderer.cpp +++ b/game/graphics/opengl_renderer/OpenGLRenderer.cpp @@ -129,6 +129,7 @@ void OpenGLRenderer::init_bucket_renderers_jak2() { init_bucket_renderer("tfrag-l4-tfrag", BucketCategory::TFRAG, BucketId::TFRAG_L4_TFRAG, std::vector{tfrag3::TFragmentTreeKind::NORMAL}, false, 4); init_bucket_renderer("tie-l4-tfrag", BucketCategory::TIE, BucketId::TIE_L4_TFRAG, 4); + init_bucket_renderer("merc-l4-tfrag", BucketCategory::MERC, BucketId::MERC_L4_TFRAG); // 60 init_bucket_renderer("tex-l5-tfrag", BucketCategory::TEX, BucketId::TEX_L5_TFRAG); @@ -180,7 +181,17 @@ void OpenGLRenderer::init_bucket_renderers_jak2() { std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 2); // 150 init_bucket_renderer("merc-l2-alpha", BucketCategory::MERC, BucketId::MERC_L2_ALPHA); + init_bucket_renderer("tex-l3-alpha", BucketCategory::TEX, + BucketId::TEX_L3_ALPHA); + init_bucket_renderer("tfrag-t-l3-alpha", BucketCategory::TFRAG, + BucketId::TFRAG_T_L3_ALPHA, + std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 3); // 160 + init_bucket_renderer("tex-l4-alpha", BucketCategory::TEX, + BucketId::TEX_L4_ALPHA); + init_bucket_renderer("tfrag-t-l4-alpha", BucketCategory::TFRAG, + BucketId::TFRAG_T_L4_ALPHA, + std::vector{tfrag3::TFragmentTreeKind::TRANS}, false, 4); // 170 init_bucket_renderer("tex-l5-alpha", BucketCategory::TEX, BucketId::TEX_L5_ALPHA); diff --git a/game/graphics/opengl_renderer/buckets.h b/game/graphics/opengl_renderer/buckets.h index de7fd5ae33..e68b4b776e 100644 --- a/game/graphics/opengl_renderer/buckets.h +++ b/game/graphics/opengl_renderer/buckets.h @@ -104,6 +104,7 @@ enum class BucketId { TEX_L4_TFRAG = 51, TFRAG_L4_TFRAG = 52, TIE_L4_TFRAG = 53, + MERC_L4_TFRAG = 58, TEX_L5_TFRAG = 62, TFRAG_L5_TFRAG = 63, TIE_L5_TFRAG = 64, @@ -128,6 +129,10 @@ enum class BucketId { TEX_L2_ALPHA = 147, TFRAG_T_L2_ALPHA = 148, MERC_L2_ALPHA = 151, + TEX_L3_ALPHA = 157, + TFRAG_T_L3_ALPHA = 158, + TEX_L4_ALPHA = 167, + TFRAG_T_L4_ALPHA = 168, TEX_L5_ALPHA = 177, TEX_LCOM_TFRAG = 187, MERC_LCOM_TFRAG = 188, diff --git a/goal_src/jak2/engine/ambient/ambient-h.gc b/goal_src/jak2/engine/ambient/ambient-h.gc index bc39ed1df2..02af47e33a 100644 --- a/goal_src/jak2/engine/ambient/ambient-h.gc +++ b/goal_src/jak2/engine/ambient/ambient-h.gc @@ -30,7 +30,7 @@ (delay uint16 :offset-assert 14) (pos uint16 :offset-assert 16) (neg uint16 :offset-assert 18) - (on-close basic :offset-assert 20) + (on-close pair :offset-assert 20) ) :pack-me :method-count-assert 14 @@ -73,1606 +73,3473 @@ ) -(define *talker-speech* (new 'static 'inline-array talker-speech-class 188 - (new 'static 'talker-speech-class :name "none") - (new 'static 'talker-speech-class - :name "hal001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x1 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "hal002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x2 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop002" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3 - :text-message #x224 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop004" - :channel (gui-channel daxter) - :flags #x3 - :speech #x4 - :text-message #x226 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop008" - :channel (gui-channel daxter) - :flags #x3 - :speech #x5 - :text-message #x227 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop010" - :channel (gui-channel daxter) - :flags #x3 - :speech #x7 - :text-message #x227 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop011" - :channel (gui-channel daxter) - :flags #x3 - :speech #x8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop016" - :channel (gui-channel daxter) - :flags #x3 - :speech #x9 - :text-message #x229 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop017" - :channel (gui-channel daxter) - :flags #x3 - :speech #xa - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds020" - :channel (gui-channel daxter) - :flags #x3 - :speech #xb - :text-message #x225 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds043" - :channel (gui-channel daxter) - :flags #x11 - :speech #xc - :text-message #x228 - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds043m" - :channel (gui-channel message) - :flags #x10 - :speech #xd - :text-message #x228 - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds046" - :channel (gui-channel daxter) - :flags #x11 - :speech #xe - :text-message #x22a - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds046m" - :channel (gui-channel message) - :flags #x10 - :speech #xf - :text-message #x22a - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds162" - :channel (gui-channel daxter) - :flags #x3 - :speech #x10 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds165" - :channel (gui-channel daxter) - :flags #x3 - :speech #x11 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv039" - :channel (gui-channel alert) - :flags #x3 - :speech #x12 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv037" - :channel (gui-channel alert) - :flags #x3 - :speech #x13 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv056" - :channel (gui-channel alert) - :flags #x3 - :speech #x14 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv054" - :channel (gui-channel alert) - :flags #x3 - :speech #x15 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv055" - :channel (gui-channel alert) - :flags #x3 - :speech #x16 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv107" - :channel (gui-channel alert) - :flags #x3 - :speech #x17 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg100a" - :channel (gui-channel alert) - :flags #x3 - :speech #x18 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg104a" - :channel (gui-channel alert) - :flags #x3 - :speech #x19 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg102a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg071a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg107a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg097a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg098a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv063" - :channel (gui-channel alert) - :speech #x1f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv064" - :channel (gui-channel alert) - :speech #x20 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv065" - :channel (gui-channel alert) - :speech #x21 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv067" - :channel (gui-channel alert) - :speech #x22 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv068" - :channel (gui-channel alert) - :speech #x23 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv069" - :channel (gui-channel alert) - :speech #x24 - :text-message #x246 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv070" - :channel (gui-channel alert) - :speech #x25 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv130" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x26 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv132" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x27 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv071" - :channel (gui-channel alert) - :speech #x28 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv072" - :channel (gui-channel alert) - :speech #x29 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv073" - :channel (gui-channel alert) - :speech #x2a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv074" - :channel (gui-channel alert) - :speech #x2b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv075" - :channel (gui-channel alert) - :speech #x2c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv076" - :channel (gui-channel alert) - :speech #x2d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv077" - :channel (gui-channel alert) - :speech #x2e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv078" - :channel (gui-channel alert) - :speech #x2f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv036" - :channel (gui-channel alert) - :speech #x30 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor007" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x31 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor008" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x32 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess004" - :channel (gui-channel message) - :flags #x7 - :speech #x33 - :text-message #x245 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew010" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x34 - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds129" - :channel (gui-channel daxter) - :flags #x2 - :speech #x35 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess005" - :channel (gui-channel message) - :flags #x3 - :speech #x36 - :text-message #x247 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess006" - :channel (gui-channel message) - :speech #x37 - :text-message #x226 - :text-duration #x5dc - :pos #x8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds116" - :channel (gui-channel daxter) - :flags #x2 - :speech #x38 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds117" - :channel (gui-channel daxter) - :flags #x3 - :speech #x39 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds118" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds119" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds120" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds121" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm007" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm008" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x40 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm010" - :channel (gui-channel daxter) - :flags #x3 - :speech #x41 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x42 - :delay #x4b0 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds006" - :channel (gui-channel daxter) - :flags #x3 - :speech #x43 - :delay #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds029" - :channel (gui-channel daxter) - :flags #x2 - :speech #x44 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds030" - :channel (gui-channel daxter) - :flags #x2 - :speech #x45 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds031" - :channel (gui-channel daxter) - :flags #x2 - :speech #x46 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds032" - :channel (gui-channel daxter) - :flags #x2 - :speech #x47 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds007" - :channel (gui-channel daxter) - :flags #x3 - :speech #x48 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds372" - :channel (gui-channel daxter) - :flags #x3 - :speech #x49 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin011" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x4a - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x4b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo001" - :channel (gui-channel message) - :flags #x3 - :speech #x4c - :text-message #x23d - :text-duration #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo002" - :channel (gui-channel message) - :flags #x3 - :speech #x4d - :text-message #x22b - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo003" - :channel (gui-channel message) - :flags #x3 - :speech #x4e - :text-message #x252 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo004" - :channel (gui-channel message) - :flags #x3 - :speech #x4f - :text-message #x253 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo005" - :channel (gui-channel message) - :flags #x3 - :speech #x50 - :text-message #x226 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei026" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x51 - :delay #x1770 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei018" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x52 - :text-message #x241 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSfor001" - :channel (gui-channel daxter) - :flags #x3 - :speech #x53 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds017" - :channel (gui-channel daxter) - :flags #x3 - :speech #x54 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds018" - :channel (gui-channel daxter) - :flags #x3 - :speech #x55 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds019" - :channel (gui-channel daxter) - :flags #x3 - :speech #x56 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds350" - :channel (gui-channel daxter) - :flags #x2 - :speech #x57 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds016" - :channel (gui-channel daxter) - :flags #x3 - :speech #x58 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "sigf001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x59 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ys001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5a - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds151" - :channel (gui-channel daxter) - :flags #x7 - :speech #x5b - :text-message #x239 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x5d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5e - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds005" - :channel (gui-channel daxter) - :flags #x3 - :speech #x5f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x60 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x61 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x62 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin003" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x63 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin004" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x64 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x65 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x66 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tess001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x67 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "whack01" - :channel (gui-channel message) - :speech #x68 - :text-message #x24e - :text-duration #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin015" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x69 - :delay #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei029" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor005" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin013" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "asht006" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x6e - :delay #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "test001" - :channel (gui-channel message) - :speech #x6f - :text-message #x23d - :text-duration #x2328 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "sam001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x70 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "asht001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x71 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "str001" - :channel (gui-channel message) - :flags #x3 - :speech #x72 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "str002" - :channel (gui-channel message) - :speech #x73 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "note001" - :channel (gui-channel notice) - :speech #x74 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ys002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x75 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01" - :channel (gui-channel notice) - :flags #x20 - :speech #x76 - :text-message #x254 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01e" - :channel (gui-channel notice) - :flags #x20 - :speech #x77 - :text-message #x255 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01j" - :channel (gui-channel notice) - :flags #x20 - :speech #x78 - :text-message #x257 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01k" - :channel (gui-channel notice) - :flags #x20 - :speech #x79 - :text-message #x256 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro02" - :channel (gui-channel notice) - :flags #xa0 - :speech #x7a - :text-message #x258 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro03" - :channel (gui-channel notice-low) - :speech #x7b - :text-message #x30c - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro04" - :channel (gui-channel notice) - :flags #x20 - :speech #x7c - :text-message #x25a - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss001" - :channel (gui-channel alert) - :flags #x40 - :speech #x7d - :text-message #x25c - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss002" - :channel (gui-channel alert) - :flags #x40 - :speech #x7e - :text-message #x261 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss003" - :channel (gui-channel alert) - :flags #x40 - :speech #x7f - :text-message #x262 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss004" - :channel (gui-channel alert) - :flags #x40 - :speech #x80 - :text-message #x263 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss005" - :channel (gui-channel alert) - :flags #x40 - :speech #x81 - :text-message #x264 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss006" - :channel (gui-channel alert) - :flags #x40 - :speech #x82 - :text-message #x265 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss007" - :channel (gui-channel alert) - :flags #x40 - :speech #x83 - :text-message #x266 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss008" - :channel (gui-channel alert) - :flags #x40 - :speech #x84 - :text-message #x267 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss009" - :channel (gui-channel alert) - :flags #x40 - :speech #x85 - :text-message #x268 - :text-duration #x5dc - :delay #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss010" - :channel (gui-channel alert) - :flags #x40 - :speech #x86 - :text-message #x269 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss011" - :channel (gui-channel alert) - :flags #x40 - :speech #x87 - :text-message #x25d - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss012" - :channel (gui-channel alert) - :flags #x40 - :speech #x88 - :text-message #x25e - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss013" - :channel (gui-channel alert) - :flags #x40 - :speech #x89 - :text-message #x25f - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss014" - :channel (gui-channel alert) - :flags #x40 - :speech #x8a - :text-message #x260 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew003" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x8b - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek010" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek011" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek012" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek013" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek014" - :channel (gui-channel daxter) - :flags #x1 - :speech #x90 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek015" - :channel (gui-channel daxter) - :speech #x91 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek016" - :channel (gui-channel daxter) - :flags #x1 - :speech #x92 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek017" - :channel (gui-channel daxter) - :flags #x1 - :speech #x93 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek018" - :channel (gui-channel daxter) - :flags #x1 - :speech #x94 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek019" - :channel (gui-channel daxter) - :flags #x1 - :speech #x95 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek020" - :channel (gui-channel daxter) - :flags #x1 - :speech #x96 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek021" - :channel (gui-channel daxter) - :flags #x1 - :speech #x97 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek022" - :channel (gui-channel daxter) - :flags #x1 - :speech #x98 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek023" - :channel (gui-channel daxter) - :flags #x1 - :speech #x99 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek024" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek026" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek027" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek028" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek029" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek030" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek031" - :channel (gui-channel daxter) - :flags #x1 - :speech #xa0 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek033" - :channel (gui-channel daxter) - :speech #xa1 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek034" - :channel (gui-channel daxter) - :speech #xa2 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek035" - :channel (gui-channel daxter) - :speech #xa3 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek036" - :channel (gui-channel daxter) - :speech #xa4 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek037" - :channel (gui-channel daxter) - :speech #xa5 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek038" - :channel (gui-channel daxter) - :speech #xa6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek039" - :channel (gui-channel daxter) - :speech #xa7 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek040" - :channel (gui-channel daxter) - :speech #xa8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek041" - :channel (gui-channel daxter) - :speech #xa9 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora006" - :channel (gui-channel alert) - :speech #xaa - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora007" - :channel (gui-channel alert) - :speech #xab - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora008" - :channel (gui-channel alert) - :speech #xac - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora009" - :channel (gui-channel alert) - :speech #xad - :text-message #x26f - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora010" - :channel (gui-channel alert) - :speech #xae - :text-message #x270 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora015" - :channel (gui-channel alert) - :speech #xaf - :text-message #x271 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora016" - :channel (gui-channel alert) - :speech #xb0 - :text-message #x272 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice01" - :channel (gui-channel notice-low) - :speech #xb1 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice02" - :channel (gui-channel notice-low) - :speech #xb2 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice03" - :channel (gui-channel notice-low) - :speech #xb3 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice04" - :channel (gui-channel notice-low) - :speech #xb4 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor004" - :channel (gui-channel voicebox) - :flags #x3 - :speech #xb5 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv080" - :channel (gui-channel alert) - :flags #x2 - :speech #xb6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds395" - :channel (gui-channel alert) - :flags #x2 - :speech #xb7 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #xb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru004" - :channel (gui-channel voicebox) - :flags #x7 - :speech #xb9 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bb01int" - :channel (gui-channel bbush) - :flags #x2 - :speech #xba - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bb01fail" - :channel (gui-channel voicebox) - :flags #x2 - :speech #xbb - :neg #x1 - :on-close #f - ) - ) - ) +(define *talker-speech* + (new 'static 'inline-array talker-speech-class 465 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "hal001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "hal002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop002" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3 + :text-message #x224 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop004" + :channel (gui-channel daxter) + :flags #x3 + :speech #x4 + :text-message #x226 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop008" + :channel (gui-channel daxter) + :flags #x3 + :speech #x5 + :text-message #x227 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop010" + :channel (gui-channel daxter) + :flags #x3 + :speech #x7 + :text-message #x227 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop011" + :channel (gui-channel daxter) + :flags #x3 + :speech #x8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop016" + :channel (gui-channel daxter) + :flags #x3 + :speech #x9 + :text-message #x229 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop017" + :channel (gui-channel daxter) + :flags #x3 + :speech #xa + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds020" + :channel (gui-channel daxter) + :flags #x3 + :speech #xb + :text-message #x225 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds043" + :channel (gui-channel daxter) + :flags #x11 + :speech #xc + :text-message #x228 + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds043m" + :channel (gui-channel message) + :flags #x10 + :speech #xd + :text-message #x228 + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds046" + :channel (gui-channel daxter) + :flags #x11 + :speech #xe + :text-message #x22a + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds046m" + :channel (gui-channel message) + :flags #x10 + :speech #xf + :text-message #x22a + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds162" + :channel (gui-channel daxter) + :flags #x3 + :speech #x10 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds165" + :channel (gui-channel daxter) + :flags #x3 + :speech #x11 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv039" + :channel (gui-channel alert) + :flags #x3 + :speech #x12 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv037" + :channel (gui-channel alert) + :flags #x3 + :speech #x13 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv056" + :channel (gui-channel alert) + :flags #x3 + :speech #x14 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv054" + :channel (gui-channel alert) + :flags #x3 + :speech #x15 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv055" + :channel (gui-channel alert) + :flags #x3 + :speech #x16 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv107" + :channel (gui-channel alert) + :flags #x3 + :speech #x17 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg100a" + :channel (gui-channel alert) + :flags #x3 + :speech #x18 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg104a" + :channel (gui-channel alert) + :flags #x3 + :speech #x19 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg102a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg071a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg107a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg097a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg098a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv063" + :channel (gui-channel alert) + :speech #x1f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv064" + :channel (gui-channel alert) + :speech #x20 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv065" + :channel (gui-channel alert) + :speech #x21 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv067" + :channel (gui-channel alert) + :speech #x22 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv068" + :channel (gui-channel alert) + :speech #x23 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv069" + :channel (gui-channel alert) + :speech #x24 + :text-message #x246 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv070" + :channel (gui-channel alert) + :speech #x25 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv130" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x26 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv132" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x27 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv071" + :channel (gui-channel alert) + :speech #x28 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv072" + :channel (gui-channel alert) + :speech #x29 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv073" + :channel (gui-channel alert) + :speech #x2a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv074" + :channel (gui-channel alert) + :speech #x2b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv075" + :channel (gui-channel alert) + :speech #x2c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv076" + :channel (gui-channel alert) + :speech #x2d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv077" + :channel (gui-channel alert) + :speech #x2e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv078" + :channel (gui-channel alert) + :speech #x2f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv036" + :channel (gui-channel alert) + :speech #x30 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor007" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x31 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor008" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x32 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess004" + :channel (gui-channel message) + :flags #x7 + :speech #x33 + :text-message #x245 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew010" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x34 + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds129" + :channel (gui-channel daxter) + :flags #x2 + :speech #x35 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess005" + :channel (gui-channel message) + :flags #x3 + :speech #x36 + :text-message #x247 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess006" + :channel (gui-channel message) + :speech #x37 + :text-message #x226 + :text-duration #x5dc + :pos #x8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds116" + :channel (gui-channel daxter) + :flags #x2 + :speech #x38 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds117" + :channel (gui-channel daxter) + :flags #x3 + :speech #x39 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds118" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds119" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds120" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds121" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm007" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm008" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x40 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm010" + :channel (gui-channel daxter) + :flags #x3 + :speech #x41 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x42 + :delay #x4b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds006" + :channel (gui-channel daxter) + :flags #x3 + :speech #x43 + :delay #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds029" + :channel (gui-channel daxter) + :flags #x2 + :speech #x44 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds030" + :channel (gui-channel daxter) + :flags #x2 + :speech #x45 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds031" + :channel (gui-channel daxter) + :flags #x2 + :speech #x46 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds032" + :channel (gui-channel daxter) + :flags #x2 + :speech #x47 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds007" + :channel (gui-channel daxter) + :flags #x3 + :speech #x48 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds372" + :channel (gui-channel daxter) + :flags #x3 + :speech #x49 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin011" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x4a + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x4b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo001" + :channel (gui-channel message) + :flags #x3 + :speech #x4c + :text-message #x23d + :text-duration #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo002" + :channel (gui-channel message) + :flags #x3 + :speech #x4d + :text-message #x22b + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo003" + :channel (gui-channel message) + :flags #x3 + :speech #x4e + :text-message #x252 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo004" + :channel (gui-channel message) + :flags #x3 + :speech #x4f + :text-message #x253 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo005" + :channel (gui-channel message) + :flags #x3 + :speech #x50 + :text-message #x226 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei026" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x51 + :delay #x1770 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei018" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x52 + :text-message #x241 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSfor001" + :channel (gui-channel daxter) + :flags #x3 + :speech #x53 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds017" + :channel (gui-channel daxter) + :flags #x3 + :speech #x54 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds018" + :channel (gui-channel daxter) + :flags #x3 + :speech #x55 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds019" + :channel (gui-channel daxter) + :flags #x3 + :speech #x56 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds350" + :channel (gui-channel daxter) + :flags #x2 + :speech #x57 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds016" + :channel (gui-channel daxter) + :flags #x3 + :speech #x58 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sigf001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x59 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ys001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5a + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds151" + :channel (gui-channel daxter) + :flags #x7 + :speech #x5b + :text-message #x239 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x5d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5e + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds005" + :channel (gui-channel daxter) + :flags #x3 + :speech #x5f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x60 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x61 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x62 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin003" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x63 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin004" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x64 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x65 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x66 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tess001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x67 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "whack01" + :channel (gui-channel message) + :speech #x68 + :text-message #x24e + :text-duration #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin015" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x69 + :delay #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei029" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor005" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin013" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht006" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x6e + :delay #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "test001" + :channel (gui-channel message) + :speech #x6f + :text-message #x23d + :text-duration #x2328 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sam001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x70 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x71 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "str001" + :channel (gui-channel message) + :flags #x3 + :speech #x72 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "str002" + :channel (gui-channel message) + :speech #x73 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "note001" + :channel (gui-channel notice) + :speech #x74 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ys002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x75 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01" + :channel (gui-channel notice) + :flags #x20 + :speech #x76 + :text-message #x254 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01e" + :channel (gui-channel notice) + :flags #x20 + :speech #x77 + :text-message #x255 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01j" + :channel (gui-channel notice) + :flags #x20 + :speech #x78 + :text-message #x257 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01k" + :channel (gui-channel notice) + :flags #x20 + :speech #x79 + :text-message #x256 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro02" + :channel (gui-channel notice) + :flags #xa0 + :speech #x7a + :text-message #x258 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro03" + :channel (gui-channel notice-low) + :speech #x7b + :text-message #x30c + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro04" + :channel (gui-channel notice) + :flags #x20 + :speech #x7c + :text-message #x25a + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss001" + :channel (gui-channel alert) + :flags #x40 + :speech #x7d + :text-message #x25c + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss002" + :channel (gui-channel alert) + :flags #x40 + :speech #x7e + :text-message #x261 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss003" + :channel (gui-channel alert) + :flags #x40 + :speech #x7f + :text-message #x262 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss004" + :channel (gui-channel alert) + :flags #x40 + :speech #x80 + :text-message #x263 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss005" + :channel (gui-channel alert) + :flags #x40 + :speech #x81 + :text-message #x264 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss006" + :channel (gui-channel alert) + :flags #x40 + :speech #x82 + :text-message #x265 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss007" + :channel (gui-channel alert) + :flags #x40 + :speech #x83 + :text-message #x266 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss008" + :channel (gui-channel alert) + :flags #x40 + :speech #x84 + :text-message #x267 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss009" + :channel (gui-channel alert) + :flags #x40 + :speech #x85 + :text-message #x268 + :text-duration #x5dc + :delay #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss010" + :channel (gui-channel alert) + :flags #x40 + :speech #x86 + :text-message #x269 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss011" + :channel (gui-channel alert) + :flags #x40 + :speech #x87 + :text-message #x25d + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss012" + :channel (gui-channel alert) + :flags #x40 + :speech #x88 + :text-message #x25e + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss013" + :channel (gui-channel alert) + :flags #x40 + :speech #x89 + :text-message #x25f + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss014" + :channel (gui-channel alert) + :flags #x40 + :speech #x8a + :text-message #x260 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew003" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x8b + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek010" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek011" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek012" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek013" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek014" + :channel (gui-channel daxter) + :flags #x1 + :speech #x90 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek015" + :channel (gui-channel daxter) + :speech #x91 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek016" + :channel (gui-channel daxter) + :flags #x1 + :speech #x92 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek017" + :channel (gui-channel daxter) + :flags #x1 + :speech #x93 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek018" + :channel (gui-channel daxter) + :flags #x1 + :speech #x94 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek019" + :channel (gui-channel daxter) + :flags #x1 + :speech #x95 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek020" + :channel (gui-channel daxter) + :flags #x1 + :speech #x96 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek021" + :channel (gui-channel daxter) + :flags #x1 + :speech #x97 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek022" + :channel (gui-channel daxter) + :flags #x1 + :speech #x98 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek023" + :channel (gui-channel daxter) + :flags #x1 + :speech #x99 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek024" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek026" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek027" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek028" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek029" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek030" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek031" + :channel (gui-channel daxter) + :flags #x1 + :speech #xa0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek033" + :channel (gui-channel daxter) + :speech #xa1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek034" + :channel (gui-channel daxter) + :speech #xa2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek035" + :channel (gui-channel daxter) + :speech #xa3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek036" + :channel (gui-channel daxter) + :speech #xa4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek037" + :channel (gui-channel daxter) + :speech #xa5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek038" + :channel (gui-channel daxter) + :speech #xa6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek039" + :channel (gui-channel daxter) + :speech #xa7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek040" + :channel (gui-channel daxter) + :speech #xa8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek041" + :channel (gui-channel daxter) + :speech #xa9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora006" + :channel (gui-channel alert) + :speech #xaa + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora007" + :channel (gui-channel alert) + :speech #xab + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora008" + :channel (gui-channel alert) + :speech #xac + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora009" + :channel (gui-channel alert) + :speech #xad + :text-message #x26f + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora010" + :channel (gui-channel alert) + :speech #xae + :text-message #x270 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora015" + :channel (gui-channel alert) + :speech #xaf + :text-message #x271 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora016" + :channel (gui-channel alert) + :speech #xb0 + :text-message #x272 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice01" + :channel (gui-channel notice-low) + :speech #xb1 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice02" + :channel (gui-channel notice-low) + :speech #xb2 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice03" + :channel (gui-channel notice-low) + :speech #xb3 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice04" + :channel (gui-channel notice-low) + :speech #xb4 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor004" + :channel (gui-channel voicebox) + :flags #x3 + :speech #xb5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv080" + :channel (gui-channel alert) + :flags #x2 + :speech #xb6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds395" + :channel (gui-channel alert) + :flags #x2 + :speech #xb7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #xb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru004" + :channel (gui-channel voicebox) + :flags #x7 + :speech #xb9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01int" + :channel (gui-channel bbush) + :flags #x2 + :speech #xba + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #xbb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01win" + :channel (gui-channel voicebox) + :flags #xa + :speech #xbc + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "ds163" + :channel (gui-channel daxter) + :flags #x3 + :speech #xbd + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "palmes01" + :channel (gui-channel message) + :speech #xbe + :text-message #x24d + :text-duration #x5dc + :pos #x3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds378" + :channel (gui-channel daxter) + :flags #x2 + :speech #xbf + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds379" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc0 + :text-message #x24d + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "digmes01" + :channel (gui-channel message) + :speech #xc1 + :text-message #x24d + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds468" + :channel (gui-channel daxter) + :flags #x3 + :speech #xc2 + :text-message #x24c + :text-duration #x5dc + :pos #x3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds469" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds470" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds471" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds472" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds473" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds474" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds475" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds476" + :channel (gui-channel daxter) + :flags #x2 + :speech #xca + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds478" + :channel (gui-channel daxter) + :flags #x2 + :speech #xcb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf001" :channel (gui-channel sig) :speech #xcc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf002" :channel (gui-channel sig) :speech #xcd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf003" :channel (gui-channel sig) :speech #xce :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf004" :channel (gui-channel sig) :speech #xcf :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf005" :channel (gui-channel sig) :speech #xd0 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf006" :channel (gui-channel sig) :speech #xd1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf007" :channel (gui-channel sig) :speech #xd2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf008" :channel (gui-channel sig) :speech #xd3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf009" :channel (gui-channel sig) :speech #xd4 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf010" :channel (gui-channel sig) :speech #xd5 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf011" :channel (gui-channel sig) :speech #xd6 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf012" :channel (gui-channel sig) :speech #xd7 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf013" :channel (gui-channel sig) :speech #xd8 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf014" :channel (gui-channel sig) :speech #xd9 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf015" :channel (gui-channel sig) :speech #xda :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf016" :channel (gui-channel sig) :speech #xdb :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf017" :channel (gui-channel sig) :speech #xdc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf018" :channel (gui-channel sig) :speech #xdd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf019" :channel (gui-channel sig) :speech #xde :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf082" :channel (gui-channel sig) :speech #xdf :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "bf087" + :channel (gui-channel sig) + :flags #x1 + :speech #xe0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf088" :channel (gui-channel sig) :speech #xe1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf093" :channel (gui-channel sig) :speech #xe2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf094" :channel (gui-channel sig) :speech #xe3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "ds248" + :channel (gui-channel daxter) + :flags #x1 + :speech #xe4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds249" + :channel (gui-channel daxter) + :speech #xe5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds250" + :channel (gui-channel daxter) + :speech #xe6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds251" + :channel (gui-channel daxter) + :speech #xe7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds252" + :channel (gui-channel daxter) + :speech #xe8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds253" + :channel (gui-channel daxter) + :speech #xe9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds479" + :channel (gui-channel daxter) + :speech #xea + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds480" + :channel (gui-channel daxter) + :speech #xeb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds481" + :channel (gui-channel daxter) + :speech #xec + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds482" + :channel (gui-channel daxter) + :speech #xed + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds483" + :channel (gui-channel daxter) + :speech #xee + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds484" + :channel (gui-channel daxter) + :speech #xef + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds485" + :channel (gui-channel daxter) + :speech #xf0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf020" :channel (gui-channel sig) :speech #xf1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf021" :channel (gui-channel sig) :speech #xf2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf022" :channel (gui-channel sig) :speech #xf3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf023" :channel (gui-channel sig) :speech #xf4 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf024" :channel (gui-channel sig) :speech #xf5 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf025" :channel (gui-channel sig) :speech #xf6 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf026" :channel (gui-channel sig) :speech #xf7 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf027" :channel (gui-channel sig) :speech #xf8 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf028" :channel (gui-channel sig) :speech #xf9 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf029" :channel (gui-channel sig) :speech #xfa :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf030" :channel (gui-channel sig) :speech #xfb :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf031" :channel (gui-channel sig) :speech #xfc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf032" :channel (gui-channel sig) :speech #xfd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf033" :channel (gui-channel sig) :speech #xfe :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf034" :channel (gui-channel sig) :speech #xff :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "bf035" + :channel (gui-channel sig) + :speech #x100 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf036" + :channel (gui-channel sig) + :speech #x101 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf037" + :channel (gui-channel sig) + :speech #x102 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf038" + :channel (gui-channel sig) + :speech #x103 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf039" + :channel (gui-channel sig) + :speech #x104 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf040" + :channel (gui-channel sig) + :speech #x105 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf041" + :channel (gui-channel sig) + :speech #x106 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf042" + :channel (gui-channel sig) + :speech #x107 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf043" + :channel (gui-channel sig) + :speech #x108 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf044" + :channel (gui-channel sig) + :speech #x109 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf045" + :channel (gui-channel sig) + :speech #x10a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf046" + :channel (gui-channel sig) + :speech #x10b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf047" + :channel (gui-channel sig) + :speech #x10c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf048" + :channel (gui-channel sig) + :speech #x10d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf049" + :channel (gui-channel sig) + :speech #x10e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf050" + :channel (gui-channel sig) + :speech #x10f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf051" + :channel (gui-channel sig) + :speech #x110 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf052" + :channel (gui-channel sig) + :speech #x111 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf053" + :channel (gui-channel sig) + :speech #x112 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf054" + :channel (gui-channel sig) + :speech #x113 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf055" + :channel (gui-channel sig) + :speech #x114 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf056" + :channel (gui-channel sig) + :speech #x115 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf057" + :channel (gui-channel sig) + :speech #x116 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf058" + :channel (gui-channel sig) + :speech #x117 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf059" + :channel (gui-channel sig) + :speech #x118 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf060" + :channel (gui-channel sig) + :speech #x119 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf061" + :channel (gui-channel sig) + :speech #x11a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf062" + :channel (gui-channel sig) + :speech #x11b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf063" + :channel (gui-channel sig) + :speech #x11c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf064" + :channel (gui-channel sig) + :speech #x11d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf065" + :channel (gui-channel sig) + :speech #x11e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf066" + :channel (gui-channel sig) + :speech #x11f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf067" + :channel (gui-channel sig) + :speech #x120 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf068" + :channel (gui-channel sig) + :speech #x121 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf069" + :channel (gui-channel sig) + :speech #x122 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf070" + :channel (gui-channel sig) + :speech #x123 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf071" + :channel (gui-channel sig) + :speech #x124 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf072" + :channel (gui-channel sig) + :speech #x125 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf073" + :channel (gui-channel sig) + :speech #x126 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf074" + :channel (gui-channel sig) + :speech #x127 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf124" + :channel (gui-channel sig) + :speech #x128 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf125" + :channel (gui-channel sig) + :speech #x129 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf126" + :channel (gui-channel sig) + :speech #x12a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf128" + :channel (gui-channel sig) + :speech #x12b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf131" + :channel (gui-channel sig) + :speech #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds254" + :channel (gui-channel daxter) + :flags #x3 + :speech #x12d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds255" + :channel (gui-channel daxter) + :speech #x12e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds256" + :channel (gui-channel daxter) + :flags #x3 + :speech #x12f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds257" + :channel (gui-channel daxter) + :speech #x130 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds258" + :channel (gui-channel daxter) + :speech #x131 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds259" + :channel (gui-channel daxter) + :speech #x132 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds260" + :channel (gui-channel daxter) + :speech #x133 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kwbf001" + :channel (gui-channel krew) + :flags #x1 + :speech #x134 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sagevb23" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x135 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asstvb44" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x136 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009j" + :channel (gui-channel daxter) + :flags #x3 + :speech #x137 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0071" + :channel (gui-channel daxter) + :flags #x3 + :speech #x138 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sagevb36" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x139 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0002" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0005" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0004" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009b" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0006" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009c" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0160" + :channel (gui-channel daxter) + :flags #x3 + :speech #x140 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0014" + :channel (gui-channel daxter) + :flags #x3 + :speech #x141 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0035" + :channel (gui-channel daxter) + :flags #x3 + :speech #x142 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x143 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0073" + :channel (gui-channel daxter) + :flags #x3 + :speech #x144 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0062" + :channel (gui-channel daxter) + :flags #x3 + :speech #x145 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009d" + :channel (gui-channel daxter) + :flags #x3 + :speech #x146 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009e" + :channel (gui-channel daxter) + :flags #x3 + :speech #x147 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0072" + :channel (gui-channel daxter) + :flags #x3 + :speech #x148 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0145" + :channel (gui-channel daxter) + :flags #x3 + :speech #x149 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x14a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x14b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x14c + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb03int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x14d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb03fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x14e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb03win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x14f + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb05int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x150 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb05fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x151 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb05win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x152 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb07int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x153 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb07fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x154 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb07win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x155 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb08int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x156 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb08fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x157 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb08win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x158 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb10int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x159 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb10fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x15a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb10win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x15b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x15c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x15d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x15e + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb20int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x15f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb20fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x160 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb20win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x161 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb21fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x162 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb26int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x163 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb27int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x164 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb28int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x165 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb29int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x166 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb30int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x167 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb31int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x168 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb32int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x169 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb33int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb34int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb35int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb36int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb37int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv152" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv154" + :channel (gui-channel voicebox) + :flags #xa + :speech #x170 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "cityv153" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x171 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x172 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv175" + :channel (gui-channel alert) + :speech #x173 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv176" + :channel (gui-channel alert) + :speech #x174 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv177" + :channel (gui-channel alert) + :speech #x175 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv179" + :channel (gui-channel alert) + :flags #x2 + :speech #x176 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv180" + :channel (gui-channel alert) + :flags #x2 + :speech #x177 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv181" + :channel (gui-channel alert) + :flags #x2 + :speech #x178 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "racehint" + :channel (gui-channel message) + :speech #x179 + :text-message #x248 + :text-duration #x4b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bar004" + :channel (gui-channel alert) + :speech #x17a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds219" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds220" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds221" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds222" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds223" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds224" + :channel (gui-channel daxter) + :flags #x2 + :speech #x180 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds229" + :channel (gui-channel daxter) + :flags #x2 + :speech #x181 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds225" + :channel (gui-channel daxter) + :flags #x2 + :speech #x182 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds226" + :channel (gui-channel daxter) + :flags #x2 + :speech #x183 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds227" + :channel (gui-channel daxter) + :flags #x2 + :speech #x184 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds228" + :channel (gui-channel daxter) + :flags #x2 + :speech #x185 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds244" + :channel (gui-channel daxter) + :flags #x2 + :speech #x186 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds245" + :channel (gui-channel daxter) + :flags #x2 + :speech #x187 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds246" + :channel (gui-channel daxter) + :flags #x2 + :speech #x188 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds247" + :channel (gui-channel daxter) + :flags #x2 + :speech #x189 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds241" + :channel (gui-channel daxter) + :flags #x2 + :speech #x18a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm001" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm002" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm003" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm004" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm005" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm006" + :channel (gui-channel daxter) + :flags #x1 + :speech #x190 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm007" + :channel (gui-channel daxter) + :flags #x1 + :speech #x191 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm008" + :channel (gui-channel daxter) + :flags #x1 + :speech #x192 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm009" + :channel (gui-channel daxter) + :flags #x1 + :speech #x193 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm010" + :channel (gui-channel daxter) + :flags #x1 + :speech #x194 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm011" + :channel (gui-channel daxter) + :flags #x1 + :speech #x195 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm012" + :channel (gui-channel daxter) + :flags #x1 + :speech #x196 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm013" + :channel (gui-channel daxter) + :flags #x1 + :speech #x197 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm014" + :channel (gui-channel daxter) + :flags #x1 + :speech #x198 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm015" + :channel (gui-channel daxter) + :flags #x1 + :speech #x199 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm016" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm017" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm018" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm027" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm028" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm029" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm044" + :channel (gui-channel daxter) + :flags #x1 + :speech #x1a0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm045" + :channel (gui-channel daxter) + :flags #x1 + :speech #x1a1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm019" + :channel (gui-channel daxter) + :speech #x1a2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm020" + :channel (gui-channel daxter) + :speech #x1a3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm021" + :channel (gui-channel daxter) + :speech #x1a4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm039" + :channel (gui-channel daxter) + :speech #x1a5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm040" + :channel (gui-channel daxter) + :speech #x1a6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm041" + :channel (gui-channel daxter) + :speech #x1a7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm042" + :channel (gui-channel daxter) + :speech #x1a8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm043" + :channel (gui-channel daxter) + :speech #x1a9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm046" + :channel (gui-channel daxter) + :speech #x1aa + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm051" + :channel (gui-channel daxter) + :speech #x1ab + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm052" + :channel (gui-channel daxter) + :speech #x1ac + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm053" + :channel (gui-channel daxter) + :speech #x1ad + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm047" + :channel (gui-channel daxter) + :speech #x1ae + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm048" + :channel (gui-channel daxter) + :speech #x1af + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm049" + :channel (gui-channel daxter) + :speech #x1b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm050" + :channel (gui-channel daxter) + :speech #x1b1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm054" + :channel (gui-channel daxter) + :speech #x1b2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm055" + :channel (gui-channel daxter) + :speech #x1b3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm056" + :channel (gui-channel daxter) + :speech #x1b4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm023" + :channel (gui-channel daxter) + :speech #x1b5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm024" + :channel (gui-channel daxter) + :speech #x1b6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm025" + :channel (gui-channel daxter) + :speech #x1b7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm026" + :channel (gui-channel daxter) + :speech #x1b8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm030" + :channel (gui-channel daxter) + :speech #x1b9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm031" + :channel (gui-channel daxter) + :speech #x1ba + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm032" + :channel (gui-channel daxter) + :speech #x1bb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm033" + :channel (gui-channel daxter) + :speech #x1bc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm034" + :channel (gui-channel daxter) + :speech #x1bd + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm036" + :channel (gui-channel daxter) + :speech #x1be + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm037" + :channel (gui-channel daxter) + :speech #x1bf + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm038" + :channel (gui-channel daxter) + :speech #x1c0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv019" + :channel (gui-channel alert) + :speech #x1c1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv020" + :channel (gui-channel alert) + :speech #x1c2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv021" + :channel (gui-channel alert) + :speech #x1c3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds111" + :channel (gui-channel daxter) + :speech #x1c4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds112" + :channel (gui-channel daxter) + :speech #x1c5 + :text-message #x249 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds113" + :channel (gui-channel daxter) + :speech #x1c6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds114" + :channel (gui-channel daxter) + :flags #x3 + :speech #x1c7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds115" + :channel (gui-channel daxter) + :flags #x3 + :speech #x1c8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech1" + :channel (gui-channel message) + :speech #x1c9 + :text-message #x249 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech2" + :channel (gui-channel message) + :speech #x1ca + :text-message #x24a + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech3" + :channel (gui-channel message) + :speech #x1cb + :text-message #x24b + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds164" + :channel (gui-channel daxter) + :flags #x2 + :speech #x1cc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb14win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x1cd + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "krew004" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1ce + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew005" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1cf + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew006" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1d0 + :delay #x258 + :neg #x1 + :on-close #f + ) + ) + ) diff --git a/goal_src/jak2/game.gp b/goal_src/jak2/game.gp index c0e8b72454..6bb3efe802 100644 --- a/goal_src/jak2/game.gp +++ b/goal_src/jak2/game.gp @@ -1534,8 +1534,6 @@ "baron-consite+0-ag" "consite-break-scaffold-a-ag" "consite-break-scaffold-ag" - ;; "daxter-highres-ag" - ;; "jak-highres-ag" "baron-highres-ag" "crimson-guard-highres-ag" "consite-bomb-elevator-ag" @@ -1550,25 +1548,22 @@ ;; ;; COB ;; ;;;;;;;;;;;;;;;;;;;;; -;; (cgo "COB.DGO" "cob.gd") +(cgo "COB.DGO" "cob.gd") -;; (goal-src-sequence -;; "" -;; :deps ("$OUT/obj/los-control.o") -;; "levels/consite/consiteb-part.gc" -;; ) +(goal-src-sequence + "" + :deps ("$OUT/obj/los-control.o") + "levels/consite/consiteb-part.gc" + ) -;; (copy-textures 3032 3033 3142 3180 3239) +(copy-textures 3032 3033 3142 3180 3239) -;; (copy-gos -;; "kor-transform-ag" -;; "kor-break-ag" -;; "metalkor-highres-ag" -;; "com-airlock-inner-ag" -;; "door-ctyinda-ag" -;; "kor-break-ray-ag" -;; "consiteb-vis" -;; ) +(copy-gos + "kor-transform-ag" + "kor-break-ag" + "kor-break-ray-ag" + "consiteb-vis" + ) ;; ;;;;;;;;;;;;;;;;;;;;; ;; ;; CPA @@ -2471,21 +2466,21 @@ ;; ;; LBBUSH ;; ;;;;;;;;;;;;;;;;;;;;; -;; (cgo "LBBUSH.DGO" "lbbush.gd") +(cgo "LBBUSH.DGO" "lbbush.gd") -;; (goal-src-sequence -;; "" -;; :deps ("$OUT/obj/los-control.o") -;; "levels/city/side_missions/ctywide-bbush.gc" -;; ) +(goal-src-sequence + "" + :deps ("$OUT/obj/los-control.o") + "levels/city/side_missions/ctywide-bbush.gc" + ) -;; (copy-textures 3336 3465) +(copy-textures 3336 3465) -;; (copy-gos -;; "hovering-mine-ag" -;; "homing-beacon-ag" -;; "lbbush" -;; ) +(copy-gos + "hovering-mine-ag" + "homing-beacon-ag" + "lbbush" + ) ;; ;;;;;;;;;;;;;;;;;;;;; ;; ;; LBOMBBOT diff --git a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc index 610ad093e7..6650942e04 100644 --- a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc +++ b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc @@ -7,3 +7,3109 @@ ;; DECOMP BEGINS +(defpartgroup group-rolling-ring + :id 1053 + :linger-duration (seconds 0) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4578 :fade-after (meters 100) :falloff-to (meters 100)) + (sp-item 4579 :fade-after (meters 80)) + (sp-item 4580 :flags (is-3d)) + (sp-item 4581 :flags (is-3d)) + ) + ) + +(defpart 4578 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-rnd-flt spt-num 2.0 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -1.4222221) + (sp-int spt-timer 42) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +(defpart 4579 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -1.4222221) + (sp-int spt-timer 42) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +(defpart 4580 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 10)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +(defpart 4581 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 12)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +(defpartgroup group-rolling-spawn-ring + :id 1054 + :duration (seconds 0.017) + :linger-duration (seconds 0.47) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4582 :fade-after (meters 100) :falloff-to (meters 100)) + (sp-item 4583 :flags (is-3d)) + (sp-item 4584 :flags (is-3d)) + ) + ) + +(defpart 4582 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-int spt-a 0 63 1.0) + (sp-flt spt-vel-y (meters 0.03)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-3) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 4585) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 0)) + ) + ) + +(defpart 4585 + :init-specs ((sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-int spt-a 0 63 1.0) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 4585) + ) + ) + +(defpart 4583 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4586) + ) + ) + +(defpart 4586 + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4586) + ) + ) + +(defpart 4584 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.08)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4587) + ) + ) + +(defpart 4587 + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4587) + ) + ) + +(defpartgroup group-rolling-explode-ring + :id 1055 + :duration (seconds 0.017) + :linger-duration (seconds 0.5) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4588 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 4589 :flags (is-3d))) + ) + +(defpart 4588 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 64.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +(defpart 4589 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 10)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +(deftype race-ring (process-drawable) + ((last-target-pos vector :inline :offset-assert 208) + (keep-part-track-alive symbol :offset-assert 224) + (part-track handle :offset-assert 232) + (rot-y float :offset-assert 240) + (cyl cylinder-flat :inline :offset-assert 256) + ) + :heap-base #xb0 + :method-count-assert 24 + :size-assert #x128 + :flag-assert #x1800b00128 + (:methods + (idle () _type_ :state 20) + (die () _type_ :state 21) + (race-ring-method-22 (_type_) none 22) + (race-ring-method-23 (_type_) none 23) + ) + ) + + +(defun race-ring-set-particle-rotation-callback ((arg0 part-tracker)) + (let ((f0-0 (-> (the-as (pointer race-ring) (-> arg0 userdata)) 0 rot-y))) + (set! (-> *part-id-table* 4578 init-specs 14 initial-valuef) f0-0) + (set! (-> *part-id-table* 4579 init-specs 14 initial-valuef) f0-0) + (set! (-> *part-id-table* 4580 init-specs 4 initial-valuef) (+ -182.04445 f0-0)) + (set! (-> *part-id-table* 4581 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4582 init-specs 16 initial-valuef) f0-0) + (set! (-> *part-id-table* 4583 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4584 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4588 init-specs 16 initial-valuef) f0-0) + (set! (-> *part-id-table* 4589 init-specs 4 initial-valuef) f0-0) + ) + 0 + (none) + ) + +(defstate idle (race-ring) + :virtual #t + :enter (behavior () + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-2 run-function-in-process) + (a0-2 gp-0) + (a1-2 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1054)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-2) + a0-2 + a1-2 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (none) + ) + :exit (behavior () + (let ((a0-1 (handle->process (-> self part-track)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-3 run-function-in-process) + (a0-6 gp-0) + (a1-3 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1055)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-3) + a0-6 + a1-3 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (none) + ) + :trans (behavior () + (cond + ((handle->process (-> self part-track)) + (if (-> self keep-part-track-alive) + (set! (-> (the-as part-tracker (-> self part-track process 0)) start-time) (-> self clock frame-counter)) + ) + ) + (else + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-2 run-function-in-process) + (a0-9 gp-0) + (a1-3 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1053)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-2) + a0-9 + a1-3 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (set! (-> self keep-part-track-alive) #t) + ) + ) + (let ((v1-17 *target*) + (gp-1 (new 'stack-no-clear 'vector)) + ) + (when v1-17 + (set! (-> gp-1 quad) (-> v1-17 control trans quad)) + (set! (-> gp-1 w) 4096.0) + (when (logtest? (focus-status pilot) (-> v1-17 focus-status)) + (let ((a1-8 (handle->process (-> v1-17 pilot vehicle)))) + (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root-override root-prim prim-core world-sphere quad)) + ) + ) + (when (>= (ray-flat-cyl-intersect + (-> self cyl) + (-> self last-target-pos) + (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self last-target-pos)) + ) + 0.0 + ) + (set! (-> *game-info* counter) (+ -1.0 (-> *game-info* counter))) + (sound-play "ring-pickup") + (go-virtual die) + ) + (set! (-> self last-target-pos quad) (-> gp-1 quad)) + ) + ) + (none) + ) + :code (behavior () + (until #f + (suspend) + ) + #f + (none) + ) + :post (the-as (function none :behavior race-ring) ja-post) + ) + +(defstate die (race-ring) + :virtual #t + :code (behavior () + (while (-> self child) + (suspend) + ) + (cleanup-for-death self) + (none) + ) + ) + +(defmethod race-ring-method-22 race-ring ((obj race-ring)) + (set! (-> obj root) (new 'process 'trsqv)) + 0 + (none) + ) + +(defmethod race-ring-method-23 race-ring ((obj race-ring)) + (add-icon! *minimap* obj (the-as uint 15) (the-as int #f) (the-as vector #t) 0) + (set! (-> obj keep-part-track-alive) #f) + (set! (-> obj part-track) (the-as handle #f)) + (set! (-> obj rot-y) (+ 16384.0 (quaternion-y-angle (-> obj root quat)))) + (set! (-> obj last-target-pos quad) (-> (target-pos 0) quad)) + (set-vector! (-> obj cyl axis) (cos (-> obj rot-y)) 0.0 (- (sin (-> obj rot-y))) 1.0) + (vector+float*! (the-as vector (-> obj cyl)) (-> obj root trans) (-> obj cyl axis) -2048.0) + (set! (-> obj cyl radius) 24576.0) + (set! (-> obj cyl length) 4096.0) + 0 + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defbehavior race-ring-init-by-other race-ring ((arg0 city-race-ring-info)) + (race-ring-method-22 self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self root trans y) (+ 10240.0 (-> self root trans y))) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> arg0 pos w)) + (set-vector! (-> self root scale) 3.0 3.0 3.0 1.0) + (race-ring-method-23 self) + (go-virtual idle) + (none) + ) + +(defun race-ring-spawn ((arg0 task-manager) (arg1 city-race-ring-info)) + (let ((gp-0 (the-as process #f))) + (let ((v1-1 (process-spawn race-ring arg1 :to arg0))) + (if v1-1 + (set! gp-0 (-> v1-1 0)) + ) + ) + gp-0 + ) + ) + +(deftype bb-ring-info (structure) + ((time time-frame :offset-assert 0) + (start-pos vector :inline :offset-assert 16) + (rotation float :offset-assert 32) + (rings (array city-race-ring-info) :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + + +(define *bb-ring-info* (new 'static 'boxed-array :type bb-ring-info + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x 2920693.8 :y 40960.0 :z -333086.72 :w 1.0) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3070796.2 :y 43205.02 :z -289035.47 :w 8995.472) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3351872.0 :y 42851.125 :z 86396.11 :w 14760.418) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3540834.8 :y 72001.54 :z 367432.5 :w 4834.5728) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3950253.8 :y 43052.24 :z 800616.06 :w 5659.835) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4657052.5 :y 42684.414 :z 806750.6 :w 8782.443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4643791.5 :y 70061.67 :z 1225949.6 :w -7646.1035) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4473472.0 :y 46644.84 :z 1626665.4 :w 1340.4115) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4650624.0 :y 62401.332 :z 1927367.1 :w 32186.242) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4236069.5 :y 109972.69 :z 1854959.2 :w -13605.638) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3701647.0 :y 113170.84 :z 1698812.8 :w -2880.9443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3724027.5 :y 111864.22 :z 2344453.0 :w 11307.618) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4235592.5 :y 109263.26 :z 2386389.0 :w 16874.646) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4495594.5 :y 101352.66 :z 2342717.5 :w 19199.955) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4557376.5 :y 44639.848 :z 2683306.0 :w -17726.906) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4011281.2 :y 72860.47 :z 2645215.8 :w -4971.9067) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3543313.2 :y 47093.76 :z 2577456.0 :w -16974.389) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3204822.2 :y 74465.28 :z 2832405.8 :w 1022.9805) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3519941.5 :y 115895.09 :z 3035037.8 :w 3764.133) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3583739.5 :y 112346.32 :z 3433880.0 :w 15266.283) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3925602.0 :y 115456.82 :z 3560821.2 :w 12493.182) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4214438.5 :y 109173.15 :z 3710432.5 :w 3543.022) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4292878.5 :y 113903.62 :z 4136553.8 :w 13073.904) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4557998.5 :y 108473.14 :z 4093858.2 :w 32527.1) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4457908.0 :y 44532.94 :z 3678150.8 :w -16948.848) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3962912.0 :y 42423.09 :z 3524606.0 :w 24137.527) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4440953.0 :y 42390.734 :z 3293434.8 :w 31590.809) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x 2920693.8 :y 40960.0 :z -333086.72 :w 1.0) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3139584.0 :y 44933.12 :z -241909.77 :w 11339.948) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3277373.5 :y 43704.32 :z 74997.76 :w 912.3522) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3299614.8 :y 44154.88 :z 331161.6 :w 10465.48) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3607593.0 :y 43499.52 :z 518348.8 :w 10608.295) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3971440.8 :y 43663.36 :z 760791.06 :w 13600.504) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4258160.5 :y 70328.32 :z 666501.1 :w -27694.55) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4070359.0 :y 47759.36 :z 576512.0 :w -14751.389) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3680379.0 :y 44564.48 :z 557219.8 :w -23942.902) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3503718.5 :y 69386.24 :z 223313.92 :w -30764.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3272827.0 :y 45301.76 :z -13557.76 :w -31219.184) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3041034.2 :y 44195.84 :z -319651.84 :w -23914.998) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3087073.2 :y 76062.72 :z -667197.44 :w 30212.334) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2988114.0 :y 108503.04 :z -1128489.0 :w -27177.633) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2576220.2 :y 45916.16 :z -1328578.5 :w -20707.338) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2293514.2 :y 43048.96 :z -887357.44 :w 4091.8494) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2675425.2 :y 81305.6 :z -856965.1 :w 26134.191) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2693283.8 :y 45096.96 :z -1273528.4 :w -14476.319) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2442444.8 :y 115056.64 :z -1190461.5 :w -8945.955) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x -370606.1 :y 40960.0 :z 5572239.5 :w 1.0) + :rotation 5461.3335 + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x -280739.84 :y 47308.8 :z 5591818.0 :w 17184.613) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 69754.88 :y 13557.76 :z 5583257.5 :w 17541.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 576348.2 :y 49766.4 :z 5611397.0 :w 18388.31) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 895426.56 :y 59064.32 :z 5211177.0 :w -32356.96) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 691732.5 :y 30965.76 :z 4855562.0 :w -30837.783) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 763248.6 :y 46817.28 :z 4489339.0 :w -28816.58) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 416481.28 :y 44072.96 :z 4337705.0 :w -25147.764) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 425902.1 :y 45178.88 :z 3870433.2 :w 30427.8) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 703938.56 :y 71966.72 :z 3478118.5 :w 24663.018) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 932904.94 :y 47472.64 :z 3203932.2 :w 21617.414) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1308098.5 :y 105881.6 :z 3228221.5 :w 15657.807) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1547509.8 :y 76431.36 :z 2849013.8 :w 24128.59) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1756979.2 :y 34570.24 :z 2779422.8 :w 17599.62) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1975337.0 :y 34406.4 :z 2847703.0 :w 5692.511) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2331156.5 :y 59473.92 :z 3134095.2 :w 14885.848) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2582814.8 :y 34406.4 :z 2942525.5 :w -28780.717) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2701680.8 :y 60620.8 :z 2638069.8 :w 17277.092) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2992455.8 :y 39731.2 :z 2504335.2 :w 31740.521) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2741084.2 :y 90112.0 :z 2380021.8 :w -20174.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2684067.8 :y 95887.36 :z 2128937.0 :w -32377.205) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2793758.8 :y 100024.32 :z 1767751.6 :w 17577.355) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3154288.8 :y 45711.36 :z 1753169.9 :w 13975.443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3440558.0 :y 47349.76 :z 2188411.0 :w 12108.886) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3902546.0 :y 44523.52 :z 2269511.8 :w 19725.771) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3993600.0 :y 46407.68 :z 2011054.1 :w 31902.232) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4441415.5 :y 72171.52 :z 1879900.1 :w 10530.943) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4650066.0 :y 86835.2 :z 1856430.1 :w -32374.768) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4532306.0 :y 87572.48 :z 1644830.8 :w -29740.656) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3139584.0 :y 44933.12 :z -241909.77 :w 11339.948) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + ) + ) + +(define *city-race-ring-edit-info* (new 'static 'array int32 512 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ) + ) + +(set-subtask-hook! + *game-info* + 259 + 0 + (the-as + (function object) + (lambda :behavior task-manager + () + (set-setting! 'minimap 'clear 0 32) + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (let ((s5-0 *traffic-manager*) + (gp-0 (new 'stack 'traffic-object-spawn-params)) + ) + (set! (-> gp-0 position quad) (-> *bb-ring-info* (-> self info index) start-pos quad)) + (quaternion-axis-angle! (-> gp-0 rotation) 0.0 1.0 0.0 (-> *bb-ring-info* (-> self info index) rotation)) + (set! (-> gp-0 object-type) (the-as uint 11)) + (set! (-> gp-0 behavior) (the-as uint 0)) + (set! (-> gp-0 id) (the-as uint 0)) + (set! (-> gp-0 proc) #f) + (send-event s5-0 'spawn-object gp-0) + (if (-> gp-0 proc) + (set! (-> self slave 1) (process->handle (-> gp-0 proc))) + ) + ) + (set! (-> self start-time) 0) + (set! (-> self sub-state) (the-as uint 0)) + (set! (-> self count) 0) + (set! (-> self max-count) (-> *bb-ring-info* (-> self info index) rings length)) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 259 + 1 + (the-as + (function object) + (lambda :behavior task-manager () (send-event *traffic-manager* 'restore-default-settings) (none)) + ) + ) + +(set-subtask-hook! + *game-info* + 259 + 2 + (the-as + (function object) + (lambda :behavior task-manager + () + (check-time self) + (cond + ((and (handle->process (-> self slave 0)) + (-> self slave 0 process 0 next-state) + (= (-> self slave 0 process 0 next-state name) 'idle) + ) + ) + (else + (let ((v1-15 (-> self sub-state))) + (cond + ((< v1-15 (the-as uint (-> self max-count))) + (let* ((a1-2 (-> *bb-ring-info* (-> self info index) rings v1-15)) + (a0-14 (race-ring-spawn self a1-2)) + ) + (when a0-14 + (set! (-> self slave 0) (process->handle a0-14)) + (set! (-> self time-limit) (the-as time-frame (if (zero? (-> self sub-state)) + 4500 + (the-as int (-> *bb-ring-info* (-> self info index) time)) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (+! (-> self sub-state) 1) + ) + ) + ) + (else + (go-virtual complete) + ) + ) + ) + ) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 259 + 3 + (the-as (function object) (lambda :behavior task-manager + () + (while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 5)) + (suspend) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 259 + 4 + (the-as (function object) (lambda :behavior task-manager () (close! (-> self node-info) 'event) (none))) + ) + +(copy-hooks! (-> *game-info* sub-task-list 273) (-> *game-info* sub-task-list 259)) + +(copy-hooks! (-> *game-info* sub-task-list 293) (-> *game-info* sub-task-list 259)) + +(defpartgroup group-bush-collect + :id 1056 + :linger-duration (seconds 2) + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4590 :fade-after (meters 220) :period 150 :length 75) (sp-item 4591 :fade-after (meters 100))) + ) + +(defpart 4591 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xcb :page #xc)) + (sp-rnd-flt spt-num 0.0 0.2 1.0) + (sp-flt spt-y (meters 2)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 16.0) + (sp-flt spt-omega 821248.0) + (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-flt spt-userdata 2048.0) + (sp-int spt-next-time 100) + (sp-launcher-by-id spt-next-launcher 4592) + ) + ) + +(defpart 4592 + :init-specs ((sp-flt spt-fade-a -0.32)) + ) + +(defpart 4590 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2)) + (sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 32.0 4.0 1.0) + (sp-flt spt-omega 821248.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +(defpart 4593 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.1) 1.0) + (sp-flt spt-rot-x 409.6) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +(defpart 4594 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 0.1) 1.0) + (sp-flt spt-rot-x 819.2) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +(defskelgroup skel-homing-beacon homing-beacon homing-beacon-lod0-jg homing-beacon-idle-ja + ((homing-beacon-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 3) + ) + +(deftype bush-collect (process-drawable) + ((minimap connection-minimap :offset-assert 200) + (trans-y float :offset-assert 204) + (beep-time float :offset-assert 208) + ) + :heap-base #x60 + :method-count-assert 24 + :size-assert #xd4 + :flag-assert #x18006000d4 + (:methods + (idle () _type_ :state 20) + (die () _type_ :state 21) + (bush-collect-method-22 (_type_) none 22) + (bush-collect-method-23 (_type_) none 23) + ) + ) + + +(defmethod bush-collect-method-22 bush-collect ((obj bush-collect)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (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) (the-as penetrate -1)) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec collectable)) + (set! (-> v1-7 prim-core collide-with) (collide-spec jak vehicle-sphere hit-by-others-list player-list tobot)) + (set! (-> v1-7 transform-index) 3) + (set-vector! (-> v1-7 local-sphere) 0.0 2048.0 0.0 16384.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-10 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) + ) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +(defmethod bush-collect-method-23 bush-collect ((obj bush-collect)) + 0 + (none) + ) + +(defstate idle (bush-collect) + :virtual #t + :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) + (case event-type + (('touch 'attack) + (sound-play "homeing-pickup") + (go-virtual die) + ) + ) + ) + :enter (behavior () + '() + (none) + ) + :exit (behavior () + '() + (none) + ) + :trans (behavior () + (let ((f30-0 (+ (* 0.0033333334 (the float (-> self clock frame-counter))) (* 0.1 (the float (-> self pid)))))) + (when (< (-> self beep-time) f30-0) + (sound-play "homeing-beep") + (set! (-> self beep-time) (+ 1.0 f30-0)) + ) + (set! (-> self root trans y) (+ (-> self trans-y) (* 4096.0 (* 0.5 (cos (* 21845.334 f30-0)))))) + (quaternion-vector-angle! (-> self root quat) *up-vector* (* 14563.556 f30-0)) + (let ((gp-1 (matrix<-transformq+world-trans! + (new 'stack-no-clear 'matrix) + (the-as transformq (-> self root trans)) + (new 'static 'vector :y 2048.0 :w 1.0) + ) + ) + ) + (when (nonzero? (-> self part)) + (spawn-with-matrix (-> self part) gp-1) + (let ((gp-2 (vector-matrix*! + (new 'stack-no-clear 'vector) + (vector-rotate-around-y! + (new 'stack-no-clear 'vector) + (new 'static 'vector :x 1228.8 :y 2252.8 :w 1.0) + (* 145635.56 f30-0) + ) + gp-1 + ) + ) + ) + (let ((t9-8 sp-launch-particles-var) + (a0-8 *sp-particle-system-2d*) + (a1-6 (-> *part-id-table* 4593)) + (a2-5 *launch-matrix*) + ) + (set! (-> a2-5 trans quad) (-> gp-2 quad)) + (t9-8 a0-8 a1-6 a2-5 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + (let ((t9-9 sp-launch-particles-var) + (a0-9 *sp-particle-system-2d*) + (a1-7 (-> *part-id-table* 4594)) + (a2-6 *launch-matrix*) + ) + (set! (-> a2-6 trans quad) (-> gp-2 quad)) + (t9-9 a0-9 a1-7 a2-6 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + ) + ) + ) + ) + (none) + ) + :code (the-as (function none :behavior bush-collect) sleep-code) + :post (behavior () + (ja-post) + (none) + ) + ) + +(defstate die (bush-collect) + :virtual #t + :code (behavior () + (cleanup-for-death self) + (none) + ) + ) + +;; WARN: Return type mismatch entity-perm-status vs none. +(defmethod init-from-entity! bush-collect ((obj bush-collect) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (process-entity-status! obj (entity-perm-status dead) #t) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-init-by-other bush-collect ((arg0 vector)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (go-virtual idle) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-dark-eco-init-by-other bush-collect ((arg0 vector)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 82) self)) + (go-virtual idle) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-homing-beacon-init-by-other bush-collect ((arg0 vector)) + (set! (-> self level) (level-get *level* 'lbbush)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 2.0 2.0 2.0 1.0) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self trans-y) (-> self root trans y)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-homing-beacon" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (go-virtual idle) + (none) + ) + +(defun bush-collect-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect arg1 :to arg0) + ) + +(defun bush-collect-homing-beacon-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect :init bush-collect-homing-beacon-init-by-other arg1 :to arg0) + ) + +(defun bush-collect-dark-eco-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect :init bush-collect-dark-eco-init-by-other arg1 :to arg0) + ) + +(deftype burning-bush-collection-info (structure) + ((pos vector :inline :offset-assert 0) + (handle handle :offset-assert 16) + (minimap connection-minimap :offset-assert 24) + ) + :method-count-assert 10 + :size-assert #x1c + :flag-assert #xa0000001c + (:methods + (burning-bush-collection-info-method-9 (_type_ object) none 9) + ) + ) + + +(defmethod burning-bush-collection-info-method-9 burning-bush-collection-info ((obj burning-bush-collection-info) (arg0 object)) + (format arg0 "(static-burning-bush-collection-info~%") + (format arg0 " :pos (~4,,2M ~4,,2M ~4,,2M)~%)~%" (-> obj pos x) (-> obj pos y) (-> obj pos z)) + 0 + (none) + ) + +(deftype bb-collection-info (structure) + ((user-data uint32 :offset-assert 0) + (time time-frame :offset-assert 8) + (colls (array burning-bush-collection-info) :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + + +(define *bb-collection-info* + (new 'static 'boxed-array :type bb-collection-info + (new 'static 'bb-collection-info + :user-data #x2 + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 859463.7 :y 49111.04 :z 957480.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 856719.4 :y 49111.04 :z 1022689.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 786554.9 :y 49111.04 :z 1024983.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 714874.9 :y 49111.04 :z 1021788.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 713564.2 :y 49111.04 :z 938434.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1050419.2 :y 32727.04 :z 25354.24)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1188495.4 :y 32727.04 :z 34160.64)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1165312.0 :y 32768.0 :z 183787.52)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1141841.9 :y 41738.24 :z 322560.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1080647.6 :y 41738.24 :z 326451.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1037516.8 :y 47431.68 :z 359628.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1036288.0 :y 47513.6 :z 415621.12)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1083433.0 :y 47513.6 :z 470876.16)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1141719.0 :y 47513.6 :z 469401.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1182679.0 :y 41738.24 :z 564674.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1182105.6 :y 41738.24 :z 612229.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1180590.1 :y 41738.24 :z 671784.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1181040.6 :y 41738.24 :z 738508.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1180999.6 :y 41738.24 :z 799375.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1147084.8 :y 47308.8 :z 842096.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1108582.4 :y 47513.6 :z 839270.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 941260.8 :y 37560.32 :z 871137.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 857661.44 :y 49111.04 :z 868597.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 791306.25 :y 49111.04 :z 870359.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 719298.56 :y 49111.04 :z 874414.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 923566.06 :y 41738.24 :z 326983.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 869212.2 :y 41738.24 :z 326123.53)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 816087.06 :y 47472.64 :z 360980.47)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 817192.94 :y 47595.52 :z 423075.84)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 869130.25 :y 41738.24 :z 461168.62)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 923934.75 :y 41738.24 :z 461660.16)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 975544.3 :y 32727.04 :z 571514.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 864911.4 :y 49111.04 :z 685342.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 844226.56 :y 56442.88 :z 557096.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 775290.9 :y 56401.92 :z 560660.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 711720.94 :y 56442.88 :z 559063.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 491069.44 :y 47554.56 :z 529530.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 429056.0 :y 47595.52 :z 531415.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 391495.7 :y 41738.24 :z 622305.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 391127.03 :y 41738.24 :z 709754.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 426557.44 :y 47431.68 :z 841850.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 492339.2 :y 47267.84 :z 840089.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 390635.53 :y 41738.24 :z 947363.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 392110.1 :y 41738.24 :z 1002045.44)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 392192.0 :y 41738.24 :z 1055293.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 427991.03 :y 47513.6 :z 1109975.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 489431.03 :y 47513.6 :z 1108828.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 569917.44 :y 41738.24 :z 1179689.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 618168.3 :y 41738.24 :z 1180057.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 705249.25 :y 32727.04 :z 1093468.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 771686.4 :y 32727.04 :z 1091665.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 854138.9 :y 32727.04 :z 1091911.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047756.8 :y 41738.24 :z 1057177.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047592.94 :y 41738.24 :z 1002127.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047019.5 :y 41738.24 :z 950026.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1083678.8 :y 47554.56 :z 901365.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1146224.6 :y 47595.52 :z 901529.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1183539.2 :y 41738.24 :z 415744.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1143234.5 :y 47595.52 :z 530145.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1085972.5 :y 47554.56 :z 529817.6)) + ) + ) + (new 'static 'bb-collection-info + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 691732.5 :y 45015.04 :z -1437450.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 871710.75 :y 45670.4 :z -1238425.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1036943.4 :y 46571.52 :z -1118904.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1275166.8 :y 11960.32 :z -1024819.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1465712.6 :y 11182.08 :z -1191649.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1366507.5 :y 69017.6 :z -1411809.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1456455.6 :y 69017.6 :z -1106370.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1171660.8 :y 69017.6 :z -998727.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 692592.6 :y 11878.4 :z -1012572.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 457277.44 :y 11141.12 :z -1011015.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 222494.72 :y 69795.84 :z -1272504.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 54886.4 :y 44154.88 :z -1290649.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -710656.0 :y 44687.36 :z -1403945.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -435036.16 :y 13189.12 :z -805724.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -248176.64 :y 12083.2 :z -807444.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -193986.56 :y 45629.44 :z -536125.44)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -229335.05 :y 44851.2 :z -162201.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 125132.8 :y 43991.04 :z -190423.05)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 323952.62 :y 44851.2 :z -226344.95)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 460636.16 :y 44851.2 :z -615424.0)) + ) + ) + (new 'static 'bb-collection-info + :user-data #x1 + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -330792.97 :y 32727.04 :z 371630.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -508354.56 :y 32727.04 :z 307732.47)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -655319.06 :y 32727.04 :z 377487.38)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -803061.75 :y 32727.04 :z 384081.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -993525.75 :y 32768.0 :z 355614.72)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1122959.4 :y 34529.28 :z 395960.3)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1239449.6 :y 43335.68 :z 485335.03)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1460142.1 :y 44359.68 :z 482385.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1555906.5 :y 55050.24 :z 245186.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1204838.4 :y 33792.0 :z 216104.95)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -929832.94 :y 40099.84 :z 488529.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -707215.4 :y 45629.44 :z 493977.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -385269.75 :y 37355.52 :z 557301.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -186859.52 :y 32727.04 :z 551116.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -148971.52 :y 32727.04 :z 776560.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -188252.16 :y 32727.04 :z 931758.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -178462.72 :y 32727.04 :z 1082941.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -183541.77 :y 32727.04 :z 1230561.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -220323.84 :y 32727.04 :z 1405296.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -520888.3 :y 32727.04 :z 1353277.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -713482.25 :y 32727.04 :z 1093181.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -652206.06 :y 32727.04 :z 846848.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -746332.2 :y 51077.12 :z 664862.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -890961.94 :y 32768.0 :z 809164.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -971325.44 :y 32768.0 :z 766279.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1154621.5 :y 34652.16 :z 780083.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1280532.5 :y 32727.04 :z 830218.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1423810.5 :y 34570.24 :z 839475.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1557504.0 :y 35348.48 :z 732938.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1410908.1 :y 47472.64 :z 679485.44)) + ) + ) + (new 'static 'bb-collection-info + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info (new 'static 'burning-bush-collection-info)) + ) + ) + ) + +(define *city-bb-collection-edit-info* (new 'static 'array int32 512 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ) + ) + +(set-subtask-hook! + *game-info* + 269 + 1 + (the-as + (function object) + (lambda :behavior task-manager + () + (let ((v1-4 (-> *bb-collection-info* (-> self info index)))) + (dotimes (a0-1 (-> v1-4 colls length)) + (when (and (-> v1-4 colls a0-1 minimap) (nonzero? (-> v1-4 colls a0-1 minimap))) + (logior! (-> v1-4 colls a0-1 minimap flags) (minimap-flag fade-out)) + (set! (-> v1-4 colls a0-1 minimap) #f) + ) + ) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 269 + 0 + (the-as + (function object) + (lambda :behavior task-manager + () + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (let ((gp-0 (-> *bb-collection-info* (-> self info index)))) + (let ((v1-9 (-> gp-0 user-data))) + (cond + ((zero? v1-9) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-homing-beacon :init hud-init-by-other :to *target*)) + ) + ) + ((= v1-9 1) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-dark-eco-pickup :init hud-init-by-other :to *target*)) + ) + ) + ((= v1-9 2) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-green-eco-pickup :init hud-init-by-other :to *target*)) + ) + ) + ) + ) + (dotimes (s5-3 (-> gp-0 colls length)) + (let ((v1-32 (-> gp-0 user-data))) + (cond + ((zero? v1-32) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle (bush-collect-homing-beacon-spawn self (-> gp-0 colls s5-3 pos))) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + ((= v1-32 1) + (let ((t1-3 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + ) + (new 'stack-no-clear 'vector) + (set! (-> t1-3 options) (logior (actor-option fade-out no-distance-check-fadeout) (-> t1-3 options))) + (set! (-> t1-3 fade-time) (-> gp-0 time)) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle + (birth-pickup-at-point (-> gp-0 colls s5-3 pos) (pickup-type eco-pill-dark) 1.0 #t self t1-3) + ) + ) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + ((= v1-32 2) + (let ((t1-5 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + ) + (new 'stack-no-clear 'vector) + (set! (-> t1-5 options) (logior (actor-option fade-out no-distance-check-fadeout) (-> t1-5 options))) + (set! (-> t1-5 fade-time) (-> gp-0 time)) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle + (birth-pickup-at-point (-> gp-0 colls s5-3 pos) (pickup-type eco-pill-green) 1.0 #t self t1-5) + ) + ) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + (else + (set! (-> gp-0 colls s5-3 handle) (ppointer->handle (bush-collect-spawn self (-> gp-0 colls s5-3 pos)))) + (set! (-> gp-0 colls s5-3 minimap) #f) + ) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (set! (-> self time-limit) (-> gp-0 time)) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 269 + 2 + (the-as + (function object) + (lambda :behavior task-manager + () + (check-time self) + (let ((a0-2 (-> *bb-collection-info* (-> self info index))) + (v1-6 0) + ) + (dotimes (a1-0 (-> a0-2 colls length)) + (cond + ((and (nonzero? (-> a0-2 colls a1-0 handle)) (handle->process (-> a0-2 colls a1-0 handle))) + (+! v1-6 1) + ) + (else + (when (-> a0-2 colls a1-0 minimap) + (logior! (-> a0-2 colls a1-0 minimap flags) (minimap-flag fade-out)) + (set! (-> a0-2 colls a1-0 minimap) #f) + ) + ) + ) + ) + (set! (-> *game-info* counter) (the float v1-6)) + (if (zero? v1-6) + (go-virtual complete) + ) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 269 + 3 + (the-as + (function object) + (lambda :behavior task-manager () (set! (-> self state-time) (-> self clock frame-counter)) (none)) + ) + ) + +(copy-hooks! (-> *game-info* sub-task-list 287) (-> *game-info* sub-task-list 269)) + +(copy-hooks! (-> *game-info* sub-task-list 305) (-> *game-info* sub-task-list 269)) + +(deftype burning-bush-get-on-info (structure) + ((trans vector :inline :offset-assert 0) + (quat quaternion :inline :offset-assert 16) + (camera-trans vector :inline :offset-assert 32) + (camera-rot float 9 :offset-assert 48) + (time float :offset-assert 84) + ) + :method-count-assert 9 + :size-assert #x58 + :flag-assert #x900000058 + ) + + +(define *burning-bush-get-on-info* + (new 'static 'boxed-array :type burning-bush-get-on-info + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -1530670.2 :y 32765.543 :z 2502434.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.6321 :w 0.7748) + :camera-trans (new 'static 'vector :x -1503602.2 :y 62047.027 :z 2475579.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.689 0.0 0.7247 -0.3328 0.8882 0.3164 -0.6437 -0.4592 0.612) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 4318766.0 :y 2145.8943 :z 808666.3 :w 1.0) + :quat (new 'static 'quaternion :y -0.9999 :w -0.0115) + :camera-trans (new 'static 'vector :x 4387209.0 :y 39837.285 :z 818740.44 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.1641 0.0 0.9864 -0.4679 0.8803 -0.0778 -0.8683 -0.4744 -0.1444) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 3322434.0 :y 99432.445 :z 3684668.2 :w 1.0) + :quat (new 'static 'quaternion :y -0.9923 :w 0.1235) + :camera-trans (new 'static 'vector :x 3332904.2 :y 134062.48 :z 3737897.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9774 0.0 0.2113 -0.0762 0.9325 -0.3528 -0.197 -0.361 -0.9114) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 663325.5 :y 17938.842 :z 4885086.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.4768 :w -0.879) + :camera-trans (new 'static 'vector :x 730486.4 :y 66763.164 :z 4933765.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5022 0.0 0.8647 -0.3772 0.8998 -0.2191 -0.7781 -0.4362 -0.4518) + :time 10500.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 570983.6 :y 94438.6 :z 4240269.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9299 :w -0.3677) + :camera-trans (new 'static 'vector :x 493339.44 :y 129311.945 :z 4223747.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1785 0.0 -0.9839 0.4944 0.8645 0.0897 0.8506 -0.5025 0.1543) + :time 12000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -168806.81 :y 48443.8 :z 3844239.8 :w 1.0) + :quat (new 'static 'quaternion :y 0.9837 :w 0.1795) + :camera-trans (new 'static 'vector :x -151019.92 :y 94520.12 :z 3768899.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9513 0.0 0.3082 -0.1497 0.874 0.4621 -0.2694 -0.4858 0.8314) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -622166.8 :y 38157.105 :z 788430.44 :w 1.0) + :quat (new 'static 'quaternion :y 0.9294 :w -0.3688) + :camera-trans (new 'static 'vector :x -655421.44 :y 38743.246 :z 755565.4 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7391 0.0 -0.6735 -0.1633 0.9701 -0.1792 0.6534 0.2424 0.717) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -981622.4 :y 32762.266 :z -1378460.9 :w 1.0) + :quat (new 'static 'quaternion :y -0.9881 :w -0.1537) + :camera-trans (new 'static 'vector :x -1001924.2 :y 76537.445 :z -1419026.9 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8637 0.0 -0.5039 0.2989 0.8051 0.5122 0.4057 -0.5931 0.6953) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 1437632.9 :y 41757.082 :z -1262564.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.409 :w -0.9125) + :camera-trans (new 'static 'vector :x 1451820.2 :y 44497.305 :z -1328512.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9983 0.0 0.0578 0.0045 0.9969 -0.0777 -0.0576 0.0778 0.9952) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 783885.1 :y 40796.16 :z -705780.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.6938 :w 0.7201) + :camera-trans (new 'static 'vector :x 741225.7 :y 46757.887 :z -776107.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9057 0.0 -0.4238 -0.0939 0.9751 -0.2007 0.4132 0.2216 0.8832) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 2180319.2 :y -443.1872 :z -2409681.2 :w 1.0) + :quat (new 'static 'quaternion :y -0.8512 :w 0.5248) + :camera-trans (new 'static 'vector :x 2186967.0 :y 4454.8096 :z -2441144.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9628 0.0 0.2698 0.02 0.9972 -0.0715 -0.2691 0.0743 0.9602) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 609418.06 :y 32768.0 :z -1476082.9 :w 1.0) + :quat (new 'static 'quaternion :y -0.9919 :w 0.1265) + :camera-trans (new 'static 'vector :x 600542.8 :y 37365.35 :z -1515416.8 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9811 0.0 -0.1932 -0.0172 0.996 -0.0875 0.1924 0.0892 0.9772) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 2543148.8 :y 37827.38 :z 3158161.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9581 :w 0.2863) + :camera-trans (new 'static 'vector :x 2513162.2 :y 68558.03 :z 3066508.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9036 0.0 -0.4281 0.1063 0.9686 0.2244 0.4147 -0.2483 0.8753) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 1663103.0 :y 34921.266 :z 2111440.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.562 :w 0.8271) + :camera-trans (new 'static 'vector :x 1741256.8 :y 131765.86 :z 2247819.8 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9324 0.0 0.3611 -0.1247 0.9384 -0.322 -0.3389 -0.3453 -0.8751) + :time 7500.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 4012071.2 :y 102169.805 :z 3209066.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.6466 :w 0.7627) + :camera-trans (new 'static 'vector :x 4028088.8 :y 103657.47 :z 3221753.8 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.449 0.0 0.8934 0.2339 0.9651 0.1175 -0.8623 0.2617 -0.4334) + :time 7500.0 + ) + ) + ) + +(set-subtask-hook! + *game-info* + 261 + 0 + (the-as (function object) (lambda :behavior task-manager + () + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (none) + ) + ) + ) + +(set-subtask-hook! *game-info* 261 2 (the-as (function object) (lambda :behavior task-manager () (none)))) + +(set-subtask-hook! + *game-info* + 261 + 1 + (the-as (function object) (lambda :behavior task-manager + () + (let ((a0-1 (handle->process (-> self slave 0)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 261 + 4 + (the-as (function object) (lambda :behavior task-manager () (close! (-> self node-info) 'event) (none))) + ) + +(set-subtask-hook! + *game-info* + 261 + 5 + (the-as (function object) (lambda :behavior task-manager + () + (if (and *target* (logtest? (-> *target* focus-status) (focus-status grabbed))) + (process-release? *target*) + ) + (none) + ) + ) + ) + +(set-subtask-hook! + *game-info* + 261 + 3 + (lambda :behavior task-manager + () + (set-setting! 'minimap 'clear 0 128) + (while (not (process-grab? *target* #f)) + (suspend) + ) + (let ((t1-1 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + (a0-3 (new 'stack-no-clear 'vector)) + ) + (logior! (-> t1-1 options) (actor-option fade-out)) + (set! (-> t1-1 fade-time) + (the-as time-frame (the int (-> *burning-bush-get-on-info* (-> self info index) time))) + ) + (set! (-> a0-3 quad) (-> *burning-bush-get-on-info* (-> self info index) trans quad)) + (set! (-> a0-3 y) (+ 4096.0 (-> a0-3 y))) + (set! (-> self slave 0) + (ppointer->handle + (birth-pickup-at-point a0-3 (pickup-type skill) (-> *FACT-bank* super-skill-inc) #t self t1-1) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (set! (-> self time-limit) + (the-as time-frame (the int (+ 300.0 (-> *burning-bush-get-on-info* (-> self info index) time)))) + ) + (suspend) + (send-event (handle->process (-> self slave 0)) 'get-notify self) + (set-setting! 'interp-time 'abs 0 0) + (set-setting! 'mode-name 'cam-fixed 0 0) + (set! (-> *ACTOR-bank* birth-max) 1000) + (suspend) + (let ((gp-0 (new 'stack 'transformq))) + (let ((v1-45 (-> *burning-bush-get-on-info* (-> self info index))) + (a1-16 (new 'stack-no-clear 'matrix)) + ) + (set! (-> gp-0 trans quad) (-> v1-45 camera-trans quad)) + (set-vector! (-> gp-0 scale) 1.0 1.0 1.0 1.0) + (set! (-> a1-16 vector 0 x) (-> v1-45 camera-rot 0)) + (set! (-> a1-16 vector 0 y) (-> v1-45 camera-rot 1)) + (set! (-> a1-16 vector 0 z) (-> v1-45 camera-rot 2)) + (set! (-> a1-16 vector 0 w) 0.0) + (set! (-> a1-16 vector 1 x) (-> v1-45 camera-rot 3)) + (set! (-> a1-16 vector 1 y) (-> v1-45 camera-rot 4)) + (set! (-> a1-16 vector 1 z) (-> v1-45 camera-rot 5)) + (set! (-> a1-16 vector 1 w) 0.0) + (set! (-> a1-16 vector 2 x) (-> v1-45 camera-rot 6)) + (set! (-> a1-16 vector 2 y) (-> v1-45 camera-rot 7)) + (set! (-> a1-16 vector 2 z) (-> v1-45 camera-rot 8)) + (set! (-> a1-16 vector 2 w) 0.0) + (set! (-> a1-16 trans x) 0.0) + (set! (-> a1-16 trans y) 0.0) + (set! (-> a1-16 trans z) 0.0) + (set! (-> a1-16 trans w) 1.0) + (matrix->quaternion (-> gp-0 quat) a1-16) + ) + (send-event *camera* 'teleport-to-transformq gp-0) + ) + (let ((gp-1 (-> self clock frame-counter))) + (until (>= (- (-> self clock frame-counter) gp-1) (seconds 3)) + (suspend) + ) + ) + (remove-setting! 'minimap) + (set! (-> *ACTOR-bank* birth-max) 1000) + (persist-with-delay *setting-control* 'interp-time (seconds 0.05) 'interp-time 'abs 0.0 0) + (remove-setting! 'interp-time) + (remove-setting! 'mode-name) + (while (not (process-release? *target*)) + (suspend) + ) + (until #f + (check-time self) + (suspend) + ) + #f + ) + ) + +(set-subtask-hook! + *game-info* + 261 + 6 + (the-as (function object) (lambda :behavior task-manager + ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('notify) + (case (-> arg3 param 0) + (('pickup) + (go-virtual complete) + ) + (('die) + (go-virtual fail) + ) + ) + ) + ) + (none) + ) + ) + ) + +(copy-hooks! (-> *game-info* sub-task-list 263) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 265) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 267) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 275) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 277) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 281) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 283) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 285) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 289) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 291) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 295) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 299) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 301) (-> *game-info* sub-task-list 261)) + +(copy-hooks! (-> *game-info* sub-task-list 303) (-> *game-info* sub-task-list 261)) + +(defmethod draw hud-homing-beacon ((obj hud-homing-beacon)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 160 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 scale) 0.5) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 60) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +(defmethod update-values hud-homing-beacon ((obj hud-homing-beacon)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +(defmethod init-callback hud-homing-beacon ((obj hud-homing-beacon)) + (set! (-> obj level) (level-get *level* 'lbbush)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :page #xd89))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) + +(defmethod draw hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 180 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (set! (-> obj strings 0 scale) 0.5) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 26) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +(defmethod update-values hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +(defmethod init-callback hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x46 :page #x67a))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) + +(defmethod draw hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 180 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (set! (-> obj strings 0 scale) 0.5) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 26) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +(defmethod update-values hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +(defmethod init-callback hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x47 :page #x67a))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) diff --git a/goal_src/jak2/levels/common/airlock.gc b/goal_src/jak2/levels/common/airlock.gc index 2f50e1be06..28542d1197 100644 --- a/goal_src/jak2/levels/common/airlock.gc +++ b/goal_src/jak2/levels/common/airlock.gc @@ -1259,6 +1259,7 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" + (stack-size-set! (-> obj main-thread) 1024) (let ((s5-0 (new 'process 'collide-shape obj (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))) diff --git a/goal_src/jak2/levels/consite/consite-obs.gc b/goal_src/jak2/levels/consite/consite-obs.gc index 6e9d3946e0..e2e3a83fdd 100644 --- a/goal_src/jak2/levels/consite/consite-obs.gc +++ b/goal_src/jak2/levels/consite/consite-obs.gc @@ -5,5 +5,343 @@ ;; name in dgo: consite-obs ;; dgos: COA +(declare-type consite-bomb-elevator process-drawable) + ;; DECOMP BEGINS +(defskelgroup skel-consite-break-piece-break-d consite-break-scaffold consite-break-scaffold-break-d-lod0-jg consite-break-scaffold-break-d-idle-ja + ((consite-break-scaffold-break-d-lod0-mg (meters 999999))) + :bounds (static-spherem 25 17 -25 45) + ) + +(deftype consite-break-scaffold (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + + +(defstate idle (consite-break-scaffold) + :virtual #t + :code (the-as (function none :behavior consite-break-scaffold) sleep-code) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-break-scaffold ((obj consite-break-scaffold) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (set! (-> obj root) (new 'process 'trsqv)) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-break-piece-break-d" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (ja-post) + (cond + ((task-node-closed? (game-task-node consite-find-baron-resolution)) + (cleanup-for-death obj) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go empty-state) + ) + (else + (go (method-of-object obj idle)) + ) + ) + (none) + ) + +(deftype consite-bomb-elevator-hinges (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + + +(defskelgroup skel-consite-bomb-elevator-hinges consite-bomb-elevator consite-bomb-elevator-hinges-lod0-jg consite-bomb-elevator-hinges-idle-ja + ((consite-bomb-elevator-hinges-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -25 0 45) + :origin-joint-index 3 + ) + +(defstate idle (consite-bomb-elevator-hinges) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-bomb-elevator-hinges) ja-post) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (set! (-> obj root) (new 'process 'trsqv)) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (go (method-of-object obj idle)) + (none) + ) + +;; WARN: Return type mismatch object vs none. +(defbehavior consite-bomb-elevator-hinges-init-by-other consite-bomb-elevator-hinges ((arg0 consite-bomb-elevator) (arg1 entity-actor)) + (set! (-> self root) (new 'process 'trsqv)) + (process-drawable-from-entity! self arg1) + (initialize-skeleton + self + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (go-virtual idle) + (none) + ) + +(deftype consite-bomb-elevator (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + + +(defskelgroup skel-consite-bomb-elevator consite-bomb-elevator consite-bomb-elevator-lod0-jg consite-bomb-elevator-idle-ja + ((consite-bomb-elevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -25 0 45) + :origin-joint-index 3 + ) + +(defstate idle (consite-bomb-elevator) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-bomb-elevator) ja-post) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-bomb-elevator ((obj consite-bomb-elevator) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) + (set! (-> s4-0 total-prims) (the-as uint 2)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 -102400.0 0.0 184320.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 3) + (set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-11 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with)) + ) + (set! (-> obj root) s4-0) + ) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (process-spawn consite-bomb-elevator-hinges obj arg0 :to obj) + (go (method-of-object obj idle)) + (none) + ) + +(deftype consite-silo-doors (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + + +(defskelgroup skel-consite-silo-doors consite-silo-doors consite-silo-doors-lod0-jg consite-silo-doors-idle-ja + ((consite-silo-doors-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 40) + :origin-joint-index 3 + ) + +(defstate idle (consite-silo-doors) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-silo-doors) ja-post) + ) + +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-silo-doors ((obj consite-silo-doors) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (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 player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 163840.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 4) + (set-vector! (-> v1-8 local-sphere) -40960.0 0.0 0.0 61440.0) + ) + (let ((v1-10 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-10 prim-core action) (collide-action solid)) + (set! (-> v1-10 transform-index) 5) + (set-vector! (-> v1-10 local-sphere) 40960.0 0.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-13 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) + ) + (set! (-> obj root) s4-0) + ) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-consite-silo-doors" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (go (method-of-object obj idle)) + (none) + ) + +(defun consite-activate () + (update-mood-weather! *mood-control* 1.0 1.0 30.0 30.0) + 0 + (none) + ) + +(deftype baron-npc (process-taskable) + () + :heap-base #xa0 + :method-count-assert 38 + :size-assert #x120 + :flag-assert #x2600a00120 + ) + + +(defmethod get-art-elem baron-npc ((obj baron-npc)) + "Checks various things such the current actor, task status, etc to determine the right art-group data to use +@returns the appropriate [[art-element]] for the given NPC" + (case (-> obj task actor) + (((game-task-actor baron-consite)) + (-> obj draw art-group data 4) + ) + (else + (-> obj draw art-group data 3) + ) + ) + ) + +(defmethod init-art! baron-npc ((obj baron-npc)) + "@see [[initialize-skeleton]]" + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-baron-highres" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (set! (-> obj draw light-index) (the-as uint 10)) + (set! (-> obj draw shadow) #f) + 0 + (none) + ) diff --git a/goal_src/jak2/levels/hiphog/hiphog-scenes.gc b/goal_src/jak2/levels/hiphog/hiphog-scenes.gc index a2532b9300..b474e35481 100644 --- a/goal_src/jak2/levels/hiphog/hiphog-scenes.gc +++ b/goal_src/jak2/levels/hiphog/hiphog-scenes.gc @@ -32,6 +32,7 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" + (stack-size-set! (-> obj main-thread) 1024) (let ((cshape (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) (set! (-> cshape penetrated-by) (penetrate)) (let ((cshape-group (new 'process 'collide-shape-prim-group cshape (the-as uint 2) 0))) diff --git a/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc b/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc index 7dccafb7bc..b012bbad94 100644 --- a/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc @@ -12,7 +12,7 @@ (delay uint16 :offset-assert 14) (pos uint16 :offset-assert 16) (neg uint16 :offset-assert 18) - (on-close basic :offset-assert 20) + (on-close pair :offset-assert 20) ) :pack-me :method-count-assert 14 @@ -101,1606 +101,3473 @@ ) ;; definition for symbol *talker-speech*, type (inline-array talker-speech-class) -(define *talker-speech* (new 'static 'inline-array talker-speech-class 188 - (new 'static 'talker-speech-class :name "none") - (new 'static 'talker-speech-class - :name "hal001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x1 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "hal002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x2 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop002" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3 - :text-message #x224 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop004" - :channel (gui-channel daxter) - :flags #x3 - :speech #x4 - :text-message #x226 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop008" - :channel (gui-channel daxter) - :flags #x3 - :speech #x5 - :text-message #x227 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop010" - :channel (gui-channel daxter) - :flags #x3 - :speech #x7 - :text-message #x227 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop011" - :channel (gui-channel daxter) - :flags #x3 - :speech #x8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop016" - :channel (gui-channel daxter) - :flags #x3 - :speech #x9 - :text-message #x229 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSbop017" - :channel (gui-channel daxter) - :flags #x3 - :speech #xa - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds020" - :channel (gui-channel daxter) - :flags #x3 - :speech #xb - :text-message #x225 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds043" - :channel (gui-channel daxter) - :flags #x11 - :speech #xc - :text-message #x228 - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds043m" - :channel (gui-channel message) - :flags #x10 - :speech #xd - :text-message #x228 - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds046" - :channel (gui-channel daxter) - :flags #x11 - :speech #xe - :text-message #x22a - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds046m" - :channel (gui-channel message) - :flags #x10 - :speech #xf - :text-message #x22a - :text-duration #x12c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds162" - :channel (gui-channel daxter) - :flags #x3 - :speech #x10 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds165" - :channel (gui-channel daxter) - :flags #x3 - :speech #x11 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv039" - :channel (gui-channel alert) - :flags #x3 - :speech #x12 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv037" - :channel (gui-channel alert) - :flags #x3 - :speech #x13 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv056" - :channel (gui-channel alert) - :flags #x3 - :speech #x14 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv054" - :channel (gui-channel alert) - :flags #x3 - :speech #x15 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv055" - :channel (gui-channel alert) - :flags #x3 - :speech #x16 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv107" - :channel (gui-channel alert) - :flags #x3 - :speech #x17 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg100a" - :channel (gui-channel alert) - :flags #x3 - :speech #x18 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg104a" - :channel (gui-channel alert) - :flags #x3 - :speech #x19 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg102a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg071a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg107a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg097a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kg098a" - :channel (gui-channel alert) - :flags #x3 - :speech #x1e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv063" - :channel (gui-channel alert) - :speech #x1f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv064" - :channel (gui-channel alert) - :speech #x20 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv065" - :channel (gui-channel alert) - :speech #x21 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv067" - :channel (gui-channel alert) - :speech #x22 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv068" - :channel (gui-channel alert) - :speech #x23 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv069" - :channel (gui-channel alert) - :speech #x24 - :text-message #x246 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv070" - :channel (gui-channel alert) - :speech #x25 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv130" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x26 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv132" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x27 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv071" - :channel (gui-channel alert) - :speech #x28 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv072" - :channel (gui-channel alert) - :speech #x29 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv073" - :channel (gui-channel alert) - :speech #x2a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv074" - :channel (gui-channel alert) - :speech #x2b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv075" - :channel (gui-channel alert) - :speech #x2c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv076" - :channel (gui-channel alert) - :speech #x2d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv077" - :channel (gui-channel alert) - :speech #x2e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv078" - :channel (gui-channel alert) - :speech #x2f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv036" - :channel (gui-channel alert) - :speech #x30 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor007" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x31 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor008" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x32 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess004" - :channel (gui-channel message) - :flags #x7 - :speech #x33 - :text-message #x245 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew010" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x34 - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds129" - :channel (gui-channel daxter) - :flags #x2 - :speech #x35 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess005" - :channel (gui-channel message) - :flags #x3 - :speech #x36 - :text-message #x247 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "mess006" - :channel (gui-channel message) - :speech #x37 - :text-message #x226 - :text-duration #x5dc - :pos #x8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds116" - :channel (gui-channel daxter) - :flags #x2 - :speech #x38 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds117" - :channel (gui-channel daxter) - :flags #x3 - :speech #x39 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds118" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds119" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds120" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds121" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm007" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm008" - :channel (gui-channel daxter) - :flags #x3 - :speech #x3f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x40 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "daxm010" - :channel (gui-channel daxter) - :flags #x3 - :speech #x41 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x42 - :delay #x4b0 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds006" - :channel (gui-channel daxter) - :flags #x3 - :speech #x43 - :delay #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds029" - :channel (gui-channel daxter) - :flags #x2 - :speech #x44 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds030" - :channel (gui-channel daxter) - :flags #x2 - :speech #x45 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds031" - :channel (gui-channel daxter) - :flags #x2 - :speech #x46 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds032" - :channel (gui-channel daxter) - :flags #x2 - :speech #x47 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds007" - :channel (gui-channel daxter) - :flags #x3 - :speech #x48 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds372" - :channel (gui-channel daxter) - :flags #x3 - :speech #x49 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin011" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x4a - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds009" - :channel (gui-channel daxter) - :flags #x3 - :speech #x4b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo001" - :channel (gui-channel message) - :flags #x3 - :speech #x4c - :text-message #x23d - :text-duration #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo002" - :channel (gui-channel message) - :flags #x3 - :speech #x4d - :text-message #x22b - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo003" - :channel (gui-channel message) - :flags #x3 - :speech #x4e - :text-message #x252 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo004" - :channel (gui-channel message) - :flags #x3 - :speech #x4f - :text-message #x253 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "demo005" - :channel (gui-channel message) - :flags #x3 - :speech #x50 - :text-message #x226 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei026" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x51 - :delay #x1770 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei018" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x52 - :text-message #x241 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "DSfor001" - :channel (gui-channel daxter) - :flags #x3 - :speech #x53 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds017" - :channel (gui-channel daxter) - :flags #x3 - :speech #x54 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds018" - :channel (gui-channel daxter) - :flags #x3 - :speech #x55 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds019" - :channel (gui-channel daxter) - :flags #x3 - :speech #x56 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds350" - :channel (gui-channel daxter) - :flags #x2 - :speech #x57 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds016" - :channel (gui-channel daxter) - :flags #x3 - :speech #x58 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "sigf001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x59 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ys001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5a - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds151" - :channel (gui-channel daxter) - :flags #x7 - :speech #x5b - :text-message #x239 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x5d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x5e - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds005" - :channel (gui-channel daxter) - :flags #x3 - :speech #x5f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x60 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x61 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x62 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin003" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x63 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin004" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x64 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x65 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor002" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x66 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tess001" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x67 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "whack01" - :channel (gui-channel message) - :speech #x68 - :text-message #x24e - :text-duration #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin015" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x69 - :delay #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kei029" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "tor005" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "vin013" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "asht006" - :channel (gui-channel voicebox) - :flags #x7 - :speech #x6d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x6e - :delay #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "test001" - :channel (gui-channel message) - :speech #x6f - :text-message #x23d - :text-duration #x2328 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "sam001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x70 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "asht001" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x71 - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "str001" - :channel (gui-channel message) - :flags #x3 - :speech #x72 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "str002" - :channel (gui-channel message) - :speech #x73 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "note001" - :channel (gui-channel notice) - :speech #x74 - :text-message #x239 - :text-duration #x960 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ys002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x75 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01" - :channel (gui-channel notice) - :flags #x20 - :speech #x76 - :text-message #x254 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01e" - :channel (gui-channel notice) - :flags #x20 - :speech #x77 - :text-message #x255 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01j" - :channel (gui-channel notice) - :flags #x20 - :speech #x78 - :text-message #x257 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro01k" - :channel (gui-channel notice) - :flags #x20 - :speech #x79 - :text-message #x256 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro02" - :channel (gui-channel notice) - :flags #xa0 - :speech #x7a - :text-message #x258 - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro03" - :channel (gui-channel notice-low) - :speech #x7b - :text-message #x30c - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "intro04" - :channel (gui-channel notice) - :flags #x20 - :speech #x7c - :text-message #x25a - :text-duration #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss001" - :channel (gui-channel alert) - :flags #x40 - :speech #x7d - :text-message #x25c - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss002" - :channel (gui-channel alert) - :flags #x40 - :speech #x7e - :text-message #x261 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss003" - :channel (gui-channel alert) - :flags #x40 - :speech #x7f - :text-message #x262 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss004" - :channel (gui-channel alert) - :flags #x40 - :speech #x80 - :text-message #x263 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss005" - :channel (gui-channel alert) - :flags #x40 - :speech #x81 - :text-message #x264 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss006" - :channel (gui-channel alert) - :flags #x40 - :speech #x82 - :text-message #x265 - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss007" - :channel (gui-channel alert) - :flags #x40 - :speech #x83 - :text-message #x266 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss008" - :channel (gui-channel alert) - :flags #x40 - :speech #x84 - :text-message #x267 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss009" - :channel (gui-channel alert) - :flags #x40 - :speech #x85 - :text-message #x268 - :text-duration #x5dc - :delay #xbb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss010" - :channel (gui-channel alert) - :flags #x40 - :speech #x86 - :text-message #x269 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss011" - :channel (gui-channel alert) - :flags #x40 - :speech #x87 - :text-message #x25d - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss012" - :channel (gui-channel alert) - :flags #x40 - :speech #x88 - :text-message #x25e - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss013" - :channel (gui-channel alert) - :flags #x40 - :speech #x89 - :text-message #x25f - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "miss014" - :channel (gui-channel alert) - :flags #x40 - :speech #x8a - :text-message #x260 - :text-duration #x5dc - :delay #x384 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "krew003" - :channel (gui-channel voicebox) - :flags #x3 - :speech #x8b - :delay #x708 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek010" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek011" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek012" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek013" - :channel (gui-channel daxter) - :flags #x1 - :speech #x8f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek014" - :channel (gui-channel daxter) - :flags #x1 - :speech #x90 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek015" - :channel (gui-channel daxter) - :speech #x91 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek016" - :channel (gui-channel daxter) - :flags #x1 - :speech #x92 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek017" - :channel (gui-channel daxter) - :flags #x1 - :speech #x93 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek018" - :channel (gui-channel daxter) - :flags #x1 - :speech #x94 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek019" - :channel (gui-channel daxter) - :flags #x1 - :speech #x95 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek020" - :channel (gui-channel daxter) - :flags #x1 - :speech #x96 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek021" - :channel (gui-channel daxter) - :flags #x1 - :speech #x97 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek022" - :channel (gui-channel daxter) - :flags #x1 - :speech #x98 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek023" - :channel (gui-channel daxter) - :flags #x1 - :speech #x99 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek024" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9a - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek026" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9b - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek027" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9c - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek028" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9d - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek029" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9e - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek030" - :channel (gui-channel daxter) - :flags #x1 - :speech #x9f - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek031" - :channel (gui-channel daxter) - :flags #x1 - :speech #xa0 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek033" - :channel (gui-channel daxter) - :speech #xa1 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek034" - :channel (gui-channel daxter) - :speech #xa2 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek035" - :channel (gui-channel daxter) - :speech #xa3 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek036" - :channel (gui-channel daxter) - :speech #xa4 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek037" - :channel (gui-channel daxter) - :speech #xa5 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek038" - :channel (gui-channel daxter) - :speech #xa6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek039" - :channel (gui-channel daxter) - :speech #xa7 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek040" - :channel (gui-channel daxter) - :speech #xa8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "pek041" - :channel (gui-channel daxter) - :speech #xa9 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora006" - :channel (gui-channel alert) - :speech #xaa - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora007" - :channel (gui-channel alert) - :speech #xab - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora008" - :channel (gui-channel alert) - :speech #xac - :text-message #x26e - :text-duration #x5dc - :delay #x258 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora009" - :channel (gui-channel alert) - :speech #xad - :text-message #x26f - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora010" - :channel (gui-channel alert) - :speech #xae - :text-message #x270 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora015" - :channel (gui-channel alert) - :speech #xaf - :text-message #x271 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ora016" - :channel (gui-channel alert) - :speech #xb0 - :text-message #x272 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice01" - :channel (gui-channel notice-low) - :speech #xb1 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice02" - :channel (gui-channel notice-low) - :speech #xb2 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice03" - :channel (gui-channel notice-low) - :speech #xb3 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "notice04" - :channel (gui-channel notice-low) - :speech #xb4 - :text-duration #x5dc - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "kor004" - :channel (gui-channel voicebox) - :flags #x3 - :speech #xb5 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "cityv080" - :channel (gui-channel alert) - :flags #x2 - :speech #xb6 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "ds395" - :channel (gui-channel alert) - :flags #x2 - :speech #xb7 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru002" - :channel (gui-channel voicebox) - :flags #x3 - :speech #xb8 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bru004" - :channel (gui-channel voicebox) - :flags #x7 - :speech #xb9 - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bb01int" - :channel (gui-channel bbush) - :flags #x2 - :speech #xba - :neg #x1 - :on-close #f - ) - (new 'static 'talker-speech-class - :name "bb01fail" - :channel (gui-channel voicebox) - :flags #x2 - :speech #xbb - :neg #x1 - :on-close #f - ) - ) - ) +(define *talker-speech* + (new 'static 'inline-array talker-speech-class 465 + (new 'static 'talker-speech-class :name "none") + (new 'static 'talker-speech-class + :name "hal001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "hal002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop002" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3 + :text-message #x224 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop004" + :channel (gui-channel daxter) + :flags #x3 + :speech #x4 + :text-message #x226 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop008" + :channel (gui-channel daxter) + :flags #x3 + :speech #x5 + :text-message #x227 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop010" + :channel (gui-channel daxter) + :flags #x3 + :speech #x7 + :text-message #x227 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop011" + :channel (gui-channel daxter) + :flags #x3 + :speech #x8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop016" + :channel (gui-channel daxter) + :flags #x3 + :speech #x9 + :text-message #x229 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSbop017" + :channel (gui-channel daxter) + :flags #x3 + :speech #xa + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds020" + :channel (gui-channel daxter) + :flags #x3 + :speech #xb + :text-message #x225 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds043" + :channel (gui-channel daxter) + :flags #x11 + :speech #xc + :text-message #x228 + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds043m" + :channel (gui-channel message) + :flags #x10 + :speech #xd + :text-message #x228 + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds046" + :channel (gui-channel daxter) + :flags #x11 + :speech #xe + :text-message #x22a + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds046m" + :channel (gui-channel message) + :flags #x10 + :speech #xf + :text-message #x22a + :text-duration #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds162" + :channel (gui-channel daxter) + :flags #x3 + :speech #x10 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds165" + :channel (gui-channel daxter) + :flags #x3 + :speech #x11 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv039" + :channel (gui-channel alert) + :flags #x3 + :speech #x12 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv037" + :channel (gui-channel alert) + :flags #x3 + :speech #x13 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv056" + :channel (gui-channel alert) + :flags #x3 + :speech #x14 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv054" + :channel (gui-channel alert) + :flags #x3 + :speech #x15 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv055" + :channel (gui-channel alert) + :flags #x3 + :speech #x16 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv107" + :channel (gui-channel alert) + :flags #x3 + :speech #x17 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg100a" + :channel (gui-channel alert) + :flags #x3 + :speech #x18 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg104a" + :channel (gui-channel alert) + :flags #x3 + :speech #x19 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg102a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg071a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg107a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg097a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kg098a" + :channel (gui-channel alert) + :flags #x3 + :speech #x1e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv063" + :channel (gui-channel alert) + :speech #x1f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv064" + :channel (gui-channel alert) + :speech #x20 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv065" + :channel (gui-channel alert) + :speech #x21 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv067" + :channel (gui-channel alert) + :speech #x22 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv068" + :channel (gui-channel alert) + :speech #x23 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv069" + :channel (gui-channel alert) + :speech #x24 + :text-message #x246 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv070" + :channel (gui-channel alert) + :speech #x25 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv130" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x26 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv132" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x27 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv071" + :channel (gui-channel alert) + :speech #x28 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv072" + :channel (gui-channel alert) + :speech #x29 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv073" + :channel (gui-channel alert) + :speech #x2a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv074" + :channel (gui-channel alert) + :speech #x2b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv075" + :channel (gui-channel alert) + :speech #x2c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv076" + :channel (gui-channel alert) + :speech #x2d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv077" + :channel (gui-channel alert) + :speech #x2e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv078" + :channel (gui-channel alert) + :speech #x2f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv036" + :channel (gui-channel alert) + :speech #x30 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor007" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x31 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor008" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x32 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess004" + :channel (gui-channel message) + :flags #x7 + :speech #x33 + :text-message #x245 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew010" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x34 + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds129" + :channel (gui-channel daxter) + :flags #x2 + :speech #x35 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess005" + :channel (gui-channel message) + :flags #x3 + :speech #x36 + :text-message #x247 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "mess006" + :channel (gui-channel message) + :speech #x37 + :text-message #x226 + :text-duration #x5dc + :pos #x8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds116" + :channel (gui-channel daxter) + :flags #x2 + :speech #x38 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds117" + :channel (gui-channel daxter) + :flags #x3 + :speech #x39 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds118" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds119" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds120" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds121" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm007" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm008" + :channel (gui-channel daxter) + :flags #x3 + :speech #x3f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x40 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "daxm010" + :channel (gui-channel daxter) + :flags #x3 + :speech #x41 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x42 + :delay #x4b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds006" + :channel (gui-channel daxter) + :flags #x3 + :speech #x43 + :delay #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds029" + :channel (gui-channel daxter) + :flags #x2 + :speech #x44 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds030" + :channel (gui-channel daxter) + :flags #x2 + :speech #x45 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds031" + :channel (gui-channel daxter) + :flags #x2 + :speech #x46 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds032" + :channel (gui-channel daxter) + :flags #x2 + :speech #x47 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds007" + :channel (gui-channel daxter) + :flags #x3 + :speech #x48 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds372" + :channel (gui-channel daxter) + :flags #x3 + :speech #x49 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin011" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x4a + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x4b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo001" + :channel (gui-channel message) + :flags #x3 + :speech #x4c + :text-message #x23d + :text-duration #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo002" + :channel (gui-channel message) + :flags #x3 + :speech #x4d + :text-message #x22b + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo003" + :channel (gui-channel message) + :flags #x3 + :speech #x4e + :text-message #x252 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo004" + :channel (gui-channel message) + :flags #x3 + :speech #x4f + :text-message #x253 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "demo005" + :channel (gui-channel message) + :flags #x3 + :speech #x50 + :text-message #x226 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei026" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x51 + :delay #x1770 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei018" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x52 + :text-message #x241 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "DSfor001" + :channel (gui-channel daxter) + :flags #x3 + :speech #x53 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds017" + :channel (gui-channel daxter) + :flags #x3 + :speech #x54 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds018" + :channel (gui-channel daxter) + :flags #x3 + :speech #x55 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds019" + :channel (gui-channel daxter) + :flags #x3 + :speech #x56 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds350" + :channel (gui-channel daxter) + :flags #x2 + :speech #x57 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds016" + :channel (gui-channel daxter) + :flags #x3 + :speech #x58 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sigf001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x59 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ys001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5a + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds151" + :channel (gui-channel daxter) + :flags #x7 + :speech #x5b + :text-message #x239 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x5d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x5e + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds005" + :channel (gui-channel daxter) + :flags #x3 + :speech #x5f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x60 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x61 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x62 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin003" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x63 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin004" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x64 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x65 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor002" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x66 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tess001" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x67 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "whack01" + :channel (gui-channel message) + :speech #x68 + :text-message #x24e + :text-duration #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin015" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x69 + :delay #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kei029" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tor005" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "vin013" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht006" + :channel (gui-channel voicebox) + :flags #x7 + :speech #x6d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x6e + :delay #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "test001" + :channel (gui-channel message) + :speech #x6f + :text-message #x23d + :text-duration #x2328 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sam001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x70 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht001" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x71 + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "str001" + :channel (gui-channel message) + :flags #x3 + :speech #x72 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "str002" + :channel (gui-channel message) + :speech #x73 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "note001" + :channel (gui-channel notice) + :speech #x74 + :text-message #x239 + :text-duration #x960 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ys002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x75 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01" + :channel (gui-channel notice) + :flags #x20 + :speech #x76 + :text-message #x254 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01e" + :channel (gui-channel notice) + :flags #x20 + :speech #x77 + :text-message #x255 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01j" + :channel (gui-channel notice) + :flags #x20 + :speech #x78 + :text-message #x257 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro01k" + :channel (gui-channel notice) + :flags #x20 + :speech #x79 + :text-message #x256 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro02" + :channel (gui-channel notice) + :flags #xa0 + :speech #x7a + :text-message #x258 + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro03" + :channel (gui-channel notice-low) + :speech #x7b + :text-message #x30c + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "intro04" + :channel (gui-channel notice) + :flags #x20 + :speech #x7c + :text-message #x25a + :text-duration #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss001" + :channel (gui-channel alert) + :flags #x40 + :speech #x7d + :text-message #x25c + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss002" + :channel (gui-channel alert) + :flags #x40 + :speech #x7e + :text-message #x261 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss003" + :channel (gui-channel alert) + :flags #x40 + :speech #x7f + :text-message #x262 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss004" + :channel (gui-channel alert) + :flags #x40 + :speech #x80 + :text-message #x263 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss005" + :channel (gui-channel alert) + :flags #x40 + :speech #x81 + :text-message #x264 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss006" + :channel (gui-channel alert) + :flags #x40 + :speech #x82 + :text-message #x265 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss007" + :channel (gui-channel alert) + :flags #x40 + :speech #x83 + :text-message #x266 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss008" + :channel (gui-channel alert) + :flags #x40 + :speech #x84 + :text-message #x267 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss009" + :channel (gui-channel alert) + :flags #x40 + :speech #x85 + :text-message #x268 + :text-duration #x5dc + :delay #xbb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss010" + :channel (gui-channel alert) + :flags #x40 + :speech #x86 + :text-message #x269 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss011" + :channel (gui-channel alert) + :flags #x40 + :speech #x87 + :text-message #x25d + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss012" + :channel (gui-channel alert) + :flags #x40 + :speech #x88 + :text-message #x25e + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss013" + :channel (gui-channel alert) + :flags #x40 + :speech #x89 + :text-message #x25f + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "miss014" + :channel (gui-channel alert) + :flags #x40 + :speech #x8a + :text-message #x260 + :text-duration #x5dc + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew003" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x8b + :delay #x708 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek010" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek011" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek012" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek013" + :channel (gui-channel daxter) + :flags #x1 + :speech #x8f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek014" + :channel (gui-channel daxter) + :flags #x1 + :speech #x90 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek015" + :channel (gui-channel daxter) + :speech #x91 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek016" + :channel (gui-channel daxter) + :flags #x1 + :speech #x92 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek017" + :channel (gui-channel daxter) + :flags #x1 + :speech #x93 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek018" + :channel (gui-channel daxter) + :flags #x1 + :speech #x94 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek019" + :channel (gui-channel daxter) + :flags #x1 + :speech #x95 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek020" + :channel (gui-channel daxter) + :flags #x1 + :speech #x96 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek021" + :channel (gui-channel daxter) + :flags #x1 + :speech #x97 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek022" + :channel (gui-channel daxter) + :flags #x1 + :speech #x98 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek023" + :channel (gui-channel daxter) + :flags #x1 + :speech #x99 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek024" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek026" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek027" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek028" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek029" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek030" + :channel (gui-channel daxter) + :flags #x1 + :speech #x9f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek031" + :channel (gui-channel daxter) + :flags #x1 + :speech #xa0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek033" + :channel (gui-channel daxter) + :speech #xa1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek034" + :channel (gui-channel daxter) + :speech #xa2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek035" + :channel (gui-channel daxter) + :speech #xa3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek036" + :channel (gui-channel daxter) + :speech #xa4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek037" + :channel (gui-channel daxter) + :speech #xa5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek038" + :channel (gui-channel daxter) + :speech #xa6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek039" + :channel (gui-channel daxter) + :speech #xa7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek040" + :channel (gui-channel daxter) + :speech #xa8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "pek041" + :channel (gui-channel daxter) + :speech #xa9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora006" + :channel (gui-channel alert) + :speech #xaa + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora007" + :channel (gui-channel alert) + :speech #xab + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora008" + :channel (gui-channel alert) + :speech #xac + :text-message #x26e + :text-duration #x5dc + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora009" + :channel (gui-channel alert) + :speech #xad + :text-message #x26f + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora010" + :channel (gui-channel alert) + :speech #xae + :text-message #x270 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora015" + :channel (gui-channel alert) + :speech #xaf + :text-message #x271 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ora016" + :channel (gui-channel alert) + :speech #xb0 + :text-message #x272 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice01" + :channel (gui-channel notice-low) + :speech #xb1 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice02" + :channel (gui-channel notice-low) + :speech #xb2 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice03" + :channel (gui-channel notice-low) + :speech #xb3 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "notice04" + :channel (gui-channel notice-low) + :speech #xb4 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kor004" + :channel (gui-channel voicebox) + :flags #x3 + :speech #xb5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv080" + :channel (gui-channel alert) + :flags #x2 + :speech #xb6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds395" + :channel (gui-channel alert) + :flags #x2 + :speech #xb7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #xb8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bru004" + :channel (gui-channel voicebox) + :flags #x7 + :speech #xb9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01int" + :channel (gui-channel bbush) + :flags #x2 + :speech #xba + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #xbb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb01win" + :channel (gui-channel voicebox) + :flags #xa + :speech #xbc + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "ds163" + :channel (gui-channel daxter) + :flags #x3 + :speech #xbd + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "palmes01" + :channel (gui-channel message) + :speech #xbe + :text-message #x24d + :text-duration #x5dc + :pos #x3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds378" + :channel (gui-channel daxter) + :flags #x2 + :speech #xbf + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds379" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc0 + :text-message #x24d + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "digmes01" + :channel (gui-channel message) + :speech #xc1 + :text-message #x24d + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds468" + :channel (gui-channel daxter) + :flags #x3 + :speech #xc2 + :text-message #x24c + :text-duration #x5dc + :pos #x3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds469" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds470" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds471" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds472" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds473" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds474" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds475" + :channel (gui-channel daxter) + :flags #x2 + :speech #xc9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds476" + :channel (gui-channel daxter) + :flags #x2 + :speech #xca + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds478" + :channel (gui-channel daxter) + :flags #x2 + :speech #xcb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf001" :channel (gui-channel sig) :speech #xcc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf002" :channel (gui-channel sig) :speech #xcd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf003" :channel (gui-channel sig) :speech #xce :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf004" :channel (gui-channel sig) :speech #xcf :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf005" :channel (gui-channel sig) :speech #xd0 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf006" :channel (gui-channel sig) :speech #xd1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf007" :channel (gui-channel sig) :speech #xd2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf008" :channel (gui-channel sig) :speech #xd3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf009" :channel (gui-channel sig) :speech #xd4 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf010" :channel (gui-channel sig) :speech #xd5 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf011" :channel (gui-channel sig) :speech #xd6 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf012" :channel (gui-channel sig) :speech #xd7 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf013" :channel (gui-channel sig) :speech #xd8 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf014" :channel (gui-channel sig) :speech #xd9 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf015" :channel (gui-channel sig) :speech #xda :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf016" :channel (gui-channel sig) :speech #xdb :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf017" :channel (gui-channel sig) :speech #xdc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf018" :channel (gui-channel sig) :speech #xdd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf019" :channel (gui-channel sig) :speech #xde :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf082" :channel (gui-channel sig) :speech #xdf :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "bf087" + :channel (gui-channel sig) + :flags #x1 + :speech #xe0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf088" :channel (gui-channel sig) :speech #xe1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf093" :channel (gui-channel sig) :speech #xe2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf094" :channel (gui-channel sig) :speech #xe3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "ds248" + :channel (gui-channel daxter) + :flags #x1 + :speech #xe4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds249" + :channel (gui-channel daxter) + :speech #xe5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds250" + :channel (gui-channel daxter) + :speech #xe6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds251" + :channel (gui-channel daxter) + :speech #xe7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds252" + :channel (gui-channel daxter) + :speech #xe8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds253" + :channel (gui-channel daxter) + :speech #xe9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds479" + :channel (gui-channel daxter) + :speech #xea + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds480" + :channel (gui-channel daxter) + :speech #xeb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds481" + :channel (gui-channel daxter) + :speech #xec + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds482" + :channel (gui-channel daxter) + :speech #xed + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds483" + :channel (gui-channel daxter) + :speech #xee + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds484" + :channel (gui-channel daxter) + :speech #xef + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds485" + :channel (gui-channel daxter) + :speech #xf0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class :name "bf020" :channel (gui-channel sig) :speech #xf1 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf021" :channel (gui-channel sig) :speech #xf2 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf022" :channel (gui-channel sig) :speech #xf3 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf023" :channel (gui-channel sig) :speech #xf4 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf024" :channel (gui-channel sig) :speech #xf5 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf025" :channel (gui-channel sig) :speech #xf6 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf026" :channel (gui-channel sig) :speech #xf7 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf027" :channel (gui-channel sig) :speech #xf8 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf028" :channel (gui-channel sig) :speech #xf9 :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf029" :channel (gui-channel sig) :speech #xfa :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf030" :channel (gui-channel sig) :speech #xfb :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf031" :channel (gui-channel sig) :speech #xfc :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf032" :channel (gui-channel sig) :speech #xfd :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf033" :channel (gui-channel sig) :speech #xfe :neg #x1 :on-close #f) + (new 'static 'talker-speech-class :name "bf034" :channel (gui-channel sig) :speech #xff :neg #x1 :on-close #f) + (new 'static 'talker-speech-class + :name "bf035" + :channel (gui-channel sig) + :speech #x100 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf036" + :channel (gui-channel sig) + :speech #x101 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf037" + :channel (gui-channel sig) + :speech #x102 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf038" + :channel (gui-channel sig) + :speech #x103 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf039" + :channel (gui-channel sig) + :speech #x104 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf040" + :channel (gui-channel sig) + :speech #x105 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf041" + :channel (gui-channel sig) + :speech #x106 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf042" + :channel (gui-channel sig) + :speech #x107 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf043" + :channel (gui-channel sig) + :speech #x108 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf044" + :channel (gui-channel sig) + :speech #x109 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf045" + :channel (gui-channel sig) + :speech #x10a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf046" + :channel (gui-channel sig) + :speech #x10b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf047" + :channel (gui-channel sig) + :speech #x10c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf048" + :channel (gui-channel sig) + :speech #x10d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf049" + :channel (gui-channel sig) + :speech #x10e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf050" + :channel (gui-channel sig) + :speech #x10f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf051" + :channel (gui-channel sig) + :speech #x110 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf052" + :channel (gui-channel sig) + :speech #x111 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf053" + :channel (gui-channel sig) + :speech #x112 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf054" + :channel (gui-channel sig) + :speech #x113 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf055" + :channel (gui-channel sig) + :speech #x114 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf056" + :channel (gui-channel sig) + :speech #x115 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf057" + :channel (gui-channel sig) + :speech #x116 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf058" + :channel (gui-channel sig) + :speech #x117 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf059" + :channel (gui-channel sig) + :speech #x118 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf060" + :channel (gui-channel sig) + :speech #x119 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf061" + :channel (gui-channel sig) + :speech #x11a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf062" + :channel (gui-channel sig) + :speech #x11b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf063" + :channel (gui-channel sig) + :speech #x11c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf064" + :channel (gui-channel sig) + :speech #x11d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf065" + :channel (gui-channel sig) + :speech #x11e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf066" + :channel (gui-channel sig) + :speech #x11f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf067" + :channel (gui-channel sig) + :speech #x120 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf068" + :channel (gui-channel sig) + :speech #x121 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf069" + :channel (gui-channel sig) + :speech #x122 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf070" + :channel (gui-channel sig) + :speech #x123 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf071" + :channel (gui-channel sig) + :speech #x124 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf072" + :channel (gui-channel sig) + :speech #x125 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf073" + :channel (gui-channel sig) + :speech #x126 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf074" + :channel (gui-channel sig) + :speech #x127 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf124" + :channel (gui-channel sig) + :speech #x128 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf125" + :channel (gui-channel sig) + :speech #x129 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf126" + :channel (gui-channel sig) + :speech #x12a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf128" + :channel (gui-channel sig) + :speech #x12b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bf131" + :channel (gui-channel sig) + :speech #x12c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds254" + :channel (gui-channel daxter) + :flags #x3 + :speech #x12d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds255" + :channel (gui-channel daxter) + :speech #x12e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds256" + :channel (gui-channel daxter) + :flags #x3 + :speech #x12f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds257" + :channel (gui-channel daxter) + :speech #x130 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds258" + :channel (gui-channel daxter) + :speech #x131 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds259" + :channel (gui-channel daxter) + :speech #x132 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds260" + :channel (gui-channel daxter) + :speech #x133 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "kwbf001" + :channel (gui-channel krew) + :flags #x1 + :speech #x134 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sagevb23" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x135 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asstvb44" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x136 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009j" + :channel (gui-channel daxter) + :flags #x3 + :speech #x137 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0071" + :channel (gui-channel daxter) + :flags #x3 + :speech #x138 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sagevb36" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x139 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0002" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0005" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0004" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009b" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0006" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009c" + :channel (gui-channel daxter) + :flags #x3 + :speech #x13f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0160" + :channel (gui-channel daxter) + :flags #x3 + :speech #x140 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0014" + :channel (gui-channel daxter) + :flags #x3 + :speech #x141 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0035" + :channel (gui-channel daxter) + :flags #x3 + :speech #x142 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0009" + :channel (gui-channel daxter) + :flags #x3 + :speech #x143 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0073" + :channel (gui-channel daxter) + :flags #x3 + :speech #x144 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0062" + :channel (gui-channel daxter) + :flags #x3 + :speech #x145 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009d" + :channel (gui-channel daxter) + :flags #x3 + :speech #x146 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp009e" + :channel (gui-channel daxter) + :flags #x3 + :speech #x147 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0072" + :channel (gui-channel daxter) + :flags #x3 + :speech #x148 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "sksp0145" + :channel (gui-channel daxter) + :flags #x3 + :speech #x149 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x14a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x14b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb02win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x14c + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb03int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x14d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb03fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x14e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb03win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x14f + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb05int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x150 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb05fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x151 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb05win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x152 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb07int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x153 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb07fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x154 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb07win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x155 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb08int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x156 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb08fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x157 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb08win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x158 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb10int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x159 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb10fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x15a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb10win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x15b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x15c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x15d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb19win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x15e + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb20int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x15f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb20fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x160 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb20win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x161 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "bb21fail" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x162 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb26int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x163 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb27int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x164 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb28int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x165 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb29int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x166 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb30int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x167 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb31int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x168 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb32int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x169 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb33int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb34int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb35int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb36int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb37int" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv152" + :channel (gui-channel bbush) + :flags #x2 + :speech #x16f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv154" + :channel (gui-channel voicebox) + :flags #xa + :speech #x170 + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "cityv153" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x171 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "asht002" + :channel (gui-channel voicebox) + :flags #x3 + :speech #x172 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv175" + :channel (gui-channel alert) + :speech #x173 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv176" + :channel (gui-channel alert) + :speech #x174 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv177" + :channel (gui-channel alert) + :speech #x175 + :delay #x384 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv179" + :channel (gui-channel alert) + :flags #x2 + :speech #x176 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv180" + :channel (gui-channel alert) + :flags #x2 + :speech #x177 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv181" + :channel (gui-channel alert) + :flags #x2 + :speech #x178 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "racehint" + :channel (gui-channel message) + :speech #x179 + :text-message #x248 + :text-duration #x4b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bar004" + :channel (gui-channel alert) + :speech #x17a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds219" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds220" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds221" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds222" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds223" + :channel (gui-channel daxter) + :flags #x2 + :speech #x17f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds224" + :channel (gui-channel daxter) + :flags #x2 + :speech #x180 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds229" + :channel (gui-channel daxter) + :flags #x2 + :speech #x181 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds225" + :channel (gui-channel daxter) + :flags #x2 + :speech #x182 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds226" + :channel (gui-channel daxter) + :flags #x2 + :speech #x183 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds227" + :channel (gui-channel daxter) + :flags #x2 + :speech #x184 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds228" + :channel (gui-channel daxter) + :flags #x2 + :speech #x185 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds244" + :channel (gui-channel daxter) + :flags #x2 + :speech #x186 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds245" + :channel (gui-channel daxter) + :flags #x2 + :speech #x187 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds246" + :channel (gui-channel daxter) + :flags #x2 + :speech #x188 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds247" + :channel (gui-channel daxter) + :flags #x2 + :speech #x189 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds241" + :channel (gui-channel daxter) + :flags #x2 + :speech #x18a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm001" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm002" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm003" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm004" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm005" + :channel (gui-channel daxter) + :flags #x1 + :speech #x18f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm006" + :channel (gui-channel daxter) + :flags #x1 + :speech #x190 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm007" + :channel (gui-channel daxter) + :flags #x1 + :speech #x191 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm008" + :channel (gui-channel daxter) + :flags #x1 + :speech #x192 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm009" + :channel (gui-channel daxter) + :flags #x1 + :speech #x193 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm010" + :channel (gui-channel daxter) + :flags #x1 + :speech #x194 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm011" + :channel (gui-channel daxter) + :flags #x1 + :speech #x195 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm012" + :channel (gui-channel daxter) + :flags #x1 + :speech #x196 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm013" + :channel (gui-channel daxter) + :flags #x1 + :speech #x197 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm014" + :channel (gui-channel daxter) + :flags #x1 + :speech #x198 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm015" + :channel (gui-channel daxter) + :flags #x1 + :speech #x199 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm016" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19a + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm017" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19b + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm018" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19c + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm027" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19d + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm028" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19e + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm029" + :channel (gui-channel daxter) + :flags #x1 + :speech #x19f + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm044" + :channel (gui-channel daxter) + :flags #x1 + :speech #x1a0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm045" + :channel (gui-channel daxter) + :flags #x1 + :speech #x1a1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm019" + :channel (gui-channel daxter) + :speech #x1a2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm020" + :channel (gui-channel daxter) + :speech #x1a3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm021" + :channel (gui-channel daxter) + :speech #x1a4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm039" + :channel (gui-channel daxter) + :speech #x1a5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm040" + :channel (gui-channel daxter) + :speech #x1a6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm041" + :channel (gui-channel daxter) + :speech #x1a7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm042" + :channel (gui-channel daxter) + :speech #x1a8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm043" + :channel (gui-channel daxter) + :speech #x1a9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm046" + :channel (gui-channel daxter) + :speech #x1aa + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm051" + :channel (gui-channel daxter) + :speech #x1ab + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm052" + :channel (gui-channel daxter) + :speech #x1ac + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm053" + :channel (gui-channel daxter) + :speech #x1ad + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm047" + :channel (gui-channel daxter) + :speech #x1ae + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm048" + :channel (gui-channel daxter) + :speech #x1af + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm049" + :channel (gui-channel daxter) + :speech #x1b0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm050" + :channel (gui-channel daxter) + :speech #x1b1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm054" + :channel (gui-channel daxter) + :speech #x1b2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm055" + :channel (gui-channel daxter) + :speech #x1b3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm056" + :channel (gui-channel daxter) + :speech #x1b4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm023" + :channel (gui-channel daxter) + :speech #x1b5 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm024" + :channel (gui-channel daxter) + :speech #x1b6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm025" + :channel (gui-channel daxter) + :speech #x1b7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm026" + :channel (gui-channel daxter) + :speech #x1b8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm030" + :channel (gui-channel daxter) + :speech #x1b9 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm031" + :channel (gui-channel daxter) + :speech #x1ba + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm032" + :channel (gui-channel daxter) + :speech #x1bb + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm033" + :channel (gui-channel daxter) + :speech #x1bc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm034" + :channel (gui-channel daxter) + :speech #x1bd + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm036" + :channel (gui-channel daxter) + :speech #x1be + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm037" + :channel (gui-channel daxter) + :speech #x1bf + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "tswm038" + :channel (gui-channel daxter) + :speech #x1c0 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv019" + :channel (gui-channel alert) + :speech #x1c1 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv020" + :channel (gui-channel alert) + :speech #x1c2 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "cityv021" + :channel (gui-channel alert) + :speech #x1c3 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds111" + :channel (gui-channel daxter) + :speech #x1c4 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds112" + :channel (gui-channel daxter) + :speech #x1c5 + :text-message #x249 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds113" + :channel (gui-channel daxter) + :speech #x1c6 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds114" + :channel (gui-channel daxter) + :flags #x3 + :speech #x1c7 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds115" + :channel (gui-channel daxter) + :flags #x3 + :speech #x1c8 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech1" + :channel (gui-channel message) + :speech #x1c9 + :text-message #x249 + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech2" + :channel (gui-channel message) + :speech #x1ca + :text-message #x24a + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ruimech3" + :channel (gui-channel message) + :speech #x1cb + :text-message #x24b + :text-duration #x5dc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "ds164" + :channel (gui-channel daxter) + :flags #x2 + :speech #x1cc + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "bb14win" + :channel (gui-channel voicebox) + :flags #xa + :speech #x1cd + :neg #x1 + :on-close '(birth-pickup #f skill FACT_SUPER_SKILL_INC flags (suck-in)) + ) + (new 'static 'talker-speech-class + :name "krew004" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1ce + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew005" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1cf + :delay #x258 + :neg #x1 + :on-close #f + ) + (new 'static 'talker-speech-class + :name "krew006" + :channel (gui-channel voicebox) + :flags #x2 + :speech #x1d0 + :delay #x258 + :neg #x1 + :on-close #f + ) + ) + ) diff --git a/test/decompiler/reference/jak2/engine/ambient/ambient_REF.gc b/test/decompiler/reference/jak2/engine/ambient/ambient_REF.gc index 8a442f253b..139e324241 100644 --- a/test/decompiler/reference/jak2/engine/ambient/ambient_REF.gc +++ b/test/decompiler/reference/jak2/engine/ambient/ambient_REF.gc @@ -439,7 +439,7 @@ (-> v1-5 root trans) ) ) - (the-as pair gp-0) + gp-0 ) ) ) diff --git a/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc b/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc new file mode 100644 index 0000000000..7f54995b94 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc @@ -0,0 +1,3315 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defpartgroup group-rolling-ring + :id 1053 + :linger-duration (seconds 0) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4578 :fade-after (meters 100) :falloff-to (meters 100)) + (sp-item 4579 :fade-after (meters 80)) + (sp-item 4580 :flags (is-3d)) + (sp-item 4581 :flags (is-3d)) + ) + ) + +;; failed to figure out what this is: +(defpart 4578 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-rnd-flt spt-num 2.0 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -1.4222221) + (sp-int spt-timer 42) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 4579 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -1.4222221) + (sp-int spt-timer 42) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 4580 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 10)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +;; failed to figure out what this is: +(defpart 4581 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 12)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rolling-spawn-ring + :id 1054 + :duration (seconds 0.017) + :linger-duration (seconds 0.47) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4582 :fade-after (meters 100) :falloff-to (meters 100)) + (sp-item 4583 :flags (is-3d)) + (sp-item 4584 :flags (is-3d)) + ) + ) + +;; failed to figure out what this is: +(defpart 4582 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-int spt-a 0 63 1.0) + (sp-flt spt-vel-y (meters 0.03)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-3) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 4585) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 0)) + ) + ) + +;; failed to figure out what this is: +(defpart 4585 + :init-specs ((sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-int spt-a 0 63 1.0) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 4585) + ) + ) + +;; failed to figure out what this is: +(defpart 4583 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4586) + ) + ) + +;; failed to figure out what this is: +(defpart 4586 + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4586) + ) + ) + +;; failed to figure out what this is: +(defpart 4584 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x26 :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.08)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4587) + ) + ) + +;; failed to figure out what this is: +(defpart 4587 + :init-specs ((sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 4587) + ) + ) + +;; failed to figure out what this is: +(defpartgroup group-rolling-explode-ring + :id 1055 + :duration (seconds 0.017) + :linger-duration (seconds 0.5) + :bounds (static-bspherem 0 0 0 8) + :parts ((sp-item 4588 :fade-after (meters 100) :falloff-to (meters 100)) (sp-item 4589 :flags (is-3d))) + ) + +;; failed to figure out what this is: +(defpart 4588 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc)) + (sp-flt spt-num 64.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1115684864 1 64.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1115684864 1 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 4.5)) + ) + ) + +;; failed to figure out what this is: +(defpart 4589 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 10)) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-rnd-flt spt-rot-y (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 0.0) + (sp-rnd-int spt-b 1124073472 1 127.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + ) + ) + +;; definition of type race-ring +(deftype race-ring (process-drawable) + ((last-target-pos vector :inline :offset-assert 208) + (keep-part-track-alive symbol :offset-assert 224) + (part-track handle :offset-assert 232) + (rot-y float :offset-assert 240) + (cyl cylinder-flat :inline :offset-assert 256) + ) + :heap-base #xb0 + :method-count-assert 24 + :size-assert #x128 + :flag-assert #x1800b00128 + (:methods + (idle () _type_ :state 20) + (die () _type_ :state 21) + (race-ring-method-22 (_type_) none 22) + (race-ring-method-23 (_type_) none 23) + ) + ) + +;; definition for method 3 of type race-ring +(defmethod inspect race-ring ((obj race-ring)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (format #t "~2Tlast-target-pos: #~%" (-> obj last-target-pos)) + (format #t "~2Tkeep-part-track-alive: ~A~%" (-> obj keep-part-track-alive)) + (format #t "~2Tpart-track: ~D~%" (-> obj part-track)) + (format #t "~2Trot-y: ~f~%" (-> obj rot-y)) + (format #t "~2Tcyl: #~%" (-> obj cyl)) + (label cfg-4) + obj + ) + +;; definition for function race-ring-set-particle-rotation-callback +;; WARN: Return type mismatch int vs none. +(defun race-ring-set-particle-rotation-callback ((arg0 part-tracker)) + (let ((f0-0 (-> (the-as (pointer race-ring) (-> arg0 userdata)) 0 rot-y))) + (set! (-> *part-id-table* 4578 init-specs 14 initial-valuef) f0-0) + (set! (-> *part-id-table* 4579 init-specs 14 initial-valuef) f0-0) + (set! (-> *part-id-table* 4580 init-specs 4 initial-valuef) (+ -182.04445 f0-0)) + (set! (-> *part-id-table* 4581 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4582 init-specs 16 initial-valuef) f0-0) + (set! (-> *part-id-table* 4583 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4584 init-specs 4 initial-valuef) f0-0) + (set! (-> *part-id-table* 4588 init-specs 16 initial-valuef) f0-0) + (set! (-> *part-id-table* 4589 init-specs 4 initial-valuef) f0-0) + ) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate idle (race-ring) + :virtual #t + :enter (behavior () + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-2 run-function-in-process) + (a0-2 gp-0) + (a1-2 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1054)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-2) + a0-2 + a1-2 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (none) + ) + :exit (behavior () + (let ((a0-1 (handle->process (-> self part-track)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-3 run-function-in-process) + (a0-6 gp-0) + (a1-3 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1055)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-3) + a0-6 + a1-3 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (none) + ) + :trans (behavior () + (cond + ((handle->process (-> self part-track)) + (if (-> self keep-part-track-alive) + (set! (-> (the-as part-tracker (-> self part-track process 0)) start-time) (-> self clock frame-counter)) + ) + ) + (else + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) self (symbol->string (-> part-tracker symbol)) (the-as pointer #x70004000)) + ) + (let ((t9-2 run-function-in-process) + (a0-9 gp-0) + (a1-3 part-tracker-init) + (a2-4 (-> *part-group-id-table* 1053)) + (a3-1 0) + (t0-0 race-ring-set-particle-rotation-callback) + (t1-0 (-> self ppointer)) + (t2-0 #f) + (t3-0 *launch-matrix*) + ) + (set! (-> t3-0 trans quad) (-> self root trans quad)) + ((the-as (function object object object object object object object object none) t9-2) + a0-9 + a1-3 + a2-4 + a3-1 + t0-0 + t1-0 + t2-0 + t3-0 + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (set! (-> self keep-part-track-alive) #t) + ) + ) + (let ((v1-17 *target*) + (gp-1 (new 'stack-no-clear 'vector)) + ) + (when v1-17 + (set! (-> gp-1 quad) (-> v1-17 control trans quad)) + (set! (-> gp-1 w) 4096.0) + (when (logtest? (focus-status pilot) (-> v1-17 focus-status)) + (let ((a1-8 (handle->process (-> v1-17 pilot vehicle)))) + (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root-override root-prim prim-core world-sphere quad)) + ) + ) + (when (>= (ray-flat-cyl-intersect + (-> self cyl) + (-> self last-target-pos) + (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self last-target-pos)) + ) + 0.0 + ) + (set! (-> *game-info* counter) (+ -1.0 (-> *game-info* counter))) + (sound-play "ring-pickup") + (go-virtual die) + ) + (set! (-> self last-target-pos quad) (-> gp-1 quad)) + ) + ) + (none) + ) + :code (behavior () + (until #f + (suspend) + ) + #f + (none) + ) + :post (the-as (function none :behavior race-ring) ja-post) + ) + +;; failed to figure out what this is: +(defstate die (race-ring) + :virtual #t + :code (behavior () + (while (-> self child) + (suspend) + ) + (cleanup-for-death self) + (none) + ) + ) + +;; definition for method 22 of type race-ring +;; WARN: Return type mismatch int vs none. +(defmethod race-ring-method-22 race-ring ((obj race-ring)) + (set! (-> obj root) (new 'process 'trsqv)) + 0 + (none) + ) + +;; definition for method 23 of type race-ring +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod race-ring-method-23 race-ring ((obj race-ring)) + (add-icon! *minimap* obj (the-as uint 15) (the-as int #f) (the-as vector #t) 0) + (set! (-> obj keep-part-track-alive) #f) + (set! (-> obj part-track) (the-as handle #f)) + (set! (-> obj rot-y) (+ 16384.0 (quaternion-y-angle (-> obj root quat)))) + (set! (-> obj last-target-pos quad) (-> (target-pos 0) quad)) + (set-vector! (-> obj cyl axis) (cos (-> obj rot-y)) 0.0 (- (sin (-> obj rot-y))) 1.0) + (vector+float*! (the-as vector (-> obj cyl)) (-> obj root trans) (-> obj cyl axis) -2048.0) + (set! (-> obj cyl radius) 24576.0) + (set! (-> obj cyl length) 4096.0) + 0 + (none) + ) + +;; definition for function race-ring-init-by-other +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defbehavior race-ring-init-by-other race-ring ((arg0 city-race-ring-info)) + (race-ring-method-22 self) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self root trans y) (+ 10240.0 (-> self root trans y))) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> arg0 pos w)) + (set-vector! (-> self root scale) 3.0 3.0 3.0 1.0) + (race-ring-method-23 self) + (go-virtual idle) + (none) + ) + +;; definition for function race-ring-spawn +(defun race-ring-spawn ((arg0 task-manager) (arg1 city-race-ring-info)) + (let ((gp-0 (the-as process #f))) + (let ((v1-1 (process-spawn race-ring arg1 :to arg0))) + (if v1-1 + (set! gp-0 (-> v1-1 0)) + ) + ) + gp-0 + ) + ) + +;; definition of type bb-ring-info +(deftype bb-ring-info (structure) + ((time time-frame :offset-assert 0) + (start-pos vector :inline :offset-assert 16) + (rotation float :offset-assert 32) + (rings (array city-race-ring-info) :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +;; definition for method 3 of type bb-ring-info +(defmethod inspect bb-ring-info ((obj bb-ring-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'bb-ring-info) + (format #t "~1Ttime: ~D~%" (-> obj time)) + (format #t "~1Tstart-pos: #~%" (-> obj start-pos)) + (format #t "~1Trotation: ~f~%" (-> obj rotation)) + (format #t "~1Trings: ~A~%" (-> obj rings)) + (label cfg-4) + obj + ) + +;; definition for symbol *bb-ring-info*, type (array bb-ring-info) +(define *bb-ring-info* (new 'static 'boxed-array :type bb-ring-info + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x 2920693.8 :y 40960.0 :z -333086.72 :w 1.0) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3070796.2 :y 43205.02 :z -289035.47 :w 8995.472) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3351872.0 :y 42851.125 :z 86396.11 :w 14760.418) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3540834.8 :y 72001.54 :z 367432.5 :w 4834.5728) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3950253.8 :y 43052.24 :z 800616.06 :w 5659.835) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4657052.5 :y 42684.414 :z 806750.6 :w 8782.443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4643791.5 :y 70061.67 :z 1225949.6 :w -7646.1035) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4473472.0 :y 46644.84 :z 1626665.4 :w 1340.4115) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4650624.0 :y 62401.332 :z 1927367.1 :w 32186.242) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4236069.5 :y 109972.69 :z 1854959.2 :w -13605.638) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3701647.0 :y 113170.84 :z 1698812.8 :w -2880.9443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3724027.5 :y 111864.22 :z 2344453.0 :w 11307.618) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4235592.5 :y 109263.26 :z 2386389.0 :w 16874.646) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4495594.5 :y 101352.66 :z 2342717.5 :w 19199.955) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4557376.5 :y 44639.848 :z 2683306.0 :w -17726.906) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4011281.2 :y 72860.47 :z 2645215.8 :w -4971.9067) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3543313.2 :y 47093.76 :z 2577456.0 :w -16974.389) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3204822.2 :y 74465.28 :z 2832405.8 :w 1022.9805) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3519941.5 :y 115895.09 :z 3035037.8 :w 3764.133) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3583739.5 :y 112346.32 :z 3433880.0 :w 15266.283) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3925602.0 :y 115456.82 :z 3560821.2 :w 12493.182) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4214438.5 :y 109173.15 :z 3710432.5 :w 3543.022) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4292878.5 :y 113903.62 :z 4136553.8 :w 13073.904) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4557998.5 :y 108473.14 :z 4093858.2 :w 32527.1) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4457908.0 :y 44532.94 :z 3678150.8 :w -16948.848) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3962912.0 :y 42423.09 :z 3524606.0 :w 24137.527) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4440953.0 :y 42390.734 :z 3293434.8 :w 31590.809) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x 2920693.8 :y 40960.0 :z -333086.72 :w 1.0) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3139584.0 :y 44933.12 :z -241909.77 :w 11339.948) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3277373.5 :y 43704.32 :z 74997.76 :w 912.3522) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3299614.8 :y 44154.88 :z 331161.6 :w 10465.48) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3607593.0 :y 43499.52 :z 518348.8 :w 10608.295) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3971440.8 :y 43663.36 :z 760791.06 :w 13600.504) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4258160.5 :y 70328.32 :z 666501.1 :w -27694.55) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4070359.0 :y 47759.36 :z 576512.0 :w -14751.389) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3680379.0 :y 44564.48 :z 557219.8 :w -23942.902) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3503718.5 :y 69386.24 :z 223313.92 :w -30764.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3272827.0 :y 45301.76 :z -13557.76 :w -31219.184) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3041034.2 :y 44195.84 :z -319651.84 :w -23914.998) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3087073.2 :y 76062.72 :z -667197.44 :w 30212.334) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2988114.0 :y 108503.04 :z -1128489.0 :w -27177.633) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2576220.2 :y 45916.16 :z -1328578.5 :w -20707.338) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2293514.2 :y 43048.96 :z -887357.44 :w 4091.8494) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2675425.2 :y 81305.6 :z -856965.1 :w 26134.191) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2693283.8 :y 45096.96 :z -1273528.4 :w -14476.319) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2442444.8 :y 115056.64 :z -1190461.5 :w -8945.955) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :start-pos (new 'static 'vector :x -370606.1 :y 40960.0 :z 5572239.5 :w 1.0) + :rotation 5461.3335 + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x -280739.84 :y 47308.8 :z 5591818.0 :w 17184.613) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 69754.88 :y 13557.76 :z 5583257.5 :w 17541.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 576348.2 :y 49766.4 :z 5611397.0 :w 18388.31) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 895426.56 :y 59064.32 :z 5211177.0 :w -32356.96) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 691732.5 :y 30965.76 :z 4855562.0 :w -30837.783) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 763248.6 :y 46817.28 :z 4489339.0 :w -28816.58) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 416481.28 :y 44072.96 :z 4337705.0 :w -25147.764) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 425902.1 :y 45178.88 :z 3870433.2 :w 30427.8) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 703938.56 :y 71966.72 :z 3478118.5 :w 24663.018) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 932904.94 :y 47472.64 :z 3203932.2 :w 21617.414) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1308098.5 :y 105881.6 :z 3228221.5 :w 15657.807) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1547509.8 :y 76431.36 :z 2849013.8 :w 24128.59) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1756979.2 :y 34570.24 :z 2779422.8 :w 17599.62) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 1975337.0 :y 34406.4 :z 2847703.0 :w 5692.511) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2331156.5 :y 59473.92 :z 3134095.2 :w 14885.848) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2582814.8 :y 34406.4 :z 2942525.5 :w -28780.717) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2701680.8 :y 60620.8 :z 2638069.8 :w 17277.092) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2992455.8 :y 39731.2 :z 2504335.2 :w 31740.521) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2741084.2 :y 90112.0 :z 2380021.8 :w -20174.584) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2684067.8 :y 95887.36 :z 2128937.0 :w -32377.205) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 2793758.8 :y 100024.32 :z 1767751.6 :w 17577.355) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3154288.8 :y 45711.36 :z 1753169.9 :w 13975.443) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3440558.0 :y 47349.76 :z 2188411.0 :w 12108.886) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3902546.0 :y 44523.52 :z 2269511.8 :w 19725.771) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3993600.0 :y 46407.68 :z 2011054.1 :w 31902.232) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4441415.5 :y 72171.52 :z 1879900.1 :w 10530.943) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4650066.0 :y 86835.2 :z 1856430.1 :w -32374.768) + :boost 1.0 + :dist 819200.0 + ) + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 4532306.0 :y 87572.48 :z 1644830.8 :w -29740.656) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + (new 'static 'bb-ring-info + :time (seconds 8) + :rings (new 'static 'boxed-array :type city-race-ring-info + (new 'static 'city-race-ring-info + :pos (new 'static 'vector :x 3139584.0 :y 44933.12 :z -241909.77 :w 11339.948) + :boost 1.0 + :dist 819200.0 + ) + ) + ) + ) + ) + +;; definition for symbol *city-race-ring-edit-info*, type (pointer int32) +(define *city-race-ring-edit-info* (new 'static 'array int32 512 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 259 + 0 + (the-as + (function object) + (lambda :behavior task-manager + () + (set-setting! 'minimap 'clear 0 32) + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (let ((s5-0 *traffic-manager*) + (gp-0 (new 'stack 'traffic-object-spawn-params)) + ) + (set! (-> gp-0 position quad) (-> *bb-ring-info* (-> self info index) start-pos quad)) + (quaternion-axis-angle! (-> gp-0 rotation) 0.0 1.0 0.0 (-> *bb-ring-info* (-> self info index) rotation)) + (set! (-> gp-0 object-type) (the-as uint 11)) + (set! (-> gp-0 behavior) (the-as uint 0)) + (set! (-> gp-0 id) (the-as uint 0)) + (set! (-> gp-0 proc) #f) + (send-event s5-0 'spawn-object gp-0) + (if (-> gp-0 proc) + (set! (-> self slave 1) (process->handle (-> gp-0 proc))) + ) + ) + (set! (-> self start-time) 0) + (set! (-> self sub-state) (the-as uint 0)) + (set! (-> self count) 0) + (set! (-> self max-count) (-> *bb-ring-info* (-> self info index) rings length)) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 259 + 1 + (the-as + (function object) + (lambda :behavior task-manager () (send-event *traffic-manager* 'restore-default-settings) (none)) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 259 + 2 + (the-as + (function object) + (lambda :behavior task-manager + () + (check-time self) + (cond + ((and (handle->process (-> self slave 0)) + (-> self slave 0 process 0 next-state) + (= (-> self slave 0 process 0 next-state name) 'idle) + ) + ) + (else + (let ((v1-15 (-> self sub-state))) + (cond + ((< v1-15 (the-as uint (-> self max-count))) + (let* ((a1-2 (-> *bb-ring-info* (-> self info index) rings v1-15)) + (a0-14 (race-ring-spawn self a1-2)) + ) + (when a0-14 + (set! (-> self slave 0) (process->handle a0-14)) + (set! (-> self time-limit) (the-as time-frame (if (zero? (-> self sub-state)) + 4500 + (the-as int (-> *bb-ring-info* (-> self info index) time)) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (+! (-> self sub-state) 1) + ) + ) + ) + (else + (go-virtual complete) + ) + ) + ) + ) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 259 + 3 + (the-as (function object) (lambda :behavior task-manager + () + (while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 5)) + (suspend) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 259 + 4 + (the-as (function object) (lambda :behavior task-manager () (close! (-> self node-info) 'event) (none))) + ) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 273) (-> *game-info* sub-task-list 259)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 293) (-> *game-info* sub-task-list 259)) + +;; failed to figure out what this is: +(defpartgroup group-bush-collect + :id 1056 + :linger-duration (seconds 2) + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 2) + :parts ((sp-item 4590 :fade-after (meters 220) :period 150 :length 75) (sp-item 4591 :fade-after (meters 100))) + ) + +;; failed to figure out what this is: +(defpart 4591 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xcb :page #xc)) + (sp-rnd-flt spt-num 0.0 0.2 1.0) + (sp-flt spt-y (meters 2)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 16.0) + (sp-flt spt-omega 821248.0) + (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3) + (sp-flt spt-userdata 2048.0) + (sp-int spt-next-time 100) + (sp-launcher-by-id spt-next-launcher 4592) + ) + ) + +;; failed to figure out what this is: +(defpart 4592 + :init-specs ((sp-flt spt-fade-a -0.32)) + ) + +;; failed to figure out what this is: +(defpart 4590 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2)) + (sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.1) 1.0) + (sp-flt spt-rot-x 2048.0) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 32.0 4.0 1.0) + (sp-flt spt-omega 821248.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 2048.0) + ) + ) + +;; failed to figure out what this is: +(defpart 4593 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.1) 1.0) + (sp-flt spt-rot-x 409.6) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +;; failed to figure out what this is: +(defpart 4594 + :init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 0.1) 1.0) + (sp-flt spt-rot-x 819.2) + (sp-rnd-flt spt-rot-z (degrees -19.0) (degrees 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 12.0 4.0 1.0) + (sp-flt spt-omega 494387.2) + (sp-int spt-timer 5) + (sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow) + (sp-flt spt-userdata 819.2) + ) + ) + +;; failed to figure out what this is: +(defskelgroup skel-homing-beacon homing-beacon homing-beacon-lod0-jg homing-beacon-idle-ja + ((homing-beacon-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 3) + ) + +;; definition of type bush-collect +(deftype bush-collect (process-drawable) + ((minimap connection-minimap :offset-assert 200) + (trans-y float :offset-assert 204) + (beep-time float :offset-assert 208) + ) + :heap-base #x60 + :method-count-assert 24 + :size-assert #xd4 + :flag-assert #x18006000d4 + (:methods + (idle () _type_ :state 20) + (die () _type_ :state 21) + (bush-collect-method-22 (_type_) none 22) + (bush-collect-method-23 (_type_) none 23) + ) + ) + +;; definition for method 3 of type bush-collect +(defmethod inspect bush-collect ((obj bush-collect)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (format #t "~2Tminimap: #~%" (-> obj minimap)) + (format #t "~2Ttrans-y: ~f~%" (-> obj trans-y)) + (format #t "~2Tbeep-time: ~f~%" (-> obj beep-time)) + (label cfg-4) + obj + ) + +;; definition for method 22 of type bush-collect +;; WARN: Return type mismatch int vs none. +(defmethod bush-collect-method-22 bush-collect ((obj bush-collect)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (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) (the-as penetrate -1)) + (let ((v1-7 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-7 prim-core collide-as) (collide-spec collectable)) + (set! (-> v1-7 prim-core collide-with) (collide-spec jak vehicle-sphere hit-by-others-list player-list tobot)) + (set! (-> v1-7 transform-index) 3) + (set-vector! (-> v1-7 local-sphere) 0.0 2048.0 0.0 16384.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) v1-7) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-10 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) + ) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 23 of type bush-collect +;; WARN: Return type mismatch int vs none. +(defmethod bush-collect-method-23 bush-collect ((obj bush-collect)) + 0 + (none) + ) + +;; failed to figure out what this is: +(defstate idle (bush-collect) + :virtual #t + :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) + (case event-type + (('touch 'attack) + (sound-play "homeing-pickup") + (go-virtual die) + ) + ) + ) + :enter (behavior () + '() + (none) + ) + :exit (behavior () + '() + (none) + ) + :trans (behavior () + (let ((f30-0 (+ (* 0.0033333334 (the float (-> self clock frame-counter))) (* 0.1 (the float (-> self pid)))))) + (when (< (-> self beep-time) f30-0) + (sound-play "homeing-beep") + (set! (-> self beep-time) (+ 1.0 f30-0)) + ) + (set! (-> self root trans y) (+ (-> self trans-y) (* 4096.0 (* 0.5 (cos (* 21845.334 f30-0)))))) + (quaternion-vector-angle! (-> self root quat) *up-vector* (* 14563.556 f30-0)) + (let ((gp-1 (matrix<-transformq+world-trans! + (new 'stack-no-clear 'matrix) + (the-as transformq (-> self root trans)) + (new 'static 'vector :y 2048.0 :w 1.0) + ) + ) + ) + (when (nonzero? (-> self part)) + (spawn-with-matrix (-> self part) gp-1) + (let ((gp-2 (vector-matrix*! + (new 'stack-no-clear 'vector) + (vector-rotate-around-y! + (new 'stack-no-clear 'vector) + (new 'static 'vector :x 1228.8 :y 2252.8 :w 1.0) + (* 145635.56 f30-0) + ) + gp-1 + ) + ) + ) + (let ((t9-8 sp-launch-particles-var) + (a0-8 *sp-particle-system-2d*) + (a1-6 (-> *part-id-table* 4593)) + (a2-5 *launch-matrix*) + ) + (set! (-> a2-5 trans quad) (-> gp-2 quad)) + (t9-8 a0-8 a1-6 a2-5 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + (let ((t9-9 sp-launch-particles-var) + (a0-9 *sp-particle-system-2d*) + (a1-7 (-> *part-id-table* 4594)) + (a2-6 *launch-matrix*) + ) + (set! (-> a2-6 trans quad) (-> gp-2 quad)) + (t9-9 a0-9 a1-7 a2-6 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) + ) + ) + ) + ) + ) + (none) + ) + :code (the-as (function none :behavior bush-collect) sleep-code) + :post (behavior () + (ja-post) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate die (bush-collect) + :virtual #t + :code (behavior () + (cleanup-for-death self) + (none) + ) + ) + +;; definition for method 11 of type bush-collect +;; WARN: Return type mismatch entity-perm-status vs none. +(defmethod init-from-entity! bush-collect ((obj bush-collect) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (process-entity-status! obj (entity-perm-status dead) #t) + (none) + ) + +;; definition for function bush-collect-init-by-other +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-init-by-other bush-collect ((arg0 vector)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (go-virtual idle) + (none) + ) + +;; definition for function bush-collect-dark-eco-init-by-other +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-dark-eco-init-by-other bush-collect ((arg0 vector)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 82) self)) + (go-virtual idle) + (none) + ) + +;; definition for function bush-collect-homing-beacon-init-by-other +;; INFO: Used lq/sq +;; WARN: Return type mismatch object vs none. +(defbehavior bush-collect-homing-beacon-init-by-other bush-collect ((arg0 vector)) + (set! (-> self level) (level-get *level* 'lbbush)) + (set! (-> self mask) (logior (process-mask bit18) (-> self mask))) + (stack-size-set! (-> self main-thread) 16) + (bush-collect-method-22 self) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 2.0 2.0 2.0 1.0) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (bush-collect-method-23 self) + (set! (-> self trans-y) (-> self root trans y)) + (initialize-skeleton + self + (the-as skeleton-group (art-group-get-by-name *level* "skel-homing-beacon" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 1056) self)) + (go-virtual idle) + (none) + ) + +;; definition for function bush-collect-spawn +(defun bush-collect-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect arg1 :to arg0) + ) + +;; definition for function bush-collect-homing-beacon-spawn +(defun bush-collect-homing-beacon-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect :init bush-collect-homing-beacon-init-by-other arg1 :to arg0) + ) + +;; definition for function bush-collect-dark-eco-spawn +(defun bush-collect-dark-eco-spawn ((arg0 task-manager) (arg1 vector)) + (process-spawn bush-collect :init bush-collect-dark-eco-init-by-other arg1 :to arg0) + ) + +;; definition of type burning-bush-collection-info +(deftype burning-bush-collection-info (structure) + ((pos vector :inline :offset-assert 0) + (handle handle :offset-assert 16) + (minimap connection-minimap :offset-assert 24) + ) + :method-count-assert 10 + :size-assert #x1c + :flag-assert #xa0000001c + (:methods + (burning-bush-collection-info-method-9 (_type_ object) none 9) + ) + ) + +;; definition for method 3 of type burning-bush-collection-info +(defmethod inspect burning-bush-collection-info ((obj burning-bush-collection-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'burning-bush-collection-info) + (format #t "~1Tpos: #~%" (-> obj pos)) + (format #t "~1Thandle: ~D~%" (-> obj handle)) + (format #t "~1Tminimap: #~%" (-> obj minimap)) + (label cfg-4) + obj + ) + +;; definition for method 9 of type burning-bush-collection-info +;; WARN: Return type mismatch int vs none. +(defmethod burning-bush-collection-info-method-9 burning-bush-collection-info ((obj burning-bush-collection-info) (arg0 object)) + (format arg0 "(static-burning-bush-collection-info~%") + (format arg0 " :pos (~4,,2M ~4,,2M ~4,,2M)~%)~%" (-> obj pos x) (-> obj pos y) (-> obj pos z)) + 0 + (none) + ) + +;; definition of type bb-collection-info +(deftype bb-collection-info (structure) + ((user-data uint32 :offset-assert 0) + (time time-frame :offset-assert 8) + (colls (array burning-bush-collection-info) :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +;; definition for method 3 of type bb-collection-info +(defmethod inspect bb-collection-info ((obj bb-collection-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'bb-collection-info) + (format #t "~1Tuser-data: ~D~%" (-> obj user-data)) + (format #t "~1Ttime: ~D~%" (-> obj time)) + (format #t "~1Tcolls: ~A~%" (-> obj colls)) + (label cfg-4) + obj + ) + +;; definition for symbol *bb-collection-info*, type (array bb-collection-info) +(define *bb-collection-info* + (new 'static 'boxed-array :type bb-collection-info + (new 'static 'bb-collection-info + :user-data #x2 + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 859463.7 :y 49111.04 :z 957480.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 856719.4 :y 49111.04 :z 1022689.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 786554.9 :y 49111.04 :z 1024983.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 714874.9 :y 49111.04 :z 1021788.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 713564.2 :y 49111.04 :z 938434.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1050419.2 :y 32727.04 :z 25354.24)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1188495.4 :y 32727.04 :z 34160.64)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1165312.0 :y 32768.0 :z 183787.52)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1141841.9 :y 41738.24 :z 322560.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1080647.6 :y 41738.24 :z 326451.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1037516.8 :y 47431.68 :z 359628.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1036288.0 :y 47513.6 :z 415621.12)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1083433.0 :y 47513.6 :z 470876.16)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1141719.0 :y 47513.6 :z 469401.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1182679.0 :y 41738.24 :z 564674.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1182105.6 :y 41738.24 :z 612229.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1180590.1 :y 41738.24 :z 671784.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1181040.6 :y 41738.24 :z 738508.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1180999.6 :y 41738.24 :z 799375.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1147084.8 :y 47308.8 :z 842096.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1108582.4 :y 47513.6 :z 839270.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 941260.8 :y 37560.32 :z 871137.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 857661.44 :y 49111.04 :z 868597.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 791306.25 :y 49111.04 :z 870359.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 719298.56 :y 49111.04 :z 874414.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 923566.06 :y 41738.24 :z 326983.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 869212.2 :y 41738.24 :z 326123.53)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 816087.06 :y 47472.64 :z 360980.47)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 817192.94 :y 47595.52 :z 423075.84)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 869130.25 :y 41738.24 :z 461168.62)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 923934.75 :y 41738.24 :z 461660.16)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 975544.3 :y 32727.04 :z 571514.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 864911.4 :y 49111.04 :z 685342.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 844226.56 :y 56442.88 :z 557096.94)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 775290.9 :y 56401.92 :z 560660.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 711720.94 :y 56442.88 :z 559063.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 491069.44 :y 47554.56 :z 529530.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 429056.0 :y 47595.52 :z 531415.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 391495.7 :y 41738.24 :z 622305.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 391127.03 :y 41738.24 :z 709754.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 426557.44 :y 47431.68 :z 841850.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 492339.2 :y 47267.84 :z 840089.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 390635.53 :y 41738.24 :z 947363.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 392110.1 :y 41738.24 :z 1002045.44)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 392192.0 :y 41738.24 :z 1055293.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 427991.03 :y 47513.6 :z 1109975.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 489431.03 :y 47513.6 :z 1108828.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 569917.44 :y 41738.24 :z 1179689.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 618168.3 :y 41738.24 :z 1180057.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 705249.25 :y 32727.04 :z 1093468.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 771686.4 :y 32727.04 :z 1091665.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 854138.9 :y 32727.04 :z 1091911.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047756.8 :y 41738.24 :z 1057177.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047592.94 :y 41738.24 :z 1002127.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1047019.5 :y 41738.24 :z 950026.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1083678.8 :y 47554.56 :z 901365.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1146224.6 :y 47595.52 :z 901529.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1183539.2 :y 41738.24 :z 415744.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1143234.5 :y 47595.52 :z 530145.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1085972.5 :y 47554.56 :z 529817.6)) + ) + ) + (new 'static 'bb-collection-info + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 691732.5 :y 45015.04 :z -1437450.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 871710.75 :y 45670.4 :z -1238425.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1036943.4 :y 46571.52 :z -1118904.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1275166.8 :y 11960.32 :z -1024819.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1465712.6 :y 11182.08 :z -1191649.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1366507.5 :y 69017.6 :z -1411809.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1456455.6 :y 69017.6 :z -1106370.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 1171660.8 :y 69017.6 :z -998727.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 692592.6 :y 11878.4 :z -1012572.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 457277.44 :y 11141.12 :z -1011015.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 222494.72 :y 69795.84 :z -1272504.4)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 54886.4 :y 44154.88 :z -1290649.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -710656.0 :y 44687.36 :z -1403945.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -435036.16 :y 13189.12 :z -805724.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -248176.64 :y 12083.2 :z -807444.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -193986.56 :y 45629.44 :z -536125.44)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -229335.05 :y 44851.2 :z -162201.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 125132.8 :y 43991.04 :z -190423.05)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 323952.62 :y 44851.2 :z -226344.95)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x 460636.16 :y 44851.2 :z -615424.0)) + ) + ) + (new 'static 'bb-collection-info + :user-data #x1 + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -330792.97 :y 32727.04 :z 371630.1)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -508354.56 :y 32727.04 :z 307732.47)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -655319.06 :y 32727.04 :z 377487.38)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -803061.75 :y 32727.04 :z 384081.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -993525.75 :y 32768.0 :z 355614.72)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1122959.4 :y 34529.28 :z 395960.3)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1239449.6 :y 43335.68 :z 485335.03)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1460142.1 :y 44359.68 :z 482385.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1555906.5 :y 55050.24 :z 245186.56)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1204838.4 :y 33792.0 :z 216104.95)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -929832.94 :y 40099.84 :z 488529.9)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -707215.4 :y 45629.44 :z 493977.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -385269.75 :y 37355.52 :z 557301.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -186859.52 :y 32727.04 :z 551116.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -148971.52 :y 32727.04 :z 776560.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -188252.16 :y 32727.04 :z 931758.06)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -178462.72 :y 32727.04 :z 1082941.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -183541.77 :y 32727.04 :z 1230561.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -220323.84 :y 32727.04 :z 1405296.6)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -520888.3 :y 32727.04 :z 1353277.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -713482.25 :y 32727.04 :z 1093181.5)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -652206.06 :y 32727.04 :z 846848.0)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -746332.2 :y 51077.12 :z 664862.75)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -890961.94 :y 32768.0 :z 809164.8)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -971325.44 :y 32768.0 :z 766279.7)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1154621.5 :y 34652.16 :z 780083.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1280532.5 :y 32727.04 :z 830218.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1423810.5 :y 34570.24 :z 839475.2)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1557504.0 :y 35348.48 :z 732938.25)) + (new 'static 'burning-bush-collection-info :pos (new 'static 'vector :x -1410908.1 :y 47472.64 :z 679485.44)) + ) + ) + (new 'static 'bb-collection-info + :time (seconds 120) + :colls (new 'static 'boxed-array :type burning-bush-collection-info (new 'static 'burning-bush-collection-info)) + ) + ) + ) + +;; definition for symbol *city-bb-collection-edit-info*, type (pointer int32) +(define *city-bb-collection-edit-info* (new 'static 'array int32 512 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 269 + 1 + (the-as + (function object) + (lambda :behavior task-manager + () + (let ((v1-4 (-> *bb-collection-info* (-> self info index)))) + (dotimes (a0-1 (-> v1-4 colls length)) + (when (and (-> v1-4 colls a0-1 minimap) (nonzero? (-> v1-4 colls a0-1 minimap))) + (logior! (-> v1-4 colls a0-1 minimap flags) (minimap-flag fade-out)) + (set! (-> v1-4 colls a0-1 minimap) #f) + ) + ) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 269 + 0 + (the-as + (function object) + (lambda :behavior task-manager + () + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (let ((gp-0 (-> *bb-collection-info* (-> self info index)))) + (let ((v1-9 (-> gp-0 user-data))) + (cond + ((zero? v1-9) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-homing-beacon :init hud-init-by-other :to *target*)) + ) + ) + ((= v1-9 1) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-dark-eco-pickup :init hud-init-by-other :to *target*)) + ) + ) + ((= v1-9 2) + (set! (-> self hud-counter) + (ppointer->handle (process-spawn hud-green-eco-pickup :init hud-init-by-other :to *target*)) + ) + ) + ) + ) + (dotimes (s5-3 (-> gp-0 colls length)) + (let ((v1-32 (-> gp-0 user-data))) + (cond + ((zero? v1-32) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle (bush-collect-homing-beacon-spawn self (-> gp-0 colls s5-3 pos))) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + ((= v1-32 1) + (let ((t1-3 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + ) + (new 'stack-no-clear 'vector) + (set! (-> t1-3 options) (logior (actor-option fade-out no-distance-check-fadeout) (-> t1-3 options))) + (set! (-> t1-3 fade-time) (-> gp-0 time)) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle + (birth-pickup-at-point (-> gp-0 colls s5-3 pos) (pickup-type eco-pill-dark) 1.0 #t self t1-3) + ) + ) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + ((= v1-32 2) + (let ((t1-5 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + ) + (new 'stack-no-clear 'vector) + (set! (-> t1-5 options) (logior (actor-option fade-out no-distance-check-fadeout) (-> t1-5 options))) + (set! (-> t1-5 fade-time) (-> gp-0 time)) + (set! (-> gp-0 colls s5-3 handle) + (ppointer->handle + (birth-pickup-at-point (-> gp-0 colls s5-3 pos) (pickup-type eco-pill-green) 1.0 #t self t1-5) + ) + ) + ) + (set! (-> gp-0 colls s5-3 minimap) (add-icon! + *minimap* + (handle->process (-> gp-0 colls s5-3 handle)) + (the-as uint 16) + (the-as int #f) + (the-as vector #t) + 0 + ) + ) + ) + (else + (set! (-> gp-0 colls s5-3 handle) (ppointer->handle (bush-collect-spawn self (-> gp-0 colls s5-3 pos)))) + (set! (-> gp-0 colls s5-3 minimap) #f) + ) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (set! (-> self time-limit) (-> gp-0 time)) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 269 + 2 + (the-as + (function object) + (lambda :behavior task-manager + () + (check-time self) + (let ((a0-2 (-> *bb-collection-info* (-> self info index))) + (v1-6 0) + ) + (dotimes (a1-0 (-> a0-2 colls length)) + (cond + ((and (nonzero? (-> a0-2 colls a1-0 handle)) (handle->process (-> a0-2 colls a1-0 handle))) + (+! v1-6 1) + ) + (else + (when (-> a0-2 colls a1-0 minimap) + (logior! (-> a0-2 colls a1-0 minimap flags) (minimap-flag fade-out)) + (set! (-> a0-2 colls a1-0 minimap) #f) + ) + ) + ) + ) + (set! (-> *game-info* counter) (the float v1-6)) + (if (zero? v1-6) + (go-virtual complete) + ) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 269 + 3 + (the-as + (function object) + (lambda :behavior task-manager () (set! (-> self state-time) (-> self clock frame-counter)) (none)) + ) + ) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 287) (-> *game-info* sub-task-list 269)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 305) (-> *game-info* sub-task-list 269)) + +;; definition of type burning-bush-get-on-info +(deftype burning-bush-get-on-info (structure) + ((trans vector :inline :offset-assert 0) + (quat quaternion :inline :offset-assert 16) + (camera-trans vector :inline :offset-assert 32) + (camera-rot float 9 :offset-assert 48) + (time float :offset-assert 84) + ) + :method-count-assert 9 + :size-assert #x58 + :flag-assert #x900000058 + ) + +;; definition for method 3 of type burning-bush-get-on-info +(defmethod inspect burning-bush-get-on-info ((obj burning-bush-get-on-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'burning-bush-get-on-info) + (format #t "~1Ttrans: #~%" (-> obj trans)) + (format #t "~1Tquat: #~%" (-> obj quat)) + (format #t "~1Tcamera-trans: #~%" (-> obj camera-trans)) + (format #t "~1Tcamera-rot[9] @ #x~X~%" (-> obj camera-rot)) + (format #t "~1Ttime: ~f~%" (-> obj time)) + (label cfg-4) + obj + ) + +;; definition for symbol *burning-bush-get-on-info*, type (array burning-bush-get-on-info) +(define *burning-bush-get-on-info* + (new 'static 'boxed-array :type burning-bush-get-on-info + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -1530670.2 :y 32765.543 :z 2502434.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.6321 :w 0.7748) + :camera-trans (new 'static 'vector :x -1503602.2 :y 62047.027 :z 2475579.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.689 0.0 0.7247 -0.3328 0.8882 0.3164 -0.6437 -0.4592 0.612) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 4318766.0 :y 2145.8943 :z 808666.3 :w 1.0) + :quat (new 'static 'quaternion :y -0.9999 :w -0.0115) + :camera-trans (new 'static 'vector :x 4387209.0 :y 39837.285 :z 818740.44 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.1641 0.0 0.9864 -0.4679 0.8803 -0.0778 -0.8683 -0.4744 -0.1444) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 3322434.0 :y 99432.445 :z 3684668.2 :w 1.0) + :quat (new 'static 'quaternion :y -0.9923 :w 0.1235) + :camera-trans (new 'static 'vector :x 3332904.2 :y 134062.48 :z 3737897.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9774 0.0 0.2113 -0.0762 0.9325 -0.3528 -0.197 -0.361 -0.9114) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 663325.5 :y 17938.842 :z 4885086.0 :w 1.0) + :quat (new 'static 'quaternion :y -0.4768 :w -0.879) + :camera-trans (new 'static 'vector :x 730486.4 :y 66763.164 :z 4933765.0 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.5022 0.0 0.8647 -0.3772 0.8998 -0.2191 -0.7781 -0.4362 -0.4518) + :time 10500.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 570983.6 :y 94438.6 :z 4240269.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.9299 :w -0.3677) + :camera-trans (new 'static 'vector :x 493339.44 :y 129311.945 :z 4223747.0 :w 1.0) + :camera-rot (new 'static 'array float 9 0.1785 0.0 -0.9839 0.4944 0.8645 0.0897 0.8506 -0.5025 0.1543) + :time 12000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -168806.81 :y 48443.8 :z 3844239.8 :w 1.0) + :quat (new 'static 'quaternion :y 0.9837 :w 0.1795) + :camera-trans (new 'static 'vector :x -151019.92 :y 94520.12 :z 3768899.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9513 0.0 0.3082 -0.1497 0.874 0.4621 -0.2694 -0.4858 0.8314) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -622166.8 :y 38157.105 :z 788430.44 :w 1.0) + :quat (new 'static 'quaternion :y 0.9294 :w -0.3688) + :camera-trans (new 'static 'vector :x -655421.44 :y 38743.246 :z 755565.4 :w 1.0) + :camera-rot (new 'static 'array float 9 0.7391 0.0 -0.6735 -0.1633 0.9701 -0.1792 0.6534 0.2424 0.717) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x -981622.4 :y 32762.266 :z -1378460.9 :w 1.0) + :quat (new 'static 'quaternion :y -0.9881 :w -0.1537) + :camera-trans (new 'static 'vector :x -1001924.2 :y 76537.445 :z -1419026.9 :w 1.0) + :camera-rot (new 'static 'array float 9 0.8637 0.0 -0.5039 0.2989 0.8051 0.5122 0.4057 -0.5931 0.6953) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 1437632.9 :y 41757.082 :z -1262564.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.409 :w -0.9125) + :camera-trans (new 'static 'vector :x 1451820.2 :y 44497.305 :z -1328512.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9983 0.0 0.0578 0.0045 0.9969 -0.0777 -0.0576 0.0778 0.9952) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 783885.1 :y 40796.16 :z -705780.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.6938 :w 0.7201) + :camera-trans (new 'static 'vector :x 741225.7 :y 46757.887 :z -776107.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9057 0.0 -0.4238 -0.0939 0.9751 -0.2007 0.4132 0.2216 0.8832) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 2180319.2 :y -443.1872 :z -2409681.2 :w 1.0) + :quat (new 'static 'quaternion :y -0.8512 :w 0.5248) + :camera-trans (new 'static 'vector :x 2186967.0 :y 4454.8096 :z -2441144.2 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9628 0.0 0.2698 0.02 0.9972 -0.0715 -0.2691 0.0743 0.9602) + :time 6000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 609418.06 :y 32768.0 :z -1476082.9 :w 1.0) + :quat (new 'static 'quaternion :y -0.9919 :w 0.1265) + :camera-trans (new 'static 'vector :x 600542.8 :y 37365.35 :z -1515416.8 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9811 0.0 -0.1932 -0.0172 0.996 -0.0875 0.1924 0.0892 0.9772) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 2543148.8 :y 37827.38 :z 3158161.5 :w 1.0) + :quat (new 'static 'quaternion :y -0.9581 :w 0.2863) + :camera-trans (new 'static 'vector :x 2513162.2 :y 68558.03 :z 3066508.5 :w 1.0) + :camera-rot (new 'static 'array float 9 0.9036 0.0 -0.4281 0.1063 0.9686 0.2244 0.4147 -0.2483 0.8753) + :time 9000.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 1663103.0 :y 34921.266 :z 2111440.0 :w 1.0) + :quat (new 'static 'quaternion :y 0.562 :w 0.8271) + :camera-trans (new 'static 'vector :x 1741256.8 :y 131765.86 :z 2247819.8 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.9324 0.0 0.3611 -0.1247 0.9384 -0.322 -0.3389 -0.3453 -0.8751) + :time 7500.0 + ) + (new 'static 'burning-bush-get-on-info + :trans (new 'static 'vector :x 4012071.2 :y 102169.805 :z 3209066.5 :w 1.0) + :quat (new 'static 'quaternion :y 0.6466 :w 0.7627) + :camera-trans (new 'static 'vector :x 4028088.8 :y 103657.47 :z 3221753.8 :w 1.0) + :camera-rot (new 'static 'array float 9 -0.449 0.0 0.8934 0.2339 0.9651 0.1175 -0.8623 0.2617 -0.4334) + :time 7500.0 + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 0 + (the-as (function object) (lambda :behavior task-manager + () + (set-setting! 'airlock #f 0 0) + (set-setting! 'exclusive-task #f 0 (-> self node-info task)) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! *game-info* 261 2 (the-as (function object) (lambda :behavior task-manager () (none)))) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 1 + (the-as (function object) (lambda :behavior task-manager + () + (let ((a0-1 (handle->process (-> self slave 0)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 4 + (the-as (function object) (lambda :behavior task-manager () (close! (-> self node-info) 'event) (none))) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 5 + (the-as (function object) (lambda :behavior task-manager + () + (if (and *target* (logtest? (-> *target* focus-status) (focus-status grabbed))) + (process-release? *target*) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 3 + (lambda :behavior task-manager + () + (set-setting! 'minimap 'clear 0 128) + (while (not (process-grab? *target* #f)) + (suspend) + ) + (let ((t1-1 (new 'stack 'fact-info self (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))) + (a0-3 (new 'stack-no-clear 'vector)) + ) + (logior! (-> t1-1 options) (actor-option fade-out)) + (set! (-> t1-1 fade-time) + (the-as time-frame (the int (-> *burning-bush-get-on-info* (-> self info index) time))) + ) + (set! (-> a0-3 quad) (-> *burning-bush-get-on-info* (-> self info index) trans quad)) + (set! (-> a0-3 y) (+ 4096.0 (-> a0-3 y))) + (set! (-> self slave 0) + (ppointer->handle + (birth-pickup-at-point a0-3 (pickup-type skill) (-> *FACT-bank* super-skill-inc) #t self t1-1) + ) + ) + ) + (set! (-> self start-time) (-> self clock frame-counter)) + (set! (-> self time-limit) + (the-as time-frame (the int (+ 300.0 (-> *burning-bush-get-on-info* (-> self info index) time)))) + ) + (suspend) + (send-event (handle->process (-> self slave 0)) 'get-notify self) + (set-setting! 'interp-time 'abs 0 0) + (set-setting! 'mode-name 'cam-fixed 0 0) + (set! (-> *ACTOR-bank* birth-max) 1000) + (suspend) + (let ((gp-0 (new 'stack 'transformq))) + (let ((v1-45 (-> *burning-bush-get-on-info* (-> self info index))) + (a1-16 (new 'stack-no-clear 'matrix)) + ) + (set! (-> gp-0 trans quad) (-> v1-45 camera-trans quad)) + (set-vector! (-> gp-0 scale) 1.0 1.0 1.0 1.0) + (set! (-> a1-16 vector 0 x) (-> v1-45 camera-rot 0)) + (set! (-> a1-16 vector 0 y) (-> v1-45 camera-rot 1)) + (set! (-> a1-16 vector 0 z) (-> v1-45 camera-rot 2)) + (set! (-> a1-16 vector 0 w) 0.0) + (set! (-> a1-16 vector 1 x) (-> v1-45 camera-rot 3)) + (set! (-> a1-16 vector 1 y) (-> v1-45 camera-rot 4)) + (set! (-> a1-16 vector 1 z) (-> v1-45 camera-rot 5)) + (set! (-> a1-16 vector 1 w) 0.0) + (set! (-> a1-16 vector 2 x) (-> v1-45 camera-rot 6)) + (set! (-> a1-16 vector 2 y) (-> v1-45 camera-rot 7)) + (set! (-> a1-16 vector 2 z) (-> v1-45 camera-rot 8)) + (set! (-> a1-16 vector 2 w) 0.0) + (set! (-> a1-16 trans x) 0.0) + (set! (-> a1-16 trans y) 0.0) + (set! (-> a1-16 trans z) 0.0) + (set! (-> a1-16 trans w) 1.0) + (matrix->quaternion (-> gp-0 quat) a1-16) + ) + (send-event *camera* 'teleport-to-transformq gp-0) + ) + (let ((gp-1 (-> self clock frame-counter))) + (until (>= (- (-> self clock frame-counter) gp-1) (seconds 3)) + (suspend) + ) + ) + (remove-setting! 'minimap) + (set! (-> *ACTOR-bank* birth-max) 1000) + (persist-with-delay *setting-control* 'interp-time (seconds 0.05) 'interp-time 'abs 0.0 0) + (remove-setting! 'interp-time) + (remove-setting! 'mode-name) + (while (not (process-release? *target*)) + (suspend) + ) + (until #f + (check-time self) + (suspend) + ) + #f + ) + ) + +;; failed to figure out what this is: +(set-subtask-hook! + *game-info* + 261 + 6 + (the-as (function object) (lambda :behavior task-manager + ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('notify) + (case (-> arg3 param 0) + (('pickup) + (go-virtual complete) + ) + (('die) + (go-virtual fail) + ) + ) + ) + ) + (none) + ) + ) + ) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 263) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 265) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 267) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 275) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 277) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 281) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 283) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 285) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 289) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 291) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 295) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 299) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 301) (-> *game-info* sub-task-list 261)) + +;; failed to figure out what this is: +(copy-hooks! (-> *game-info* sub-task-list 303) (-> *game-info* sub-task-list 261)) + +;; definition for method 15 of type hud-homing-beacon +;; WARN: Return type mismatch int vs none. +(defmethod draw hud-homing-beacon ((obj hud-homing-beacon)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 160 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 scale) 0.5) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 60) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +;; definition for method 16 of type hud-homing-beacon +;; WARN: Return type mismatch int vs none. +(defmethod update-values hud-homing-beacon ((obj hud-homing-beacon)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +;; definition for method 17 of type hud-homing-beacon +;; WARN: Return type mismatch int vs none. +(defmethod init-callback hud-homing-beacon ((obj hud-homing-beacon)) + (set! (-> obj level) (level-get *level* 'lbbush)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :page #xd89))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) + +;; definition for method 15 of type hud-dark-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod draw hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 180 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (set! (-> obj strings 0 scale) 0.5) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 26) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +;; definition for method 16 of type hud-dark-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod update-values hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +;; definition for method 17 of type hud-dark-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod init-callback hud-dark-eco-pickup ((obj hud-dark-eco-pickup)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x46 :page #x67a))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) + +;; definition for method 15 of type hud-green-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod draw hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set-hud-piece-position! + (the-as hud-sprite (-> obj sprites)) + (the int (+ 457.0 (* 130.0 (-> obj offset)))) + 180 + ) + (set! (-> obj sprites 0 scale-x) 1.0) + (set! (-> obj sprites 0 scale-y) 1.0) + (set! (-> obj sprites 0 flags) (the-as uint 4)) + (set! (-> obj strings 0 flags) (font-flags kerning middle large)) + (set! (-> obj strings 0 scale) 0.5) + (format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current)) + (set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -16 26) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +;; definition for method 16 of type hud-green-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod update-values hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set! (-> obj values 0 target) (the int (-> *game-info* counter))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +;; definition for method 17 of type hud-green-eco-pickup +;; WARN: Return type mismatch int vs none. +(defmethod init-callback hud-green-eco-pickup ((obj hud-green-eco-pickup)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x47 :page #x67a))) + (alloc-string-if-needed obj 0) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/consite/consite-obs_REF.gc b/test/decompiler/reference/jak2/levels/consite/consite-obs_REF.gc new file mode 100644 index 0000000000..9382242693 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/consite/consite-obs_REF.gc @@ -0,0 +1,426 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-consite-break-piece-break-d consite-break-scaffold consite-break-scaffold-break-d-lod0-jg consite-break-scaffold-break-d-idle-ja + ((consite-break-scaffold-break-d-lod0-mg (meters 999999))) + :bounds (static-spherem 25 17 -25 45) + ) + +;; definition of type consite-break-scaffold +(deftype consite-break-scaffold (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + +;; definition for method 3 of type consite-break-scaffold +(defmethod inspect consite-break-scaffold ((obj consite-break-scaffold)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defstate idle (consite-break-scaffold) + :virtual #t + :code (the-as (function none :behavior consite-break-scaffold) sleep-code) + ) + +;; definition for method 11 of type consite-break-scaffold +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-break-scaffold ((obj consite-break-scaffold) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (set! (-> obj root) (new 'process 'trsqv)) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-break-piece-break-d" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (ja-post) + (cond + ((task-node-closed? (game-task-node consite-find-baron-resolution)) + (cleanup-for-death obj) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go empty-state) + ) + (else + (go (method-of-object obj idle)) + ) + ) + (none) + ) + +;; definition of type consite-bomb-elevator-hinges +(deftype consite-bomb-elevator-hinges (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + +;; definition for method 3 of type consite-bomb-elevator-hinges +(defmethod inspect consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defskelgroup skel-consite-bomb-elevator-hinges consite-bomb-elevator consite-bomb-elevator-hinges-lod0-jg consite-bomb-elevator-hinges-idle-ja + ((consite-bomb-elevator-hinges-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -25 0 45) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defstate idle (consite-bomb-elevator-hinges) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-bomb-elevator-hinges) ja-post) + ) + +;; definition for method 11 of type consite-bomb-elevator-hinges +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-bomb-elevator-hinges ((obj consite-bomb-elevator-hinges) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (set! (-> obj root) (new 'process 'trsqv)) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (go (method-of-object obj idle)) + (none) + ) + +;; definition for function consite-bomb-elevator-hinges-init-by-other +;; WARN: Return type mismatch object vs none. +(defbehavior consite-bomb-elevator-hinges-init-by-other consite-bomb-elevator-hinges ((arg0 consite-bomb-elevator) (arg1 entity-actor)) + (set! (-> self root) (new 'process 'trsqv)) + (process-drawable-from-entity! self arg1) + (initialize-skeleton + self + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator-hinges" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (go-virtual idle) + (none) + ) + +;; definition of type consite-bomb-elevator +(deftype consite-bomb-elevator (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + +;; definition for method 3 of type consite-bomb-elevator +(defmethod inspect consite-bomb-elevator ((obj consite-bomb-elevator)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defskelgroup skel-consite-bomb-elevator consite-bomb-elevator consite-bomb-elevator-lod0-jg consite-bomb-elevator-idle-ja + ((consite-bomb-elevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -25 0 45) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defstate idle (consite-bomb-elevator) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-bomb-elevator) ja-post) + ) + +;; definition for method 11 of type consite-bomb-elevator +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-bomb-elevator ((obj consite-bomb-elevator) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) + (set! (-> s4-0 total-prims) (the-as uint 2)) + (set! (-> s3-0 prim-core collide-as) (collide-spec obstacle)) + (set! (-> s3-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 -102400.0 0.0 184320.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 3) + (set-vector! (-> v1-8 local-sphere) 0.0 0.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-11 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with)) + ) + (set! (-> obj root) s4-0) + ) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-consite-bomb-elevator" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (process-spawn consite-bomb-elevator-hinges obj arg0 :to obj) + (go (method-of-object obj idle)) + (none) + ) + +;; definition of type consite-silo-doors +(deftype consite-silo-doors (process-drawable) + () + :heap-base #x50 + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15005000c8 + (:methods + (idle () _type_ :state 20) + ) + ) + +;; definition for method 3 of type consite-silo-doors +(defmethod inspect consite-silo-doors ((obj consite-silo-doors)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-drawable inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defskelgroup skel-consite-silo-doors consite-silo-doors consite-silo-doors-lod0-jg consite-silo-doors-idle-ja + ((consite-silo-doors-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 40) + :origin-joint-index 3 + ) + +;; failed to figure out what this is: +(defstate idle (consite-silo-doors) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (ja-group) + :num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (the-as (function none :behavior consite-silo-doors) ja-post) + ) + +;; definition for method 11 of type consite-silo-doors +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! consite-silo-doors ((obj consite-silo-doors) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (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 player-list)) + (set! (-> s3-0 prim-core action) (collide-action solid)) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 163840.0) + (set! (-> s4-0 root-prim) s3-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 4) + (set-vector! (-> v1-8 local-sphere) -40960.0 0.0 0.0 61440.0) + ) + (let ((v1-10 (new 'process 'collide-shape-prim-mesh s4-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 player-list)) + (set! (-> v1-10 prim-core action) (collide-action solid)) + (set! (-> v1-10 transform-index) 5) + (set-vector! (-> v1-10 local-sphere) 40960.0 0.0 0.0 61440.0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (let ((v1-13 (-> s4-0 root-prim))) + (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) + (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) + ) + (set! (-> obj root) s4-0) + ) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-consite-silo-doors" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (go (method-of-object obj idle)) + (none) + ) + +;; definition for function consite-activate +;; WARN: Return type mismatch int vs none. +(defun consite-activate () + (update-mood-weather! *mood-control* 1.0 1.0 30.0 30.0) + 0 + (none) + ) + +;; definition of type baron-npc +(deftype baron-npc (process-taskable) + () + :heap-base #xa0 + :method-count-assert 38 + :size-assert #x120 + :flag-assert #x2600a00120 + ) + +;; definition for method 3 of type baron-npc +(defmethod inspect baron-npc ((obj baron-npc)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type process-taskable inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; definition for method 35 of type baron-npc +(defmethod get-art-elem baron-npc ((obj baron-npc)) + "Checks various things such the current actor, task status, etc to determine the right art-group data to use +@returns the appropriate [[art-element]] for the given NPC" + (case (-> obj task actor) + (((game-task-actor baron-consite)) + (-> obj draw art-group data 4) + ) + (else + (-> obj draw art-group data 3) + ) + ) + ) + +;; definition for method 33 of type baron-npc +;; WARN: Return type mismatch int vs none. +(defmethod init-art! baron-npc ((obj baron-npc)) + "@see [[initialize-skeleton]]" + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-baron-highres" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (set! (-> obj draw light-index) (the-as uint 10)) + (set! (-> obj draw shadow) #f) + 0 + (none) + ) + + + + diff --git a/test/offline/config/jak2/config.jsonc b/test/offline/config/jak2/config.jsonc index fd2208b390..0dcd2b32f2 100644 --- a/test/offline/config/jak2/config.jsonc +++ b/test/offline/config/jak2/config.jsonc @@ -38,6 +38,7 @@ "DGO/HIPHOG.DGO", "DGO/INTROCST.DGO", "DGO/KIOSK.DGO", + "DGO/LBBUSH.DGO", "DGO/LBOMBBOT.DGO", "DGO/LERLCHAL.DGO", "DGO/LKIDDOGE.DGO",