feat(ui): implement Script_GetCVarBool

This commit is contained in:
fallenoak 2026-01-27 08:44:58 -06:00
parent 7d9173b880
commit 5f7bf8c95c
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D

View File

@ -1,6 +1,8 @@
#include "ui/game/GameScript.hpp" #include "ui/game/GameScript.hpp"
#include "console/CVar.hpp"
#include "ui/FrameScript.hpp" #include "ui/FrameScript.hpp"
#include "ui/ScriptFunctionsShared.hpp" #include "ui/ScriptFunctionsShared.hpp"
#include "util/StringTo.hpp"
#include "util/Unimplemented.hpp" #include "util/Unimplemented.hpp"
namespace { namespace {
@ -133,7 +135,21 @@ int32_t Script_GetCVar(lua_State* L) {
} }
int32_t Script_GetCVarBool(lua_State* L) { int32_t Script_GetCVarBool(lua_State* L) {
WHOA_UNIMPLEMENTED(0); if (!lua_isstring(L, 1)) {
luaL_error(L, "Usage: GetCVarBool(\"cvar\")");
return 0;
}
auto varName = lua_tostring(L, 1);
auto var = CVar::LookupRegistered(varName);
if (var && !(var->m_flags & 0x40) && StringToBOOL(var->GetString())) {
lua_pushnumber(L, 1.0);
} else {
lua_pushnil(L);
}
return 1;
} }
int32_t Script_GetCVarDefault(lua_State* L) { int32_t Script_GetCVarDefault(lua_State* L) {