[VMF Options] Move to new widget definition system

This commit is contained in:
Azumgi 2018-09-09 21:52:14 +03:00
parent 4290903964
commit b98902f533
2 changed files with 164 additions and 196 deletions

View file

@ -7,7 +7,7 @@ return {
en = "Open Options Menu",
ru = "Открыть меню настроек",
},
open_vmf_options_tooltip = {
open_vmf_options_description = {
en = "Keybind for opening and closing mods options menu.",
ru = "Клавиша / сочетание клавиш для открытия и закрытия меню настроек модов.",
},
@ -15,11 +15,14 @@ return {
en = "Options Menu Scrolling Speed",
ru = "Скорость прокрутки меню",
},
percent = {
en = "%%"
},
ui_scaling = {
en = "UI Scaling for FHD+ Resolutions",
ru = "Нормализация масштаба UI для FHD+ разрешений",
},
ui_scaling_tooltip = {
ui_scaling_description = {
en = "Automatically scale UI when resolution exceeds 1080p.",
ru = "Нормализует масштаб элементов интерфейса, если разрешений экрана превышает 1080p.",
},
@ -27,7 +30,7 @@ return {
en = "Developer Mode",
ru = "Режим разработчика",
},
developer_mode_tooltip = {
developer_mode_description = {
en = "Allows you to reload VMF and mods, gives you access to some debug features.",
ru = "Позволяет перезагружать VMF и моды, даёт доступ к инструментам отладки.",
},
@ -35,7 +38,7 @@ return {
en = "Show Developer Console",
ru = "Консоль разработчика",
},
show_developer_console_tooltip = {
show_developer_console_description = {
en = "Opens up the new window showing game log in real time.",
ru = "Открывает новое окно, в которое в реальном времени выводится игровой лог.",
},
@ -47,7 +50,7 @@ return {
en = "Log Network Calls",
ru = "Логирование сетевых вызовов",
},
show_network_debug_info_tooltip = {
show_network_debug_info_description = {
en = "Log all the VMF network calls and all the data transfered with them.\n\n" ..
"The method 'info' is used for the logging.",
ru = "Логирование всех сетевых вызовов VMF и передаваемых с ними данных.\n\n" ..
@ -57,7 +60,7 @@ return {
en = "Log UI Renderers Creation Info",
ru = "Логирование информации при создании UI Renderer",
},
log_ui_renderers_info_tooltip = {
log_ui_renderers_info_description = {
en = "Log the UI Renderer's creator name and all the materials passed as the agruments.\n\n" ..
"The method 'info' is used for the logging.",
ru = "Логирование имени создателя UI Renderer'а и всех материалов, переданных в качестве аргументов.\n\n" ..
@ -115,7 +118,7 @@ return {
en = "Chat Input History",
ru = "История ввода чата",
},
chat_history_enable_tooltip = {
chat_history_enable_description = {
en = "Saves all the messages and commands you typed in the chat window.\n\n" ..
"You can browse your input history by opening the chat and pressing \"Arrow Up\" and \"Arrow Down\".",
ru = "Сохраняет все сообщения и команды, введённые в чате.\n\n" ..
@ -125,7 +128,7 @@ return {
en = "Save Input History Between Game Sessions",
ru = "Сохранять историю ввода между сеансами игры",
},
chat_history_save_tooltip = {
chat_history_save_description = {
en = "Your chat input history will be saved even after reloading your game (or just VMF).",
ru = "Когда игрок выключает игру (или перезагружает VMF), VMF cохраняет историю ввода в файл настроек, чтобы загрузить её при следующем запуске игры.",
},
@ -133,7 +136,7 @@ return {
en = "Input History Buffer Size",
ru = "Размер буфера истории ввода",
},
chat_history_buffer_size_tooltip = {
chat_history_buffer_size_description = {
en = "Maximum number of saved entries.\n\n" ..
"WARNING: Changing this setting will erase your chat history.",
ru = "Максимальное количество сохраняемых записей.\n\n" ..
@ -147,7 +150,7 @@ return {
en = "Removal Mode",
ru = "Режим удаления",
},
chat_history_remove_dups_mode_tooltip = {
chat_history_remove_dups_mode_description = {
en = "Which duplicate entries should be removed.\n\n" ..
"-- LAST --\nRemoves previous entry if it matches the last one.\n\n" ..
"-- ALL --\nRemoves all entries if it matches the last one.",
@ -167,7 +170,7 @@ return {
en = "Save only executed commands",
ru = "Сохранять только выполненные команды",
},
chat_history_commands_only_tooltip = {
chat_history_commands_only_description = {
en = "Only successfully executed commands will be saved in the chat history.\n\n" ..
"WARNING: Changing this setting will erase your chat history.",
ru = "Только успешно выполненные команды будут сохранены в истории ввода.\n\n" ..
@ -249,13 +252,13 @@ return {
mutators_title = {
en = "Mutators"
},
mutators_banner_tooltip = {
mutators_banner_description = {
en = "Enable and disable mutators"
},
no_mutators = {
en = "No mutators installed"
},
no_mutators_tooltip = {
no_mutators_description = {
en = "Subscribe to mods and mutators on the workshop"
},

View file

@ -2,196 +2,161 @@ local vmf = get_mod("VMF")
local vmf_mod_data = {}
vmf_mod_data.name = "Vermintide Mod Framework"
vmf_mod_data.options_widgets = {
{
["setting_name"] = "open_vmf_options",
["widget_type"] = "keybind",
["text"] = vmf:localize("open_vmf_options"),
["tooltip"] = vmf:localize("open_vmf_options_tooltip"),
["default_value"] = {"f4"},
["action"] = "open_vmf_options"
},
{
["setting_name"] = "vmf_options_scrolling_speed",
["widget_type"] = "numeric",
["text"] = vmf:localize("vmf_options_scrolling_speed"),
["unit_text"] = "%",
["range"] = {1, 1000},
["default_value"] = 100
},
{
["setting_name"] = "ui_scaling",
["widget_type"] = "checkbox",
["text"] = vmf:localize("ui_scaling"),
["tooltip"] = vmf:localize("ui_scaling_tooltip"),
["default_value"] = true
},
{
["setting_name"] = "developer_mode",
["widget_type"] = "checkbox",
["text"] = vmf:localize("developer_mode"),
["tooltip"] = vmf:localize("developer_mode_tooltip"),
["default_value"] = false,
["sub_widgets"] = {
{
["setting_name"] = "show_developer_console",
["widget_type"] = "checkbox",
["text"] = vmf:localize("show_developer_console"),
["tooltip"] = vmf:localize("show_developer_console_tooltip"),
["default_value"] = false
},
{
["setting_name"] = "toggle_developer_console",
["widget_type"] = "keybind",
["text"] = vmf:localize("toggle_developer_console"),
["default_value"] = {},
["action"] = "toggle_developer_console"
},
{
["setting_name"] = "show_network_debug_info",
["widget_type"] = "checkbox",
["text"] = vmf:localize("show_network_debug_info"),
["tooltip"] = vmf:localize("show_network_debug_info_tooltip"),
["default_value"] = false
},
{
["setting_name"] = "log_ui_renderers_info",
["widget_type"] = "checkbox",
["text"] = vmf:localize("log_ui_renderers_info"),
["tooltip"] = vmf:localize("log_ui_renderers_info_tooltip"),
["default_value"] = false
}
}
},
{
["setting_name"] = "logging_mode",
["widget_type"] = "dropdown",
["text"] = vmf:localize("logging_mode"),
["options"] = {
{--[[1]] text = vmf:localize("settings_default"), value = "default"},
{--[[2]] text = vmf:localize("settings_custom"), value = "custom"},
vmf_mod_data.options = {
widgets = {
{
setting_id = "open_vmf_options",
type = "keybind",
default_value = {"f4"},
keybind_trigger = "pressed",
keybind_type = "action_call",
action_name = "open_vmf_options"
},
["default_value"] = "default",
["sub_widgets"] = {
{
["show_widget_condition"] = {2},
["setting_name"] = "output_mode_echo",
["widget_type"] = "dropdown",
["text"] = vmf:localize("output_mode_echo"),
["options"] = {
{text = vmf:localize("output_disabled"), value = 0},
{text = vmf:localize("output_log"), value = 1},
{text = vmf:localize("output_chat"), value = 2},
{text = vmf:localize("output_log_and_chat"), value = 3},
{
setting_id = "vmf_options_scrolling_speed",
type = "numeric",
default_value = 100,
range = {1, 1000},
unit_text = "percent"
},
{
setting_id = "ui_scaling",
type = "checkbox",
default_value = true
},
{
setting_id = "developer_mode",
type = "checkbox",
default_value = false,
sub_widgets = {
{
setting_id = "show_developer_console",
type = "checkbox",
default_value = false
},
["default_value"] = 3
},
{
["show_widget_condition"] = {2},
["setting_name"] = "output_mode_error",
["widget_type"] = "dropdown",
["text"] = vmf:localize("output_mode_error"),
["options"] = {
{text = vmf:localize("output_disabled"), value = 0},
{text = vmf:localize("output_log"), value = 1},
{text = vmf:localize("output_chat"), value = 2},
{text = vmf:localize("output_log_and_chat"), value = 3},
{
setting_id = "toggle_developer_console",
type = "keybind",
default_value = {},
keybind_trigger = "pressed",
keybind_type = "action_call",
action_name = "toggle_developer_console"
},
["default_value"] = 3
},
{
["show_widget_condition"] = {2},
["setting_name"] = "output_mode_warning",
["widget_type"] = "dropdown",
["text"] = vmf:localize("output_mode_warning"),
["options"] = {
{text = vmf:localize("output_disabled"), value = 0},
{text = vmf:localize("output_log"), value = 1},
{text = vmf:localize("output_chat"), value = 2},
{text = vmf:localize("output_log_and_chat"), value = 3},
{
setting_id = "show_network_debug_info",
type = "checkbox",
default_value = false
},
["default_value"] = 3
},
{
["show_widget_condition"] = {2},
["setting_name"] = "output_mode_info",
["widget_type"] = "dropdown",
["text"] = vmf:localize("output_mode_info"),
["options"] = {
{text = vmf:localize("output_disabled"), value = 0},
{text = vmf:localize("output_log"), value = 1},
{text = vmf:localize("output_chat"), value = 2},
{text = vmf:localize("output_log_and_chat"), value = 3},
},
["default_value"] = 1
},
{
["show_widget_condition"] = {2},
["setting_name"] = "output_mode_debug",
["widget_type"] = "dropdown",
["text"] = vmf:localize("output_mode_debug"),
["options"] = {
{text = vmf:localize("output_disabled"), value = 0},
{text = vmf:localize("output_log"), value = 1},
{text = vmf:localize("output_chat"), value = 2},
{text = vmf:localize("output_log_and_chat"), value = 3},
},
["default_value"] = 0
{
setting_id = "log_ui_renderers_info",
type = "checkbox",
default_value = false
}
}
}
},
{
["setting_name"] = "chat_history_enable",
["widget_type"] = "checkbox",
["text"] = vmf:localize("chat_history_enable"),
["tooltip"] = vmf:localize("chat_history_enable_tooltip"),
["default_value"] = true,
["sub_widgets"] = {
{
["setting_name"] = "chat_history_save",
["widget_type"] = "checkbox",
["text"] = vmf:localize("chat_history_save"),
["tooltip"] = vmf:localize("chat_history_save_tooltip"),
["default_value"] = true
},
{
setting_id = "logging_mode",
type = "dropdown",
default_value = "default",
options = {
{text = "settings_default", value = "default"},
{text = "settings_custom", value = "custom", show_widgets = {1, 2, 3, 4, 5}},
},
{
["setting_name"] = "chat_history_buffer_size",
["widget_type"] = "numeric",
["text"] = vmf:localize("chat_history_buffer_size"),
["tooltip"] = vmf:localize("chat_history_buffer_size_tooltip"),
["range"] = {10, 200},
["default_value"] = 50
},
{
["setting_name"] = "chat_history_remove_dups",
["widget_type"] = "checkbox",
["text"] = vmf:localize("chat_history_remove_dups"),
["default_value"] = false,
["sub_widgets"] = {
{
["setting_name"] = "chat_history_remove_dups_mode",
["widget_type"] = "dropdown",
["text"] = vmf:localize("chat_history_remove_dups_mode"),
["tooltip"] = vmf:localize("chat_history_remove_dups_mode_tooltip"),
["options"] = {
{text = vmf:localize("settings_last"), value = "last"},
{text = vmf:localize("settings_all"), value = "all"},
},
["default_value"] = "last"
sub_widgets = {
{
setting_id = "output_mode_echo",
type = "dropdown",
default_value = 3,
options = {
{text = "output_disabled", value = 0},
{text = "output_log", value = 1},
{text = "output_chat", value = 2},
{text = "output_log_and_chat", value = 3},
}
},
{
setting_id = "output_mode_error",
type = "dropdown",
default_value = 3,
options = {
{text = "output_disabled", value = 0},
{text = "output_log", value = 1},
{text = "output_chat", value = 2},
{text = "output_log_and_chat", value = 3},
}
},
{
setting_id = "output_mode_warning",
type = "dropdown",
default_value = 3,
options = {
{text = "output_disabled", value = 0},
{text = "output_log", value = 1},
{text = "output_chat", value = 2},
{text = "output_log_and_chat", value = 3},
}
},
{
setting_id = "output_mode_info",
type = "dropdown",
default_value = 1,
options = {
{text = "output_disabled", value = 0},
{text = "output_log", value = 1},
{text = "output_chat", value = 2},
{text = "output_log_and_chat", value = 3},
}
},
{
setting_id = "output_mode_debug",
type = "dropdown",
default_value = 0,
options = {
{text = "output_disabled", value = 0},
{text = "output_log", value = 1},
{text = "output_chat", value = 2},
{text = "output_log_and_chat", value = 3},
}
}
},
{
["setting_name"] = "chat_history_commands_only",
["widget_type"] = "checkbox",
["text"] = vmf:localize("chat_history_commands_only"),
["tooltip"] = vmf:localize("chat_history_commands_only_tooltip"),
["default_value"] = false
}
},
{
setting_id = "chat_history_enable",
type = "checkbox",
default_value = true,
sub_widgets = {
{
setting_id = "chat_history_save",
type = "checkbox",
default_value = true
},
{
setting_id = "chat_history_buffer_size",
type = "numeric",
default_value = 50,
range = {10, 200}
},
{
setting_id = "chat_history_remove_dups",
type = "checkbox",
default_value = false,
sub_widgets = {
{
setting_id = "chat_history_remove_dups_mode",
type = "dropdown",
default_value = "last",
options = {
{text = "settings_last", value = "last"},
{text = "settings_all", value = "all"},
}
}
}
},
{
setting_id = "chat_history_commands_only",
type = "checkbox",
default_value = false
}
}
}
}
@ -277,4 +242,4 @@ if not vmf:get("vmf_initialized") then
vmf.load_vmf_options_view_settings()
vmf:set("vmf_initialized", true)
end
end