2 #include "sourcemm_api.h"
3 #include "sm_version.h"
6 SourceMod_Core g_SourceMod_Core;
7 IVEngineServer *engine = NULL;
8 IServerGameDLL *gamedll = NULL;
9 IServerGameClients *serverClients = NULL;
10 ISmmPluginManager *g_pMMPlugins = NULL;
12 PLUGIN_EXPOSE(SourceMod, g_SourceMod_Core);
14 bool SourceMod_Core::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late)
18 GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
19 GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
20 GET_V_IFACE_CURRENT(serverFactory, serverClients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS);
22 if ((g_pMMPlugins = (ISmmPluginManager *)g_SMAPI->MetaFactory(MMIFACE_PLMANAGER, NULL, NULL)) == NULL)
26 snprintf(error, maxlen, "Unable to find interface %s", MMIFACE_PLMANAGER);
31 return g_SourceMod.InitializeSourceMod(error, maxlen, late);
34 bool SourceMod_Core::Unload(char *error, size_t maxlen)
36 g_SourceMod.CloseSourceMod();
40 bool SourceMod_Core::Pause(char *error, size_t maxlen)
45 bool SourceMod_Core::Unpause(char *error, size_t maxlen)
50 void SourceMod_Core::AllPluginsLoaded()
54 const char *SourceMod_Core::GetAuthor()
56 return "AlliedModders, LLC";
59 const char *SourceMod_Core::GetName()
64 const char *SourceMod_Core::GetDescription()
66 return "Extensible administration and scripting system";
69 const char *SourceMod_Core::GetURL()
71 return "http://www.sourcemod.net/";
74 const char *SourceMod_Core::GetLicense()
76 return "See LICENSE.txt";
79 const char *SourceMod_Core::GetVersion()
81 return SOURCEMOD_VERSION;
84 const char *SourceMod_Core::GetDate()
89 const char *SourceMod_Core::GetLogTag()