Fix SDKHooks Spawn hook crashing in Dota.
--HG-- extra : rebase_source : dfe1eb22256268b321b8c24be718fbc7c770e74e
This commit is contained in:
parent
b83810b986
commit
bdbc3c3b58
@ -144,7 +144,11 @@ SH_DECL_MANUALHOOK0_void(PostThink, 0, 0, 0);
|
|||||||
SH_DECL_MANUALHOOK0(Reload, 0, 0, 0, bool);
|
SH_DECL_MANUALHOOK0(Reload, 0, 0, 0, bool);
|
||||||
SH_DECL_MANUALHOOK2_void(SetTransmit, 0, 0, 0, CCheckTransmitInfo *, bool);
|
SH_DECL_MANUALHOOK2_void(SetTransmit, 0, 0, 0, CCheckTransmitInfo *, bool);
|
||||||
SH_DECL_MANUALHOOK2(ShouldCollide, 0, 0, 0, bool, int, int);
|
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);
|
SH_DECL_MANUALHOOK0_void(Spawn, 0, 0, 0);
|
||||||
|
#endif
|
||||||
SH_DECL_MANUALHOOK1_void(StartTouch, 0, 0, 0, CBaseEntity *);
|
SH_DECL_MANUALHOOK1_void(StartTouch, 0, 0, 0, CBaseEntity *);
|
||||||
SH_DECL_MANUALHOOK0_void(Think, 0, 0, 0);
|
SH_DECL_MANUALHOOK0_void(Think, 0, 0, 0);
|
||||||
SH_DECL_MANUALHOOK1_void(Touch, 0, 0, 0, CBaseEntity *);
|
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);
|
RETURN_META_VALUE(MRES_SUPERCEDE, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE == SE_DOTA
|
||||||
|
void SDKHooks::Hook_Spawn(CEntityKeyValues *kv)
|
||||||
|
#else
|
||||||
void SDKHooks::Hook_Spawn()
|
void SDKHooks::Hook_Spawn()
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
int entity = gamehelpers->EntityToBCompatRef(META_IFACEPTR(CBaseEntity));
|
int entity = gamehelpers->EntityToBCompatRef(META_IFACEPTR(CBaseEntity));
|
||||||
IPluginFunction *callback = NULL;
|
IPluginFunction *callback = NULL;
|
||||||
@ -1224,7 +1232,11 @@ void SDKHooks::Hook_Spawn()
|
|||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE == SE_DOTA
|
||||||
|
void SDKHooks::Hook_SpawnPost(CEntityKeyValues *kv)
|
||||||
|
#else
|
||||||
void SDKHooks::Hook_SpawnPost()
|
void SDKHooks::Hook_SpawnPost()
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
Call(META_IFACEPTR(CBaseEntity), SDKHook_SpawnPost);
|
Call(META_IFACEPTR(CBaseEntity), SDKHook_SpawnPost);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,10 @@
|
|||||||
#define GAMEDESC_CAN_CHANGE
|
#define GAMEDESC_CAN_CHANGE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE == SE_DOTA
|
||||||
|
class CEntityKeyValues;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Globals
|
* Globals
|
||||||
@ -266,8 +270,13 @@ public:
|
|||||||
bool Hook_ReloadPost();
|
bool Hook_ReloadPost();
|
||||||
void Hook_SetTransmit(CCheckTransmitInfo *pInfo, bool bAlways);
|
void Hook_SetTransmit(CCheckTransmitInfo *pInfo, bool bAlways);
|
||||||
bool Hook_ShouldCollide(int collisonGroup, int contentsMask);
|
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_Spawn();
|
||||||
void Hook_SpawnPost();
|
void Hook_SpawnPost();
|
||||||
|
#endif
|
||||||
void Hook_StartTouch(CBaseEntity *pOther);
|
void Hook_StartTouch(CBaseEntity *pOther);
|
||||||
void Hook_StartTouchPost(CBaseEntity *pOther);
|
void Hook_StartTouchPost(CBaseEntity *pOther);
|
||||||
void Hook_Think();
|
void Hook_Think();
|
||||||
|
Loading…
Reference in New Issue
Block a user