bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late) { PLUGIN_SAVEVARS(); #if !defined METAMOD_PLAPI_VERSION GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #else GET_V_IFACE_ANY(GetServerFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #endif m_SourceMMLoaded = true; return SDK_OnMetamodLoad(ismm, error, maxlen, late); }
bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late) { PLUGIN_SAVEVARS(); #if defined METAMOD_PLAPI_VERSION GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #else GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #endif GET_V_IFACE_ANY(engineFactory, events, IGameEventManager, INTERFACEVERSION_GAMEEVENTSMANAGER); GET_V_IFACE_ANY(serverFactory, playerinfo, IPlayerInfoManager, INTERFACEVERSION_PLAYERINFOMANAGER); GET_V_IFACE_CURRENT(engineFactory, icvar, ICvar, VENGINE_CVAR_INTERFACE_VERSION); GET_V_IFACE_ANY(serverFactory, serverents, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS); GET_V_IFACE_ANY(serverFactory, serverclients, IServerGameClients, INTERFACEVERSION_SERVERGAMECLIENTS); m_SourceMMLoaded = true; return SDK_OnMetamodLoad(ismm, error, maxlen, late); }
bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late) { PLUGIN_SAVEVARS(); #ifndef META_NO_HL2SDK #if !defined METAMOD_PLAPI_VERSION GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #else GET_V_IFACE_ANY(GetServerFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); #if SOURCE_ENGINE == SE_TF2 || SOURCE_ENGINE == SE_CSS || SOURCE_ENGINE == SE_DODS || SOURCE_ENGINE == SE_HL2DM || SOURCE_ENGINE == SE_SDK2013 // Shim to avoid hooking shims engine = (IVEngineServer *) ismm->GetEngineFactory()("VEngineServer023", nullptr); if (!engine) { engine = (IVEngineServer *) ismm->GetEngineFactory()("VEngineServer022", nullptr); if (!engine) { engine = (IVEngineServer *) ismm->GetEngineFactory()("VEngineServer021", nullptr); if (!engine) { if (error && maxlen) { ismm->Format(error, maxlen, "Could not find interface: VEngineServer023 or VEngineServer022"); } return false; } } } #else GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); #endif // TF2 / CSS / DODS / HL2DM / SDK2013 #endif // !METAMOD_PLAPI_VERSION #endif //META_NO_HL2SDK m_SourceMMLoaded = true; return SDK_OnMetamodLoad(ismm, error, maxlen, late); }