feat(cvar): add LookupRegistered method

This commit is contained in:
Tristan Cormier 2025-09-30 16:59:30 -04:00
parent 8b4cc6121a
commit ff2a232de0
2 changed files with 14 additions and 0 deletions

View File

@ -33,6 +33,19 @@ CVar* CVar::Lookup(const char* name) {
: nullptr; : nullptr;
} }
CVar* CVar::LookupRegistered(const char* name) {
auto var = CVar::Lookup(name);
if (!var) {
return nullptr;
}
if (var->m_flags >= 0 && !(var->m_flags & 0x80)) {
return nullptr;
}
return var;
}
CVar* CVar::Register(const char* name, const char* help, uint32_t flags, const char* value, bool (*fcn)(CVar*, const char*, const char*, void*), uint32_t category, bool a7, void* arg, bool a9) { CVar* CVar::Register(const char* name, const char* help, uint32_t flags, const char* value, bool (*fcn)(CVar*, const char*, const char*, void*), uint32_t category, bool a7, void* arg, bool a9) {
CVar* var = CVar::s_registeredCVars.Ptr(name); CVar* var = CVar::s_registeredCVars.Ptr(name);

View File

@ -16,6 +16,7 @@ class CVar : public TSHashObject<CVar, HASHKEY_STRI> {
static void Initialize(); static void Initialize();
static int32_t Load(const char* filename); static int32_t Load(const char* filename);
static CVar* Lookup(const char* name); static CVar* Lookup(const char* name);
static CVar* LookupRegistered(const char* name);
static CVar* Register(const char*, const char*, uint32_t, const char*, bool (*)(CVar*, const char*, const char*, void*), uint32_t, bool, void*, bool); static CVar* Register(const char*, const char*, uint32_t, const char*, bool (*)(CVar*, const char*, const char*, void*), uint32_t, bool, void*, bool);
// Member variables // Member variables