59 lines
1.9 KiB
Plaintext
59 lines
1.9 KiB
Plaintext
-- Modifications to sample scripts will be lost the next time you start the game.
|
|
local { CHECKBOX, INPUTBOX } = require "Lotus.Interface.LotusUtilities"
|
|
|
|
local dict = get_lang_dict()
|
|
local options = {
|
|
{ dict.high_damage_numbers_patch, get_high_damage_numbers_patch, set_high_damage_numbers_patch },
|
|
{ dict.skip_mission_start_timer, get_skip_mission_start_timer, set_skip_mission_start_timer },
|
|
{ dict.simulacrum_blacklisted, get_simulacrum_blacklisted, set_simulacrum_blacklisted },
|
|
{ dict.simulacrum_whitelisted, get_simulacrum_whitelisted, set_simulacrum_whitelisted },
|
|
{ dict.alternative_loading, get_alternative_loading, set_alternative_loading },
|
|
{ dict.ee_log_in_console, get_ee_log_in_console, set_ee_log_in_console },
|
|
{ dict.dont_resolve_labels, get_dont_resolve_labels, set_dont_resolve_labels },
|
|
{ dict.fov_override, get_fov_override, |s| -> set_fov_override(tonumber(s) or 0) },
|
|
}
|
|
|
|
local done = false
|
|
local movie = _T.OpenScreen("GenericSettings")
|
|
movie:Execute("SetTitle", "OpenWF In-Game Options")
|
|
function _T.owfSampleSettingsChangesDone(inputs, cancel)
|
|
if not cancel then
|
|
for i, opt in options do
|
|
local value = type(opt[4]) == "boolean" ? inputs[i].mValue : inputs[i].mContent
|
|
if opt[4] ~= value then
|
|
print(opt[1].." set to "..value)
|
|
opt[3](value)
|
|
end
|
|
end
|
|
end
|
|
done = true
|
|
end
|
|
movie:Execute("SetCallBack", "owfSampleSettingsChangesDone")
|
|
function _T.owfSampleGetSettings()
|
|
return options:mapped(function(opt)
|
|
opt[4] = opt[2]()
|
|
if type(opt[4]) == "boolean" then
|
|
return {
|
|
mLabel = opt[1],
|
|
mType = CHECKBOX,
|
|
mValue = opt[4],
|
|
}
|
|
end
|
|
return {
|
|
mLabel = opt[1],
|
|
mType = INPUTBOX,
|
|
mContent = opt[4],
|
|
mMaxChars = 500,
|
|
mMultiLine = false,
|
|
mSkipAutoFocus = true,
|
|
}
|
|
end)
|
|
end
|
|
movie:Execute("SetElementsFunction", "owfSampleGetSettings")
|
|
movie:Execute("SetConfirmButtonActive", "true")
|
|
movie:Execute("EnableHints", "")
|
|
repeat
|
|
until done or not pcall(yield)
|
|
if not IsNull(movie) then
|
|
movie:Close()
|
|
end |