From c614d19af079a1a10cebaac2be2879056e151ea8 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 10 Sep 2015 23:43:52 -0700 Subject: [PATCH] Move sm_dump_admcache to AdminCache. --- bridge/include/BridgeAPI.h | 2 +- bridge/include/LogicProvider.h | 1 - core/logic/AdminCache.cpp | 15 +++++++++++++++ core/logic/common_logic.cpp | 6 ------ core/sm_srvcmds.cpp | 15 --------------- 5 files changed, 16 insertions(+), 23 deletions(-) diff --git a/bridge/include/BridgeAPI.h b/bridge/include/BridgeAPI.h index 3d03fd9c..b8057ac9 100644 --- a/bridge/include/BridgeAPI.h +++ b/bridge/include/BridgeAPI.h @@ -35,7 +35,7 @@ namespace SourceMod { // Add 1 to the RHS of this expression to bump the intercom file // This is to prevent mismatching core/logic binaries -static const uint32_t SM_LOGIC_MAGIC = 0x0F47C0DE - 51; +static const uint32_t SM_LOGIC_MAGIC = 0x0F47C0DE - 52; } // namespace SourceMod diff --git a/bridge/include/LogicProvider.h b/bridge/include/LogicProvider.h index 34f58826..e7574058 100644 --- a/bridge/include/LogicProvider.h +++ b/bridge/include/LogicProvider.h @@ -69,7 +69,6 @@ struct sm_logic_t void (*GenerateError)(IPluginContext *, cell_t, int, const char *, ...); void (*AddNatives)(sp_nativeinfo_t *natives); void (*DumpHandles)(void (*dumpfn)(const char *fmt, ...)); - bool (*DumpAdminCache)(const char *filename); void (*RegisterProfiler)(IProfilingTool *tool); void (*OnRootCommand)(const ICommandArgs *args); IDataPack * (*CreateDataPack)(); diff --git a/core/logic/AdminCache.cpp b/core/logic/AdminCache.cpp index b55b892a..5ae0b02d 100644 --- a/core/logic/AdminCache.cpp +++ b/core/logic/AdminCache.cpp @@ -271,6 +271,21 @@ void AdminCache::OnSourceModStartup(bool late) NameFlag("custom4", Admin_Custom4); NameFlag("custom5", Admin_Custom5); NameFlag("custom6", Admin_Custom6); + + auto sm_dump_admcache = [this] (int client, const ICommandArgs *args) -> bool { + char buffer[PLATFORM_MAX_PATH]; + g_pSM->BuildPath(Path_SM, buffer, sizeof(buffer), "data/admin_cache_dump.txt"); + + if (!DumpCache(buffer)) { + bridge->ConsolePrint("Could not open file for writing: %s", buffer); + return true; + } + + bridge->ConsolePrint("Admin cache dumped to: %s", buffer); + return true; + }; + + bridge->DefineCommand("sm_dump_admcache", "Dumps the admin cache for debugging", sm_dump_admcache); } void AdminCache::OnSourceModAllInitialized() diff --git a/core/logic/common_logic.cpp b/core/logic/common_logic.cpp index 5f3c6a8f..675dd49e 100644 --- a/core/logic/common_logic.cpp +++ b/core/logic/common_logic.cpp @@ -114,11 +114,6 @@ static void DumpHandles(void (*dumpfn)(const char *fmt, ...)) g_HandleSys.Dump(dumpfn); } -static bool DumpAdminCache(const char *filename) -{ - return g_Admins.DumpCache(filename); -} - static void RegisterProfiler(IProfilingTool *tool) { g_ProfileToolManager.RegisterTool(tool); @@ -160,7 +155,6 @@ static sm_logic_t logic = GenerateError, AddNatives, DumpHandles, - DumpAdminCache, RegisterProfiler, OnRootCommand, CDataPack::New, diff --git a/core/sm_srvcmds.cpp b/core/sm_srvcmds.cpp index c3d01f49..74410aa1 100644 --- a/core/sm_srvcmds.cpp +++ b/core/sm_srvcmds.cpp @@ -139,18 +139,3 @@ CON_COMMAND(sm_reload_translations, "Reparses all loaded translation files") { translator->RebuildLanguageDatabase(); } - -CON_COMMAND(sm_dump_admcache, "Dumps the admin cache for debugging") -{ - char buffer[PLATFORM_MAX_PATH]; - g_SourceMod.BuildPath(Path_SM, buffer, sizeof(buffer), "data/admin_cache_dump.txt"); - - if (!logicore.DumpAdminCache(buffer)) - { - UTIL_ConsolePrint("Could not open file for writing: %s", buffer); - return; - } - - UTIL_ConsolePrint("Admin cache dumped to: %s", buffer); -} -