added a forward that helps prevent against race conditions in map config plugins
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402162
This commit is contained in:
parent
47fa9d9464
commit
40e0857a29
@ -49,6 +49,7 @@ ConVar sm_corecfgfile("sm_corecfgfile", "addons/sourcemod/configs/core.cfg", 0,
|
||||
|
||||
IForward *g_pOnServerCfg = NULL;
|
||||
IForward *g_pOnConfigsExecuted = NULL;
|
||||
IForward *g_pOnAutoConfigsBuffered = NULL;
|
||||
CoreConfig g_CoreConfig;
|
||||
bool g_bConfigsExecd = false;
|
||||
|
||||
@ -57,6 +58,7 @@ void CoreConfig::OnSourceModAllInitialized()
|
||||
g_RootMenu.AddRootConsoleCommand("config", "Set core configuration options", this);
|
||||
g_pOnServerCfg = g_Forwards.CreateForward("OnServerCfg", ET_Ignore, 0, NULL);
|
||||
g_pOnConfigsExecuted = g_Forwards.CreateForward("OnConfigsExecuted", ET_Ignore, 0, NULL);
|
||||
g_pOnAutoConfigsBuffered = g_Forwards.CreateForward("OnAutoConfigsBuffered", ET_Ignore, 0, NULL);
|
||||
}
|
||||
|
||||
void CoreConfig::OnSourceModShutdown()
|
||||
@ -64,6 +66,7 @@ void CoreConfig::OnSourceModShutdown()
|
||||
g_RootMenu.RemoveRootConsoleCommand("config", this);
|
||||
g_Forwards.ReleaseForward(g_pOnServerCfg);
|
||||
g_Forwards.ReleaseForward(g_pOnConfigsExecuted);
|
||||
g_Forwards.ReleaseForward(g_pOnAutoConfigsBuffered);
|
||||
}
|
||||
|
||||
void CoreConfig::OnSourceModLevelChange(const char *mapName)
|
||||
@ -403,6 +406,8 @@ void SM_ExecuteAllConfigs()
|
||||
}
|
||||
iter->Release();
|
||||
|
||||
g_pOnAutoConfigsBuffered->Execute(NULL);
|
||||
|
||||
engine->ServerCommand("sm internal 1\n");
|
||||
}
|
||||
|
||||
|
@ -168,6 +168,23 @@ forward OnMapEnd();
|
||||
*/
|
||||
forward OnConfigsExecuted();
|
||||
|
||||
/**
|
||||
* This is called once, right after OnMapStart() but any time before
|
||||
* OnConfigsExecuted(). It is called after the "exec sourcemod.cfg"
|
||||
* command and all AutoExecConfig() exec commands have been added to
|
||||
* the ServerCommand() buffer.
|
||||
*
|
||||
* If you need to load per-map settings that override default values,
|
||||
* adding commands to the ServerCommand() buffer here will guarantee
|
||||
* that they're set before OnConfigsExecuted().
|
||||
*
|
||||
* Unlike OnMapStart() and OnConfigsExecuted(), this is not called on
|
||||
* late loads that occur after OnMapStart().
|
||||
*
|
||||
* @noreturn
|
||||
*/
|
||||
forward OnAutoConfigsBuffered();
|
||||
|
||||
/**
|
||||
* @deprecated Use OnConfigsExecuted() instead.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user