mirror of
https://github.com/open-goal/jak-project
synced 2026-08-07 02:06:59 -04:00
[game] pc port progress menu (#1281)
* fix typo * more typo * shorten discord rpc text * allow expanding enums after the fact (untested) * make `game_text` work similar to subtitles * update progress decomp * update some types + `do-not-decompile` in bitfield * fixes and fall back to original progress code * update `progress` decomp with new enums * update config files * fix enums and debug menu * always allocate (but not use) a lot of particles * small rework to display mode options * revert resolution/aspect-ratio symbol mess * begin the override stuff * make `progress-draw` more readable * more fixes * codacy good boy points * first step overriding code * finish progress overrides, game options menu fully functional! * minor fixes * Update game.gp * Update sparticle-launcher.gc * clang * change camera controls text * oops * some cleanup * derp * nice job * implement menu scrolling lol * make scrollable menus less cramped, fix arrows * make some carousell things i guess * add msaa carousell to test * oops * Update progress-pc.gc * make `pc-get-screen-size` (untested) * resolution menu * input fixes * return when selecting resolution * scroll fixes * Update progress-pc.gc * add "fit to screen" button * bug * complete resolutions menu * aspect ratio menu * subtitles language * subtitle speaker * final adjustments * ref test * fix tests * fix ref! * reduce redundancy a bit * fix mem leaks? * save settings on progress exit * fix init reorder * remove unused code * rename goal project-like files to the project extension * sha display toggle * aspect ratio settings fixes * dont store text db's in compiler * properly save+load native aspect stuff
This commit is contained in:
@@ -9,154 +9,152 @@
|
||||
|
||||
;; 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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 7 :allocated-length 7
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id load-game) :scale #t :param3 (game-option-menu load-game))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id save-game) :scale #t :param3 (game-option-menu save-game))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id quit-game) :scale #t :param3 (game-option-menu quit))
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id new-game) :scale #t :param3 (game-option-menu save-game-title))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id load-game) :scale #t :param3 (game-option-menu load-game))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id options) :scale #t :param3 (game-option-menu settings-title))
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 5 :allocated-length 5
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id game-options) :scale #t :param3 (game-option-menu game-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id graphic-options) :scale #t :param3 (game-option-menu graphic-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type menu) :name (game-text-id sound-options) :scale #t :param3 (game-option-menu sound-settings))
|
||||
(new 'static 'game-option :option-type (game-option-type button) :name (game-text-id exit-demo) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type language) :name (game-text-id language) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id vibrations) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type on-off) :name (game-text-id play-hints) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 3 :allocated-length 3
|
||||
(new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type aspect-ratio) :name (game-text-id aspect-ratio) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 4 :allocated-length 4
|
||||
(new 'static 'game-option :option-type (game-option-type center-screen) :name (game-text-id center-screen) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type video-mode) :name (game-text-id video-mode) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type aspect-ratio) :name (game-text-id aspect-ratio) :scale #t)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(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 (game-option-type button) :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 *yes-no-options* (new 'static 'boxed-array :type game-option :length 1 :allocated-length 1
|
||||
(new 'static 'game-option :option-type (game-option-type yes-no) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 1 :allocated-length 1
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 5 :allocated-length 5
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 5 :allocated-length 5
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :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)
|
||||
)
|
||||
(new 'static 'boxed-array :type game-option :length 6 :allocated-length 6
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :name (game-text-id continue-without-saving) :scale #f)
|
||||
(new 'static 'game-option :option-type (game-option-type button) :name (game-text-id back) :scale #f)
|
||||
)
|
||||
)
|
||||
|
||||
;; maps options to a progress screen
|
||||
(define *options-remap*
|
||||
(new 'static 'boxed-array :type (array game-option) :length 0 :allocated-length 35)
|
||||
)
|
||||
(#if (not PC_PORT)
|
||||
(define *options-remap* (new 'static 'boxed-array :type (array game-option) :length 0 :allocated-length 35))
|
||||
(define *options-remap* (new 'static 'boxed-array :type (array game-option) :length 0 :allocated-length 50))
|
||||
)
|
||||
|
||||
;; TODO probably an enum.
|
||||
;; maps "levels" to the appropriate offset in *level-task-data*
|
||||
|
||||
Reference in New Issue
Block a user