Skip to content

Commit a887e2a

Browse files
committed
decouple base module from toggle
1 parent 017abb8 commit a887e2a

File tree

2 files changed

+34
-36
lines changed

2 files changed

+34
-36
lines changed

src/game/server/admin/base_serveradmin.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,16 +175,17 @@ extern AdminCommandFunction FindAdminCommand(const char* cmd);
175175
extern bool IsCommandAllowed(const char* cmd, bool isServerConsole, CBasePlayer* pAdmin);
176176
extern void PrintCommandHelpStrings(bool isServerConsole, CBasePlayer* pAdmin);
177177

178+
// convars should use this callback to function!!!
178179
extern void ToggleModule_ChangeCallback(IConVar* pConVar, char const* pOldString, float flOldValue);
179180

180-
#define CONVAR_MODULE_TOGGLE(name, defaultVal, flags, helpString) \
181-
ConVar moduleToggle(name, defaultVal, flags, helpString, ToggleModule_ChangeCallback);
181+
#define REGISTER_ADMIN_COMMAND(moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func) \
182+
BaseAdmin()->AddCommand(new CommandEntry{ moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func });
182183

183-
#define REGISTER_ADMIN_COMMAND(toggleCvarName, moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func) \
184-
{ConVarRef toggleCvar( toggleCvarName ); \
185-
if (toggleCvar.GetBool()) \
186-
{ \
187-
BaseAdmin()->AddCommand(new CommandEntry{ moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func }); \
184+
#define REGISTER_ADMIN_COMMAND_TOGGLE(toggleCvarName, moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func) \
185+
{ConVarRef toggleCvar( toggleCvarName ); \
186+
if (toggleCvar.GetBool()) \
187+
{ \
188+
REGISTER_ADMIN_COMMAND(moduleName, chatName, commandName, usesArguments, consoleText, helpString, flags, func); \
188189
}}
189190
#endif
190191

src/game/server/admin/command/serveradmin_command_base.h

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2503,38 +2503,35 @@ static void AdminCommand(const CCommand& args)
25032503
ConCommand sa("sa", AdminCommand, "Admin menu.", FCVAR_SERVER_CAN_EXECUTE | FCVAR_CLIENTCMD_CAN_EXECUTE);
25042504

25052505
#define COMMAND_MODULE_NAME "Base Commands"
2506-
#define COMMAND_TOGGLE_CVAR "sa_toggle_base"
2507-
2508-
CONVAR_MODULE_TOGGLE(COMMAND_TOGGLE_CVAR, "1", FCVAR_NOTIFY, "Toggles the Base command module.");
25092506

25102507
static void LoadBaseCommandModule()
25112508
{
2512-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "say", "sa say", true, NULL, "<message> -> Sends an admin formatted message to all players in the chat", "j", AdminSay);
2513-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "csay", "sa csay", true, NULL, "<message> -> Sends a centered message to all players", "j", AdminCSay );
2514-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "chat", "sa chat", true, NULL, "<message> -> Sends a chat message to connected admins only", "j", AdminChat );
2515-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "psay", "sa psay", true, NULL, "<name|#userID> <message> -> Sends a private message to a player", "j", AdminPSay );
2516-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "ban", "sa ban", true, NULL, "<name|#userID> <time> [reason] -> Ban a player", "d", BanPlayerCommand );
2517-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "kick", "sa kick", true, NULL, "<name|#userID> [reason] -> Kick a player", "c", KickPlayerCommand );
2518-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "addban", "sa addban", true, NULL, "<time> <SteamID3> [reason] -> Add a manual ban to banned_user.cfg", "m", AddBanCommand );
2519-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "unban", "sa unban", true, NULL, "<SteamID3> -> Remove a banned SteamID from banned_user.cfg", "e", UnbanPlayerCommand );
2520-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "slay", "sa slay", true, NULL, "<name|#userID> -> Slay a player", "f", SlayPlayerCommand );
2521-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "slap", "sa slap", true, NULL, "<name|#userID> [amount] -> Slap a player with damage if defined", "f", SlapPlayerCommand );
2522-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "gag", "sa gag", true, NULL, "<name|#userID> -> Gag a player", "j", GagPlayerCommand );
2523-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "ungag", "sa ungag", true, NULL, "<name|#userID> -> Ungag a player", "j", UnGagPlayerCommand );
2524-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "mute", "sa mute", true, NULL, "<name|#userID> -> Mute a player", "j", MutePlayerCommand );
2525-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "unmute", "sa unmute", true, NULL, "<name|#userID> -> Unmute a player", "j", UnMutePlayerCommand );
2526-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "team", "sa team", true, NULL, "<name|#userID> <team index> -> Move a player to another team", "f", TeamPlayerCommand );
2527-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "bring", "sa bring", true, NULL, "<name|#userID> -> Teleport a player to where an admin is aiming", "f", BringPlayerCommand );
2528-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "goto", "sa goto", true, NULL, "<name|#userID> -> Teleport yourself to a player", "f", GotoPlayerCommand );
2529-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "map", "sa map", true, NULL, "<map name> -> Change the map", "g", MapCommand );
2530-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "noclip", "sa noclip", true, NULL, "<name|#userID> -> Toggle noclip mode for a player", "f", NoClipPlayerCommand );
2531-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "cvar", "sa cvar", true, NULL, "<cvar name> [new value|reset] -> Modify or reset any cvar's value", "h", CVarCommand );
2532-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "exec", "sa exec", true, NULL, "<filename> -> Executes a configuration file", "i", ExecFileCommand );
2533-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "rcon", "sa rcon", true, NULL, "<command> [value] -> Send a command as if it was written in the server console", "m", RconCommand );
2534-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "reloadadmins", "sa reloadadmins", false, NULL, "-> Refresh the admin cache", "i", ReloadAdminsCommand );
2535-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "help", "sa help", false, "Check your console for output.\n", "-> Provide instructions on how to use the admin interface", "b", HelpPlayerCommand );
2536-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "version", "sa version", false, "Check your console for output.\n", "-> Display version", "a", VersionCommand );
2537-
REGISTER_ADMIN_COMMAND(COMMAND_TOGGLE_CVAR, COMMAND_MODULE_NAME, "sa", "sa", false, "Check your console for output.\n", "-> List commands", "a", NULL );
2509+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "say", "sa say", true, NULL, "<message> -> Sends an admin formatted message to all players in the chat", "j", AdminSay);
2510+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "csay", "sa csay", true, NULL, "<message> -> Sends a centered message to all players", "j", AdminCSay );
2511+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "chat", "sa chat", true, NULL, "<message> -> Sends a chat message to connected admins only", "j", AdminChat );
2512+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "psay", "sa psay", true, NULL, "<name|#userID> <message> -> Sends a private message to a player", "j", AdminPSay );
2513+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "ban", "sa ban", true, NULL, "<name|#userID> <time> [reason] -> Ban a player", "d", BanPlayerCommand );
2514+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "kick", "sa kick", true, NULL, "<name|#userID> [reason] -> Kick a player", "c", KickPlayerCommand );
2515+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "addban", "sa addban", true, NULL, "<time> <SteamID3> [reason] -> Add a manual ban to banned_user.cfg", "m", AddBanCommand );
2516+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "unban", "sa unban", true, NULL, "<SteamID3> -> Remove a banned SteamID from banned_user.cfg", "e", UnbanPlayerCommand );
2517+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "slay", "sa slay", true, NULL, "<name|#userID> -> Slay a player", "f", SlayPlayerCommand );
2518+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "slap", "sa slap", true, NULL, "<name|#userID> [amount] -> Slap a player with damage if defined", "f", SlapPlayerCommand );
2519+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "gag", "sa gag", true, NULL, "<name|#userID> -> Gag a player", "j", GagPlayerCommand );
2520+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "ungag", "sa ungag", true, NULL, "<name|#userID> -> Ungag a player", "j", UnGagPlayerCommand );
2521+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "mute", "sa mute", true, NULL, "<name|#userID> -> Mute a player", "j", MutePlayerCommand );
2522+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "unmute", "sa unmute", true, NULL, "<name|#userID> -> Unmute a player", "j", UnMutePlayerCommand );
2523+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "team", "sa team", true, NULL, "<name|#userID> <team index> -> Move a player to another team", "f", TeamPlayerCommand );
2524+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "bring", "sa bring", true, NULL, "<name|#userID> -> Teleport a player to where an admin is aiming", "f", BringPlayerCommand );
2525+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "goto", "sa goto", true, NULL, "<name|#userID> -> Teleport yourself to a player", "f", GotoPlayerCommand );
2526+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "map", "sa map", true, NULL, "<map name> -> Change the map", "g", MapCommand );
2527+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "noclip", "sa noclip", true, NULL, "<name|#userID> -> Toggle noclip mode for a player", "f", NoClipPlayerCommand );
2528+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "cvar", "sa cvar", true, NULL, "<cvar name> [new value|reset] -> Modify or reset any cvar's value", "h", CVarCommand );
2529+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "exec", "sa exec", true, NULL, "<filename> -> Executes a configuration file", "i", ExecFileCommand );
2530+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "rcon", "sa rcon", true, NULL, "<command> [value] -> Send a command as if it was written in the server console", "m", RconCommand );
2531+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "reloadadmins", "sa reloadadmins", false, NULL, "-> Refresh the admin cache", "i", ReloadAdminsCommand );
2532+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "help", "sa help", false, "Check your console for output.\n", "-> Provide instructions on how to use the admin interface", "b", HelpPlayerCommand );
2533+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "version", "sa version", false, "Check your console for output.\n", "-> Display version", "a", VersionCommand );
2534+
REGISTER_ADMIN_COMMAND(COMMAND_MODULE_NAME, "sa", "sa", false, "Check your console for output.\n", "-> List commands", "a", NULL );
25382535
}
25392536

25402537
#endif

0 commit comments

Comments
 (0)