From 03db276b9693bc362767a6420cd81e42bfeddd2d Mon Sep 17 00:00:00 2001 From: fallenoak Date: Wed, 19 Nov 2025 19:55:15 -0600 Subject: [PATCH] feat(ui): implement Script_GetCVarMax --- src/ui/ScriptFunctionsGlueScriptEvents.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/ui/ScriptFunctionsGlueScriptEvents.cpp b/src/ui/ScriptFunctionsGlueScriptEvents.cpp index aa3d237..e2b2d3a 100644 --- a/src/ui/ScriptFunctionsGlueScriptEvents.cpp +++ b/src/ui/ScriptFunctionsGlueScriptEvents.cpp @@ -614,7 +614,27 @@ int32_t Script_GetCVarMin(lua_State* L) { } int32_t Script_GetCVarMax(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + if (!lua_isstring(L, 1)) { + return luaL_error(L, "Usage: GetCVarMax(\"cvar\")"); + } + + auto varName = lua_tostring(L, 1); + auto var = CVar::LookupRegistered(varName); + + if (!var) { + return luaL_error(L, "Couldn't find CVar named '%s'", varName); + } + + if (!SStrCmpI(var->m_key.GetString(), "extShadowQuality")) { + // TODO CGxDevice calls to determine max shadow quality + lua_pushnumber(L, 5.0); + } else if (!SStrCmpI(var->m_key.GetString(), "farclip")) { + lua_pushnumber(L, 1277.0); + } else { + lua_pushnil(L); + } + + return 1; } int32_t Script_GetCVarAbsoluteMin(lua_State* L) {