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 }}
|
runs-on: ${{ matrix.os }}
|
||||||
name: ${{ matrix.os_short }}-${{ matrix.compiler_cc }}
|
name: ${{ matrix.os_short }}-${{ matrix.compiler_cc }}
|
||||||
env:
|
env:
|
||||||
SDKS: '["episode1","css","tf2","l4d2","csgo"]'
|
SDKS: '["episode1","css","tf2","l4d2","csgo","dods"]'
|
||||||
ARCH: x86,x86_64
|
ARCH: x86,x86_64
|
||||||
DEPENDENCIES_FOLDER: dependencies
|
DEPENDENCIES_FOLDER: dependencies
|
||||||
DEPENDENCIES_ROOT: ${{ github.workspace }}/dependencies
|
DEPENDENCIES_ROOT: ${{ github.workspace }}/dependencies
|
||||||
|
|||||||
@ -245,6 +245,8 @@ class SMConfig(object):
|
|||||||
'-Wno-unused',
|
'-Wno-unused',
|
||||||
'-Wno-switch',
|
'-Wno-switch',
|
||||||
'-Wno-array-bounds',
|
'-Wno-array-bounds',
|
||||||
|
'-Wno-unknown-pragmas',
|
||||||
|
'-Wno-dangling-else',
|
||||||
'-fvisibility=hidden',
|
'-fvisibility=hidden',
|
||||||
]
|
]
|
||||||
if cxx.target.arch in ['x86', 'x86_64']:
|
if cxx.target.arch in ['x86', 'x86_64']:
|
||||||
|
|||||||
@ -234,9 +234,9 @@ void CHalfLife2::InitLogicalEntData()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
g_EntList = *reinterpret_cast<void **>(addr + offset);
|
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);
|
int32_t varOffset = *reinterpret_cast<int32_t *>(addr + offset);
|
||||||
g_EntList = reinterpret_cast<void *>(addr + offset + sizeof(int32_t) + varOffset);
|
g_EntList = reinterpret_cast<void *>(addr + offset + sizeof(int32_t) + varOffset);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -79,9 +79,9 @@ static const char *g_pParseEngine = NULL;
|
|||||||
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS 14
|
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS 14
|
||||||
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS_READ 15
|
#define PSTATE_GAMEDEFS_ADDRESSES_ADDRESS_READ 15
|
||||||
|
|
||||||
#if defined PLATFORM_X86
|
#if defined KE_ARCH_X86
|
||||||
#define PLATFORM_ARCH_SUFFIX ""
|
#define PLATFORM_ARCH_SUFFIX ""
|
||||||
#elif defined PLATFORM_X64
|
#elif defined KE_ARCH_X64
|
||||||
#define PLATFORM_ARCH_SUFFIX "64"
|
#define PLATFORM_ARCH_SUFFIX "64"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -123,7 +123,7 @@ void *MemoryUtils::ResolveSymbol(void *handle, const char *symbol)
|
|||||||
|
|
||||||
#elif defined PLATFORM_LINUX
|
#elif defined PLATFORM_LINUX
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
typedef Elf32_Ehdr ElfHeader;
|
typedef Elf32_Ehdr ElfHeader;
|
||||||
typedef Elf32_Shdr ElfSHeader;
|
typedef Elf32_Shdr ElfSHeader;
|
||||||
typedef Elf32_Sym ElfSymbol;
|
typedef Elf32_Sym ElfSymbol;
|
||||||
@ -272,7 +272,7 @@ void *MemoryUtils::ResolveSymbol(void *handle, const char *symbol)
|
|||||||
|
|
||||||
#elif defined PLATFORM_APPLE
|
#elif defined PLATFORM_APPLE
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
typedef struct mach_header MachHeader;
|
typedef struct mach_header MachHeader;
|
||||||
typedef struct segment_command MachSegment;
|
typedef struct segment_command MachSegment;
|
||||||
typedef struct nlist MachSymbol;
|
typedef struct nlist MachSymbol;
|
||||||
@ -451,7 +451,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
|||||||
|
|
||||||
#ifdef PLATFORM_WINDOWS
|
#ifdef PLATFORM_WINDOWS
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
const WORD PE_FILE_MACHINE = IMAGE_FILE_MACHINE_I386;
|
const WORD PE_FILE_MACHINE = IMAGE_FILE_MACHINE_I386;
|
||||||
const WORD PE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
const WORD PE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC;
|
||||||
#else
|
#else
|
||||||
@ -501,7 +501,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
|||||||
|
|
||||||
#elif defined PLATFORM_LINUX
|
#elif defined PLATFORM_LINUX
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
typedef Elf32_Ehdr ElfHeader;
|
typedef Elf32_Ehdr ElfHeader;
|
||||||
typedef Elf32_Phdr ElfPHeader;
|
typedef Elf32_Phdr ElfPHeader;
|
||||||
const unsigned char ELF_CLASS = ELFCLASS32;
|
const unsigned char ELF_CLASS = ELFCLASS32;
|
||||||
@ -586,7 +586,7 @@ const DynLibInfo *MemoryUtils::GetLibraryInfo(const void *libPtr)
|
|||||||
|
|
||||||
#elif defined PLATFORM_APPLE
|
#elif defined PLATFORM_APPLE
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
typedef struct mach_header MachHeader;
|
typedef struct mach_header MachHeader;
|
||||||
typedef struct segment_command MachSegment;
|
typedef struct segment_command MachSegment;
|
||||||
const uint32_t MACH_MAGIC = MH_MAGIC;
|
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.
|
// lower 26 bits. The table consists of memory allocation base addresses.
|
||||||
void *PseudoAddressManager::FromPseudoAddress(uint32_t paddr)
|
void *PseudoAddressManager::FromPseudoAddress(uint32_t paddr)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
uint8_t index = paddr >> PSEUDO_OFFSET_BITS;
|
uint8_t index = paddr >> PSEUDO_OFFSET_BITS;
|
||||||
uint32_t offset = paddr & ((1 << PSEUDO_OFFSET_BITS) - 1);
|
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)
|
uint32_t PseudoAddressManager::ToPseudoAddress(void *addr)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
uint8_t index = 0;
|
uint8_t index = 0;
|
||||||
uint32_t offset = 0;
|
uint32_t offset = 0;
|
||||||
bool hasEntry = false;
|
bool hasEntry = false;
|
||||||
@ -108,13 +108,13 @@ void *PseudoAddressManager::GetAllocationBase(void *ptr)
|
|||||||
|
|
||||||
#elif defined PLATFORM_APPLE
|
#elif defined PLATFORM_APPLE
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
typedef vm_region_info_t mach_vm_region_info_t;
|
typedef vm_region_info_t mach_vm_region_info_t;
|
||||||
typedef vm_region_basic_info_data_t mach_vm_region_basic_info_data_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 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;
|
const mach_msg_type_number_t MACH_VM_REGION_BASIC_INFO_COUNT = VM_REGION_BASIC_INFO_COUNT;
|
||||||
#define mach_vm_region vm_region
|
#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_info_64_t mach_vm_region_info_t ;
|
||||||
typedef vm_region_basic_info_data_64_t mach_vm_region_basic_info_data_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;
|
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;
|
IExtensionSys *extsys = &g_Extensions;
|
||||||
ILogger *logger = &g_Logger;
|
ILogger *logger = &g_Logger;
|
||||||
CNativeOwner g_CoreNatives;
|
CNativeOwner g_CoreNatives;
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
PseudoAddressManager pseudoAddr;
|
PseudoAddressManager pseudoAddr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ static void RegisterProfiler(IProfilingTool *tool)
|
|||||||
|
|
||||||
static void *FromPseudoAddress(uint32_t paddr)
|
static void *FromPseudoAddress(uint32_t paddr)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
return pseudoAddr.FromPseudoAddress(paddr);
|
return pseudoAddr.FromPseudoAddress(paddr);
|
||||||
#else
|
#else
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@ -131,7 +131,7 @@ static void *FromPseudoAddress(uint32_t paddr)
|
|||||||
|
|
||||||
static uint32_t ToPseudoAddress(void *addr)
|
static uint32_t ToPseudoAddress(void *addr)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
return pseudoAddr.ToPseudoAddress(addr);
|
return pseudoAddr.ToPseudoAddress(addr);
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
#define _INCLUDE_SOURCEMOD_COMMON_LOGIC_H_
|
#define _INCLUDE_SOURCEMOD_COMMON_LOGIC_H_
|
||||||
|
|
||||||
#include "../sm_globals.h"
|
#include "../sm_globals.h"
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
#include "PseudoAddrManager.h"
|
#include "PseudoAddrManager.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -863,7 +863,7 @@ enum NumberType
|
|||||||
|
|
||||||
static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
|
static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
void *addr = reinterpret_cast<void*>(params[1]);
|
void *addr = reinterpret_cast<void*>(params[1]);
|
||||||
#else
|
#else
|
||||||
void *addr = pseudoAddr.FromPseudoAddress(params[1]);
|
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)
|
static cell_t StoreToAddress(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
void *addr = reinterpret_cast<void*>(params[1]);
|
void *addr = reinterpret_cast<void*>(params[1]);
|
||||||
#else
|
#else
|
||||||
void *addr = pseudoAddr.FromPseudoAddress(params[1]);
|
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))
|
if (!gc->GetAddress(key, &val))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
return (cell_t)val;
|
return (cell_t)val;
|
||||||
#else
|
#else
|
||||||
return pseudoAddr.ToPseudoAddress(val);
|
return pseudoAddr.ToPseudoAddress(val);
|
||||||
@ -187,7 +187,7 @@ static cell_t smn_GameConfGetMemSig(IPluginContext *pCtx, const cell_t *params)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
return (cell_t)val;
|
return (cell_t)val;
|
||||||
#else
|
#else
|
||||||
return pseudoAddr.ToPseudoAddress(val);
|
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)
|
static cell_t LoadEntityFromHandleAddress(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
void *addr = reinterpret_cast<void*>(params[1]);
|
void *addr = reinterpret_cast<void*>(params[1]);
|
||||||
#else
|
#else
|
||||||
void *addr = g_SourceMod.FromPseudoAddress(params[1]);
|
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)
|
static cell_t StoreEntityToHandleAddress(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
void *addr = reinterpret_cast<void*>(params[1]);
|
void *addr = reinterpret_cast<void*>(params[1]);
|
||||||
#else
|
#else
|
||||||
void *addr = g_SourceMod.FromPseudoAddress(params[1]);
|
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]);
|
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);
|
return reinterpret_cast<cell_t>(pEntity);
|
||||||
#else
|
#else
|
||||||
return g_SourceMod.ToPseudoAddress(pEntity);
|
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. */
|
/* There will always be a path by this point, since it was force-set above. */
|
||||||
m_GotBasePath = true;
|
m_GotBasePath = true;
|
||||||
|
|
||||||
#if defined PLATFORM_X86
|
#if defined KE_ARCH_X86
|
||||||
# define SOURCEPAWN_DLL "sourcepawn.jit.x86"
|
# define SOURCEPAWN_DLL "sourcepawn.jit.x86"
|
||||||
#else
|
#else
|
||||||
# define SOURCEPAWN_DLL "sourcepawn.vm"
|
# define SOURCEPAWN_DLL "sourcepawn.vm"
|
||||||
|
|||||||
@ -104,7 +104,7 @@ ICallWrapper *CallMaker::CreateCall(void *address,
|
|||||||
NULL, NULL, NULL, NULL);
|
NULL, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined PLATFORM_X64
|
#if defined KE_ARCH_X64
|
||||||
return g_CallMaker2.CreateCall(address, &(*protoInfo), retInfo, paramInfo, fnFlags);
|
return g_CallMaker2.CreateCall(address, &(*protoInfo), retInfo, paramInfo, fnFlags);
|
||||||
#else
|
#else
|
||||||
return g_CallMaker2.CreateCall(address, &(*protoInfo));
|
return g_CallMaker2.CreateCall(address, &(*protoInfo));
|
||||||
@ -144,7 +144,7 @@ ICallWrapper *CallMaker::CreateVCall(unsigned int vtblIdx,
|
|||||||
NULL, NULL, NULL, NULL);
|
NULL, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined PLATFORM_X64
|
#if defined KE_ARCH_X64
|
||||||
return g_CallMaker2.CreateVirtualCall(&(*protoInfo), &info, retInfo, paramInfo, fnFlags);
|
return g_CallMaker2.CreateVirtualCall(&(*protoInfo), &info, retInfo, paramInfo, fnFlags);
|
||||||
#else
|
#else
|
||||||
return g_CallMaker2.CreateVirtualCall(&(*protoInfo), &info);
|
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)
|
ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo *protoInfo)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
||||||
pWrapper->SetCalleeAddr(address);
|
pWrapper->SetCalleeAddr(address);
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo
|
|||||||
ICallWrapper *CallMaker2::CreateVirtualCall(const SourceHook::ProtoInfo *protoInfo,
|
ICallWrapper *CallMaker2::CreateVirtualCall(const SourceHook::ProtoInfo *protoInfo,
|
||||||
const SourceHook::MemFuncInfo *info)
|
const SourceHook::MemFuncInfo *info)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
CallWrapper *pWrapper = new CallWrapper(protoInfo);
|
||||||
pWrapper->SetMemFuncInfo(info);
|
pWrapper->SetMemFuncInfo(info);
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ ICallWrapper *CallMaker2::CreateCall(void *address, const SourceHook::ProtoInfo
|
|||||||
const PassInfo *retInfo, const PassInfo paramInfo[],
|
const PassInfo *retInfo, const PassInfo paramInfo[],
|
||||||
unsigned int fnFlags)
|
unsigned int fnFlags)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
||||||
pWrapper->SetCalleeAddr(address);
|
pWrapper->SetCalleeAddr(address);
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ ICallWrapper *CallMaker2::CreateVirtualCall(const SourceHook::ProtoInfo *protoIn
|
|||||||
const PassInfo paramInfo[],
|
const PassInfo paramInfo[],
|
||||||
unsigned int fnFlags)
|
unsigned int fnFlags)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
CallWrapper *pWrapper = new CallWrapper(protoInfo, retInfo, paramInfo, fnFlags);
|
||||||
pWrapper->SetMemFuncInfo(info);
|
pWrapper->SetMemFuncInfo(info);
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ struct HashItemDef_Node
|
|||||||
class CHashItemDef
|
class CHashItemDef
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
unsigned char padding[36];
|
unsigned char padding[36];
|
||||||
#else
|
#else
|
||||||
unsigned char padding[56];
|
unsigned char padding[56];
|
||||||
|
|||||||
@ -162,7 +162,7 @@ CRegisters::CRegisters(std::vector<Register_t> registers)
|
|||||||
m_xmm7 = CreateRegister(registers, XMM7, 16, 16);
|
m_xmm7 = CreateRegister(registers, XMM7, 16, 16);
|
||||||
|
|
||||||
// 64-bit mode only
|
// 64-bit mode only
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
m_xmm8 = CreateRegister(registers, XMM8, 16);
|
m_xmm8 = CreateRegister(registers, XMM8, 16);
|
||||||
m_xmm9 = CreateRegister(registers, XMM9, 16);
|
m_xmm9 = CreateRegister(registers, XMM9, 16);
|
||||||
m_xmm10 = CreateRegister(registers, XMM10, 16);
|
m_xmm10 = CreateRegister(registers, XMM10, 16);
|
||||||
|
|||||||
@ -62,7 +62,7 @@ size_t GetStackParamOffset(HookParamsStruct *paramStruct, unsigned int index)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
offset += 8;
|
offset += 8;
|
||||||
#else
|
#else
|
||||||
offset += paramStruct->dg->params[i].size;
|
offset += paramStruct->dg->params[i].size;
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
#include "vhook.h"
|
#include "vhook.h"
|
||||||
#include "vfunc_call.h"
|
#include "vfunc_call.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
#include "sh_asm_x86_64.h"
|
#include "sh_asm_x86_64.h"
|
||||||
#else
|
#else
|
||||||
#include <macro-assembler-x86.h>
|
#include <macro-assembler-x86.h>
|
||||||
@ -51,7 +51,7 @@ using namespace sp;
|
|||||||
#define OBJECT_OFFSET (sizeof(void *)*2)
|
#define OBJECT_OFFSET (sizeof(void *)*2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
using namespace SourceHook::Asm;
|
using namespace SourceHook::Asm;
|
||||||
|
|
||||||
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* hook)
|
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* hook)
|
||||||
@ -473,14 +473,14 @@ cell_t GetThisPtr(void *iface, ThisPointerType type)
|
|||||||
return -1;
|
return -1;
|
||||||
return gamehelpers->EntityToBCompatRef((CBaseEntity *)iface);
|
return gamehelpers->EntityToBCompatRef((CBaseEntity *)iface);
|
||||||
}
|
}
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
return g_pSM->ToPseudoAddress(iface);
|
return g_pSM->ToPseudoAddress(iface);
|
||||||
#else
|
#else
|
||||||
return (cell_t)iface;
|
return (cell_t)iface;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
void *Callback(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
void *Callback(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||||
#else
|
#else
|
||||||
void *Callback(DHooksCallback *dg, void **argStack)
|
void *Callback(DHooksCallback *dg, void **argStack)
|
||||||
@ -491,7 +491,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
|||||||
Handle_t rHndl;
|
Handle_t rHndl;
|
||||||
Handle_t pHndl;
|
Handle_t pHndl;
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
*argsizep = GetStackArgsSize(dg);
|
*argsizep = GetStackArgsSize(dg);
|
||||||
#else
|
#else
|
||||||
size_t argsize = GetStackArgsSize(dg);
|
size_t argsize = GetStackArgsSize(dg);
|
||||||
@ -519,7 +519,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
|||||||
dg->plugin_callback->PushCell(rHndl);
|
dg->plugin_callback->PushCell(rHndl);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
if(*argsizep > 0)
|
if(*argsizep > 0)
|
||||||
{
|
{
|
||||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||||
@ -664,7 +664,7 @@ void *Callback(DHooksCallback *dg, void **argStack)
|
|||||||
}
|
}
|
||||||
return ret;
|
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)
|
float Callback_float(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||||
#else
|
#else
|
||||||
float Callback_float(DHooksCallback *dg, void **argStack)
|
float Callback_float(DHooksCallback *dg, void **argStack)
|
||||||
@ -675,7 +675,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
|||||||
Handle_t rHndl;
|
Handle_t rHndl;
|
||||||
Handle_t pHndl;
|
Handle_t pHndl;
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
*argsizep = GetStackArgsSize(dg);
|
*argsizep = GetStackArgsSize(dg);
|
||||||
#else
|
#else
|
||||||
size_t argsize = GetStackArgsSize(dg);
|
size_t argsize = GetStackArgsSize(dg);
|
||||||
@ -702,7 +702,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
|||||||
}
|
}
|
||||||
dg->plugin_callback->PushCell(rHndl);
|
dg->plugin_callback->PushCell(rHndl);
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
if(*argsizep > 0)
|
if(*argsizep > 0)
|
||||||
{
|
{
|
||||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||||
@ -819,7 +819,7 @@ float Callback_float(DHooksCallback *dg, void **argStack)
|
|||||||
}
|
}
|
||||||
return *(float *)ret;
|
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)
|
SDKVector *Callback_vector(DHooksCallback *dg, void **argStack, size_t *argsizep)
|
||||||
#else
|
#else
|
||||||
SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
||||||
@ -832,7 +832,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
|||||||
Handle_t rHndl;
|
Handle_t rHndl;
|
||||||
Handle_t pHndl;
|
Handle_t pHndl;
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
*argsizep = GetStackArgsSize(dg);
|
*argsizep = GetStackArgsSize(dg);
|
||||||
#else
|
#else
|
||||||
size_t argsize = GetStackArgsSize(dg);
|
size_t argsize = GetStackArgsSize(dg);
|
||||||
@ -859,7 +859,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack)
|
|||||||
}
|
}
|
||||||
dg->plugin_callback->PushCell(rHndl);
|
dg->plugin_callback->PushCell(rHndl);
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
if(*argsizep > 0)
|
if(*argsizep > 0)
|
||||||
{
|
{
|
||||||
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
paramStruct = GetParamStruct(dg, argStack, *argsizep);
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
#include <registers.h>
|
#include <registers.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
#include "sh_asm_x86_64.h"
|
#include "sh_asm_x86_64.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ public:
|
|||||||
virtual void DeleteThis()
|
virtual void DeleteThis()
|
||||||
{
|
{
|
||||||
*(void ***)this = this->oldvtable;
|
*(void ***)this = this->oldvtable;
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
delete callThunk;
|
delete callThunk;
|
||||||
#else
|
#else
|
||||||
g_pSM->GetScriptingEngine()->FreePageMemory(this->newvtable[2]);
|
g_pSM->GetScriptingEngine()->FreePageMemory(this->newvtable[2]);
|
||||||
@ -188,12 +188,12 @@ public:
|
|||||||
public:
|
public:
|
||||||
void **newvtable;
|
void **newvtable;
|
||||||
void **oldvtable;
|
void **oldvtable;
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
SourceHook::Asm::x64JitWriter* callThunk;
|
SourceHook::Asm::x64JitWriter* callThunk;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined( WIN32 ) && !defined( PLATFORM_X64 )
|
#if defined( WIN32 ) && !defined( KE_ARCH_X64 )
|
||||||
void *Callback(DHooksCallback *dg, void **stack, size_t *argsizep);
|
void *Callback(DHooksCallback *dg, void **stack, size_t *argsizep);
|
||||||
float Callback_float(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);
|
SDKVector *Callback_vector(DHooksCallback *dg, void **stack, size_t *argsizep);
|
||||||
@ -278,7 +278,7 @@ public:
|
|||||||
HookMethod hookMethod;
|
HookMethod hookMethod;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* type);
|
SourceHook::Asm::x64JitWriter* GenerateThunk(HookSetup* type);
|
||||||
static DHooksCallback *MakeHandler(HookSetup* hook)
|
static DHooksCallback *MakeHandler(HookSetup* hook)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -82,7 +82,7 @@ CTakeDamageInfoHack::CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity *
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_TF2
|
#if SOURCE_ENGINE == SE_TF2
|
||||||
m_eCritType = kCritType_None;
|
m_eCritType = CRIT_NONE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if SOURCE_ENGINE >= SE_ALIENSWARM
|
#if SOURCE_ENGINE >= SE_ALIENSWARM
|
||||||
|
|||||||
@ -36,6 +36,9 @@
|
|||||||
#include "vector.h"
|
#include "vector.h"
|
||||||
#include "utlvector.h"
|
#include "utlvector.h"
|
||||||
#include <shareddefs.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 "usercmd.h"
|
||||||
#include "filesystem.h"
|
#include "filesystem.h"
|
||||||
|
|
||||||
|
|||||||
@ -73,7 +73,7 @@ bool EntityOutputManager::IsEnabled()
|
|||||||
return enabled;
|
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)
|
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);
|
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");
|
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;
|
int iMaxParam = 8;
|
||||||
//Instead of being one param, MSVC broke variant_t param into 5 params..
|
//Instead of being one param, MSVC broke variant_t param into 5 params..
|
||||||
PassInfo pass[8];
|
PassInfo pass[8];
|
||||||
|
|||||||
@ -360,7 +360,7 @@ void TempEntityManager::Initialize()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* Store the head of the TE linked list */
|
/* Store the head of the TE linked list */
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
m_ListHead = **(void ***) ((unsigned char *) addr + offset);
|
m_ListHead = **(void ***) ((unsigned char *) addr + offset);
|
||||||
#else
|
#else
|
||||||
int32_t varOffset = *(int32_t *) ((unsigned char *) addr + offset);
|
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)
|
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]);
|
s_call_addr = reinterpret_cast<void *>(params[1]);
|
||||||
#else
|
#else
|
||||||
s_call_addr = g_pSM->FromPseudoAddress(params[1]);
|
s_call_addr = g_pSM->FromPseudoAddress(params[1]);
|
||||||
|
|||||||
@ -66,7 +66,7 @@ void InitializeValveGlobals()
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef PLATFORM_X86
|
#ifdef KE_ARCH_X86
|
||||||
g_ppGameRules = *reinterpret_cast<void ***>(addr + offset);
|
g_ppGameRules = *reinterpret_cast<void ***>(addr + offset);
|
||||||
#else
|
#else
|
||||||
int32_t varOffset = *(int32_t *) ((unsigned char *) addr + offset);
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef PLATFORM_X64
|
#ifdef KE_ARCH_X64
|
||||||
#define KEY_SUFFIX "64"
|
#define KEY_SUFFIX "64"
|
||||||
#else
|
#else
|
||||||
#define KEY_SUFFIX ""
|
#define KEY_SUFFIX ""
|
||||||
@ -291,9 +291,9 @@ void GetIServer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Finally we have the interface we were looking for */
|
/* 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);
|
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);
|
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);
|
iserver = reinterpret_cast<IServer *>(reinterpret_cast<unsigned char *>(vfunc) + offset + sizeof(int32_t) + varOffset);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit a57b3095a6fc31a98b13e2d73ebb668dac4f1300
|
Subproject commit 1134968fc13dcbc1f64dd35f50da00766d50ffa3
|
||||||
@ -37,21 +37,13 @@
|
|||||||
* @brief Contains platform-specific macros for abstraction.
|
* @brief Contains platform-specific macros for abstraction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <am-platform.h>
|
||||||
|
|
||||||
#if defined WIN32 || defined WIN64
|
#if defined WIN32 || defined WIN64
|
||||||
#ifndef PLATFORM_WINDOWS
|
#ifndef PLATFORM_WINDOWS
|
||||||
#define PLATFORM_WINDOWS 1
|
#define PLATFORM_WINDOWS 1
|
||||||
#endif
|
#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
|
#if !defined WIN32_LEAN_AND_MEAN
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#endif
|
#endif
|
||||||
@ -83,16 +75,6 @@
|
|||||||
# define PLATFORM_POSIX 1
|
# define PLATFORM_POSIX 1
|
||||||
#endif
|
#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 <errno.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
@ -116,7 +98,7 @@
|
|||||||
#define SM_ARRAYSIZE(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
|
#define SM_ARRAYSIZE(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined PLATFORM_X64
|
#if defined KE_ARCH_X64
|
||||||
#define PLATFORM_ARCH_FOLDER "x64" PLATFORM_SEP
|
#define PLATFORM_ARCH_FOLDER "x64" PLATFORM_SEP
|
||||||
#ifdef PLATFORM_WINDOWS
|
#ifdef PLATFORM_WINDOWS
|
||||||
#define PLATFORM_FOLDER "win64" PLATFORM_SEP
|
#define PLATFORM_FOLDER "win64" PLATFORM_SEP
|
||||||
@ -134,7 +116,7 @@
|
|||||||
#elif defined PLATFORM_APPLE
|
#elif defined PLATFORM_APPLE
|
||||||
#define PLATFORM_FOLDER "osx32" PLATFORM_SEP
|
#define PLATFORM_FOLDER "osx32" PLATFORM_SEP
|
||||||
#endif
|
#endif
|
||||||
#endif // defined PLATFORM_X64
|
#endif // defined KE_ARCH_X64
|
||||||
|
|
||||||
#endif //_INCLUDE_SOURCEMOD_PLATFORM_H_
|
#endif //_INCLUDE_SOURCEMOD_PLATFORM_H_
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user