diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8214bffd6..094a745a9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 diff --git a/AMBuildScript b/AMBuildScript index f3c25f31c..56faedafb 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -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']: diff --git a/core/HalfLife2.cpp b/core/HalfLife2.cpp index b23540275..87aa2a7cd 100644 --- a/core/HalfLife2.cpp +++ b/core/HalfLife2.cpp @@ -234,9 +234,9 @@ void CHalfLife2::InitLogicalEntData() return; } -#ifdef PLATFORM_X86 +#ifdef KE_ARCH_X86 g_EntList = *reinterpret_cast(addr + offset); -#elif defined PLATFORM_X64 +#elif defined KE_ARCH_X64 int32_t varOffset = *reinterpret_cast(addr + offset); g_EntList = reinterpret_cast(addr + offset + sizeof(int32_t) + varOffset); #endif diff --git a/core/logic/GameConfigs.cpp b/core/logic/GameConfigs.cpp index 059071d93..64018008d 100644 --- a/core/logic/GameConfigs.cpp +++ b/core/logic/GameConfigs.cpp @@ -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 diff --git a/core/logic/MemoryUtils.cpp b/core/logic/MemoryUtils.cpp index 62a236beb..5c72c34e9 100644 --- a/core/logic/MemoryUtils.cpp +++ b/core/logic/MemoryUtils.cpp @@ -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; diff --git a/core/logic/PseudoAddrManager.cpp b/core/logic/PseudoAddrManager.cpp index 2979b1ab0..75e860467 100644 --- a/core/logic/PseudoAddrManager.cpp +++ b/core/logic/PseudoAddrManager.cpp @@ -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; diff --git a/core/logic/common_logic.cpp b/core/logic/common_logic.cpp index 24e95092c..f88137321 100644 --- a/core/logic/common_logic.cpp +++ b/core/logic/common_logic.cpp @@ -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; diff --git a/core/logic/common_logic.h b/core/logic/common_logic.h index 464a4fd79..faed421aa 100644 --- a/core/logic/common_logic.h +++ b/core/logic/common_logic.h @@ -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 diff --git a/core/logic/smn_core.cpp b/core/logic/smn_core.cpp index 8e90d4031..51f02f2dd 100644 --- a/core/logic/smn_core.cpp +++ b/core/logic/smn_core.cpp @@ -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(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(params[1]); #else void *addr = pseudoAddr.FromPseudoAddress(params[1]); diff --git a/core/logic/smn_gameconfigs.cpp b/core/logic/smn_gameconfigs.cpp index 2e1e107ff..f475954aa 100644 --- a/core/logic/smn_gameconfigs.cpp +++ b/core/logic/smn_gameconfigs.cpp @@ -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); diff --git a/core/smn_entities.cpp b/core/smn_entities.cpp index 929b4a4a8..073545ace 100644 --- a/core/smn_entities.cpp +++ b/core/smn_entities.cpp @@ -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(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(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(pEntity); #else return g_SourceMod.ToPseudoAddress(pEntity); diff --git a/core/sourcemod.cpp b/core/sourcemod.cpp index 10a13259a..be595032e 100644 --- a/core/sourcemod.cpp +++ b/core/sourcemod.cpp @@ -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" diff --git a/extensions/bintools/CallMaker.cpp b/extensions/bintools/CallMaker.cpp index ddf74c893..f5c4c56d5 100644 --- a/extensions/bintools/CallMaker.cpp +++ b/extensions/bintools/CallMaker.cpp @@ -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); diff --git a/extensions/cstrike/itemdef-hash.h b/extensions/cstrike/itemdef-hash.h index 0d7767819..e8d0ef8bd 100644 --- a/extensions/cstrike/itemdef-hash.h +++ b/extensions/cstrike/itemdef-hash.h @@ -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]; diff --git a/extensions/dhooks/DynamicHooks/registers.cpp b/extensions/dhooks/DynamicHooks/registers.cpp index 3f376d7ca..0984926f5 100644 --- a/extensions/dhooks/DynamicHooks/registers.cpp +++ b/extensions/dhooks/DynamicHooks/registers.cpp @@ -162,7 +162,7 @@ CRegisters::CRegisters(std::vector 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); diff --git a/extensions/dhooks/util.cpp b/extensions/dhooks/util.cpp index e1c8df2e1..ac9b678a1 100644 --- a/extensions/dhooks/util.cpp +++ b/extensions/dhooks/util.cpp @@ -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; diff --git a/extensions/dhooks/vhook.cpp b/extensions/dhooks/vhook.cpp index d20eaf447..778c43013 100644 --- a/extensions/dhooks/vhook.cpp +++ b/extensions/dhooks/vhook.cpp @@ -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 @@ -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); diff --git a/extensions/dhooks/vhook.h b/extensions/dhooks/vhook.h index b58f9c4ff..e68d2ef72 100644 --- a/extensions/dhooks/vhook.h +++ b/extensions/dhooks/vhook.h @@ -39,7 +39,7 @@ #include #include -#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) { diff --git a/extensions/sdkhooks/takedamageinfohack.cpp b/extensions/sdkhooks/takedamageinfohack.cpp index 5d5ccb6aa..c4358a146 100644 --- a/extensions/sdkhooks/takedamageinfohack.cpp +++ b/extensions/sdkhooks/takedamageinfohack.cpp @@ -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 diff --git a/extensions/sdktools/hooks.cpp b/extensions/sdktools/hooks.cpp index 706b478d6..979753835 100644 --- a/extensions/sdktools/hooks.cpp +++ b/extensions/sdktools/hooks.cpp @@ -36,6 +36,9 @@ #include "vector.h" #include "utlvector.h" #include +#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" diff --git a/extensions/sdktools/output.cpp b/extensions/sdktools/output.cpp index 0daee9692..4e4db005a 100644 --- a/extensions/sdktools/output.cpp +++ b/extensions/sdktools/output.cpp @@ -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); diff --git a/extensions/sdktools/outputnatives.cpp b/extensions/sdktools/outputnatives.cpp index fb16deed2..c90cb42a1 100644 --- a/extensions/sdktools/outputnatives.cpp +++ b/extensions/sdktools/outputnatives.cpp @@ -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]; diff --git a/extensions/sdktools/tempents.cpp b/extensions/sdktools/tempents.cpp index e71d652fd..7cf1ef24e 100644 --- a/extensions/sdktools/tempents.cpp +++ b/extensions/sdktools/tempents.cpp @@ -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); diff --git a/extensions/sdktools/vcaller.cpp b/extensions/sdktools/vcaller.cpp index 3cabcc40a..326563d98 100644 --- a/extensions/sdktools/vcaller.cpp +++ b/extensions/sdktools/vcaller.cpp @@ -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(params[1]); #else s_call_addr = g_pSM->FromPseudoAddress(params[1]); diff --git a/extensions/sdktools/vglobals.cpp b/extensions/sdktools/vglobals.cpp index acfe10dea..49cd4b4de 100644 --- a/extensions/sdktools/vglobals.cpp +++ b/extensions/sdktools/vglobals.cpp @@ -66,7 +66,7 @@ void InitializeValveGlobals() { return; } -#ifdef PLATFORM_X86 +#ifdef KE_ARCH_X86 g_ppGameRules = *reinterpret_cast(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(reinterpret_cast(vfunc) + offset); -#elif defined PLATFORM_X64 +#elif defined KE_ARCH_X64 int32_t varOffset = *reinterpret_cast(reinterpret_cast(vfunc) + offset); iserver = reinterpret_cast(reinterpret_cast(vfunc) + offset + sizeof(int32_t) + varOffset); #endif diff --git a/hl2sdk-manifests b/hl2sdk-manifests index a57b3095a..1134968fc 160000 --- a/hl2sdk-manifests +++ b/hl2sdk-manifests @@ -1 +1 @@ -Subproject commit a57b3095a6fc31a98b13e2d73ebb668dac4f1300 +Subproject commit 1134968fc13dcbc1f64dd35f50da00766d50ffa3 diff --git a/public/sm_platform.h b/public/sm_platform.h index e58564328..530b22a2c 100644 --- a/public/sm_platform.h +++ b/public/sm_platform.h @@ -37,21 +37,13 @@ * @brief Contains platform-specific macros for abstraction. */ +#include + #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 #include #include @@ -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_