core/sourcemm_api.h
author Scott Ehlert <ds@alliedmods.net>
Sat Feb 17 05:33:31 2007 +0000 (2007-02-17)
changeset 511 c29f8796bcf4
parent 496 a16c05dcf584
child 530 ab92d2d7bdb8
permissions -rw-r--r--
Initial fixes to ensure static strings passed to new convars
Also fixed minor warning in smn_bitbuffer.cpp
dvander@370
     1
/**
dvander@370
     2
 * ===============================================================
dvander@370
     3
 * SourceMod (C)2004-2007 AlliedModders LLC.  All rights reserved.
dvander@370
     4
 * ===============================================================
dvander@370
     5
 *
dvander@370
     6
 * This file is not open source and may not be copied without explicit
dvander@370
     7
 * written permission of AlliedModders LLC.  This file may not be redistributed 
dvander@370
     8
 * in whole or significant part.
dvander@370
     9
 * For information, see LICENSE.txt or http://www.sourcemod.net/license.php
dvander@370
    10
 *
dvander@370
    11
 * Version: $Id$
dvander@370
    12
 */
dvander@370
    13
dvander@145
    14
#ifndef _INCLUDE_SOURCEMOD_MM_API_H_
dvander@145
    15
#define _INCLUDE_SOURCEMOD_MM_API_H_
dvander@145
    16
ds@457
    17
#include "convar_sm.h"
dvander@145
    18
#include <ISmmPlugin.h>
dvander@209
    19
#include <eiface.h>
ds@457
    20
#include <icvar.h>
dvander@453
    21
#include <igameevents.h>
dvander@145
    22
dvander@162
    23
/**
dvander@162
    24
 * @file Contains wrappers around required Metamod:Source API exports
dvander@162
    25
 */
dvander@162
    26
dvander@145
    27
class SourceMod_Core : public ISmmPlugin
dvander@145
    28
{
dvander@145
    29
public:
dvander@145
    30
	bool Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late);
dvander@145
    31
	bool Unload(char *error, size_t maxlen);
dvander@145
    32
	bool Pause(char *error, size_t maxlen);
dvander@145
    33
	bool Unpause(char *error, size_t maxlen);
dvander@145
    34
	void AllPluginsLoaded();
dvander@145
    35
public:
dvander@145
    36
	const char *GetAuthor();
dvander@145
    37
	const char *GetName();
dvander@145
    38
	const char *GetDescription();
dvander@145
    39
	const char *GetURL();
dvander@145
    40
	const char *GetLicense();
dvander@145
    41
	const char *GetVersion();
dvander@145
    42
	const char *GetDate();
dvander@145
    43
	const char *GetLogTag();
dvander@145
    44
};
dvander@145
    45
dvander@160
    46
extern SourceMod_Core g_SourceMod_Core;
dvander@209
    47
extern IVEngineServer *engine;
dvander@209
    48
extern IServerGameDLL *gamedll;
faluco@226
    49
extern IServerGameClients *serverClients;
ds@457
    50
extern ICvar *icvar;
dvander@304
    51
extern ISmmPluginManager *g_pMMPlugins;
dvander@448
    52
extern CGlobalVars *gpGlobals;
dvander@453
    53
extern IGameEventManager2 *gameevents;
dvander@496
    54
extern SourceHook::CallClass<IVEngineServer> *enginePatch;
dvander@496
    55
dvander@496
    56
#define ENGINE_CALL(func)		SH_CALL(enginePatch, &IVEngineServer::func)
dvander@145
    57
dvander@145
    58
PLUGIN_GLOBALVARS();
dvander@145
    59
dvander@145
    60
#endif //_INCLUDE_SOURCEMOD_MM_API_H_