2016-07-26 23:31:47 +07:00
|
|
|
#pragma once
|
2016-07-26 15:18:32 +03:00
|
|
|
|
2017-06-26 22:51:23 +03:00
|
|
|
#include <eiface.h>
|
|
|
|
|
|
|
|
#ifndef DLLEXPORT
|
|
|
|
#ifdef _WIN32
|
|
|
|
#define DLLEXPORT __declspec(dllexport)
|
|
|
|
#else
|
|
|
|
#define DLLEXPORT __attribute__((visibility("default")))
|
|
|
|
#endif // _WIN32
|
|
|
|
#endif // DLLEXPORT
|
|
|
|
|
|
|
|
#ifndef C_DLLEXPORT
|
|
|
|
#define C_DLLEXPORT extern "C" DLLEXPORT
|
|
|
|
#endif
|
|
|
|
|
2017-06-27 01:17:45 +03:00
|
|
|
#ifndef _WIN32
|
|
|
|
#define WINAPI
|
|
|
|
#endif
|
|
|
|
|
2016-07-30 02:03:01 +03:00
|
|
|
typedef void (*FN_GAMEINIT)();
|
|
|
|
|
2016-07-04 12:07:29 +06:00
|
|
|
// Typedefs for these are provided in SDK engine/eiface.h, but I didn't
|
|
|
|
// like the names (APIFUNCTION, APIFUNCTION2, NEW_DLL_FUNCTIONS_FN).
|
2017-05-09 19:31:09 +03:00
|
|
|
typedef int (*GETENTITYAPI_FN)(DLL_FUNCTIONS* pFunctionTable, int interfaceVersion);
|
|
|
|
typedef int (*GETENTITYAPI2_FN)(DLL_FUNCTIONS* pFunctionTable, int* interfaceVersion);
|
|
|
|
typedef int (*GETNEWDLLFUNCTIONS_FN)(NEW_DLL_FUNCTIONS* pFunctionTable, int* interfaceVersion);
|
2016-07-26 23:31:47 +07:00
|
|
|
|
2017-05-09 19:31:09 +03:00
|
|
|
C_DLLEXPORT int GetEntityAPI(DLL_FUNCTIONS* pFunctionTable, int interfaceVersion);
|
|
|
|
C_DLLEXPORT int GetEntityAPI2(DLL_FUNCTIONS* pFunctionTable, int* interfaceVersion);
|
|
|
|
C_DLLEXPORT int GetNewDLLFunctions(NEW_DLL_FUNCTIONS* pNewFunctionTable, int* interfaceVersion);
|
2016-07-26 23:31:47 +07:00
|
|
|
|
2017-03-10 00:00:25 +03:00
|
|
|
#ifdef METAMOD_CORE
|
2016-07-30 02:03:01 +03:00
|
|
|
void compile_gamedll_callbacks();
|
2017-03-11 19:12:09 +03:00
|
|
|
void disable_clientcommand_fwd();
|
2017-03-10 00:00:25 +03:00
|
|
|
#endif
|