1.1 --- a/core/ConVarManager.cpp Sun Jul 24 19:52:22 2011 -0700
1.2 +++ b/core/ConVarManager.cpp Sun Aug 14 21:42:32 2011 +0100
1.3 @@ -322,8 +322,15 @@
1.4 int argcount = command.ArgC();
1.5 if (argcount >= 3)
1.6 {
1.7 + bool wantReset = false;
1.8 +
1.9 /* Get plugin index that was passed */
1.10 const char *arg = command.Arg(2);
1.11 + if (argcount >= 4 && strcmp(arg, "reset") == 0)
1.12 + {
1.13 + wantReset = true;
1.14 + arg = command.Arg(3);
1.15 + }
1.16
1.17 /* Get plugin object */
1.18 CPlugin *plugin = g_PluginSys.FindPluginByConsoleArg(arg);
1.19 @@ -348,21 +355,34 @@
1.20 return;
1.21 }
1.22
1.23 - g_RootMenu.ConsolePrint("[SM] Listing %d convars for: %s", pConVarList->size(), plname);
1.24 - g_RootMenu.ConsolePrint(" %-32.31s %s", "[Name]", "[Value]");
1.25 -
1.26 - /* Iterate convar list and display each one */
1.27 + if (!wantReset)
1.28 + {
1.29 + g_RootMenu.ConsolePrint("[SM] Listing %d convars for: %s", pConVarList->size(), plname);
1.30 + g_RootMenu.ConsolePrint(" %-32.31s %s", "[Name]", "[Value]");
1.31 + }
1.32 +
1.33 + /* Iterate convar list and display/reset each one */
1.34 for (iter = pConVarList->begin(); iter != pConVarList->end(); iter++)
1.35 {
1.36 - const ConVar *pConVar = (*iter);
1.37 - g_RootMenu.ConsolePrint(" %-32.31s %s", pConVar->GetName(), pConVar->GetString());
1.38 + /*const */ConVar *pConVar = const_cast<ConVar *>(*iter);
1.39 + if (!wantReset)
1.40 + {
1.41 + g_RootMenu.ConsolePrint(" %-32.31s %s", pConVar->GetName(), pConVar->GetString());
1.42 + } else {
1.43 + pConVar->Revert();
1.44 + }
1.45 + }
1.46 +
1.47 + if (wantReset)
1.48 + {
1.49 + g_RootMenu.ConsolePrint("[SM] Reset %d convars for: %s", pConVarList->size(), plname);
1.50 }
1.51
1.52 return;
1.53 }
1.54
1.55 /* Display usage of subcommand */
1.56 - g_RootMenu.ConsolePrint("[SM] Usage: sm cvars <plugin #>");
1.57 + g_RootMenu.ConsolePrint("[SM] Usage: sm cvars [reset] <plugin #>");
1.58 }
1.59
1.60 Handle_t ConVarManager::CreateConVar(IPluginContext *pContext, const char *name, const char *defaultVal, const char *description, int flags, bool hasMin, float min, bool hasMax, float max)