feat(console): add CVar::LookupRegistered (#97)

This commit is contained in:
Tristan 'Natrist' Cormier 2025-10-01 12:32:04 -04:00 committed by GitHub
parent 8b4cc6121a
commit 32413a37da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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