Added amb<536> requested for using sm_kick without putting quotes around reason.
3 * ===============================================================
4 * SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved.
5 * ===============================================================
7 * This file is not open source and may not be copied without explicit
8 * written permission of AlliedModders LLC. This file may not be redistributed
9 * in whole or significant part.
10 * For information, see LICENSE.txt or http://www.sourcemod.net/license.php
15 #ifndef _INCLUDE_SOURCEMOD_MM_API_H_
16 #define _INCLUDE_SOURCEMOD_MM_API_H_
18 #include "convar_sm.h"
19 #include <ISmmPlugin.h>
21 #include <igameevents.h>
22 #include <iplayerinfo.h>
24 #include <filesystem.h>
25 #include <IEngineSound.h>
28 * @file Contains wrappers around required Metamod:Source API exports
31 class SourceMod_Core :
33 public IMetamodListener
36 bool Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late);
37 bool Unload(char *error, size_t maxlen);
38 bool Pause(char *error, size_t maxlen);
39 bool Unpause(char *error, size_t maxlen);
40 void AllPluginsLoaded();
42 const char *GetAuthor();
43 const char *GetName();
44 const char *GetDescription();
46 const char *GetLicense();
47 const char *GetVersion();
48 const char *GetDate();
49 const char *GetLogTag();
51 void OnVSPListening(IServerPluginCallbacks *iface);
52 #if PLAPI_VERSION >= 12
53 void OnUnlinkConCommandBase(PluginId id, ConCommandBase *pCommand);
55 void OnPluginUnload(PluginId id);
59 extern SourceMod_Core g_SourceMod_Core;
60 extern IVEngineServer *engine;
61 extern IServerGameDLL *gamedll;
62 extern IServerGameClients *serverClients;
64 extern ISmmPluginManager *g_pMMPlugins;
65 extern CGlobalVars *gpGlobals;
66 extern IGameEventManager2 *gameevents;
67 extern SourceHook::CallClass<IVEngineServer> *enginePatch;
68 extern SourceHook::CallClass<IServerGameDLL> *gamedllPatch;
69 extern IUniformRandomStream *engrandom;
70 extern IPlayerInfoManager *playerinfo;
71 extern IBaseFileSystem *basefilesystem;
72 extern IEngineSound *enginesound;
73 extern IServerPluginHelpers *serverpluginhelpers;
75 #define ENGINE_CALL(func) SH_CALL(enginePatch, &IVEngineServer::func)
76 #define SERVER_CALL(func) SH_CALL(gamedllPatch, &IServerGameDLL::func)
80 #endif //_INCLUDE_SOURCEMOD_MM_API_H_