jak-project/goal_src/engine/ui/progress/progress-static.gc
ManDude 1e11a588f5
[decomp] loader prelim work + some cleanup (#697)
* [decomp] `loader` prelim work + some cleanup

* more things

* more

* even more

* yet even more

* minor fixes

* decompiler fix + use behaviors for two funcs

* last functions

* Create loader_REF.gc

* more work

* change vag tool config format + unrelated farmer and yakow stuff

* update some things

* fix some decomp

* cleanup things i came across + make dgo compileable

* fix consistency test

* update refs

* offline test: skip buggy `external-art-buffer` method

* fix test
2021-07-23 18:30:49 -04:00

1383 lines
62 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: progress-static.gc
;; name in dgo: progress-static
;; dgos: GAME, ENGINE
;; This file contains the layouts for all of the menus.
;; options in the start menu options
(define *main-options*
(new 'static 'boxed-array :type game-option :length 7 :allocated-length 7
(new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4)
(new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5)
(new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6)
(new 'static 'game-option :option-type #x6 :name (game-text-id load-game) :scale #t :param3 16)
(new 'static 'game-option :option-type #x6 :name (game-text-id save-game) :scale #t :param3 17)
(new 'static 'game-option :option-type #x6 :name (game-text-id quit-game) :scale #t :param3 34)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *title*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :option-type #x6 :name (game-text-id new-game) :scale #t :param3 18)
(new 'static 'game-option :option-type #x6 :name (game-text-id load-game) :scale #t :param3 16)
(new 'static 'game-option :option-type #x6 :name (game-text-id options) :scale #t :param3 28)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *options*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4)
(new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5)
(new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *main-options-demo*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4)
(new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5)
(new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *main-options-demo-shared*
(new 'static 'boxed-array :type game-option :length 5 :allocated-length 5
(new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4)
(new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5)
(new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6)
(new 'static 'game-option :option-type #x8 :name (game-text-id exit-demo) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *game-options*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t)
(new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t)
(new 'static 'game-option :option-type #x1 :name (game-text-id language) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *game-options-japan*
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
(new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t)
(new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *game-options-demo*
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
(new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t)
(new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *graphic-options*
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
(new 'static 'game-option :option-type #x3 :name (game-text-id center-screen) :scale #t)
(new 'static 'game-option :option-type #x4 :name (game-text-id aspect-ratio) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *graphic-title-options-pal*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :option-type #x3 :name (game-text-id center-screen) :scale #t)
(new 'static 'game-option :option-type #x5 :name (game-text-id video-mode) :scale #t)
(new 'static 'game-option :option-type #x4 :name (game-text-id aspect-ratio) :scale #t)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *sound-options*
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
(new 'static 'game-option :name (game-text-id sfx-volume) :scale #t :param2 100.0)
(new 'static 'game-option :name (game-text-id music-volume) :scale #t :param2 100.0)
(new 'static 'game-option :name (game-text-id speech-volume) :scale #t :param2 100.0)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t)
)
)
(define *yes-no-options*
(new 'static 'boxed-array :type game-option :length 1 :allocated-length 1
(new 'static 'game-option :option-type #x7 :scale #f)
)
)
(define *ok-options*
(new 'static 'boxed-array :type game-option :length 1 :allocated-length 1
(new 'static 'game-option :option-type #x8 :name (game-text-id ok) :scale #f)
)
)
(define *load-options*
(new 'static 'boxed-array
:type game-option :length 5 :allocated-length 5
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f)
)
)
(define *save-options*
(new 'static 'boxed-array :type game-option :length 5 :allocated-length 5
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f)
)
)
(define *save-options-title*
(new 'static 'boxed-array
:type game-option :length 6 :allocated-length 6
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :scale #f)
(new 'static 'game-option :option-type #x8 :name (game-text-id continue-without-saving) :scale #f)
(new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f)
)
)
(define *options-remap*
(new 'static 'boxed-array :type array :length 0 :allocated-length 35)
)
;; TODO probably an enum.
(define *level-task-data-remap*
(new 'static 'boxed-array :type int32 :length 23 :allocated-length 23
0
1
2
3
3
4
5
6
7
7
8
9
10
11
12
13
13
13
14
15
15
4
4
)
)
;; TODO what does this map? GOAL language ID or SCE?
(define *language-name-remap*
(new 'static 'boxed-array :type game-text-id :length 6 :allocated-length 6
(game-text-id english)
(game-text-id french)
(game-text-id german)
(game-text-id spanish)
(game-text-id italian)
(game-text-id japanese)
)
)
;; all level tasks
(define *level-task-data*
(new 'static 'boxed-array :type level-tasks-info :length 16 :allocated-length 16
(new 'static 'level-tasks-info
:level-name-id (game-text-id training-level-name)
:text-group-index 1
:nb-of-tasks 4
:buzzer-task-index 3
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task training-gimmie)
:task-name
(new 'static 'array game-text-id 4
(game-text-id training-gimmie-task-name)
(game-text-id training-gimmie-task-name)
(game-text-id training-gimmie-task-name)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task training-door)
:task-name
(new 'static 'array game-text-id 4
(game-text-id training-door-task-name)
(game-text-id training-door-task-name)
(game-text-id training-door-task-name)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task training-climb)
:task-name
(new 'static 'array game-text-id 4
(game-text-id training-climb-task-name)
(game-text-id training-climb-task-name)
(game-text-id training-climb-task-name)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task training-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id training-buzzer-task-name)
(game-text-id training-buzzer-task-name)
(game-text-id training-buzzer-task-name)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id village1-level-name)
:text-group-index 1
:nb-of-tasks 6
:buzzer-task-index 5
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task village1-mayor-money)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village1-mayor-money)
(game-text-id village1-mayor-money)
(game-text-id village1-mayor-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village1-uncle-money)
:task-name
(new 'static 'array game-text-id 4
(game-text-id vollage1-uncle-money)
(game-text-id vollage1-uncle-money)
(game-text-id vollage1-uncle-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village1-yakow)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village1-yakow-herd)
(game-text-id village1-yakow-herd)
(game-text-id village1-yakow-return)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village1-oracle-money1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village1-oracle)
(game-text-id village1-oracle)
(game-text-id village1-oracle)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village1-oracle-money2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village1-oracle)
(game-text-id village1-oracle)
(game-text-id village1-oracle)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village1-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id beach-level-name)
:text-group-index 1
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task beach-ecorocks)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-ecorocks)
(game-text-id beach-ecorocks)
(game-text-id beach-ecorocks)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-flutflut)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-flutflut-push)
(game-text-id beach-flutflut-push)
(game-text-id beach-flutflut-meet)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-pelican)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-pelican)
(game-text-id beach-pelican)
(game-text-id beach-pelican)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-seagull)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-seagull)
(game-text-id beach-seagull)
(game-text-id beach-seagull-get)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-cannon)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-cannon)
(game-text-id beach-cannon)
(game-text-id beach-cannon)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-gimmie)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-gimmie)
(game-text-id beach-gimmie)
(game-text-id beach-gimmie)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-sentinel)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-sentinel)
(game-text-id beach-sentinel)
(game-text-id beach-sentinel)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task beach-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id jungle-level-name)
:text-group-index 1
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task jungle-lurkerm)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-lurkerm-unblock)
(game-text-id jungle-lurkerm-connect)
(game-text-id jungle-lurkerm-return)
(game-text-id zero)
)
:text-index-when-resolved 1
)
(new 'static 'task-info-data
:task-id (game-task jungle-tower)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-tower)
(game-text-id jungle-tower)
(game-text-id jungle-tower)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-eggtop)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-eggtop)
(game-text-id jungle-eggtop)
(game-text-id jungle-eggtop)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-plant)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-plant)
(game-text-id jungle-plant)
(game-text-id jungle-plant)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-fishgame)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-fishgame)
(game-text-id jungle-fishgame)
(game-text-id jungle-fishgame)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-canyon-end)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-canyon-end)
(game-text-id jungle-canyon-end)
(game-text-id jungle-canyon-end)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-temple-door)
:task-name
(new 'static 'array game-text-id 4
(game-text-id jungle-temple-door)
(game-text-id jungle-temple-door)
(game-text-id jungle-temple-door)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task jungle-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id misty-level-name)
:text-group-index 1
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task misty-muse)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-muse-catch)
(game-text-id misty-muse-catch)
(game-text-id misty-muse-return)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-boat)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-boat)
(game-text-id misty-boat)
(game-text-id misty-boat)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-cannon)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-cannon)
(game-text-id misty-cannon)
(game-text-id misty-cannon)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-warehouse)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-return-to-pool)
(game-text-id misty-return-to-pool)
(game-text-id misty-return-to-pool)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-bike)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-find-transpad)
(game-text-id misty-balloon-lurkers)
(game-text-id misty-find-transpad)
(game-text-id zero)
)
:text-index-when-resolved 1
)
(new 'static 'task-info-data
:task-id (game-task misty-bike-jump)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-bike-jump)
(game-text-id misty-bike-jump)
(game-text-id misty-bike-jump)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-eco-challenge)
:task-name
(new 'static 'array game-text-id 4
(game-text-id misty-eco-challenge)
(game-text-id misty-eco-challenge)
(game-text-id misty-eco-challenge)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task misty-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id beach-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id fire-canyon-level-name)
:text-group-index 5
:nb-of-tasks 2
:buzzer-task-index 1
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task firecanyon-end)
:task-name
(new 'static 'array game-text-id 4
(game-text-id fire-canyon-end)
(game-text-id fire-canyon-end)
(game-text-id fire-canyon-end)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task firecanyon-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id fire-canyon-buzzer)
(game-text-id fire-canyon-buzzer)
(game-text-id fire-canyon-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id village2-level-name)
:text-group-index 2
:nb-of-tasks 6
:buzzer-task-index 5
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task village2-gambler-money)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village2-gambler-money)
(game-text-id village2-gambler-money)
(game-text-id village2-gambler-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village2-geologist-money)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village2-geologist-money)
(game-text-id village2-geologist-money)
(game-text-id village2-geologist-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village2-warrior-money)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village2-warrior-money)
(game-text-id village2-warrior-money)
(game-text-id village2-warrior-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village2-oracle-money1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village2-oracle-money)
(game-text-id village2-oracle-money)
(game-text-id village2-oracle-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village2-oracle-money2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village2-oracle-money)
(game-text-id village2-oracle-money)
(game-text-id village2-oracle-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village2-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id sunken-level-name)
:text-group-index 2
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task sunken-room)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-elevator-raise)
(game-text-id sunken-elevator-raise)
(game-text-id sunken-elevator-get-to-roof)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-pipe)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-pipe)
(game-text-id sunken-pipe)
(game-text-id sunken-pipe)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-slide)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-bottom)
(game-text-id sunken-bottom)
(game-text-id sunken-bottom)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-sharks)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-pool)
(game-text-id sunken-pool)
(game-text-id sunken-pool)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-platforms)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-platforms)
(game-text-id sunken-platforms)
(game-text-id sunken-platforms)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-top-of-helix)
:task-name
(new 'static 'array game-text-id 4
(game-text-id sunken-climb-tube)
(game-text-id sunken-climb-tube)
(game-text-id sunken-climb-tube)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-spinning-room)
:task-name
(new 'static 'array game-text-id 4
(game-text-id reach-center)
(game-text-id reach-center)
(game-text-id reach-center)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task sunken-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id swamp-level-name)
:text-group-index 2
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task swamp-flutflut)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-flutflut)
(game-text-id swamp-flutflut)
(game-text-id swamp-flutflut)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-billy)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-billy)
(game-text-id swamp-billy)
(game-text-id swamp-billy)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-battle)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-battle)
(game-text-id swamp-battle)
(game-text-id swamp-battle)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-tether-4)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-tether-1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-tether-2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-tether-3)
:task-name
(new 'static 'array game-text-id 4
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id swamp-tether)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task swamp-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id rolling-level-name)
:text-group-index 2
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task rolling-moles)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-moles)
(game-text-id rolling-moles)
(game-text-id rolling-moles-return)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-robbers)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-robbers)
(game-text-id rolling-robbers)
(game-text-id rolling-robbers)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-race)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-race)
(game-text-id rolling-race)
(game-text-id rolling-race-return)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-lake)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-lake)
(game-text-id rolling-lake)
(game-text-id rolling-lake)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-plants)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-plants)
(game-text-id rolling-plants)
(game-text-id rolling-plants)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-ring-chase-1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-ring-chase-1)
(game-text-id rolling-ring-chase-1)
(game-text-id rolling-ring-chase-1)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-ring-chase-2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id rolling-ring-chase-2)
(game-text-id rolling-ring-chase-2)
(game-text-id rolling-ring-chase-2)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task rolling-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id unknown-buzzers)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id ogre-level-name)
:text-group-index 6
:nb-of-tasks 4
:buzzer-task-index 3
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task ogre-boss)
:task-name
(new 'static 'array game-text-id 4
(game-text-id ogre-boss)
(game-text-id ogre-boss)
(game-text-id ogre-boss)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task ogre-end)
:task-name
(new 'static 'array game-text-id 4
(game-text-id ogre-end)
(game-text-id ogre-end)
(game-text-id ogre-end)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task ogre-secret)
:task-name
(new 'static 'array game-text-id 4
(game-text-id hidden-power-cell)
(game-text-id hidden-power-cell)
(game-text-id hidden-power-cell)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task ogre-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id ogre-buzzer)
(game-text-id ogre-buzzer)
(game-text-id ogre-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id village3-level-name)
:text-group-index 3
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task village3-miner-money1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-miner-money2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-miner-money3)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-miner-money4)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id village3-miner-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-oracle-money1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-oracle-money)
(game-text-id village3-oracle-money)
(game-text-id village3-oracle-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-oracle-money2)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-oracle-money)
(game-text-id village3-oracle-money)
(game-text-id village3-oracle-money)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-extra1)
:task-name
(new 'static 'array game-text-id 4
(game-text-id hidden-power-cell)
(game-text-id hidden-power-cell)
(game-text-id hidden-power-cell)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task village3-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id snowy-level-name)
:text-group-index 3
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task snow-eggtop)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-eggtop)
(game-text-id snow-eggtop)
(game-text-id snow-eggtop)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-ram)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-ram-3-left)
(game-text-id snow-ram-2-left)
(game-text-id snow-ram-1-left)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-bumpers)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-bumpers)
(game-text-id snow-bumpers)
(game-text-id snow-bumpers)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-cage)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-frozen-crate)
(game-text-id snow-frozen-crate)
(game-text-id snow-frozen-crate)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-fort)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-fort)
(game-text-id snow-fort)
(game-text-id snow-fort)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-ball)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-open-door)
(game-text-id snow-open-door)
(game-text-id snow-open-door)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-bunnies)
:task-name
(new 'static 'array game-text-id 4
(game-text-id snow-bunnies)
(game-text-id snow-bunnies)
(game-text-id snow-bunnies)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task snow-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id cave-level-name)
:text-group-index 3
:nb-of-tasks 8
:buzzer-task-index 7
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task cave-gnawers)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-gnawers)
(game-text-id cave-gnawers)
(game-text-id cave-gnawers)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-dark-crystals)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-dark-crystals)
(game-text-id cave-dark-crystals)
(game-text-id cave-dark-crystals)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-dark-climb)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-dark-climb)
(game-text-id cave-dark-climb)
(game-text-id cave-dark-climb)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-robot-climb)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-robot-climb)
(game-text-id cave-robot-climb)
(game-text-id cave-robot-climb)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-swing-poles)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-swing-poles)
(game-text-id cave-swing-poles)
(game-text-id cave-swing-poles)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-spider-tunnel)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-spider-tunnel)
(game-text-id cave-spider-tunnel)
(game-text-id cave-spider-tunnel)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-platforms)
:task-name
(new 'static 'array game-text-id 4
(game-text-id cave-platforms)
(game-text-id cave-platforms)
(game-text-id cave-platforms)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task cave-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id village3-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id lavatube-level-name)
:text-group-index 3
:nb-of-tasks 2
:buzzer-task-index 1
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task lavatube-end)
:task-name
(new 'static 'array game-text-id 4
(game-text-id lavatube-end)
(game-text-id lavatube-end)
(game-text-id lavatube-end)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task lavatube-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id lavatube-buzzer)
(game-text-id lavatube-buzzer)
(game-text-id lavatube-buzzer)
(game-text-id zero)
)
)
)
)
(new 'static 'level-tasks-info
:level-name-id (game-text-id citadel-level-name)
:text-group-index 4
:nb-of-tasks 5
:buzzer-task-index 4
:task-info
(new 'static 'array task-info-data 8
(new 'static 'task-info-data
:task-id (game-task citadel-sage-blue)
:task-name
(new 'static 'array game-text-id 4
(game-text-id citadel-sage-blue)
(game-text-id citadel-sage-blue)
(game-text-id citadel-sage-blue)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task citadel-sage-red)
:task-name
(new 'static 'array game-text-id 4
(game-text-id citadel-sage-red)
(game-text-id citadel-sage-red)
(game-text-id citadel-sage-red)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task citadel-sage-yellow)
:task-name
(new 'static 'array game-text-id 4
(game-text-id citadel-sage-yellow)
(game-text-id citadel-sage-yellow)
(game-text-id citadel-sage-yellow)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task citadel-sage-green)
:task-name
(new 'static 'array game-text-id 4
(game-text-id citadel-sage-green)
(game-text-id citadel-sage-green)
(game-text-id citadel-sage-green)
(game-text-id zero)
)
)
(new 'static 'task-info-data
:task-id (game-task citadel-buzzer)
:task-name
(new 'static 'array game-text-id 4
(game-text-id citadel-buzzer)
(game-text-id citadel-buzzer)
(game-text-id citadel-buzzer)
(game-text-id zero)
)
)
)
)
)
)
;; goes down by 24 or 23 every time
(define *task-egg-starting-x*
(new 'static 'boxed-array :type int32 :length 9 :allocated-length 9
218
194
171
147
124
100
77
53
30
)
)
(define *game-counts* (the-as game-count-info #f))