Moved sm_memtable files in sqlite extension to sdk directory (to be consistent with topmenus) Some extension source files had an incorrect extension name in their headers --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402037
		
			
				
	
	
		
			145 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /**
 | |
|  * vim: set ts=4 :
 | |
|  * ======================================================
 | |
|  * Metamod:Source Stub Plugin
 | |
|  * Written by AlliedModders LLC.
 | |
|  * ======================================================
 | |
|  *
 | |
|  * This software is provided 'as-is', without any express or implied warranty.
 | |
|  * In no event will the authors be held liable for any damages arising from 
 | |
|  * the use of this software.
 | |
|  *
 | |
|  * This stub plugin is public domain.
 | |
|  *
 | |
|  * Version: $Id$
 | |
|  */
 | |
| 
 | |
| #include <stdio.h>
 | |
| #include "stub_mm.h"
 | |
| #include "stub_util.h"
 | |
| #include "sm_ext.h"
 | |
| 
 | |
| SH_DECL_HOOK3_void(IServerGameDLL, ServerActivate, SH_NOATTRIB, 0, edict_t *, int, int);
 | |
| 
 | |
| StubPlugin g_StubPlugin;
 | |
| IVEngineServer *engine = NULL;
 | |
| IServerGameDLL *server = NULL;
 | |
| ISmmPlugin *mmsplugin = &g_StubPlugin;
 | |
| 
 | |
| PLUGIN_EXPOSE(StubPlugin, g_StubPlugin);
 | |
| bool StubPlugin::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late)
 | |
| {
 | |
| 	PLUGIN_SAVEVARS();
 | |
| 
 | |
| #if defined METAMOD_PLAPI_VERSION
 | |
| 	GET_V_IFACE_ANY(GetServerFactory, server, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
 | |
| 	GET_V_IFACE_ANY(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
 | |
| #else
 | |
| 	GET_V_IFACE_ANY(serverFactory, server, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
 | |
| 	GET_V_IFACE_ANY(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
 | |
| #endif
 | |
| 
 | |
| 	SH_ADD_HOOK_STATICFUNC(IServerGameDLL, ServerActivate, server, Hook_ServerActivate, true);
 | |
| 
 | |
| 	ismm->AddListener(this, this);
 | |
| 
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| bool StubPlugin::Unload(char *error, size_t maxlen)
 | |
| {
 | |
| 	SM_UnloadExtension();
 | |
| 
 | |
| 	SH_REMOVE_HOOK_STATICFUNC(IServerGameDLL, ServerActivate, server, Hook_ServerActivate, true);
 | |
| 
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| void Hook_ServerActivate(edict_t *pEdictList, int edictCount, int clientMax)
 | |
| {
 | |
| 	META_LOG(g_PLAPI, "ServerActivate() called: edictCount = %d, clientMax = %d", edictCount, clientMax);
 | |
| }
 | |
| 
 | |
| void *StubPlugin::OnMetamodQuery(const char *iface, int *ret)
 | |
| {
 | |
| 	if (strcmp(iface, SOURCEMOD_NOTICE_EXTENSIONS) == 0)
 | |
| 	{
 | |
| 		BindToSourcemod();
 | |
| 	}
 | |
| 
 | |
| 	if (ret != NULL)
 | |
| 	{
 | |
| 		*ret = IFACE_OK;
 | |
| 	}
 | |
| 
 | |
| 	return NULL;
 | |
| }
 | |
| 
 | |
| void StubPlugin::AllPluginsLoaded()
 | |
| {
 | |
| 	BindToSourcemod();
 | |
| }
 | |
| 
 | |
| void StubPlugin::BindToSourcemod()
 | |
| {
 | |
| 	char error[256];
 | |
| 
 | |
| 	if (!SM_LoadExtension(error, sizeof(error)))
 | |
| 	{
 | |
| 		char message[512];
 | |
| 		UTIL_Format(message, sizeof(message), "Could not load as a SourceMod extension: %s\n", error);
 | |
| 		engine->LogPrint(message);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| bool StubPlugin::Pause(char *error, size_t maxlen)
 | |
| {
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| bool StubPlugin::Unpause(char *error, size_t maxlen)
 | |
| {
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetLicense()
 | |
| {
 | |
| 	return "Public Domain";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetVersion()
 | |
| {
 | |
| 	return "1.0.0.0";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetDate()
 | |
| {
 | |
| 	return __DATE__;
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetLogTag()
 | |
| {
 | |
| 	return "STUB";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetAuthor()
 | |
| {
 | |
| 	return "AlliedModders LLC";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetDescription()
 | |
| {
 | |
| 	return "Sample empty plugin";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetName()
 | |
| {
 | |
| 	return "Stub Plugin";
 | |
| }
 | |
| 
 | |
| const char *StubPlugin::GetURL()
 | |
| {
 | |
| 	return "http://www.sourcemm.net/";
 | |
| }
 | |
| 
 |