mirror of
https://github.com/dashr9230/SA-MP.git
synced 2024-12-22 22:47:29 +08:00
[server] Update CPlugins constructor
This commit is contained in:
parent
f91d165449
commit
89f7c4553a
62
server/plugincommon.h
Normal file
62
server/plugincommon.h
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
#ifndef _PLUGINCOMMON_H_INCLUDED
|
||||
#define _PLUGINCOMMON_H_INCLUDED
|
||||
|
||||
enum PLUGIN_DATA_TYPE
|
||||
{
|
||||
// For some debugging
|
||||
PLUGIN_DATA_LOGPRINTF = 0x00, // void (*logprintf)(char* format, ...)
|
||||
|
||||
// AMX
|
||||
PLUGIN_DATA_AMX_EXPORTS = 0x10, // void* AmxFunctionTable[] (see PLUGIN_AMX_EXPORT)
|
||||
};
|
||||
|
||||
enum PLUGIN_AMX_EXPORT
|
||||
{
|
||||
PLUGIN_AMX_EXPORT_Align16 = 0,
|
||||
PLUGIN_AMX_EXPORT_Align32 = 1,
|
||||
PLUGIN_AMX_EXPORT_Align64 = 2,
|
||||
PLUGIN_AMX_EXPORT_Allot = 3,
|
||||
PLUGIN_AMX_EXPORT_Callback = 4,
|
||||
PLUGIN_AMX_EXPORT_Cleanup = 5,
|
||||
PLUGIN_AMX_EXPORT_Clone = 6,
|
||||
PLUGIN_AMX_EXPORT_Exec = 7,
|
||||
PLUGIN_AMX_EXPORT_FindNative = 8,
|
||||
PLUGIN_AMX_EXPORT_FindPublic = 9,
|
||||
PLUGIN_AMX_EXPORT_FindPubVar = 10,
|
||||
PLUGIN_AMX_EXPORT_FindTagId = 11,
|
||||
PLUGIN_AMX_EXPORT_Flags = 12,
|
||||
PLUGIN_AMX_EXPORT_GetAddr = 13,
|
||||
PLUGIN_AMX_EXPORT_GetNative = 14,
|
||||
PLUGIN_AMX_EXPORT_GetPublic = 15,
|
||||
PLUGIN_AMX_EXPORT_GetPubVar = 16,
|
||||
PLUGIN_AMX_EXPORT_GetString = 17,
|
||||
PLUGIN_AMX_EXPORT_GetTag = 18,
|
||||
PLUGIN_AMX_EXPORT_GetUserData = 19,
|
||||
PLUGIN_AMX_EXPORT_Init = 20,
|
||||
PLUGIN_AMX_EXPORT_InitJIT = 21,
|
||||
PLUGIN_AMX_EXPORT_MemInfo = 22,
|
||||
PLUGIN_AMX_EXPORT_NameLength = 23,
|
||||
PLUGIN_AMX_EXPORT_NativeInfo = 24,
|
||||
PLUGIN_AMX_EXPORT_NumNatives = 25,
|
||||
PLUGIN_AMX_EXPORT_NumPublics = 26,
|
||||
PLUGIN_AMX_EXPORT_NumPubVars = 27,
|
||||
PLUGIN_AMX_EXPORT_NumTags = 28,
|
||||
PLUGIN_AMX_EXPORT_Push = 29,
|
||||
PLUGIN_AMX_EXPORT_PushArray = 30,
|
||||
PLUGIN_AMX_EXPORT_PushString = 31,
|
||||
PLUGIN_AMX_EXPORT_RaiseError = 32,
|
||||
PLUGIN_AMX_EXPORT_Register = 33,
|
||||
PLUGIN_AMX_EXPORT_Release = 34,
|
||||
PLUGIN_AMX_EXPORT_SetCallback = 35,
|
||||
PLUGIN_AMX_EXPORT_SetDebugHook = 36,
|
||||
PLUGIN_AMX_EXPORT_SetString = 37,
|
||||
PLUGIN_AMX_EXPORT_SetUserData = 38,
|
||||
PLUGIN_AMX_EXPORT_StrLen = 39,
|
||||
PLUGIN_AMX_EXPORT_UTF8Check = 40,
|
||||
PLUGIN_AMX_EXPORT_UTF8Get = 41,
|
||||
PLUGIN_AMX_EXPORT_UTF8Len = 42,
|
||||
PLUGIN_AMX_EXPORT_UTF8Put = 43,
|
||||
};
|
||||
|
||||
#endif // _PLUGINCOMMON_H_INCLUDED
|
8
server/plugininternal.h
Normal file
8
server/plugininternal.h
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
#ifndef _PLUGININTERNAL_H_INCLUDED
|
||||
#define _PLUGININTERNAL_H_INCLUDED
|
||||
|
||||
#define MAX_PLUGIN_DATA 256
|
||||
#define MAX_PLUGIN_AMX_EXPORT 44
|
||||
|
||||
#endif
|
@ -3,6 +3,61 @@
|
||||
|
||||
CPlugins::CPlugins()
|
||||
{
|
||||
// Set up the table of AMX functions to be exported
|
||||
#if defined AMX_ALIGN || defined AMX_INIT
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Align16] = (void*)&amx_Align16;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Align32] = (void*)&amx_Align32;
|
||||
#if defined _I64_MAX || defined HAVE_I64
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Align64] = (void*)&amx_Align64;
|
||||
#endif
|
||||
#endif
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Allot] = (void*)&amx_Allot;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Callback] = (void*)&amx_Callback;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Cleanup] = (void*)&amx_Cleanup;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Clone] = (void*)&amx_Clone;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Exec] = (void*)&amx_Exec;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_FindNative] = (void*)&amx_FindNative;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_FindPublic] = (void*)&amx_FindPublic;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_FindPubVar] = (void*)&amx_FindPubVar;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_FindTagId] = (void*)&amx_FindTagId;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Flags] = (void*)&amx_Flags;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetAddr] = (void*)&amx_GetAddr;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetNative] = (void*)&amx_GetNative;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetPublic] = (void*)&amx_GetPublic;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetPubVar] = (void*)&amx_GetPubVar;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetString] = (void*)&amx_GetString;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetTag] = (void*)&amx_GetTag;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_GetUserData] = (void*)&amx_GetUserData;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Init] = (void*)&amx_Init;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_InitJIT] = (void*)&amx_InitJIT;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_MemInfo] = (void*)&amx_MemInfo;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NameLength] = (void*)&amx_NameLength;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NativeInfo] = (void*)&amx_NativeInfo;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NumNatives] = (void*)&amx_NumNatives;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NumPublics] = (void*)&amx_NumPublics;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NumPubVars] = (void*)&amx_NumPubVars;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_NumTags] = (void*)&amx_NumTags;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Push] = (void*)&amx_Push;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_PushArray] = (void*)&amx_PushArray;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_PushString] = (void*)&amx_PushString;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_RaiseError] = (void*)&amx_RaiseError;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Register] = (void*)&amx_Register;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_Release] = (void*)&amx_Release;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_SetCallback] = (void*)&amx_SetCallback;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_SetDebugHook] = (void*)&amx_SetDebugHook;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_SetString] = (void*)&amx_SetString;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_SetUserData] = (void*)&amx_SetUserData;
|
||||
m_AMXExports[PLUGIN_AMX_EXPORT_StrLen] = (void*)&amx_StrLen;
|
||||
//m_AMXExports[PLUGIN_AMX_EXPORT_UTF8Check] = (void*)&amx_UTF8Check;
|
||||
//m_AMXExports[PLUGIN_AMX_EXPORT_UTF8Get] = (void*)&amx_UTF8Get;
|
||||
//m_AMXExports[PLUGIN_AMX_EXPORT_UTF8Len] = (void*)&amx_UTF8Len;
|
||||
//m_AMXExports[PLUGIN_AMX_EXPORT_UTF8Put] = (void*)&amx_UTF8Put;
|
||||
|
||||
// Set up table of Plugin exports
|
||||
m_PluginData[PLUGIN_DATA_LOGPRINTF] = (void*)&logprintf;
|
||||
|
||||
m_PluginData[PLUGIN_DATA_AMX_EXPORTS] = m_AMXExports;
|
||||
|
||||
// TODO: CPlugins::CPlugins W: 0046A1D0 L: constructor
|
||||
}
|
||||
|
||||
|
@ -2,9 +2,16 @@
|
||||
#ifndef _PLUGINS_H_INCLUDED
|
||||
#define _PLUGINS_H_INCLUDED
|
||||
|
||||
#include "plugincommon.h"
|
||||
#include "plugininternal.h"
|
||||
|
||||
class CPlugins // size: W: 1216 L: 1212
|
||||
{
|
||||
private:
|
||||
|
||||
void* m_PluginData[MAX_PLUGIN_DATA];
|
||||
void* m_AMXExports[MAX_PLUGIN_AMX_EXPORT];
|
||||
|
||||
public:
|
||||
CPlugins();
|
||||
~CPlugins();
|
||||
|
@ -238,6 +238,12 @@
|
||||
<File
|
||||
RelativePath=".\playerpool.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\plugincommon.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\plugininternal.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\plugins.cpp">
|
||||
</File>
|
||||
|
Loading…
Reference in New Issue
Block a user