core/CoreConfig.cpp
changeset 3872 4c93f74cae51
parent 3819 d17aed3d46bf
child 3881 7ec742e7d629
     1.1 --- a/core/CoreConfig.cpp	Fri Mar 29 12:28:02 2013 -0400
     1.2 +++ b/core/CoreConfig.cpp	Fri Mar 29 11:37:29 2013 -0700
     1.3 @@ -38,9 +38,9 @@
     1.4  #include "sm_stringutil.h"
     1.5  #include "LibrarySys.h"
     1.6  #include "Logger.h"
     1.7 -#include "PluginSys.h"
     1.8  #include "ForwardSys.h"
     1.9  #include "frame_hooks.h"
    1.10 +#include "logic_bridge.h"
    1.11  
    1.12  #ifdef PLATFORM_WINDOWS
    1.13  ConVar sm_corecfgfile("sm_corecfgfile", "addons\\sourcemod\\configs\\core.cfg", 0, "SourceMod core configuration file");
    1.14 @@ -321,7 +321,7 @@
    1.15  #endif
    1.16  }
    1.17  
    1.18 -bool SM_ExecuteConfig(CPlugin *pl, AutoConfig *cfg, bool can_create)
    1.19 +bool SM_ExecuteConfig(IPlugin *pl, AutoConfig *cfg, bool can_create)
    1.20  {
    1.21  	bool will_create = false;
    1.22  	
    1.23 @@ -500,10 +500,10 @@
    1.24  
    1.25  void SM_ConfigsExecuted_Plugin(unsigned int serial)
    1.26  {
    1.27 -	IPluginIterator *iter = g_PluginSys.GetPluginIterator();
    1.28 +	IPluginIterator *iter = scripts->GetPluginIterator();
    1.29  	while (iter->MorePlugins())
    1.30  	{
    1.31 -		CPlugin *plugin = (CPlugin *)(iter->GetPlugin());
    1.32 +		IPlugin *plugin = iter->GetPlugin();
    1.33  		if (plugin->GetSerial() == serial)
    1.34  		{
    1.35  			SM_DoSingleExecFwds(plugin->GetBaseContext());
    1.36 @@ -516,7 +516,7 @@
    1.37  
    1.38  void SM_ExecuteForPlugin(IPluginContext *ctx)
    1.39  {
    1.40 -	CPlugin *plugin = (CPlugin *)g_PluginSys.GetPluginByCtx(ctx->GetContext());
    1.41 +	SMPlugin *plugin = scripts->FindPluginByContext(ctx->GetContext());
    1.42  
    1.43  	unsigned int num = plugin->GetConfigCount();
    1.44  	if (!num)
    1.45 @@ -545,19 +545,18 @@
    1.46  
    1.47  	engine->ServerCommand("exec sourcemod/sourcemod.cfg\n");
    1.48  
    1.49 -	IPluginIterator *iter = g_PluginSys.GetPluginIterator();
    1.50 -	while (iter->MorePlugins())
    1.51 +	CVector<SMPlugin *> plugins;
    1.52 +	scripts->ListPlugins(&plugins);
    1.53 +	for (size_t i = 0; i < plugins.size(); i++)
    1.54  	{
    1.55 -		CPlugin *plugin = (CPlugin *)(iter->GetPlugin());
    1.56 +		SMPlugin *plugin = plugins[i];
    1.57  		unsigned int num = plugin->GetConfigCount();
    1.58  		bool can_create = true;
    1.59  		for (unsigned int i=0; i<num; i++)
    1.60  		{
    1.61  			can_create = SM_ExecuteConfig(plugin, plugin->GetConfig(i), can_create);
    1.62  		}
    1.63 -		iter->NextPlugin();
    1.64  	}
    1.65 -	iter->Release();
    1.66  
    1.67  	g_bGotServerStart = true;
    1.68  	CheckAndFinalizeConfigs();