extensions/sdktools/extension.cpp
changeset 1560 83d5d567af27
parent 1498 e7eb59f70ff6
child 1574 efabd78be3a7
     1.1 --- a/extensions/sdktools/extension.cpp	Sun Oct 14 21:51:30 2007 +0000
     1.2 +++ b/extensions/sdktools/extension.cpp	Sun Oct 14 22:12:46 2007 +0000
     1.3 @@ -36,6 +36,12 @@
     1.4  #include "vglobals.h"
     1.5  #include "tempents.h"
     1.6  
     1.7 +#if defined ORANGEBOX_BUILD
     1.8 +	#define SDKTOOLS_GAME_FILE		"sdktools.games.ep2.txt"
     1.9 +#else
    1.10 +	#define SDKTOOLS_GAME_FILE		"sdktools.games"
    1.11 +#endif
    1.12 +
    1.13  /**
    1.14   * @file extension.cpp
    1.15   * @brief Implements SDK Tools extension code.
    1.16 @@ -55,6 +61,7 @@
    1.17  IServerGameClients *serverClients = NULL;
    1.18  IVoiceServer *voiceserver = NULL;
    1.19  IPlayerInfoManager *playerinfomngr = NULL;
    1.20 +ICvar *icvar = NULL;
    1.21  HandleType_t g_CallHandle = 0;
    1.22  HandleType_t g_TraceHandle = 0;
    1.23  
    1.24 @@ -81,7 +88,7 @@
    1.25  
    1.26  	SM_GET_IFACE(GAMEHELPERS, g_pGameHelpers);
    1.27  
    1.28 -	if (!gameconfs->LoadGameConfigFile("sdktools.games", &g_pGameConf, error, maxlength))
    1.29 +	if (!gameconfs->LoadGameConfigFile(SDKTOOLS_GAME_FILE, &g_pGameConf, error, maxlength))
    1.30  	{
    1.31  		return false;
    1.32  	}
    1.33 @@ -90,7 +97,10 @@
    1.34  	g_CallHandle = handlesys->CreateType("ValveCall", this, 0, NULL, NULL, myself->GetIdentity(), NULL);
    1.35  	g_TraceHandle = handlesys->CreateType("TraceRay", this, 0, NULL, NULL, myself->GetIdentity(), NULL);
    1.36  
    1.37 -	ConCommandBaseMgr::OneTimeInit(this);
    1.38 +#if defined ORANGEBOX_BUILD
    1.39 +	g_pCVar = icvar;
    1.40 +#endif
    1.41 +	CONVAR_REGISTER(this);
    1.42  
    1.43  	SH_ADD_HOOK_MEMFUNC(IServerGameDLL, LevelInit, gamedll, this, &SDKTools::LevelInit, true);
    1.44  
    1.45 @@ -111,7 +121,7 @@
    1.46  
    1.47  void SDKTools::SDK_OnUnload()
    1.48  {
    1.49 -	List<ValveCall *>::iterator iter;
    1.50 +	SourceHook::List<ValveCall *>::iterator iter;
    1.51  	for (iter = g_RegCalls.begin();
    1.52  		 iter != g_RegCalls.end();
    1.53  		 iter++)
    1.54 @@ -138,14 +148,15 @@
    1.55  
    1.56  bool SDKTools::SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlen, bool late)
    1.57  {
    1.58 -	GET_V_IFACE_ANY(serverFactory, gameents, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS);
    1.59 -	GET_V_IFACE_ANY(engineFactory, engsound, IEngineSound, IENGINESOUND_SERVER_INTERFACE_VERSION);
    1.60 -	GET_V_IFACE_ANY(engineFactory, enginetrace, IEngineTrace, INTERFACEVERSION_ENGINETRACE_SERVER);
    1.61 -	GET_V_IFACE_ANY(engineFactory, netstringtables, INetworkStringTableContainer, INTERFACENAME_NETWORKSTRINGTABLESERVER);
    1.62 -	GET_V_IFACE_ANY(engineFactory, pluginhelpers, IServerPluginHelpers, INTERFACEVERSION_ISERVERPLUGINHELPERS);
    1.63 -	GET_V_IFACE_ANY(serverFactory, serverClients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS);
    1.64 -	GET_V_IFACE_ANY(engineFactory, voiceserver, IVoiceServer, INTERFACEVERSION_VOICESERVER);
    1.65 -	GET_V_IFACE_ANY(serverFactory, playerinfomngr, IPlayerInfoManager, INTERFACEVERSION_PLAYERINFOMANAGER);
    1.66 +	GET_V_IFACE_ANY(GetServerFactory, gameents, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS);
    1.67 +	GET_V_IFACE_ANY(GetEngineFactory, engsound, IEngineSound, IENGINESOUND_SERVER_INTERFACE_VERSION);
    1.68 +	GET_V_IFACE_ANY(GetEngineFactory, enginetrace, IEngineTrace, INTERFACEVERSION_ENGINETRACE_SERVER);
    1.69 +	GET_V_IFACE_ANY(GetEngineFactory, netstringtables, INetworkStringTableContainer, INTERFACENAME_NETWORKSTRINGTABLESERVER);
    1.70 +	GET_V_IFACE_ANY(GetEngineFactory, pluginhelpers, IServerPluginHelpers, INTERFACEVERSION_ISERVERPLUGINHELPERS);
    1.71 +	GET_V_IFACE_ANY(GetServerFactory, serverClients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS);
    1.72 +	GET_V_IFACE_ANY(GetEngineFactory, voiceserver, IVoiceServer, INTERFACEVERSION_VOICESERVER);
    1.73 +	GET_V_IFACE_ANY(GetServerFactory, playerinfomngr, IPlayerInfoManager, INTERFACEVERSION_PLAYERINFOMANAGER);
    1.74 +	GET_V_IFACE_CURRENT(GetEngineFactory, icvar, ICvar, CVAR_INTERFACE_VERSION);
    1.75  
    1.76  	return true;
    1.77  }
    1.78 @@ -178,7 +189,7 @@
    1.79  
    1.80  void SDKTools::NotifyInterfaceDrop(SMInterface *pInterface)
    1.81  {
    1.82 -	List<ValveCall *>::iterator iter;
    1.83 +	SourceHook::List<ValveCall *>::iterator iter;
    1.84  	for (iter = g_RegCalls.begin();
    1.85  		iter != g_RegCalls.end();
    1.86  		iter++)
    1.87 @@ -200,7 +211,11 @@
    1.88  
    1.89  bool SDKTools::RegisterConCommandBase(ConCommandBase *pVar)
    1.90  {
    1.91 +#if defined METAMOD_PLAPI_VERSION
    1.92 +	return g_SMAPI->RegisterConCommandBase(g_PLAPI, pVar);
    1.93 +#else
    1.94  	return g_SMAPI->RegisterConCmdBase(g_PLAPI, pVar);
    1.95 +#endif
    1.96  }
    1.97  
    1.98  bool SDKTools::LevelInit(char const *pMapName, char const *pMapEntities, char const *pOldLevel, char const *pLandmarkName, bool loadGame, bool background)