ds@661: /** ds@661: * vim: set ts=4 : ds@661: * =============================================================== ds@661: * SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved. ds@661: * =============================================================== ds@661: * ds@661: * This file is not open source and may not be copied without explicit ds@661: * written permission of AlliedModders LLC. This file may not be redistributed ds@661: * in whole or significant part. ds@661: * For information, see LICENSE.txt or http://www.sourcemod.net/license.php ds@661: * ds@661: * Version: $Id$ ds@661: */ ds@661: ds@661: #include "CoreConfig.h" ds@661: #include "sourcemod.h" ds@661: #include "sourcemm_api.h" ds@661: #include "sm_srvcmds.h" ds@661: #include "LibrarySys.h" ds@661: #include "TextParsers.h" ds@661: #include "Logger.h" ds@661: ds@661: #ifdef PLATFORM_WINDOWS ds@661: ConVar sm_corecfgfile("sm_corecfgfile", "addons\\sourcemod\\configs\\core.cfg", 0, "SourceMod core configuration file"); dvander@663: #elif defined PLATFORM_LINUX ds@661: ConVar sm_corecfgfile("sm_corecfgfile", "addons/sourcemod/configs/core.cfg", 0, "SourceMod core configuration file"); ds@661: #endif ds@661: ds@661: CoreConfig g_CoreConfig; ds@661: ds@661: void CoreConfig::OnSourceModAllInitialized() ds@661: { ds@661: g_RootMenu.AddRootConsoleCommand("config", "Set core configuration options", this); ds@661: } ds@661: ds@661: void CoreConfig::OnSourceModShutdown() ds@661: { ds@661: g_RootMenu.RemoveRootConsoleCommand("config", this); ds@661: } ds@661: ds@661: void CoreConfig::OnRootConsoleCommand(const char *command, unsigned int argcount) ds@661: { ds@661: if (argcount >= 4) ds@661: { ds@661: const char *option = engine->Cmd_Argv(2); ds@661: const char *value = engine->Cmd_Argv(3); ds@661: dvander@663: char error[255]; ds@661: ds@669: ConfigResult res = SetConfigOption(option, value, ConfigSource_Console, error, sizeof(error)); dvander@663: ds@669: if (res == ConfigResult_Reject) ds@661: { ds@669: g_RootMenu.ConsolePrint("[SM] Could not set config option \"%s\" to \"%s\" (%s)", option, value, error); ds@669: } else if (res == ConfigResult_Ignore) { ds@669: g_RootMenu.ConsolePrint("[SM] No such config option \"%s\" exists.", option); dvander@665: } else { dvander@665: g_RootMenu.ConsolePrint("Config option \"%s\" successfully set to \"%s.\"", option, value); ds@661: } ds@661: ds@661: return; ds@661: } ds@661: ds@661: g_RootMenu.ConsolePrint("[SM] Usage: sm config