intro screens

This commit is contained in:
2026-03-17 00:38:35 +01:00
parent a208f0d27a
commit 4d8f01187b
12 changed files with 190 additions and 75 deletions

View File

@@ -20,7 +20,6 @@ function Config.initial_data()
meter_bg = 1
},
timing = {
splash_duration = 120,
minigame_win_duration = 180
}
}
@@ -37,21 +36,19 @@ end
local CONFIG_SAVE_BANK = 7
local CONFIG_MAGIC_VALUE_ADDRESS = 2
local CONFIG_SPLASH_DURATION_ADDRESS = 3
local CONFIG_MAGIC_VALUE = 0xDE
--- Saves the current configuration.
--- @within Config
function Config.save()
mset(CONFIG_MAGIC_VALUE, CONFIG_MAGIC_VALUE_ADDRESS, CONFIG_SAVE_BANK)
mset(Config.timing.splash_duration, CONFIG_SPLASH_DURATION_ADDRESS, CONFIG_SAVE_BANK)
end
--- Loads saved configuration.
--- @within Config
function Config.load()
if mget(CONFIG_MAGIC_VALUE_ADDRESS, CONFIG_SAVE_BANK) == CONFIG_MAGIC_VALUE then
Config.timing.splash_duration = mget(CONFIG_SPLASH_DURATION_ADDRESS, CONFIG_SAVE_BANK)
return
else
Config.reset()
end

View File

@@ -11,7 +11,6 @@ Context = {}
--- @return result table Initial context data or nil. </br>
--- Fields: </br>
--- * current_menu_item (number) Index of the currently selected menu item.<br/>
--- * splash_timer (number) Remaining frames for the splash screen timer.<br/>
--- * popup (table) Popup window state. Contains: `show` (boolean) whether popup is visible, `content` (table) array of strings to display.<br/>
--- * game_in_progress (boolean) Whether a game is currently active.<br/>
--- * minigame_ddr (table) DDR minigame state (see Minigame.get_default_ddr).<br/>
@@ -24,7 +23,6 @@ Context = {}
function Context.initial_data()
return {
current_menu_item = 1,
splash_timer = Config.timing.splash_duration,
popup = {
show = false,
content = {}