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)