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

View file

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