Files
impostor/inc/init/init.config.lua
Zsolt Tasnadi aa7d0e902d
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
color fix
2026-03-03 20:36:42 +01:00

60 lines
1.3 KiB
Lua

Config = {}
--- Return initial data for Config
--- @within Config
function Config.initial_data()
return {
screen = {
width = 240,
height = 136
},
colors = {
black = 0,
light_grey = 2,
dark_grey = 1,
red = 13,
light_blue = 9,
blue = 3,
white = 4,
item = 7,
meter_bg = 1
},
timing = {
splash_duration = 120
}
}
end
--- Restores default configuration settings.
--- @within Config
function Config.reset()
local initial = Config.initial_data()
Config.screen = initial.screen
Config.colors = initial.colors
Config.timing = initial.timing
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)
else
Config.reset()
end
end
Config.load()