mirror of
https://github.com/voided/CollisionHook.git
synced 2025-12-06 18:28:22 +00:00
Support l4d and l4d2 SDKs
This commit is contained in:
parent
21af9703c7
commit
45a802a965
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
||||
|
||||
env:
|
||||
PROJECT: "collisionhook"
|
||||
SDKS: "css hl2dm dods tf2"
|
||||
SDKS: "css hl2dm dods tf2 l4d l4d2"
|
||||
MMSOURCE_VERSION: "1.11"
|
||||
SOURCEMOD_VERSION: "1.11"
|
||||
CACHE_PATH: ${{ github.workspace }}/cache
|
||||
@ -103,12 +103,7 @@ jobs:
|
||||
# Verify github cache, and see if we don't have the sdks already cloned and update them
|
||||
for sdk in ${{ env.SDKS }}
|
||||
do
|
||||
# TODO: remove these conditionals once https://github.com/alliedmodders/hl2sdk/pull/198 is merged
|
||||
if [ "${sdk}" == "tf2" ]; then
|
||||
shallow_checkout "https://github.com/Kenzzer/hl2sdk" "tf2_win64" "hl2sdk-tf2"
|
||||
else
|
||||
shallow_checkout "https://github.com/alliedmodders/hl2sdk" "${sdk}" "hl2sdk-${sdk}"
|
||||
fi
|
||||
shallow_checkout "https://github.com/alliedmodders/hl2sdk" "${sdk}" "hl2sdk-${sdk}"
|
||||
done
|
||||
|
||||
shallow_checkout "https://github.com/alliedmodders/ambuild" "master" "ambuild"
|
||||
|
||||
@ -22,7 +22,11 @@ SMEXT_LINK( &g_CollisionHook );
|
||||
|
||||
SH_DECL_HOOK0( IPhysics, CreateEnvironment, SH_NOATTRIB, 0 , IPhysicsEnvironment * );
|
||||
SH_DECL_HOOK1_void( IPhysicsEnvironment, SetCollisionSolver, SH_NOATTRIB, 0, IPhysicsCollisionSolver * );
|
||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||
SH_DECL_HOOK6( IPhysicsCollisionSolver, ShouldCollide, SH_NOATTRIB, 0, int, IPhysicsObject *, IPhysicsObject *, void *, void *, const PhysicsCollisionRulesCache_t &, const PhysicsCollisionRulesCache_t & );
|
||||
#else
|
||||
SH_DECL_HOOK4( IPhysicsCollisionSolver, ShouldCollide, SH_NOATTRIB, 0, int, IPhysicsObject *, IPhysicsObject *, void *, void * );
|
||||
#endif
|
||||
|
||||
|
||||
IGameConfig *g_pGameConf = NULL;
|
||||
@ -175,7 +179,11 @@ void CollisionHook::SetCollisionSolver( IPhysicsCollisionSolver *pSolver )
|
||||
RETURN_META( MRES_IGNORED );
|
||||
}
|
||||
|
||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||
int CollisionHook::VPhysics_ShouldCollide( IPhysicsObject *pObj1, IPhysicsObject *pObj2, void *pGameData1, void *pGameData2, const PhysicsCollisionRulesCache_t &objCache1, const PhysicsCollisionRulesCache_t &obhCache2 )
|
||||
#else
|
||||
int CollisionHook::VPhysics_ShouldCollide( IPhysicsObject *pObj1, IPhysicsObject *pObj2, void *pGameData1, void *pGameData2 )
|
||||
#endif
|
||||
{
|
||||
if ( g_pCollisionFwd->GetFunctionCount() == 0 )
|
||||
RETURN_META_VALUE( MRES_IGNORED, 1 ); // no plugins are interested, let the game decide
|
||||
|
||||
@ -9,6 +9,9 @@
|
||||
class IPhysicsEnvironment;
|
||||
class IPhysicsCollisionSolver;
|
||||
class IPhysicsObject;
|
||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||
struct PhysicsCollisionRulesCache_t;
|
||||
#endif
|
||||
|
||||
|
||||
class CollisionHook :
|
||||
@ -87,7 +90,11 @@ public:
|
||||
public: // hooks
|
||||
IPhysicsEnvironment *CreateEnvironment();
|
||||
void SetCollisionSolver( IPhysicsCollisionSolver *pSolver );
|
||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
||||
int VPhysics_ShouldCollide( IPhysicsObject *pObj1, IPhysicsObject *pObj2, void *pGameData1, void *pGameData2, const PhysicsCollisionRulesCache_t &objCache1, const PhysicsCollisionRulesCache_t &objCache2 );
|
||||
#else
|
||||
int VPhysics_ShouldCollide( IPhysicsObject *pObj1, IPhysicsObject *pObj2, void *pGameData1, void *pGameData2 );
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user