static cell_t sm_ResetConVar(IPluginContext *pContext, const cell_t *params) { Handle_t hndl = static_cast<Handle_t>(params[1]); HandleError err; ConVar *pConVar; if ((err=g_ConVarManager.ReadConVarHandle(hndl, &pConVar)) != HandleError_None) { return pContext->ThrowNativeError("Invalid convar handle %x (error %d)", hndl, err); } pConVar->Revert(); #if SOURCE_ENGINE < SE_ORANGEBOX /* Should we replicate it? */ if (params[3] && IsFlagSet(pConVar, FCVAR_REPLICATED)) { ReplicateConVar(pConVar); } /* Should we notify clients? */ if (params[4] && IsFlagSet(pConVar, FCVAR_NOTIFY)) { NotifyConVar(pConVar); } #endif return 1; }
void ConsoleVariableType::SetBool(bool value, bool replicate, bool notify) { ConVarInstance->SetValue(value ? 1 : 0); #if SOURCE_ENGINE < SE_ORANGEBOX if(replicate && IsFlagSet(ConVarInstance, FCVAR_REPLICATED)) { ReplicateConVar(ConVarInstance); } if(notify && IsFlagSet(ConVarInstance, FCVAR_NOTIFY)) { NotifyConVar(ConVarInstance); } #endif }
void ConsoleVariableType::Reset(bool replicate, bool notify) { ConVarInstance->Revert(); #if SOURCE_ENGINE < SE_ORANGEBOX if(replicate && IsFlagSet(ConVarInstance, FCVAR_REPLICATED)) { ReplicateConVar(ConVarInstance); } if(notify && IsFlagSet(ConVarInstance, FCVAR_NOTIFY)) { NotifyConVar(ConVarInstance); } #endif }