diff --git a/extensions/sdkhooks/extension.cpp b/extensions/sdkhooks/extension.cpp index 0cf257cb3..d4c6de12e 100644 --- a/extensions/sdkhooks/extension.cpp +++ b/extensions/sdkhooks/extension.cpp @@ -144,7 +144,11 @@ SH_DECL_MANUALHOOK0_void(PostThink, 0, 0, 0); SH_DECL_MANUALHOOK0(Reload, 0, 0, 0, bool); SH_DECL_MANUALHOOK2_void(SetTransmit, 0, 0, 0, CCheckTransmitInfo *, bool); SH_DECL_MANUALHOOK2(ShouldCollide, 0, 0, 0, bool, int, int); +#if SOURCE_ENGINE == SE_DOTA +SH_DECL_MANUALHOOK1_void(Spawn, 0, 0, 0, CEntityKeyValues *); +#else SH_DECL_MANUALHOOK0_void(Spawn, 0, 0, 0); +#endif SH_DECL_MANUALHOOK1_void(StartTouch, 0, 0, 0, CBaseEntity *); SH_DECL_MANUALHOOK0_void(Think, 0, 0, 0); SH_DECL_MANUALHOOK1_void(Touch, 0, 0, 0, CBaseEntity *); @@ -1202,7 +1206,11 @@ bool SDKHooks::Hook_ShouldCollide(int collisionGroup, int contentsMask) RETURN_META_VALUE(MRES_SUPERCEDE, ret); } +#if SOURCE_ENGINE == SE_DOTA +void SDKHooks::Hook_Spawn(CEntityKeyValues *kv) +#else void SDKHooks::Hook_Spawn() +#endif { int entity = gamehelpers->EntityToBCompatRef(META_IFACEPTR(CBaseEntity)); IPluginFunction *callback = NULL; @@ -1224,7 +1232,11 @@ void SDKHooks::Hook_Spawn() RETURN_META(MRES_IGNORED); } +#if SOURCE_ENGINE == SE_DOTA +void SDKHooks::Hook_SpawnPost(CEntityKeyValues *kv) +#else void SDKHooks::Hook_SpawnPost() +#endif { Call(META_IFACEPTR(CBaseEntity), SDKHook_SpawnPost); } diff --git a/extensions/sdkhooks/extension.h b/extensions/sdkhooks/extension.h index 9965f6fa5..df2e68ec4 100644 --- a/extensions/sdkhooks/extension.h +++ b/extensions/sdkhooks/extension.h @@ -25,6 +25,10 @@ #define GAMEDESC_CAN_CHANGE #endif +#if SOURCE_ENGINE == SE_DOTA +class CEntityKeyValues; +#endif + /** * Globals @@ -266,8 +270,13 @@ public: bool Hook_ReloadPost(); void Hook_SetTransmit(CCheckTransmitInfo *pInfo, bool bAlways); bool Hook_ShouldCollide(int collisonGroup, int contentsMask); +#if SOURCE_ENGINE == SE_DOTA + void Hook_Spawn(CEntityKeyValues *kv); + void Hook_SpawnPost(CEntityKeyValues *kv); +#else void Hook_Spawn(); void Hook_SpawnPost(); +#endif void Hook_StartTouch(CBaseEntity *pOther); void Hook_StartTouchPost(CBaseEntity *pOther); void Hook_Think();