core/sourcemm_api.cpp
author Borja Ferrer <faluco@alliedmods.net>
Sat Dec 16 02:16:21 2006 +0000 (2006-12-16)
changeset 216 38b1bdbc5bc9
parent 209 fae1894d884c
child 226 4663ea3fc2d3
permissions -rw-r--r--
Added initial console commands for plugins
fixed crash in plugin destructor
fixed compilation not being freed causing a crash
fixed small issues in plugin system
fixed plugin iterator not being reseted when freed and not being initialized it's current pointer.
fixed a bug where insertion of a prefixed string would not check whether a value could be set.
dvander@145
     1
#include <oslink.h>
dvander@145
     2
#include "sourcemm_api.h"
dvander@145
     3
#include "sm_version.h"
dvander@160
     4
#include "sourcemod.h"
dvander@145
     5
dvander@160
     6
SourceMod_Core g_SourceMod_Core;
dvander@209
     7
IVEngineServer *engine = NULL;
dvander@209
     8
IServerGameDLL *gamedll = NULL;
dvander@145
     9
dvander@160
    10
PLUGIN_EXPOSE(SourceMod, g_SourceMod_Core);
dvander@145
    11
dvander@145
    12
bool SourceMod_Core::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late)
dvander@145
    13
{
dvander@145
    14
	PLUGIN_SAVEVARS();
dvander@145
    15
dvander@209
    16
	GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL);
faluco@216
    17
	GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
dvander@209
    18
dvander@160
    19
	return g_SourceMod.InitializeSourceMod(error, maxlen, late);
dvander@145
    20
}
dvander@145
    21
dvander@145
    22
bool SourceMod_Core::Unload(char	*error, size_t maxlen)
dvander@145
    23
{
dvander@145
    24
	return true;
dvander@145
    25
}
dvander@145
    26
dvander@145
    27
bool SourceMod_Core::Pause(char *error, size_t maxlen)
dvander@145
    28
{
dvander@145
    29
	return true;
dvander@145
    30
}
dvander@145
    31
dvander@145
    32
bool SourceMod_Core::Unpause(char *error, size_t maxlen)
dvander@145
    33
{
dvander@145
    34
	return true;
dvander@145
    35
}
dvander@145
    36
dvander@145
    37
void SourceMod_Core::AllPluginsLoaded()
dvander@145
    38
{
dvander@145
    39
}
dvander@145
    40
dvander@145
    41
const char *SourceMod_Core::GetAuthor()
dvander@145
    42
{
dvander@145
    43
	return "AlliedModders, LLC";
dvander@145
    44
}
dvander@145
    45
dvander@145
    46
const char *SourceMod_Core::GetName()
dvander@145
    47
{
dvander@145
    48
	return "SourceMod";
dvander@145
    49
}
dvander@145
    50
dvander@145
    51
const char *SourceMod_Core::GetDescription()
dvander@145
    52
{
dvander@145
    53
	return "Extensible administration and scripting system";
dvander@145
    54
}
dvander@145
    55
dvander@145
    56
const char *SourceMod_Core::GetURL()
dvander@145
    57
{
dvander@145
    58
	return "http://www.sourcemod.net/";
dvander@145
    59
}
dvander@145
    60
dvander@145
    61
const char *SourceMod_Core::GetLicense()
dvander@145
    62
{
dvander@145
    63
	return "See LICENSE.txt";
dvander@145
    64
}
dvander@145
    65
dvander@145
    66
const char *SourceMod_Core::GetVersion()
dvander@145
    67
{
dvander@145
    68
	return SOURCEMOD_VERSION;
dvander@145
    69
}
dvander@145
    70
dvander@145
    71
const char *SourceMod_Core::GetDate()
dvander@145
    72
{
dvander@145
    73
	return __DATE__;
dvander@145
    74
}
dvander@145
    75
dvander@145
    76
const char *SourceMod_Core::GetLogTag()
dvander@145
    77
{
dvander@145
    78
	return "SRCMOD";
dvander@145
    79
}