diff --git a/data/ui_scripts/hud_info/__init__.lua b/data/ui_scripts/hud_info/__init__.lua index f1c9049c..b6f5c8a2 100644 --- a/data/ui_scripts/hud_info/__init__.lua +++ b/data/ui_scripts/hud_info/__init__.lua @@ -1,4 +1,4 @@ -if (game:issingleplyer()) then +if (game:issingleplayer()) then return end diff --git a/data/ui_scripts/hud_info/hud.lua b/data/ui_scripts/hud_info/hud.lua index fc44dab6..e2889454 100644 --- a/data/ui_scripts/hud_info/hud.lua +++ b/data/ui_scripts/hud_info/hud.lua @@ -122,6 +122,10 @@ mphud.updateHudVisibility = function(a1, a2) local menus = root:AnyActiveMenusInStack() local infobar = root.infobar + if (not infobar) then + return + end + if (menus) then infobar:animateToState("hud_off") else diff --git a/data/ui_scripts/hud_info/settings.lua b/data/ui_scripts/hud_info/settings.lua index 9646ce5d..4ce32564 100644 --- a/data/ui_scripts/hud_info/settings.lua +++ b/data/ui_scripts/hud_info/settings.lua @@ -1,5 +1,11 @@ local pcdisplay = luiglobals.require("LUI.PCDisplay") +game:addlocalizedstring("LUA_MENU_FPS", "FPS Counter") +game:addlocalizedstring("LUA_MENU_FPS_DESC", "Show FPS Counter") + +game:addlocalizedstring("LUA_MENU_LATENCY", "Server Latency") +game:addlocalizedstring("LUA_MENU_LATENCY_DESC", "Show server latency") + function createdivider(menu, text) local element = LUI.UIElement.new( { leftAnchor = true, @@ -128,8 +134,8 @@ pcdisplay.CreateOptions = function( menu ) LUI.Options.CreateOptionButton( menu, "cg_infobar_ping", - "Server Latency", - "Show server latency", + "@LUA_MENU_LATENCY", + "@LUA_MENU_LATENCY_DESC", { { text = "@LUA_MENU_ENABLED", @@ -150,8 +156,8 @@ pcdisplay.CreateOptions = function( menu ) LUI.Options.CreateOptionButton( menu, "cg_infobar_fps", - "FPS counter", - "Show FPS counter", + "@LUA_MENU_FPS", + "@LUA_MENU_FPS_DESC", { { text = "@LUA_MENU_ENABLED", diff --git a/src/client/game/ui_scripting/lua/context.cpp b/src/client/game/ui_scripting/lua/context.cpp index 42ca7977..96286cdd 100644 --- a/src/client/game/ui_scripting/lua/context.cpp +++ b/src/client/game/ui_scripting/lua/context.cpp @@ -9,6 +9,7 @@ #include "../../../component/command.hpp" #include "../../../component/updater.hpp" #include "../../../component/fps.hpp" +#include "../../../component/localized_strings.hpp" #include "component/game_console.hpp" #include "component/scheduler.hpp" @@ -61,6 +62,12 @@ namespace ui_scripting::lua return ::game::environment::is_mp(); }; + game_type["addlocalizedstring"] = [](const game&, const std::string& string, + const std::string& value) + { + localized_strings::override(string, value); + }; + auto userdata_type = state.new_usertype("userdata_"); userdata_type["new"] = sol::property( @@ -73,7 +80,6 @@ namespace ui_scripting::lua userdata.set("new", convert({s, value})); } ); - userdata_type["get"] = [](const userdata& userdata, const sol::this_state s, const sol::lua_value& key)