mirror of
https://github.com/alliedmodders/sourcemod.git
synced 2025-12-06 18:08:36 +00:00
Manifest updates and compilation fixes for css, tf2, dods, hl2dm (#2268)
* Initial attempt at compiling against tf2_sdk2013 * compilation fix for css * Switch to AMTL platform arch defines * Add CBasePlayer forward decl for dods and hl2dm as well * Update hl2sdk-manifests * Add dods to CI * Actually include am-platform.h --------- Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com> Co-authored-by: Nicholas Hastings <nshastings@gmail.com>
This commit is contained in:
parent
3b9c74ce96
commit
2382453d50
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os_short }}-${{ matrix.compiler_cc }}
|
||||
env:
|
||||
SDKS: '["episode1","css","tf2","l4d2","csgo"]'
|
||||
SDKS: '["episode1","css","tf2","l4d2","csgo","dods"]'
|
||||
ARCH: x86,x86_64
|
||||
DEPENDENCIES_FOLDER: dependencies
|
||||
DEPENDENCIES_ROOT: ${{ github.workspace }}/dependencies
|
||||
|
||||
@ -245,6 +245,8 @@ class SMConfig(object):
|
||||
'-Wno-unused',
|
||||
'-Wno-switch',
|
||||
'-Wno-array-bounds',
|
||||
'-Wno-unknown-pragmas',
|
||||
'-Wno-dangling-else',
|
||||
'-fvisibility=hidden',
|
||||
]
|
||||
if cxx.target.arch in ['x86', 'x86_64']:
|
||||
|
||||
@ -234,9 +234,9 @@ void CHalfLife2::InitLogicalEntData()
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
g_EntList = *reinterpret_cast<void **>(addr + offset);
|
||||
#elif defined PLATFORM_X64
|
||||
#elif defined KE_ARCH_X64
|
||||
int32_t varOffset = *reinterpret_cast<int32_t *>(addr + offset);
|
||||
g_EntList = reinterpret_cast<void *>(addr + offset + sizeof(int32_t) + varOffset);
|
||||
#endif
|
||||
|
||||
@ -79,9 +79,9 @@ static const char *g_pParseEngine = NULL;
|
||||
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS 14
|
||||
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS_READ 15
|
||||
|
||||
#if defined PLATFORM_X86
|
||||
#if defined KE_ARCH_X86
|
||||
#define PLATFORM_ARCH_SUFFIX ""
|
||||
#elif defined PLATFORM_X64
|
||||
#elif defined KE_ARCH_X64
|
||||
#define PLATFORM_ARCH_SUFFIX "64"
|
||||
#endif
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ void *MemoryUtils::ResolveSymbol(void *handle, const char *symbol)
|
||||
|
||||
#elif defined PLATFORM_LINUX
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
typedef Elf32_Ehdr ElfHeader;
|
||||
typedef Elf32_Shdr ElfSHeader;
|
||||
typedef Elf32_Sym ElfSymbol;
|
||||
@ -272,7 +272,7 @@ void *MemoryUtils::ResolveSymbol(void *handle, const char *symbol)
|
||||
|
||||
#elif defined PLATFORM_APPLE
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
typedef struct mach_header MachHeader;
|
||||
typedef struct segment_command MachSegment;
|
||||
typedef struct nlist MachSymbol;
|
||||
@ -451,7 +451,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
const WORD PE_FILE_MACHINE = IMAGE_FILE_MACHINE_I386;
|
||||
const WORD PE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||
#else
|
||||
@ -501,7 +501,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
||||
|
||||
#elif defined PLATFORM_LINUX
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
typedef Elf32_Ehdr ElfHeader;
|
||||
typedef Elf32_Phdr ElfPHeader;
|
||||
const unsigned char ELF_CLASS = ELFCLASS32;
|
||||
@ -586,7 +586,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
||||
|
||||
#elif defined PLATFORM_APPLE
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
typedef struct mach_header MachHeader;
|
||||
typedef struct segment_command MachSegment;
|
||||
const uint32_t MACH_MAGIC = MH_MAGIC;
|
||||
|
||||
@ -44,7 +44,7 @@ PseudoAddressManager::PseudoAddressManager() : m_NumEntries(0)
|
||||
// lower 26 bits. The table consists of memory allocation base addresses.
|
||||
void *PseudoAddressManager::FromPseudoAddress(uint32_t paddr)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
uint8_t index = paddr >> PSEUDO_OFFSET_BITS;
|
||||
uint32_t offset = paddr & ((1 << PSEUDO_OFFSET_BITS) - 1);
|
||||
|
||||
@ -59,7 +59,7 @@ void *PseudoAddressManager::FromPseudoAddress(uint32_t paddr)
|
||||
|
||||
uint32_t PseudoAddressManager::ToPseudoAddress(void *addr)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
uint8_t index = 0;
|
||||
uint32_t offset = 0;
|
||||
bool hasEntry = false;
|
||||
@ -108,13 +108,13 @@ void *PseudoAddressManager::GetAllocationBase(void *ptr)
|
||||
|
||||
#elif defined PLATFORM_APPLE
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
typedef vm_region_info_t mach_vm_region_info_t;
|
||||
typedef vm_region_basic_info_data_t mach_vm_region_basic_info_data_t;
|
||||
const vm_region_flavor_t MACH_VM_REGION_BASIC_INFO = VM_REGION_BASIC_INFO;
|
||||
const mach_msg_type_number_t MACH_VM_REGION_BASIC_INFO_COUNT = VM_REGION_BASIC_INFO_COUNT;
|
||||
#define mach_vm_region vm_region
|
||||
#elif defined PLATFORM_X64
|
||||
#elif defined KE_ARCH_X64
|
||||
typedef vm_region_info_64_t mach_vm_region_info_t ;
|
||||
typedef vm_region_basic_info_data_64_t mach_vm_region_basic_info_data_t;
|
||||
const vm_region_flavor_t MACH_VM_REGION_BASIC_INFO = VM_REGION_BASIC_INFO_64;
|
||||
|
||||
@ -86,7 +86,7 @@ IScriptManager *scripts = &g_PluginSys;
|
||||
IExtensionSys *extsys = &g_Extensions;
|
||||
ILogger *logger = &g_Logger;
|
||||
CNativeOwner g_CoreNatives;
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
PseudoAddressManager pseudoAddr;
|
||||
#endif
|
||||
|
||||
@ -122,7 +122,7 @@ static void RegisterProfiler(IProfilingTool *tool)
|
||||
|
||||
static void *FromPseudoAddress(uint32_t paddr)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
return pseudoAddr.FromPseudoAddress(paddr);
|
||||
#else
|
||||
return nullptr;
|
||||
@ -131,7 +131,7 @@ static void *FromPseudoAddress(uint32_t paddr)
|
||||
|
||||
static uint32_t ToPseudoAddress(void *addr)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
return pseudoAddr.ToPseudoAddress(addr);
|
||||
#else
|
||||
return 0;
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#define _INCLUDE_SOURCEMOD_COMMON_LOGIC_H_
|
||||
|
||||
#include "../sm_globals.h"
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
#include "PseudoAddrManager.h"
|
||||
#endif
|
||||
|
||||
|
||||
@ -863,7 +863,7 @@ enum NumberType
|
||||
|
||||
static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
void *addr = reinterpret_cast<void*>(params[1]);
|
||||
#else
|
||||
void *addr = pseudoAddr.FromPseudoAddress(params[1]);
|
||||
@ -895,7 +895,7 @@ static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
|
||||
|
||||
static cell_t StoreToAddress(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
void *addr = reinterpret_cast<void*>(params[1]);
|
||||
#else
|
||||
void *addr = pseudoAddr.FromPseudoAddress(params[1]);
|
||||
|
||||
@ -155,7 +155,7 @@ static cell_t smn_GameConfGetAddress(IPluginContext *pCtx, const cell_t *params)
|
||||
if (!gc->GetAddress(key, &val))
|
||||
return 0;
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
return (cell_t)val;
|
||||
#else
|
||||
return pseudoAddr.ToPseudoAddress(val);
|
||||
@ -187,7 +187,7 @@ static cell_t smn_GameConfGetMemSig(IPluginContext *pCtx, const cell_t *params)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
return (cell_t)val;
|
||||
#else
|
||||
return pseudoAddr.ToPseudoAddress(val);
|
||||
|
||||
@ -724,7 +724,7 @@ static cell_t GetEntDataEnt2(IPluginContext *pContext, const cell_t *params)
|
||||
|
||||
static cell_t LoadEntityFromHandleAddress(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
void *addr = reinterpret_cast<void*>(params[1]);
|
||||
#else
|
||||
void *addr = g_SourceMod.FromPseudoAddress(params[1]);
|
||||
@ -835,7 +835,7 @@ static cell_t SetEntDataEnt2(IPluginContext *pContext, const cell_t *params)
|
||||
|
||||
static cell_t StoreEntityToHandleAddress(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
void *addr = reinterpret_cast<void*>(params[1]);
|
||||
#else
|
||||
void *addr = g_SourceMod.FromPseudoAddress(params[1]);
|
||||
@ -2772,7 +2772,7 @@ static cell_t GetEntityAddress(IPluginContext *pContext, const cell_t *params)
|
||||
return pContext->ThrowNativeError("Entity %d (%d) is invalid", g_HL2.ReferenceToIndex(params[1]), params[1]);
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
return reinterpret_cast<cell_t>(pEntity);
|
||||
#else
|
||||
return g_SourceMod.ToPseudoAddress(pEntity);
|
||||
|
||||
@ -213,7 +213,7 @@ bool SourceModBase::InitializeSourceMod(char *error, size_t maxlength, bool late
|
||||
/* There will always be a path by this point, since it was force-set above. */
|
||||
m_GotBasePath = true;
|
||||
|
||||
#if defined PLATFORM_X86
|
||||
#if defined KE_ARCH_X86
|
||||
# define SOURCEPAWN_DLL "sourcepawn.jit.x86"
|
||||
#else
|
||||
# define SOURCEPAWN_DLL "sourcepawn.vm"
|
||||
|
||||
@ -104,7 +104,7 @@ ICallWrapper *CallMaker::CreateCall(void *address,
|
||||
NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
#if defined PLATFORM_X64
|
||||
#if defined KE_ARCH_X64
|
||||
return g_CallMaker2.CreateCall(address, &(*protoInfo), retInfo, paramInfo, fnFlags);
|
||||
#else
|
||||
return g_CallMaker2.CreateCall(address, &(*protoInfo));
|
||||
@ -144,7 +144,7 @@ ICallWrapper *CallMaker::CreateVCall(unsigned int vtblIdx,
|
||||
NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
#if defined PLATFORM_X64
|
||||
#if defined KE_ARCH_X64
|
||||
return g_CallMaker2.CreateVirtualCall(&(*protoInfo), &info, retInfo, paramInfo, fnFlags);
|
||||
#else
|
||||
return g_CallMaker2.CreateVirtualCall(&(*protoInfo), &info);
|
||||
@ -153,7 +153,7 @@ ICallWrapper *CallMaker::CreateVCall(unsigned int vtblIdx,
|
||||
|
||||
ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo *protoInfo)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
||||
pWrapper->SetCalleeAddr(address);
|
||||
|
||||
@ -169,7 +169,7 @@ ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo
|
||||
ICallWrapper *CallMaker2::CreateVirtualCall(const SourceHook::ProtoInfo *protoInfo,
|
||||
const SourceHook::MemFuncInfo *info)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
||||
pWrapper->SetMemFuncInfo(info);
|
||||
|
||||
@ -186,7 +186,7 @@ ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo
|
||||
const PassInfo *retInfo, const PassInfo paramInfo[],
|
||||
unsigned int fnFlags)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
||||
pWrapper->SetCalleeAddr(address);
|
||||
|
||||
@ -205,7 +205,7 @@ ICallWrapper *CallMaker2::CreateVirtualCall(const SourceHook::ProtoInfo *protoIn
|
||||
const PassInfo paramInfo[],
|
||||
unsigned int fnFlags)
|
||||
{
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
||||
pWrapper->SetMemFuncInfo(info);
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ struct HashItemDef_Node
|
||||
class CHashItemDef
|
||||
{
|
||||
public:
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
unsigned char padding[36];
|
||||
#else
|
||||
unsigned char padding[56];
|
||||
|
||||
@ -162,7 +162,7 @@ CRegisters::CRegisters(std::vector<Register_t> registers)
|
||||
m_xmm7 = CreateRegister(registers, XMM7, 16, 16);
|
||||
|
||||
// 64-bit mode only
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
m_xmm8 = CreateRegister(registers, XMM8, 16);
|
||||
m_xmm9 = CreateRegister(registers, XMM9, 16);
|
||||
m_xmm10 = CreateRegister(registers, XMM10, 16);
|
||||
|
||||
@ -62,7 +62,7 @@ size_t GetStackParamOffset(HookParamsStruct *paramStruct, unsigned int index)
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
offset += 8;
|
||||
#else
|
||||
offset += paramStruct->dg->params[i].size;
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#include "vhook.h"
|
||||
#include "vfunc_call.h"
|
||||
#include "util.h"
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
#include "sh_asm_x86_64.h"
|
||||
#else
|
||||
#include <macro-assembler-x86.h>
|
||||
@ -51,7 +51,7 @@ using namespace sp;
|
||||
#define OBJECT_OFFSET (sizeof(void *)*2)
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
using namespace SourceHook::Asm;
|
||||
|
||||
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* hook)
|
||||
@ -473,14 +473,14 @@ cell_t GetThisPtr(void *iface, ThisPointerType type)
|
||||
return -1;
|
||||
return gamehelpers->EntityToBCompatRef((CBaseEntity *)iface);
|
||||
}
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
return g_pSM->ToPseudoAddress(iface);
|
||||
#else
|
||||
return (cell_t)iface;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
void *Callback(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||
#else
|
||||
void *Callback(DHooksCallback *dg, void **argStack)
|
||||
@ -491,7 +491,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
||||
Handle_t rHndl;
|
||||
Handle_t pHndl;
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
*argsizep = GetStackArgsSize(dg);
|
||||
#else
|
||||
size_t argsize = GetStackArgsSize(dg);
|
||||
@ -519,7 +519,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
||||
dg->plugin_callback->PushCell(rHndl);
|
||||
}
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
if(*argsizep > 0)
|
||||
{
|
||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||
@ -664,7 +664,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
float Callback_float(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||
#else
|
||||
float Callback_float(DHooksCallback *dg, void **argStack)
|
||||
@ -675,7 +675,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
||||
Handle_t rHndl;
|
||||
Handle_t pHndl;
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
*argsizep = GetStackArgsSize(dg);
|
||||
#else
|
||||
size_t argsize = GetStackArgsSize(dg);
|
||||
@ -702,7 +702,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
||||
}
|
||||
dg->plugin_callback->PushCell(rHndl);
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
if(*argsizep > 0)
|
||||
{
|
||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||
@ -819,7 +819,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
||||
}
|
||||
return *(float *)ret;
|
||||
}
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
SDKVector *Callback_vector(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||
#else
|
||||
SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
||||
@ -832,7 +832,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
||||
Handle_t rHndl;
|
||||
Handle_t pHndl;
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
*argsizep = GetStackArgsSize(dg);
|
||||
#else
|
||||
size_t argsize = GetStackArgsSize(dg);
|
||||
@ -859,7 +859,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
||||
}
|
||||
dg->plugin_callback->PushCell(rHndl);
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
if(*argsizep > 0)
|
||||
{
|
||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
#include <registers.h>
|
||||
#include <vector>
|
||||
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
#include "sh_asm_x86_64.h"
|
||||
#endif
|
||||
|
||||
@ -176,7 +176,7 @@ public:
|
||||
virtual void DeleteThis()
|
||||
{
|
||||
*(void ***)this = this->oldvtable;
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
delete callThunk;
|
||||
#else
|
||||
g_pSM->GetScriptingEngine()->FreePageMemory(this->newvtable[2]);
|
||||
@ -188,12 +188,12 @@ public:
|
||||
public:
|
||||
void **newvtable;
|
||||
void **oldvtable;
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
SourceHook::Asm::x64JitWriter* callThunk;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
||||
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||
void *Callback(DHooksCallback *dg, void **stack, size_t *argsizep);
|
||||
float Callback_float(DHooksCallback *dg, void **stack, size_t *argsizep);
|
||||
SDKVector *Callback_vector(DHooksCallback *dg, void **stack, size_t *argsizep);
|
||||
@ -278,7 +278,7 @@ public:
|
||||
HookMethod hookMethod;
|
||||
};
|
||||
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* type);
|
||||
static DHooksCallback *MakeHandler(HookSetup* hook)
|
||||
{
|
||||
|
||||
@ -82,7 +82,7 @@ CTakeDamageInfoHack::CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity *
|
||||
#endif
|
||||
|
||||
#if SOURCE_ENGINE == SE_TF2
|
||||
m_eCritType = kCritType_None;
|
||||
m_eCritType = CRIT_NONE;
|
||||
#endif
|
||||
|
||||
#if SOURCE_ENGINE >= SE_ALIENSWARM
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
#include "vector.h"
|
||||
#include "utlvector.h"
|
||||
#include <shareddefs.h>
|
||||
#if SOURCE_ENGINE == SE_TF2 || SOURCE_ENGINE == SE_CSS || SOURCE_ENGINE == SE_DODS || SOURCE_ENGINE == SE_HL2DM
|
||||
class CBasePlayer;
|
||||
#endif
|
||||
#include "usercmd.h"
|
||||
#include "filesystem.h"
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ bool EntityOutputManager::IsEnabled()
|
||||
return enabled;
|
||||
}
|
||||
|
||||
#if defined PLATFORM_WINDOWS && defined PLATFORM_X86
|
||||
#if defined PLATFORM_WINDOWS && defined KE_ARCH_X86
|
||||
DETOUR_DECL_MEMBER8(FireOutput, void, int, what, int, the, int, hell, int, msvc, void *, variant_t, CBaseEntity *, pActivator, CBaseEntity *, pCaller, float, fDelay)
|
||||
{
|
||||
bool fireOutput = g_OutputManager.FireEventDetour((void *)this, pActivator, pCaller, fDelay);
|
||||
|
||||
@ -311,7 +311,7 @@ static cell_t FireEntityOutput(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
return pContext->ThrowNativeError("\"FireEntityOutput\" not supported by this mod");
|
||||
}
|
||||
#if defined PLATFORM_WINDOWS && defined PLATFORM_X86
|
||||
#if defined PLATFORM_WINDOWS && defined KE_ARCH_X86
|
||||
int iMaxParam = 8;
|
||||
//Instead of being one param, MSVC broke variant_t param into 5 params..
|
||||
PassInfo pass[8];
|
||||
|
||||
@ -360,7 +360,7 @@ void TempEntityManager::Initialize()
|
||||
return;
|
||||
}
|
||||
/* Store the head of the TE linked list */
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
m_ListHead = **(void ***) ((unsigned char *) addr + offset);
|
||||
#else
|
||||
int32_t varOffset = *(int32_t *) ((unsigned char *) addr + offset);
|
||||
|
||||
@ -172,7 +172,7 @@ static cell_t PrepSDKCall_SetSignature(IPluginContext *pContext, const cell_t *p
|
||||
|
||||
static cell_t PrepSDKCall_SetAddress(IPluginContext *pContext, const cell_t *params)
|
||||
{
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
s_call_addr = reinterpret_cast<void *>(params[1]);
|
||||
#else
|
||||
s_call_addr = g_pSM->FromPseudoAddress(params[1]);
|
||||
|
||||
@ -66,7 +66,7 @@ void InitializeValveGlobals()
|
||||
{
|
||||
return;
|
||||
}
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
g_ppGameRules = *reinterpret_cast<void ***>(addr + offset);
|
||||
#else
|
||||
int32_t varOffset = *(int32_t *) ((unsigned char *) addr + offset);
|
||||
@ -209,7 +209,7 @@ bool UTIL_VerifySignature(const void *addr, const char *sig, size_t len)
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_X64
|
||||
#ifdef KE_ARCH_X64
|
||||
#define KEY_SUFFIX "64"
|
||||
#else
|
||||
#define KEY_SUFFIX ""
|
||||
@ -291,9 +291,9 @@ void GetIServer()
|
||||
}
|
||||
|
||||
/* Finally we have the interface we were looking for */
|
||||
#ifdef PLATFORM_X86
|
||||
#ifdef KE_ARCH_X86
|
||||
iserver = *reinterpret_cast<IServer **>(reinterpret_cast<unsigned char *>(vfunc) + offset);
|
||||
#elif defined PLATFORM_X64
|
||||
#elif defined KE_ARCH_X64
|
||||
int32_t varOffset = *reinterpret_cast<int32_t *>(reinterpret_cast<unsigned char *>(vfunc) + offset);
|
||||
iserver = reinterpret_cast<IServer *>(reinterpret_cast<unsigned char *>(vfunc) + offset + sizeof(int32_t) + varOffset);
|
||||
#endif
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit a57b3095a6fc31a98b13e2d73ebb668dac4f1300
|
||||
Subproject commit 1134968fc13dcbc1f64dd35f50da00766d50ffa3
|
||||
@ -37,21 +37,13 @@
|
||||
* @brief Contains platform-specific macros for abstraction.
|
||||
*/
|
||||
|
||||
#include <am-platform.h>
|
||||
|
||||
#if defined WIN32 || defined WIN64
|
||||
#ifndef PLATFORM_WINDOWS
|
||||
#define PLATFORM_WINDOWS 1
|
||||
#endif
|
||||
|
||||
#if defined WIN64 || defined _WIN64
|
||||
#ifndef PLATFORM_X64
|
||||
# define PLATFORM_X64 1
|
||||
#endif
|
||||
#else
|
||||
#ifndef PLATFORM_X86
|
||||
# define PLATFORM_X86 1
|
||||
#endif
|
||||
#endif // defined WIN64 || defined _WIN64
|
||||
|
||||
#if !defined WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
@ -83,16 +75,6 @@
|
||||
# define PLATFORM_POSIX 1
|
||||
#endif
|
||||
|
||||
#if defined __x86_64__
|
||||
#ifndef PLATFORM_X64
|
||||
# define PLATFORM_X64 1
|
||||
#endif
|
||||
#else
|
||||
#ifndef PLATFORM_X86
|
||||
# define PLATFORM_X86 1
|
||||
#endif
|
||||
#endif // defined __x86_64__
|
||||
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <dirent.h>
|
||||
@ -116,7 +98,7 @@
|
||||
#define SM_ARRAYSIZE(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
|
||||
#endif
|
||||
|
||||
#if defined PLATFORM_X64
|
||||
#if defined KE_ARCH_X64
|
||||
#define PLATFORM_ARCH_FOLDER "x64" PLATFORM_SEP
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#define PLATFORM_FOLDER "win64" PLATFORM_SEP
|
||||
@ -134,7 +116,7 @@
|
||||
#elif defined PLATFORM_APPLE
|
||||
#define PLATFORM_FOLDER "osx32" PLATFORM_SEP
|
||||
#endif
|
||||
#endif // defined PLATFORM_X64
|
||||
#endif // defined KE_ARCH_X64
|
||||
|
||||
#endif //_INCLUDE_SOURCEMOD_PLATFORM_H_
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user