void cvar_t::InitSelf(const char* var_name, const char* def, const char* help, cvartype_t type, DWORD var_flags, void (*callback)(cvar_t &), float minval, float maxval) { cvar_t* dummy; cvar_t* var = FindCVar(var_name, &dummy); m_Callback = callback; m_String = ""; m_Value = 0.0f; m_Flags = 0; m_LatchedString = ""; m_HelpText = help; m_Type = type; if (var_flags & CVAR_NOENABLEDISABLE) { m_MinValue = minval; m_MaxValue = maxval; } else { m_MinValue = 0.0f; m_MaxValue = 1.0f; } if (def) m_Default = def; else m_Default = ""; if (var_name) { C_AddTabCommand(var_name); m_Name = var_name; m_Next = ad.GetCVars(); ad.GetCVars() = this; } else m_Name = ""; if (var) { ForceSet(var->m_String.c_str()); if (var->m_Flags & CVAR_AUTO) delete var; else var->~cvar_t(); } else if (def) ForceSet(def); m_Flags = var_flags | CVAR_ISDEFAULT; }
void cvar_t::InitSelf (const char *var_name, const char *def, DWORD var_flags, void (*callback)(cvar_t &)) { cvar_t *var, *dummy; var = FindCVar (var_name, &dummy); m_Callback = callback; m_String = ""; m_Value = 0.0f; m_Flags = 0; m_LatchedString = ""; if (def) m_Default = def; else m_Default = ""; if (var_name) { C_AddTabCommand (var_name); m_Name = var_name; m_Next = ad.GetCVars(); ad.GetCVars() = this; } else m_Name = ""; if (var) { ForceSet (var->m_String.c_str()); if (var->m_Flags & CVAR_AUTO) delete var; else var->~cvar_t(); } else if (def) ForceSet (def); m_Flags = var_flags | CVAR_ISDEFAULT; }
FBaseCVar::FBaseCVar (const char *var_name, DWORD flags, void (*callback)(FBaseCVar &)) { FBaseCVar *var; var = FindCVar (var_name, NULL); m_Callback = callback; Flags = 0; Name = NULL; if (var_name) { C_AddTabCommand (var_name); Name = copystring (var_name); m_Next = CVars; CVars = this; } if (var) { ECVarType type; UCVarValue value; value = var->GetFavoriteRep (&type); ForceSet (value, type); if (var->Flags & CVAR_AUTO) delete var; else var->~FBaseCVar(); Flags = flags; } else { Flags = flags | CVAR_ISDEFAULT; } }