Moved smn_functions to logic binary.
--HG-- rename : core/smn_functions.cpp => core/logic/smn_functions.cpp
This commit is contained in:
parent
fc003db139
commit
cec339552e
@ -22,7 +22,7 @@ OBJECTS = AdminCache.cpp CDataPack.cpp ConCmdManager.cpp ConVarManager.cpp CoreC
|
|||||||
NativeOwner.cpp logic_bridge.cpp
|
NativeOwner.cpp logic_bridge.cpp
|
||||||
OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \
|
OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \
|
||||||
smn_datapacks.cpp smn_entities.cpp smn_events.cpp smn_fakenatives.cpp \
|
smn_datapacks.cpp smn_entities.cpp smn_events.cpp smn_fakenatives.cpp \
|
||||||
smn_filesystem.cpp smn_functions.cpp smn_gameconfigs.cpp smn_halflife.cpp \
|
smn_filesystem.cpp smn_gameconfigs.cpp smn_halflife.cpp \
|
||||||
smn_handles.cpp smn_keyvalues.cpp smn_banning.cpp \
|
smn_handles.cpp smn_keyvalues.cpp smn_banning.cpp \
|
||||||
smn_lang.cpp smn_player.cpp smn_string.cpp smn_timers.cpp \
|
smn_lang.cpp smn_player.cpp smn_string.cpp smn_timers.cpp \
|
||||||
smn_usermsgs.cpp smn_menus.cpp smn_database.cpp smn_vector.cpp \
|
smn_usermsgs.cpp smn_menus.cpp smn_database.cpp smn_vector.cpp \
|
||||||
|
@ -24,7 +24,8 @@ OBJECTS = \
|
|||||||
TextParsers.cpp \
|
TextParsers.cpp \
|
||||||
smn_textparse.cpp \
|
smn_textparse.cpp \
|
||||||
smn_adt_trie.cpp \
|
smn_adt_trie.cpp \
|
||||||
Profiler.cpp
|
Profiler.cpp \
|
||||||
|
smn_functions.cpp
|
||||||
|
|
||||||
##############################################
|
##############################################
|
||||||
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
|
||||||
|
@ -47,6 +47,7 @@ IVEngineServer *engine;
|
|||||||
IShareSys *sharesys;
|
IShareSys *sharesys;
|
||||||
IRootConsole *rootmenu;
|
IRootConsole *rootmenu;
|
||||||
IPluginManager *pluginsys;
|
IPluginManager *pluginsys;
|
||||||
|
IForwardManager *forwardsys;
|
||||||
|
|
||||||
static sm_logic_t logic =
|
static sm_logic_t logic =
|
||||||
{
|
{
|
||||||
@ -69,6 +70,7 @@ static void logic_init(const sm_core_t* core, sm_logic_t* _logic)
|
|||||||
sharesys = core->sharesys;
|
sharesys = core->sharesys;
|
||||||
rootmenu = core->rootmenu;
|
rootmenu = core->rootmenu;
|
||||||
pluginsys = core->pluginsys;
|
pluginsys = core->pluginsys;
|
||||||
|
forwardsys = core->forwardsys;
|
||||||
}
|
}
|
||||||
|
|
||||||
PLATFORM_EXTERN_C ITextParsers *get_textparsers()
|
PLATFORM_EXTERN_C ITextParsers *get_textparsers()
|
||||||
|
@ -46,6 +46,7 @@ extern IVEngineServer *engine;
|
|||||||
extern IShareSys *sharesys;
|
extern IShareSys *sharesys;
|
||||||
extern IRootConsole *rootmenu;
|
extern IRootConsole *rootmenu;
|
||||||
extern IPluginManager *pluginsys;
|
extern IPluginManager *pluginsys;
|
||||||
|
extern IForwardManager *forwardsys;
|
||||||
|
|
||||||
#endif /* _INCLUDE_SOURCEMOD_COMMON_LOGIC_H_ */
|
#endif /* _INCLUDE_SOURCEMOD_COMMON_LOGIC_H_ */
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ using namespace SourceMod;
|
|||||||
* Add 1 to the RHS of this expression to bump the intercom file
|
* Add 1 to the RHS of this expression to bump the intercom file
|
||||||
* This is to prevent mismatching core/logic binaries
|
* This is to prevent mismatching core/logic binaries
|
||||||
*/
|
*/
|
||||||
#define SM_LOGIC_MAGIC (0x0F47C0DE - 1)
|
#define SM_LOGIC_MAGIC (0x0F47C0DE - 2)
|
||||||
|
|
||||||
#if defined SM_LOGIC
|
#if defined SM_LOGIC
|
||||||
class IVEngineServer
|
class IVEngineServer
|
||||||
@ -62,6 +62,7 @@ namespace SourceMod
|
|||||||
class IThreader;
|
class IThreader;
|
||||||
class IRootConsole;
|
class IRootConsole;
|
||||||
class IPluginManager;
|
class IPluginManager;
|
||||||
|
class IForwardManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
class IVEngineServer;
|
class IVEngineServer;
|
||||||
@ -78,6 +79,7 @@ struct sm_core_t
|
|||||||
IShareSys *sharesys;
|
IShareSys *sharesys;
|
||||||
IRootConsole *rootmenu;
|
IRootConsole *rootmenu;
|
||||||
IPluginManager *pluginsys;
|
IPluginManager *pluginsys;
|
||||||
|
IForwardManager *forwardsys;
|
||||||
/* Functions */
|
/* Functions */
|
||||||
void (*AddNatives)(sp_nativeinfo_t* nlist);
|
void (*AddNatives)(sp_nativeinfo_t* nlist);
|
||||||
ConVar * (*FindConVar)(const char*);
|
ConVar * (*FindConVar)(const char*);
|
||||||
|
@ -184,6 +184,10 @@
|
|||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\smn_functions.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\smn_adt_trie.cpp"
|
RelativePath="..\smn_adt_trie.cpp"
|
||||||
>
|
>
|
||||||
|
@ -29,10 +29,10 @@
|
|||||||
* Version: $Id$
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sm_globals.h"
|
#include "common_logic.h"
|
||||||
#include "PluginSys.h"
|
#include <IPluginSys.h>
|
||||||
#include "ForwardSys.h"
|
#include <IHandleSys.h>
|
||||||
#include "HandleSys.h"
|
#include <IForwardSys.h>
|
||||||
|
|
||||||
HandleType_t g_GlobalFwdType = 0;
|
HandleType_t g_GlobalFwdType = 0;
|
||||||
HandleType_t g_PrivateFwdType = 0;
|
HandleType_t g_PrivateFwdType = 0;
|
||||||
@ -52,36 +52,36 @@ public:
|
|||||||
HandleAccess sec;
|
HandleAccess sec;
|
||||||
|
|
||||||
/* Set GlobalFwd handle access security */
|
/* Set GlobalFwd handle access security */
|
||||||
g_HandleSys.InitAccessDefaults(NULL, &sec);
|
handlesys->InitAccessDefaults(NULL, &sec);
|
||||||
sec.access[HandleAccess_Read] = 0;
|
sec.access[HandleAccess_Read] = 0;
|
||||||
sec.access[HandleAccess_Clone] = HANDLE_RESTRICT_IDENTITY | HANDLE_RESTRICT_OWNER;
|
sec.access[HandleAccess_Clone] = HANDLE_RESTRICT_IDENTITY | HANDLE_RESTRICT_OWNER;
|
||||||
|
|
||||||
/* Create 'GlobalFwd' handle type */
|
/* Create 'GlobalFwd' handle type */
|
||||||
g_GlobalFwdType = g_HandleSys.CreateType("GlobalFwd", this, 0, NULL, &sec, g_pCoreIdent, NULL);
|
g_GlobalFwdType = handlesys->CreateType("GlobalFwd", this, 0, NULL, &sec, g_pCoreIdent, NULL);
|
||||||
|
|
||||||
/* Private forwards are cloneable */
|
/* Private forwards are cloneable */
|
||||||
sec.access[HandleAccess_Clone] = 0;
|
sec.access[HandleAccess_Clone] = 0;
|
||||||
|
|
||||||
/* Create 'PrivateFwd' handle type */
|
/* Create 'PrivateFwd' handle type */
|
||||||
g_PrivateFwdType = g_HandleSys.CreateType("PrivateFwd", this, g_GlobalFwdType, NULL, &sec, g_pCoreIdent, NULL);
|
g_PrivateFwdType = handlesys->CreateType("PrivateFwd", this, g_GlobalFwdType, NULL, &sec, g_pCoreIdent, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnSourceModShutdown()
|
void OnSourceModShutdown()
|
||||||
{
|
{
|
||||||
g_HandleSys.RemoveType(g_PrivateFwdType, g_pCoreIdent);
|
handlesys->RemoveType(g_PrivateFwdType, g_pCoreIdent);
|
||||||
g_HandleSys.RemoveType(g_GlobalFwdType, g_pCoreIdent);
|
handlesys->RemoveType(g_GlobalFwdType, g_pCoreIdent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnHandleDestroy(HandleType_t type, void *object)
|
void OnHandleDestroy(HandleType_t type, void *object)
|
||||||
{
|
{
|
||||||
IForward *pForward = static_cast<IForward *>(object);
|
IForward *pForward = static_cast<IForward *>(object);
|
||||||
|
|
||||||
g_Forwards.ReleaseForward(pForward);
|
forwardsys->ReleaseForward(pForward);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
|
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
|
||||||
{
|
{
|
||||||
*pSize = sizeof(CForward) + (((IForward *)object)->GetFunctionCount() * 12);
|
*pSize = sizeof(IForward*) + (((IForward *)object)->GetFunctionCount() * 12);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} g_ForwardNativeHelpers;
|
} g_ForwardNativeHelpers;
|
||||||
@ -112,9 +112,9 @@ static cell_t sm_GetFunctionByName(IPluginContext *pContext, const cell_t *param
|
|||||||
|
|
||||||
if (hndl == 0)
|
if (hndl == 0)
|
||||||
{
|
{
|
||||||
pPlugin = g_PluginSys.FindPluginByContext(pContext->GetContext());
|
pPlugin = pluginsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
pPlugin = g_PluginSys.PluginFromHandle(hndl, &err);
|
pPlugin = pluginsys->PluginFromHandle(hndl, &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
{
|
{
|
||||||
@ -155,9 +155,9 @@ static cell_t sm_CreateGlobalForward(IPluginContext *pContext, const cell_t *par
|
|||||||
forwardParams[i - 3] = static_cast<ParamType>(*addr);
|
forwardParams[i - 3] = static_cast<ParamType>(*addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
IForward *pForward = g_Forwards.CreateForward(name, static_cast<ExecType>(params[2]), count - 2, forwardParams);
|
IForward *pForward = forwardsys->CreateForward(name, static_cast<ExecType>(params[2]), count - 2, forwardParams);
|
||||||
|
|
||||||
return g_HandleSys.CreateHandle(g_GlobalFwdType, pForward, pContext->GetIdentity(), g_pCoreIdent, NULL);
|
return handlesys->CreateHandle(g_GlobalFwdType, pForward, pContext->GetIdentity(), g_pCoreIdent, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_CreateForward(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_CreateForward(IPluginContext *pContext, const cell_t *params)
|
||||||
@ -177,9 +177,9 @@ static cell_t sm_CreateForward(IPluginContext *pContext, const cell_t *params)
|
|||||||
forwardParams[i - 2] = static_cast<ParamType>(*addr);
|
forwardParams[i - 2] = static_cast<ParamType>(*addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
IChangeableForward *pForward = g_Forwards.CreateForwardEx(NULL, static_cast<ExecType>(params[1]), count - 1, forwardParams);
|
IChangeableForward *pForward = forwardsys->CreateForwardEx(NULL, static_cast<ExecType>(params[1]), count - 1, forwardParams);
|
||||||
|
|
||||||
return g_HandleSys.CreateHandle(g_PrivateFwdType, pForward, pContext->GetIdentity(), g_pCoreIdent, NULL);
|
return handlesys->CreateHandle(g_PrivateFwdType, pForward, pContext->GetIdentity(), g_pCoreIdent, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t sm_GetForwardFunctionCount(IPluginContext *pContext, const cell_t *params)
|
static cell_t sm_GetForwardFunctionCount(IPluginContext *pContext, const cell_t *params)
|
||||||
@ -188,7 +188,7 @@ static cell_t sm_GetForwardFunctionCount(IPluginContext *pContext, const cell_t
|
|||||||
HandleError err;
|
HandleError err;
|
||||||
IForward *pForward;
|
IForward *pForward;
|
||||||
|
|
||||||
if ((err=g_HandleSys.ReadHandle(hndl, g_GlobalFwdType, NULL, (void **)&pForward))
|
if ((err=handlesys->ReadHandle(hndl, g_GlobalFwdType, NULL, (void **)&pForward))
|
||||||
!= HandleError_None)
|
!= HandleError_None)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid forward handle %x (error %d)", hndl, err);
|
return pContext->ThrowNativeError("Invalid forward handle %x (error %d)", hndl, err);
|
||||||
@ -205,7 +205,7 @@ static cell_t sm_AddToForward(IPluginContext *pContext, const cell_t *params)
|
|||||||
IChangeableForward *pForward;
|
IChangeableForward *pForward;
|
||||||
IPlugin *pPlugin;
|
IPlugin *pPlugin;
|
||||||
|
|
||||||
if ((err=g_HandleSys.ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
if ((err=handlesys->ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
||||||
!= HandleError_None)
|
!= HandleError_None)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
||||||
@ -213,9 +213,9 @@ static cell_t sm_AddToForward(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
if (plHandle == 0)
|
if (plHandle == 0)
|
||||||
{
|
{
|
||||||
pPlugin = g_PluginSys.FindPluginByContext(pContext->GetContext());
|
pPlugin = pluginsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
pPlugin = g_PluginSys.PluginFromHandle(plHandle, &err);
|
pPlugin = pluginsys->PluginFromHandle(plHandle, &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
{
|
{
|
||||||
@ -241,7 +241,7 @@ static cell_t sm_RemoveFromForward(IPluginContext *pContext, const cell_t *param
|
|||||||
IChangeableForward *pForward;
|
IChangeableForward *pForward;
|
||||||
IPlugin *pPlugin;
|
IPlugin *pPlugin;
|
||||||
|
|
||||||
if ((err=g_HandleSys.ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
if ((err=handlesys->ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
||||||
!= HandleError_None)
|
!= HandleError_None)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
||||||
@ -249,9 +249,9 @@ static cell_t sm_RemoveFromForward(IPluginContext *pContext, const cell_t *param
|
|||||||
|
|
||||||
if (plHandle == 0)
|
if (plHandle == 0)
|
||||||
{
|
{
|
||||||
pPlugin = g_PluginSys.FindPluginByContext(pContext->GetContext());
|
pPlugin = pluginsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
pPlugin = g_PluginSys.PluginFromHandle(plHandle, &err);
|
pPlugin = pluginsys->PluginFromHandle(plHandle, &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
{
|
{
|
||||||
@ -277,7 +277,7 @@ static cell_t sm_RemoveAllFromForward(IPluginContext *pContext, const cell_t *pa
|
|||||||
IChangeableForward *pForward;
|
IChangeableForward *pForward;
|
||||||
IPlugin *pPlugin;
|
IPlugin *pPlugin;
|
||||||
|
|
||||||
if ((err=g_HandleSys.ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
if ((err=handlesys->ReadHandle(fwdHandle, g_PrivateFwdType, NULL, (void **)&pForward))
|
||||||
!= HandleError_None)
|
!= HandleError_None)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
return pContext->ThrowNativeError("Invalid private forward handle %x (error %d)", fwdHandle, err);
|
||||||
@ -285,9 +285,9 @@ static cell_t sm_RemoveAllFromForward(IPluginContext *pContext, const cell_t *pa
|
|||||||
|
|
||||||
if (plHandle == 0)
|
if (plHandle == 0)
|
||||||
{
|
{
|
||||||
pPlugin = g_PluginSys.FindPluginByContext(pContext->GetContext());
|
pPlugin = pluginsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
pPlugin = g_PluginSys.PluginFromHandle(plHandle, &err);
|
pPlugin = pluginsys->PluginFromHandle(plHandle, &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
{
|
{
|
||||||
@ -310,9 +310,9 @@ static cell_t sm_CallStartFunction(IPluginContext *pContext, const cell_t *param
|
|||||||
|
|
||||||
if (hndl == 0)
|
if (hndl == 0)
|
||||||
{
|
{
|
||||||
pPlugin = g_PluginSys.FindPluginByContext(pContext->GetContext());
|
pPlugin = pluginsys->FindPluginByContext(pContext->GetContext());
|
||||||
} else {
|
} else {
|
||||||
pPlugin = g_PluginSys.PluginFromHandle(hndl, &err);
|
pPlugin = pluginsys->PluginFromHandle(hndl, &err);
|
||||||
|
|
||||||
if (!pPlugin)
|
if (!pPlugin)
|
||||||
{
|
{
|
||||||
@ -344,7 +344,7 @@ static cell_t sm_CallStartForward(IPluginContext *pContext, const cell_t *params
|
|||||||
|
|
||||||
hndl = static_cast<Handle_t>(params[1]);
|
hndl = static_cast<Handle_t>(params[1]);
|
||||||
|
|
||||||
if ((err=g_HandleSys.ReadHandle(hndl, g_GlobalFwdType, NULL, (void **)&pForward))
|
if ((err=handlesys->ReadHandle(hndl, g_GlobalFwdType, NULL, (void **)&pForward))
|
||||||
!= HandleError_None)
|
!= HandleError_None)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid forward handle %x (error %d)", hndl, err);
|
return pContext->ThrowNativeError("Invalid forward handle %x (error %d)", hndl, err);
|
@ -42,6 +42,7 @@
|
|||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
#include "ShareSys.h"
|
#include "ShareSys.h"
|
||||||
#include "sm_srvcmds.h"
|
#include "sm_srvcmds.h"
|
||||||
|
#include "ForwardSys.h"
|
||||||
|
|
||||||
static ILibrary *g_pLogic = NULL;
|
static ILibrary *g_pLogic = NULL;
|
||||||
static LogicInitFunction logic_init_fn;
|
static LogicInitFunction logic_init_fn;
|
||||||
@ -95,6 +96,7 @@ static sm_core_t core_bridge =
|
|||||||
&g_ShareSys,
|
&g_ShareSys,
|
||||||
&g_RootMenu,
|
&g_RootMenu,
|
||||||
&g_PluginSys,
|
&g_PluginSys,
|
||||||
|
&g_Forwards,
|
||||||
/* Functions */
|
/* Functions */
|
||||||
add_natives,
|
add_natives,
|
||||||
find_convar,
|
find_convar,
|
||||||
|
@ -1930,10 +1930,6 @@
|
|||||||
RelativePath="..\smn_filesystem.cpp"
|
RelativePath="..\smn_filesystem.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\smn_functions.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\smn_gameconfigs.cpp"
|
RelativePath="..\smn_gameconfigs.cpp"
|
||||||
>
|
>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* vim: set ts=4 :
|
* vim: set ts=4 sw=4 :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod
|
* SourceMod
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2009 AlliedModders LLC. All rights reserved.
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it under
|
* This program is free software; you can redistribute it and/or modify it under
|
||||||
@ -38,10 +38,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <IShareSys.h>
|
#include <IShareSys.h>
|
||||||
|
#include <IHandleSys.h>
|
||||||
#include <sp_vm_api.h>
|
#include <sp_vm_api.h>
|
||||||
|
|
||||||
#define SMINTERFACE_PLUGINSYSTEM_NAME "IPluginManager"
|
#define SMINTERFACE_PLUGINSYSTEM_NAME "IPluginManager"
|
||||||
#define SMINTERFACE_PLUGINSYSTEM_VERSION 2
|
#define SMINTERFACE_PLUGINSYSTEM_VERSION 3
|
||||||
|
|
||||||
/** Context user slot 3 is used Core for holding an IPluginContext pointer. */
|
/** Context user slot 3 is used Core for holding an IPluginContext pointer. */
|
||||||
#define SM_CONTEXTVAR_USER 3
|
#define SM_CONTEXTVAR_USER 3
|
||||||
@ -353,7 +354,17 @@ namespace SourceMod
|
|||||||
* @param listener Pointer to a listener.
|
* @param listener Pointer to a listener.
|
||||||
*/
|
*/
|
||||||
virtual void RemovePluginsListener(IPluginsListener *listener) =0;
|
virtual void RemovePluginsListener(IPluginsListener *listener) =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Converts a Handle to an IPlugin if possible.
|
||||||
|
*
|
||||||
|
* @param handle Handle.
|
||||||
|
* @param err Error, set on failure (otherwise undefined).
|
||||||
|
* @return IPlugin pointer, or NULL on failure.
|
||||||
|
*/
|
||||||
|
virtual IPlugin *PluginFromHandle(Handle_t handle, HandleError *err) =0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //_INCLUDE_SOURCEMOD_PLUGINMNGR_INTERFACE_H_
|
#endif //_INCLUDE_SOURCEMOD_PLUGINMNGR_INTERFACE_H_
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user