mirror of
https://github.com/voided/CollisionHook.git
synced 2025-12-06 18:28:22 +00:00
Merge pull request #21 from A1mDev/master
Some checks are pending
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (clang, clang++, ubuntu-latest) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (clang-10, clang++-10, ubuntu-20.04) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (msvc, windows-2019) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (msvc, windows-latest) (push) Waiting to run
Some checks are pending
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (clang, clang++, ubuntu-latest) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (clang-10, clang++-10, ubuntu-20.04) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (msvc, windows-2019) (push) Waiting to run
Extension builder / ${{ matrix.os }} - ${{ matrix.cc }} (msvc, windows-latest) (push) Waiting to run
Add platform-specific DETOUR macros
This commit is contained in:
commit
ce3aceae7a
@ -1 +1 @@
|
|||||||
1.3.0
|
1.3.1
|
||||||
@ -39,13 +39,8 @@ IForward *g_pPassFwd = NULL;
|
|||||||
|
|
||||||
int gSetCollisionSolverHookId, gShouldCollideHookId;
|
int gSetCollisionSolverHookId, gShouldCollideHookId;
|
||||||
|
|
||||||
#if defined(__linux__) && defined(__i386__)
|
|
||||||
CDetour* PassServerEntityFilterFuncDetour;
|
DETOUR_CUSTOM_STATIC2( PassServerEntityFilterFunc, bool, const IHandleEntity *, pTouch, const IHandleEntity *, pPass )
|
||||||
__attribute__((regparm(2))) bool (*PassServerEntityFilterFunc_Actual)(const IHandleEntity*, const IHandleEntity*);
|
|
||||||
__attribute__((regparm(2))) bool PassServerEntityFilterFunc(const IHandleEntity* pTouch, const IHandleEntity* pPass)
|
|
||||||
#else
|
|
||||||
DETOUR_DECL_STATIC2( PassServerEntityFilterFunc, bool, const IHandleEntity *, pTouch, const IHandleEntity *, pPass )
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
if ( g_pPassFwd->GetFunctionCount() == 0 )
|
if ( g_pPassFwd->GetFunctionCount() == 0 )
|
||||||
return DETOUR_STATIC_CALL( PassServerEntityFilterFunc )( pTouch, pPass );
|
return DETOUR_STATIC_CALL( PassServerEntityFilterFunc )( pTouch, pPass );
|
||||||
|
|||||||
@ -107,5 +107,21 @@ inline const CBaseEntity *UTIL_EntityFromEntityHandle( const IHandleEntity *pCon
|
|||||||
return pUnk->GetBaseEntity();
|
return pUnk->GetBaseEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define DETOUR_DECL_STATIC2_REGPARM(name, ret, p1type, p1name, p2type, p2name) \
|
||||||
|
ret (*name##_Actual)(p1type, p2type) __attribute__((regparm(2))) = NULL; \
|
||||||
|
ret name(p1type p1name, p2type p2name) __attribute__((regparm(2)))
|
||||||
|
|
||||||
|
#define DETOUR_DECL_STATIC2_FASTCALL(name, ret, p1type, p1name, p2type, p2name) \
|
||||||
|
ret (__fastcall *name##_Actual)(p1type, p2type) = NULL; \
|
||||||
|
ret __fastcall name(p1type p1name, p2type p2name)
|
||||||
|
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE == SE_TF2 && defined(PLATFORM_LINUX) && defined(__i386__)
|
||||||
|
#define DETOUR_CUSTOM_STATIC2 DETOUR_DECL_STATIC2_REGPARM
|
||||||
|
#elif SOURCE_ENGINE == SE_CSGO && defined(PLATFORM_WINDOWS)
|
||||||
|
#define DETOUR_CUSTOM_STATIC2 DETOUR_DECL_STATIC2_FASTCALL
|
||||||
|
#else
|
||||||
|
#define DETOUR_CUSTOM_STATIC2 DETOUR_DECL_STATIC2
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // _INCLUDE_COLLISIONHOOK_EXTENSION_H_
|
#endif // _INCLUDE_COLLISIONHOOK_EXTENSION_H_
|
||||||
|
|||||||
@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
#define SM_BUILD_TAG "-manual"
|
#define SM_BUILD_TAG "-manual"
|
||||||
#define SM_BUILD_UNIQUEID "[MANUAL BUILD]"
|
#define SM_BUILD_UNIQUEID "[MANUAL BUILD]"
|
||||||
#define SM_VERSION "1.3.0"
|
#define SM_VERSION "1.3.1"
|
||||||
#define SM_FULL_VERSION SM_VERSION SM_BUILD_TAG
|
#define SM_FULL_VERSION SM_VERSION SM_BUILD_TAG
|
||||||
#define SM_FILE_VERSION 1,3,0,0
|
#define SM_FILE_VERSION 1,3,1,0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user