53 lines
1.0 KiB
Lua
53 lines
1.0 KiB
Lua
local settings = {}
|
|
|
|
local memory = require "util.memory"
|
|
local menu = require "util.menu"
|
|
|
|
local YELLOW = GAME_NAME == "yellow"
|
|
|
|
local settings_menu
|
|
if (YELLOW) then
|
|
settings_menu = 93
|
|
else
|
|
settings_menu = 94
|
|
end
|
|
|
|
local desired = {}
|
|
if (YELLOW) then
|
|
desired.text_speed = 1
|
|
desired.battle_animation = 128
|
|
desired.battle_style = 64
|
|
else
|
|
desired.text_speed = 1
|
|
desired.battle_animation = 10
|
|
-- desired.battle_style =
|
|
end
|
|
|
|
local function isEnabled(name)
|
|
if (YELLOW) then
|
|
local matching = {
|
|
text_speed = 0xF,
|
|
battle_animation = 128,
|
|
battle_style = 64
|
|
}
|
|
local settingMask = memory.value("setting", "yellow_bitmask")
|
|
return bit.band(settingMask, matching[name]) == desired[name]
|
|
else
|
|
return memory.value("setting", name) == desired[name]
|
|
end
|
|
end
|
|
|
|
function settings.set(...)
|
|
for i,name in ipairs(arg) do
|
|
if (not isEnabled(name)) then
|
|
if (menu.open(settings_menu, 1)) then
|
|
menu.setOption(name, desired[name])
|
|
end
|
|
return false
|
|
end
|
|
end
|
|
return menu.cancel(settings_menu)
|
|
end
|
|
|
|
return settings
|