mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-25 06:15:37 +03:00
Update Hamsandwich for Sven Coop 5.17 (#452)
* Remove dropped functions * Update existing offsets * Add some logic to prevent the use of removed functions. * Add Ham_SC_AddPoints and Ham_SC_AddPointsToTeam * Add Ham_SC_GiveAmmo * Add Ham_SC_FVisibleFromPos * Fix an old typos with CanPlaySentence for all mods * Add Ham_SC_CanPlaySequence * Add Ham_SC_PlayScriptSentence * Add Ham_SC_StartPlayerFollowing * Fix CanPlaySequence hamdata.ini (SC) * Add Ham_SC_StopPlayerFollowing * Fix handlers from previous commits * Add Ham_SC_PreSpawn * Add Ham_SC_PostSpawn * Add Ham_SC_OnKeyValueUpdate * Add Ham_SC_SetClassification * Add Ham_SC_MyCustomPointer and Ham_SC_MyItemPointer * Add Ham_SC_IsSneaking * Add Ham_SC_IsAlive * Add Ham_SC_IsBSPModel * Add Ham_SC_ReflectGauss * Add Ham_SC_HasTarget * Add Ham_SC_IsInWorld * Add Ham_SC_IsPlayer * Add Ham_SC_IsNetClient * Add Ham_SC_IsBreakable * Fix Ham_SC_IsMonster, Ham_SC_IsPointEntity, Ham_SC_IsMachine and Ham_SC_CriticakRemove handlers * Add Ham_SC_OnControls * Fix Ham_SC_TakeHealth and Ham_SC_TakeArmor handlers * Add Ham_SC_IsTriggered * Add Ham_SC_RemovePlayerItem * Fix typo * Fix Ham_SC_IsMoving handler * Add Ham_SC_SUB_UseTargets * Ham_SC_IsLockedByMaster * Add Ham_SC_FBecomeProne * Fix Ham_SC_FVisible handler * Add Ham_SC_FVecVisible * Fix Ham_SC_FVisibleFromPos handler * Fix Ham_SC_IsFacing handler * Add Ham_SC_SetPlayerAlly * Add Ham_SC_OnSetOriginByMap * Add Ham_SC_IsRevivable * Add Ham_SC_BeginRevive and Ham_SC_EndRevive * Update offsets based on SvenCoop v5.17 * Add Ham_SC_Item_CanCollect and Ham_SC_Item_Collect * Add Ham_SC_Item_AddToPlayer * Add Ham_SC_Item_AddDuplicate * Add Ham_SC_Item_AddAmmoFromItem * Add Ham_SC_Item_GetItemInfo * Add Ham_SC_Item_CanDeploy, Ham_SC_Item_Deploy and Ham_SC_Item_CanHolster * Add Ham_SC_Item_UpdateClientData * Add Ham_SC_Item_GetRespawnTime * Add Ham_SC_Item_CanHaveDuplicates * Add Ham_SC_Weapon_ExtractAmmoFromItem * Add Ham_SC_Weapon_GetAmmo1Drop and Ham_SC_Weapon_GetAmmo2Drop * Add Ham_SC_Weapon_FinishReload and Ham_SC_Weapon_ShouldReload * Fix Ham_SC_IsMultiplayer, Ham_SC_FRunfuncs and Ham_SC_FCanRun handlers * Add Ham_SC_Weapon_AddWeapon, _PlayEmptySound, _IsUsable, _ShouldWeaponIdle and _UseDecrement * Add Ham_SC_Item_GetPickupSound * Add Ham_SC_Item_InactiveItemPreFrame and Ham_SC_Item_InactiveItemPostFrame * Add Ham_SC_Item_DetachFromPlayer * Fix Ham_SC_Player_IsConnected handler * Add Ham_SC_Player_EnteredObserver, Ham_SC_Player_LeftObserver and Ham_SC_Player_IsObserver * Fix sc_postpawn typo (should be sc_postspawn) * Add few more assert
This commit is contained in:
parent
0894027cb5
commit
99ebd62653
1039
configs/hamdata.ini
1039
configs/hamdata.ini
File diff suppressed because it is too large
Load Diff
@ -63,6 +63,10 @@ void OnAmxxAttach(void)
|
||||
assert(strcmp(hooklist[Ham_SC_Weapon_ChangeWeaponSkin].name, "sc_weapon_changeweaponskin")==0);
|
||||
assert(strcmp(hooklist[Ham_Item_GetItemInfo].name, "item_getiteminfo") == 0);
|
||||
|
||||
assert(strcmp(hooklist[Ham_SC_Item_AddToPlayer].name, "sc_item_addtoplayer") == 0);
|
||||
assert(strcmp(hooklist[Ham_SC_Weapon_ExtractAmmoFromItem].name, "sc_weapon_extractammofromitem") == 0);
|
||||
assert(strcmp(hooklist[Ham_SC_Player_EnteredObserver].name, "sc_player_enteredobserver") == 0);
|
||||
|
||||
MF_AddNatives(pdata_natives_safe);
|
||||
|
||||
if (ReadConfig() > 0)
|
||||
|
@ -173,7 +173,22 @@ cell Call_Int_Float_Int_Int(AMX *amx, cell *params)
|
||||
return reinterpret_cast<int (*)(void *, float, int, int)>(__func)(pv, f3, i4, i5);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
cell Call_Bool_Float_Int_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(3);
|
||||
|
||||
float f3 = amx_ctof(*MF_GetAmxAddr(amx, params[3]));
|
||||
int i4 = *MF_GetAmxAddr(amx, params[4]);
|
||||
int i5 = *MF_GetAmxAddr(amx, params[5]);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void*, int, float, int, int)>(__func)(pv, 0, f3, i4, i5) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, float, int, int)>(__func)(pv, f3, i4, i5) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Void_Entvar_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
@ -248,6 +263,36 @@ cell Call_Void_Int_Int(AMX *amx, cell *params)
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Void_Int_Bool(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
int i3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
bool i4 = *MF_GetAmxAddr(amx, params[4]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall *)(void*, int, int, bool)>(__func)(pv, 0, i3, i4);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void *, int, bool)>(__func)(pv, i3, i4);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Void_Bool_Bool(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
bool i3 = *MF_GetAmxAddr(amx, params[3]) != 0;
|
||||
bool i4 = *MF_GetAmxAddr(amx, params[4]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall *)(void*, int, bool, bool)>(__func)(pv, 0, i3, i4);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void *, bool, bool)>(__func)(pv, i3, i4);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Int_Int_Str_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(3);
|
||||
@ -279,6 +324,22 @@ cell Call_Int_Int_Str_Int_Int(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Int_Str_Int_Bool(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(4);
|
||||
|
||||
int i3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
char *sz4 = MF_GetAmxString(amx, params[4], 0, NULL);
|
||||
int i5 = *MF_GetAmxAddr(amx, params[5]);
|
||||
bool i6 = *MF_GetAmxAddr(amx, params[6]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<int(__fastcall *)(void*, int, int, const char *, int, bool)>(__func)(pv, 0, i3, sz4, i5, i6);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<int(*)(void *, int, const char *, int, bool)>(__func)(pv, i3, sz4, i5, i6);
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
@ -292,6 +353,19 @@ cell Call_Int_Int(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_Bool(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
|
||||
bool i3 = *MF_GetAmxAddr(amx, params[3]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, bool)>(__func)(pv, 0, i3) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool (*)(void *, bool)>(__func)(pv, i3) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Entvar(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
@ -591,6 +665,29 @@ cell Call_Int_pVector(AMX *amx, cell *params)
|
||||
return ret;
|
||||
}
|
||||
|
||||
cell Call_Bool_pVector(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
|
||||
Vector v3;
|
||||
float *fl3 = (float *)MF_GetAmxAddr(amx, params[3]);
|
||||
v3.x = fl3[0];
|
||||
v3.y = fl3[1];
|
||||
v3.z = fl3[2];
|
||||
|
||||
#if defined(_WIN32)
|
||||
bool ret = reinterpret_cast<bool(__fastcall *)(void *, int, Vector*)>(__func)(pv, 0, &v3);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
bool ret = reinterpret_cast<bool(*)(void *, Vector*)>(__func)(pv, &v3);
|
||||
#endif
|
||||
|
||||
fl3[0] = v3.x;
|
||||
fl3[1] = v3.y;
|
||||
fl3[2] = v3.z;
|
||||
|
||||
return ret ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
cell Call_Void_Entvar_Float_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(3);
|
||||
@ -683,6 +780,24 @@ cell Call_Int_ItemInfo(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_ItemInfo(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
|
||||
void *ptr = reinterpret_cast<void *>(*MF_GetAmxAddr(amx, params[3]));
|
||||
|
||||
if (!ptr)
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "Null ItemInfo handle!");
|
||||
return 0;
|
||||
}
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void*, int, void *)>(__func)(pv, 0, ptr) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, void *)>(__func)(pv, ptr) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Float_Void(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
@ -844,6 +959,34 @@ cell Call_Int_Int_Int(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_Bool_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
bool i3 = *MF_GetAmxAddr(amx, params[3]) != 0;
|
||||
int i4 = *MF_GetAmxAddr(amx, params[4]);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, bool, int)>(__func)(pv, 0, i3, i4) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool (*)(void *, bool, int)>(__func)(pv, i3, i4) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Bool_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
bool i3 = *MF_GetAmxAddr(amx, params[3]) != 0;
|
||||
int i4 = *MF_GetAmxAddr(amx, params[4]);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<int(__fastcall *)(void*, int, bool, int)>(__func)(pv, 0, i3, i4);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<int(*)(void *, bool, int)>(__func)(pv, i3, i4);
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Void_Str_Float_Float_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(4);
|
||||
@ -886,6 +1029,30 @@ cell Call_Void_Str_Float_Float_Float_Int_Cbase(AMX *amx, cell *params)
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Void_Str_Float_Float_Float_Bool_Cbase(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(6);
|
||||
|
||||
char *sz3=MF_GetAmxString(amx, params[3], 0, NULL);
|
||||
float f4=amx_ctof(*MF_GetAmxAddr(amx, params[4]));
|
||||
float f5=amx_ctof(*MF_GetAmxAddr(amx, params[5]));
|
||||
float f6=amx_ctof(*MF_GetAmxAddr(amx, params[6]));
|
||||
bool i7=*MF_GetAmxAddr(amx, params[7]) != 0;
|
||||
int id8=*MF_GetAmxAddr(amx, params[8]);
|
||||
|
||||
CHECK_ENTITY(id8);
|
||||
|
||||
void *p8 = TypeConversion.id_to_cbase(id8);
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void (__fastcall *)(void*, int, const char *, float, float, float, bool, void *)>(__func)(pv, 0, sz3, f4, f5, f6, i7, p8);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void (*)(void *, const char *, float, float, float, bool, void *)>(__func)(pv, sz3, f4, f5, f6, i7, p8);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Int_Vector_Vector_Float_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(4);
|
||||
@ -1143,6 +1310,24 @@ cell Call_Void_Str_Int(AMX *amx, cell *params)
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Bool_Cbase_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
int id3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
CHECK_ENTITY(id3);
|
||||
|
||||
void *p8 = TypeConversion.id_to_cbase(id3);
|
||||
|
||||
int i4 = *MF_GetAmxAddr(amx, params[4]);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void*, int, void *, int)>(__func)(pv, 0, p8, i4) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, void *, int)>(__func)(pv, p8, i4) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Void_Cbase_Int(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
@ -1163,6 +1348,27 @@ cell Call_Void_Cbase_Int(AMX *amx, cell *params)
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Void_Cbase_Int_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(3);
|
||||
|
||||
int id3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
CHECK_ENTITY(id3);
|
||||
|
||||
void *p8 = TypeConversion.id_to_cbase(id3);
|
||||
|
||||
int i4 = *MF_GetAmxAddr(amx, params[4]);
|
||||
float f5 = amx_ctof(*MF_GetAmxAddr(amx, params[5]));
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall *)(void*, int, void *, int, float)>(__func)(pv, 0, p8, i4, f5);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void *, void *, int, float)>(__func)(pv, p8, i4, f5);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
cell Call_Void_Str(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
@ -1401,7 +1607,7 @@ cell Call_Int_Cbase_Bool(AMX *amx, cell *params)
|
||||
|
||||
void *pv1 = TypeConversion.id_to_cbase(id3);
|
||||
|
||||
bool b4=*MF_GetAmxAddr(amx, params[4]) ? true : false;
|
||||
bool b4= *MF_GetAmxAddr(amx, params[4]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<int (__fastcall *)(void*, int, void *, bool)>(__func)(pv, 0, pv1, b4);
|
||||
@ -1410,6 +1616,25 @@ cell Call_Int_Cbase_Bool(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_Cbase_Bool(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
int id3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
|
||||
CHECK_ENTITY(id3);
|
||||
|
||||
void *pv1 = TypeConversion.id_to_cbase(id3);
|
||||
|
||||
bool b4 = *MF_GetAmxAddr(amx, params[4]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void*, int, void *, bool)>(__func)(pv, 0, pv1, b4) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, void *, bool)>(__func)(pv, pv1, b4) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Vector_Vector(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
@ -1434,6 +1659,54 @@ cell Call_Int_Vector_Vector(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_pVector_pVector(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
Vector v3;
|
||||
Vector v4;
|
||||
|
||||
float *fl3 = (float *)MF_GetAmxAddr(amx, params[3]);
|
||||
v3.x = fl3[0];
|
||||
v3.y = fl3[1];
|
||||
v3.z = fl3[2];
|
||||
|
||||
float *fl4 = (float *)MF_GetAmxAddr(amx, params[4]);
|
||||
v4.x = fl4[0];
|
||||
v4.y = fl4[1];
|
||||
v4.z = fl4[2];
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<int(__fastcall *)(void *, int, Vector *, Vector *)>(__func)(pv, 0, &v3, &v4);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<int(*)(void *, Vector *, Vector *)>(__func)(pv, &v3, &v4);
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_pVector_pVector(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
Vector v3;
|
||||
Vector v4;
|
||||
|
||||
float *fl3 = (float *)MF_GetAmxAddr(amx, params[3]);
|
||||
v3.x = fl3[0];
|
||||
v3.y = fl3[1];
|
||||
v3.z = fl3[2];
|
||||
|
||||
float *fl4 = (float *)MF_GetAmxAddr(amx, params[4]);
|
||||
v4.x = fl4[0];
|
||||
v4.y = fl4[1];
|
||||
v4.z = fl4[2];
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void *, int, Vector *, Vector *)>(__func)(pv, 0, &v3, &v4) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, Vector *, Vector *)>(__func)(pv, &v3, &v4) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Int_Entvar_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
@ -1453,6 +1726,25 @@ cell Call_Int_Entvar_Float(AMX *amx, cell *params)
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_Entvar_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
|
||||
int id3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
|
||||
CHECK_ENTITY(id3);
|
||||
|
||||
entvars_t *ev3 = TypeConversion.id_to_entvars(id3);
|
||||
|
||||
float f4 = amx_ctof(*MF_GetAmxAddr(amx, params[4]));
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void *, int, entvars_t *, float)>(__func)(pv, 0, ev3, f4) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, entvars_t *, float)>(__func)(pv, ev3, f4) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Float_Float(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(2);
|
||||
@ -1497,9 +1789,9 @@ cell Call_Bool_Void(AMX *amx, cell *params)
|
||||
SETUP(0);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int)>(__func)(pv, 0);
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int)>(__func)(pv, 0) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool (*)(void *)>(__func)(pv);
|
||||
return reinterpret_cast<bool (*)(void *)>(__func)(pv) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1665,9 +1957,9 @@ cell Call_Bool_Cbase(AMX *amx, cell *params)
|
||||
void *pv1 = TypeConversion.id_to_cbase(id3);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, void*)>(__func)(pv, 0, pv1);
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, void*)>(__func)(pv, 0, pv1) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool (*)(void *, void*)>(__func)(pv, pv1);
|
||||
return reinterpret_cast<bool (*)(void *, void*)>(__func)(pv, pv1) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1678,9 +1970,24 @@ cell Call_Bool_Int(AMX *amx, cell *params)
|
||||
int id3=*MF_GetAmxAddr(amx, params[3]);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, int)>(__func)(pv, 0, id3);
|
||||
return reinterpret_cast<bool (__fastcall *)(void*, int, int)>(__func)(pv, 0, id3) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool (*)(void *, int)>(__func)(pv, id3);
|
||||
return reinterpret_cast<bool (*)(void *, int)>(__func)(pv, id3) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
cell Call_Bool_Entvar(AMX *amx, cell *params)
|
||||
{
|
||||
SETUP(1);
|
||||
|
||||
int id3 = *MF_GetAmxAddr(amx, params[3]);
|
||||
CHECK_ENTITY(id3);
|
||||
entvars_t *ev3 = TypeConversion.id_to_entvars(id3);
|
||||
|
||||
#if defined(_WIN32)
|
||||
return reinterpret_cast<bool(__fastcall *)(void*, int, void*)>(__func)(pv, 0, ev3) ? TRUE : FALSE;
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
return reinterpret_cast<bool(*)(void *, void*)>(__func)(pv, ev3) ? TRUE : FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1711,7 +2018,7 @@ cell Call_Void_Cbase_Bool(AMX *amx, cell *params)
|
||||
CHECK_ENTITY(id3);
|
||||
|
||||
void *p8 = TypeConversion.id_to_cbase(id3);
|
||||
bool b4 = *MF_GetAmxAddr(amx, params[4]) ? true : false;
|
||||
bool b4 = *MF_GetAmxAddr(amx, params[4]) != 0;
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void (__fastcall *)(void*, int, void *, bool)>(__func)(pv, 0, p8, b4);
|
||||
|
@ -27,6 +27,8 @@ cell Call_Int_Float_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Float_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Float_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Entvar_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Entvar_Entvar_Int(AMX *amx, cell *params);
|
||||
@ -35,12 +37,20 @@ cell Call_Int_Cbase(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Int_Bool(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Bool_Bool(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Int_Str_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Int_Str_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Int_Str_Int_Bool(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Bool(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Entvar(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Entvar_Entvar_Float_Int(AMX *amx, cell *params);
|
||||
@ -67,6 +77,8 @@ cell Call_Vector_pVector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_pVector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_pVector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Entvar_Float_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_pFloat_pFloat(AMX *amx, cell *params);
|
||||
@ -77,6 +89,8 @@ cell Call_Void_Int_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_ItemInfo(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_ItemInfo(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Float_Void(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Float_Int(AMX* amx, cell* params);
|
||||
@ -99,10 +113,14 @@ cell Call_Int_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Int_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Bool_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Str_Float_Float_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Str_Float_Float_Float_Int_Cbase(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Str_Float_Float_Float_Bool_Cbase(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Vector_Vector_Float_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Short(AMX *amx, cell *params);
|
||||
@ -129,8 +147,12 @@ cell Call_Int_Int_Int_Float_Int(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Str_Int(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Bool_Cbase_Int(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Cbase_Int(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Cbase_Int_Float(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Str(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Vector(AMX* amx, cell* params);
|
||||
@ -151,10 +173,18 @@ cell Call_Int_pVector_pVector_Float_Cbase_pVector(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Int_Cbase_Bool(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Bool_Cbase_Bool(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Int_Vector_Vector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_pVector_pVector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_pVector_pVector(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Int_Entvar_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Entvar_Float(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Float_Float(AMX* amx, cell* params);
|
||||
|
||||
cell Call_Void_Entvar_Entvar_Float(AMX *amx, cell *params);
|
||||
@ -173,6 +203,8 @@ cell Call_Void_Bool(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Cbase(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Entvar(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Bool_Int(AMX *amx, cell *params);
|
||||
|
||||
cell Call_Void_Cbase_Float(AMX* amx, cell* params);
|
||||
|
@ -203,7 +203,7 @@ enum
|
||||
Ham_CheckMeleeAttack2,
|
||||
Ham_ScheduleChange,
|
||||
Ham_CanPlaySequence,
|
||||
Ham_CanPlaySentence,
|
||||
Ham_CanPlaySentence2,
|
||||
Ham_PlaySentence,
|
||||
Ham_PlayScriptedSentence,
|
||||
Ham_SentenceStop,
|
||||
@ -484,6 +484,72 @@ enum
|
||||
|
||||
Ham_Item_GetItemInfo,
|
||||
|
||||
//
|
||||
// New addition - 20117
|
||||
//
|
||||
|
||||
Ham_SC_PreSpawn,
|
||||
Ham_SC_PostSpawn,
|
||||
Ham_SC_OnKeyValueUpdate,
|
||||
Ham_SC_SetClassification,
|
||||
Ham_SC_IsTriggered,
|
||||
Ham_SC_MyCustomPointer,
|
||||
Ham_SC_MyItemPointer,
|
||||
Ham_SC_AddPoints,
|
||||
Ham_SC_AddPointsToTeam,
|
||||
Ham_SC_RemovePlayerItem,
|
||||
Ham_SC_OnControls,
|
||||
Ham_SC_IsSneaking,
|
||||
Ham_SC_IsAlive,
|
||||
Ham_SC_IsBSPModel,
|
||||
Ham_SC_ReflectGauss,
|
||||
Ham_SC_HasTarget,
|
||||
Ham_SC_IsInWorld,
|
||||
Ham_SC_IsPlayer,
|
||||
Ham_SC_IsNetClient,
|
||||
Ham_SC_IsBreakable,
|
||||
Ham_SC_SUB_UseTargets,
|
||||
Ham_SC_IsLockedByMaster,
|
||||
Ham_SC_FBecomeProne,
|
||||
Ham_SC_FVecVisible,
|
||||
Ham_SC_SetPlayerAlly,
|
||||
Ham_SC_OnSetOriginByMap,
|
||||
Ham_SC_IsRevivable,
|
||||
Ham_SC_BeginRevive,
|
||||
Ham_SC_EndRevive,
|
||||
Ham_SC_CanPlaySequence,
|
||||
Ham_SC_CanPlaySentence2,
|
||||
Ham_SC_PlayScriptedSentence,
|
||||
Ham_SC_Item_AddToPlayer,
|
||||
Ham_SC_Item_AddDuplicate,
|
||||
Ham_SC_Item_AddAmmoFromItem,
|
||||
Ham_SC_Item_GetPickupSound,
|
||||
Ham_SC_Item_CanCollect,
|
||||
Ham_SC_Item_Collect,
|
||||
Ham_SC_Item_GetItemInfo,
|
||||
Ham_SC_Item_CanDeploy,
|
||||
Ham_SC_Item_Deploy,
|
||||
Ham_SC_Item_CanHolster,
|
||||
Ham_SC_Item_InactiveItemPreFrame,
|
||||
Ham_SC_Item_InactiveItemPostFrame,
|
||||
Ham_SC_Item_DetachFromPlayer,
|
||||
Ham_SC_Item_UpdateClientData,
|
||||
Ham_SC_Item_GetRespawnTime,
|
||||
Ham_SC_Item_CanHaveDuplicates,
|
||||
Ham_SC_Weapon_ExtractAmmoFromItem,
|
||||
Ham_SC_Weapon_AddWeapon,
|
||||
Ham_SC_Weapon_GetAmmo1Drop,
|
||||
Ham_SC_Weapon_GetAmmo2Drop,
|
||||
Ham_SC_Weapon_PlayEmptySound,
|
||||
Ham_SC_Weapon_IsUsable,
|
||||
Ham_SC_Weapon_FinishReload,
|
||||
Ham_SC_Weapon_ShouldReload,
|
||||
Ham_SC_Weapon_ShouldWeaponIdle,
|
||||
Ham_SC_Weapon_UseDecrement,
|
||||
Ham_SC_Player_EnteredObserver,
|
||||
Ham_SC_Player_LeftObserver,
|
||||
Ham_SC_Player_IsObserver,
|
||||
|
||||
HAM_LAST_ENTRY_DONT_USE_ME_LOL
|
||||
};
|
||||
|
||||
@ -493,7 +559,8 @@ enum
|
||||
|
||||
HAM_INVALID_FUNC, // The function is not valid
|
||||
HAM_FUNC_NOT_CONFIGURED, // This function is not configured in hamdata.ini
|
||||
|
||||
HAM_FUNC_NOT_AVAILABLE, // This function is not more available in the mod
|
||||
|
||||
HAM_ERR_END
|
||||
};
|
||||
|
||||
|
@ -24,7 +24,12 @@ extern HLTypeConversion TypeConversion;
|
||||
if (x < 0 || x >= HAM_LAST_ENTRY_DONT_USE_ME_LOL) { \
|
||||
char msg[1024]; \
|
||||
ke::SafeSprintf(msg, sizeof(msg), "Function out of bounds. Got: %d Max: %d", x, HAM_LAST_ENTRY_DONT_USE_ME_LOL - 1); \
|
||||
FailPlugin(amx, x, HAM_INVALID_FUNC, msg); \
|
||||
FailPlugin(amx, x, HAM_INVALID_FUNC, msg); \
|
||||
return 0; \
|
||||
} else if (hooklist[x].isremoved) { \
|
||||
char msg[1024]; \
|
||||
ke::SafeSprintf(msg, sizeof(msg), "Function %s is no more available in the mod.", hooklist[x].name); \
|
||||
FailPlugin(amx, x, HAM_FUNC_NOT_AVAILABLE, msg); \
|
||||
return 0; \
|
||||
} else if (hooklist[x].isset == 0) { \
|
||||
char msg[1024]; \
|
||||
@ -34,6 +39,8 @@ extern HLTypeConversion TypeConversion;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#define CHECK_ENTITY(x) \
|
||||
if (x < 0 || x > gpGlobals->maxEntities) { \
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "Entity out of range (%d)", x); \
|
||||
|
@ -313,6 +313,39 @@ int Hook_Int_Float_Int_Int(Hook *hook, void *pthis, float f1, int i1, int i2)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Float_Int_Int(Hook *hook, void *pthis, float f1, int i1, int i2)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_FLOAT(f1)
|
||||
P_INT(i1)
|
||||
P_INT(i2)
|
||||
|
||||
PRE_START()
|
||||
, f1, i1, i2
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret=reinterpret_cast<bool (__fastcall*)(void*, int, float, int, int)>(hook->func)(pthis, 0, f1, i1, i2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret=reinterpret_cast<bool (*)(void*, float, int, int)>(hook->func)(pthis, f1, i1, i2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, f1, i1, i2
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
void Hook_Void_Entvar_Int(Hook *hook, void *pthis, entvars_t *ev1, int i1)
|
||||
{
|
||||
PUSH_VOID()
|
||||
@ -429,6 +462,58 @@ void Hook_Void_Int_Int(Hook *hook, void *pthis, int i1, int i2)
|
||||
POP()
|
||||
}
|
||||
|
||||
void Hook_Void_Int_Bool(Hook *hook, void *pthis, int i1, bool i2)
|
||||
{
|
||||
PUSH_VOID()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_INT(i1)
|
||||
P_BOOL(i2)
|
||||
|
||||
PRE_START()
|
||||
, i1, i2
|
||||
PRE_END()
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall*)(void*, int, int, bool)>(hook->func)(pthis, 0, i1, i2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void*, int, bool)>(hook->func)(pthis, i1, i2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, i1, i2
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
}
|
||||
|
||||
void Hook_Void_Bool_Bool(Hook *hook, void *pthis, bool i1, bool i2)
|
||||
{
|
||||
PUSH_VOID()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_BOOL(i1)
|
||||
P_BOOL(i2)
|
||||
|
||||
PRE_START()
|
||||
, i1, i2
|
||||
PRE_END()
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall*)(void*, int, bool, bool)>(hook->func)(pthis, 0, i1, i2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void*, bool, bool)>(hook->func)(pthis, i1, i2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, i1, i2
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
}
|
||||
|
||||
int Hook_Int_Int_Str_Int(Hook *hook, void *pthis, int i1, const char *sz1, int i2)
|
||||
{
|
||||
int ret=0;
|
||||
@ -500,6 +585,42 @@ int Hook_Int_Int_Str_Int_Int(Hook *hook, void *pthis, int i1, const char *sz1, i
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Hook_Int_Int_Str_Int_Bool(Hook *hook, void *pthis, int i1, const char *sz1, int i2, bool i3)
|
||||
{
|
||||
int ret = 0;
|
||||
int origret = 0;
|
||||
ke::AString a;
|
||||
|
||||
PUSH_INT()
|
||||
|
||||
a = sz1;
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_INT(i1)
|
||||
P_STR(a)
|
||||
P_INT(i2)
|
||||
P_BOOL(i3)
|
||||
|
||||
PRE_START()
|
||||
, i1, a.chars(), i2, i3
|
||||
PRE_END()
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<int(__fastcall*)(void*, int, int, const char *, int, bool)>(hook->func)(pthis, 0, i1, a.chars(), i2, i3);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<int(*)(void*, int, const char *, int, bool)>(hook->func)(pthis, i1, a.chars(), i2, i3);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, i1, a.chars(), i2, i3
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Hook_Int_Int(Hook *hook, void *pthis, int i1)
|
||||
{
|
||||
int ret=0;
|
||||
@ -531,6 +652,38 @@ int Hook_Int_Int(Hook *hook, void *pthis, int i1)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Bool(Hook *hook, void *pthis, bool i1)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_BOOL(i1)
|
||||
|
||||
PRE_START()
|
||||
,i1
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool (__fastcall*)(void*, int, bool)>(hook->func)(pthis, 0, i1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool (*)(void*, bool)>(hook->func)(pthis, i1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
,i1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int Hook_Int_Entvar(Hook *hook, void *pthis, entvars_t *ev1)
|
||||
{
|
||||
int ret=0;
|
||||
@ -973,6 +1126,36 @@ int Hook_Int_pVector(Hook *hook, void *pthis, Vector *v1)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_pVector(Hook *hook, void *pthis, Vector *v1)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
MAKE_VECTOR()
|
||||
P_PTRVECTOR(v1)
|
||||
|
||||
PRE_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool(__fastcall*)(void*, int, Vector *)>(hook->func)(pthis, 0, v1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool(*)(void*, Vector *)>(hook->func)(pthis, v1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Hook_Void_Entvar_Float_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1, float f2)
|
||||
{
|
||||
PUSH_VOID()
|
||||
@ -1080,6 +1263,7 @@ void Hook_Void_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2, int i3)
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
}
|
||||
|
||||
int Hook_Int_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||
{
|
||||
int ret = 0;
|
||||
@ -1111,6 +1295,38 @@ int Hook_Int_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_ITEMINFO(iteminfo)
|
||||
|
||||
PRE_START()
|
||||
,iteminfo
|
||||
PRE_END()
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool (__fastcall*)(void*, int, void *)>(hook->func)(pthis, 0, iteminfo);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool (*)(void*, void *)>(hook->func)(pthis, iteminfo);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
,iteminfo
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
float Hook_Float_Void(Hook *hook, void *pthis)
|
||||
{
|
||||
float ret=0.0;
|
||||
@ -1410,6 +1626,39 @@ int Hook_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Bool_Int(Hook *hook, void *pthis, bool i1, int i2)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_BOOL(i1)
|
||||
P_INT(i2)
|
||||
|
||||
PRE_START()
|
||||
,i1, i2
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool (__fastcall*)(void*, int, bool, int)>(hook->func)(pthis, 0, i1, i2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool (*)(void*, bool, int)>(hook->func)(pthis, i1, i2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
,i1, i2
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Hook_Void_Str_Float_Float_Float(Hook *hook, void *pthis, const char *sz1, float f1, float f2, float f3)
|
||||
{
|
||||
ke::AString a;
|
||||
@ -1479,6 +1728,42 @@ void Hook_Void_Str_Float_Float_Float_Int_Cbase(Hook *hook, void *pthis, const ch
|
||||
POP()
|
||||
}
|
||||
|
||||
void Hook_Void_Str_Float_Float_Float_Bool_Cbase(Hook *hook, void *pthis, const char *sz1, float f1, float f2, float f3, bool i1, void *cb)
|
||||
{
|
||||
ke::AString a;
|
||||
|
||||
PUSH_VOID()
|
||||
|
||||
a = sz1;
|
||||
int iEnt=TypeConversion.cbase_to_id(cb);
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_STR(a)
|
||||
P_FLOAT(f1)
|
||||
P_FLOAT(f2)
|
||||
P_FLOAT(f3)
|
||||
P_BOOL(i1)
|
||||
P_CBASE(cb, iEnt)
|
||||
|
||||
PRE_START()
|
||||
,a.chars(), f1, f2, f3, i1, iEnt
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<int (__fastcall*)(void*, int, const char *, float, float, float, bool, void *)>(hook->func)(pthis, 0, a.chars(), f1, f2, f3, i1, cb);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<int (*)(void*, const char *, float, float, float, bool, void *)>(hook->func)(pthis, a.chars(), f1, f2, f3, i1, cb);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
,a.chars(), f1, f2, f3, i1, iEnt
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
}
|
||||
|
||||
int Hook_Int_Vector_Vector_Float_Float(Hook *hook, void *pthis, Vector v1, Vector v2, float f1, float f2)
|
||||
{
|
||||
int ret=0;
|
||||
@ -1907,6 +2192,42 @@ void Hook_Void_Str_Int(Hook *hook, void *pthis, const char *sz1, int i2)
|
||||
POP()
|
||||
}
|
||||
|
||||
bool Hook_Bool_Cbase_Int(Hook *hook, void *pthis, void *p1, int i1)
|
||||
{
|
||||
bool ret = false;
|
||||
bool origret = false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
int iEnt =TypeConversion.cbase_to_id(p1);
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_CBASE(p1, iEnt)
|
||||
P_INT(i1)
|
||||
|
||||
PRE_START()
|
||||
, iEnt, i1
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool (__fastcall*)(void*, int, void *, int)>(hook->func)(pthis, 0, p1, i1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool (*)(void*, void *, int)>(hook->func)(pthis, p1, i1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, iEnt, i1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Hook_Void_Cbase_Int(Hook *hook, void *pthis, void *p1, int i1)
|
||||
{
|
||||
PUSH_VOID()
|
||||
@ -1935,6 +2256,35 @@ void Hook_Void_Cbase_Int(Hook *hook, void *pthis, void *p1, int i1)
|
||||
POP()
|
||||
}
|
||||
|
||||
void Hook_Void_Cbase_Int_Float(Hook *hook, void *pthis, void *p1, int i1, float f1)
|
||||
{
|
||||
PUSH_VOID()
|
||||
int iEnt = TypeConversion.cbase_to_id(p1);
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_CBASE(p1, iEnt)
|
||||
P_INT(i1)
|
||||
P_FLOAT(f1)
|
||||
|
||||
PRE_START()
|
||||
, iEnt, i1, f1
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
reinterpret_cast<void(__fastcall*)(void*, int, void *, int, float)>(hook->func)(pthis, 0, p1, i1, f1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
reinterpret_cast<void(*)(void*, void *, int, float)>(hook->func)(pthis, p1, i1, f1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, iEnt, i1, f1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
}
|
||||
|
||||
void Hook_Void_Str(Hook *hook, void *pthis, const char *sz1)
|
||||
{
|
||||
ke::AString a;
|
||||
@ -2274,6 +2624,39 @@ int Hook_Int_Cbase_Bool(Hook *hook, void *pthis, void *cb1, bool b1)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Cbase_Bool(Hook *hook, void *pthis, void *cb1, bool b1)
|
||||
{
|
||||
bool ret=false;
|
||||
bool origret=false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
int i1=TypeConversion.cbase_to_id(cb1);
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_CBASE(cb1, i1)
|
||||
P_BOOL(b1)
|
||||
|
||||
PRE_START()
|
||||
, i1, b1
|
||||
PRE_END()
|
||||
#if defined(_WIN32)
|
||||
origret=reinterpret_cast<bool (__fastcall*)(void*, int, void *, bool)>(hook->func)(pthis, 0, cb1, b1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret=reinterpret_cast<bool (*)(void*, void *, bool)>(hook->func)(pthis, cb1, b1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, i1, b1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Hook_Int_Vector_Vector(Hook *hook, void *pthis, Vector v1, Vector v2)
|
||||
{
|
||||
int ret=0;
|
||||
@ -2309,6 +2692,76 @@ int Hook_Int_Vector_Vector(Hook *hook, void *pthis, Vector v1, Vector v2)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Hook_Int_pVector_pVector(Hook *hook, void *pthis, Vector *v1, Vector *v2)
|
||||
{
|
||||
int ret=0;
|
||||
int origret=0;
|
||||
|
||||
PUSH_INT()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_PTRVECTOR(v1)
|
||||
P_PTRVECTOR(v2)
|
||||
|
||||
PRE_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v2), 3, false)
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret=reinterpret_cast<int (__fastcall*)(void*, int, Vector*, Vector*)>(hook->func)(pthis, 0, v1, v2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret=reinterpret_cast<int (*)(void*, Vector*, Vector*)>(hook->func)(pthis, v1, v2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v2), 3, false)
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_pVector_pVector(Hook *hook, void *pthis, Vector *v1, Vector *v2)
|
||||
{
|
||||
bool ret=false;
|
||||
bool origret=false;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_PTRVECTOR(v1)
|
||||
P_PTRVECTOR(v2)
|
||||
|
||||
PRE_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v2), 3, false)
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret=reinterpret_cast<bool (__fastcall*)(void*, int, Vector*, Vector*)>(hook->func)(pthis, 0, v1, v2);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret=reinterpret_cast<bool (*)(void*, Vector*, Vector*)>(hook->func)(pthis, v1, v2);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v1), 3, false)
|
||||
, MF_PrepareCellArrayA(reinterpret_cast<cell *>(v2), 3, false)
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Hook_Int_Entvar_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1)
|
||||
{
|
||||
int ret=0;
|
||||
@ -2341,6 +2794,38 @@ int Hook_Int_Entvar_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Entvar_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1)
|
||||
{
|
||||
bool ret=false;
|
||||
bool origret=false;
|
||||
|
||||
PUSH_BOOL()
|
||||
int i1=TypeConversion.entvars_to_id(ev1);
|
||||
|
||||
MAKE_VECTOR()
|
||||
P_ENTVAR(ev1, i1)
|
||||
P_FLOAT(f1)
|
||||
|
||||
PRE_START()
|
||||
,i1, f1
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret=reinterpret_cast<bool(__fastcall*)(void*, int, entvars_t *, float)>(hook->func)(pthis, 0, ev1, f1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret=reinterpret_cast<bool(*)(void*, entvars_t *, float)>(hook->func)(pthis, ev1, f1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, i1, f1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
CHECK_RETURN()
|
||||
return ret;
|
||||
}
|
||||
|
||||
float Hook_Float_Float(Hook *hook, void *pthis, float f1)
|
||||
{
|
||||
float ret=0.0;
|
||||
@ -2643,6 +3128,40 @@ bool Hook_Bool_Cbase(Hook *hook, void *pthis, void *cb)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Entvar(Hook *hook, void *pthis, entvars_t *ev1)
|
||||
{
|
||||
bool ret = 0;
|
||||
bool origret = 0;
|
||||
|
||||
PUSH_BOOL()
|
||||
|
||||
int e1 = TypeConversion.entvars_to_id(ev1);
|
||||
|
||||
MAKE_VECTOR()
|
||||
|
||||
P_ENTVAR(ev1, e1)
|
||||
|
||||
PRE_START()
|
||||
, e1
|
||||
PRE_END()
|
||||
|
||||
#if defined(_WIN32)
|
||||
origret = reinterpret_cast<bool(__fastcall*)(void*, int, entvars_t*)>(hook->func)(pthis, 0, ev1);
|
||||
#elif defined(__linux__) || defined(__APPLE__)
|
||||
origret = reinterpret_cast<bool(*)(void*, entvars_t*)>(hook->func)(pthis, ev1);
|
||||
#endif
|
||||
|
||||
POST_START()
|
||||
, e1
|
||||
POST_END()
|
||||
|
||||
KILL_VECTOR()
|
||||
POP()
|
||||
|
||||
CHECK_RETURN()
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Hook_Bool_Int(Hook *hook, void *pthis, int i1)
|
||||
{
|
||||
bool ret=0;
|
||||
|
@ -50,6 +50,11 @@ const bool RB_Int_Float_Int_Int = false;
|
||||
const int PC_Int_Float_Int_Int = 3;
|
||||
int Hook_Int_Float_Int_Int(Hook *hook, void *pthis, float f1, int i1, int i2);
|
||||
|
||||
const bool RT_Bool_Float_Int_Int = false;
|
||||
const bool RB_Bool_Float_Int_Int = false;
|
||||
const int PC_Bool_Float_Int_Int = 3;
|
||||
bool Hook_Bool_Float_Int_Int(Hook *hook, void *pthis, float f1, int i1, int i2);
|
||||
|
||||
const bool RT_Void_Entvar_Int = true;
|
||||
const bool RB_Void_Entvar_Int = false;
|
||||
const int PC_Void_Entvar_Int = 2;
|
||||
@ -70,6 +75,16 @@ const bool RB_Void_Int_Int = false;
|
||||
const int PC_Void_Int_Int = 2;
|
||||
void Hook_Void_Int_Int(Hook *hook, void *pthis, int i1, int i2);
|
||||
|
||||
const bool RT_Void_Int_Bool = true;
|
||||
const bool RB_Void_Int_Bool = false;
|
||||
const int PC_Void_Int_Bool = 2;
|
||||
void Hook_Void_Int_Bool(Hook *hook, void *pthis, int i1, bool i2);
|
||||
|
||||
const bool RT_Void_Bool_Bool = true;
|
||||
const bool RB_Void_Bool_Bool = false;
|
||||
const int PC_Void_Bool_Bool = 2;
|
||||
void Hook_Void_Bool_Bool(Hook *hook, void *pthis, bool i1, bool i2);
|
||||
|
||||
const bool RT_Int_Int_Str_Int = false;
|
||||
const bool RB_Int_Int_Str_Int = false;
|
||||
const int PC_Int_Int_Str_Int = 3;
|
||||
@ -81,11 +96,21 @@ const bool RB_Int_Int_Str_Int_Int = false;
|
||||
const int PC_Int_Int_Str_Int_Int = 4;
|
||||
int Hook_Int_Int_Str_Int_Int(Hook *hook, void *pthis, int i1, const char *sz1, int i2, int i3);
|
||||
|
||||
const bool RT_Int_Int_Str_Int_Bool = false;
|
||||
const bool RB_Int_Int_Str_Int_Bool = false;
|
||||
const int PC_Int_Int_Str_Int_Bool = 4;
|
||||
int Hook_Int_Int_Str_Int_Bool(Hook *hook, void *pthis, int i1, const char *sz1, int i2, bool i3);
|
||||
|
||||
const bool RT_Int_Int = false;
|
||||
const bool RB_Int_Int = false;
|
||||
const int PC_Int_Int = 1;
|
||||
int Hook_Int_Int(Hook *hook, void *pthis, int i1);
|
||||
|
||||
const bool RT_Bool_Bool = false;
|
||||
const bool RB_Bool_Bool = false;
|
||||
const int PC_Bool_Bool = 1;
|
||||
bool Hook_Bool_Bool(Hook *hook, void *pthis, bool i1);
|
||||
|
||||
const bool RT_Int_Entvar = false;
|
||||
const bool RB_Int_Entvar = false;
|
||||
const int PC_Int_Entvar = 1;
|
||||
@ -177,6 +202,11 @@ const bool RB_Int_pVector = false;
|
||||
const int PC_Int_pVector = 1;
|
||||
int Hook_Int_pVector(Hook *hook, void *pthis, Vector *v1);
|
||||
|
||||
const bool RT_Bool_pVector = false;
|
||||
const bool RB_Bool_pVector = false;
|
||||
const int PC_Bool_pVector = 1;
|
||||
bool Hook_Bool_pVector(Hook *hook, void *pthis, Vector *v1);
|
||||
|
||||
const bool RT_Void_Entvar_Float_Float = true;
|
||||
const bool RB_Void_Entvar_Float_Float = false;
|
||||
const int PC_Void_Entvar_Float_Float = 3;
|
||||
@ -203,6 +233,10 @@ const bool RB_Int_ItemInfo = false;
|
||||
const int PC_Int_ItemInfo = 1;
|
||||
int Hook_Int_ItemInfo(Hook *hook, void *pthis, void *iteminfo);
|
||||
|
||||
const bool RT_Bool_ItemInfo = false;
|
||||
const bool RB_Bool_ItemInfo = false;
|
||||
const int PC_Bool_ItemInfo = 1;
|
||||
bool Hook_Bool_ItemInfo(Hook *hook, void *pthis, void *iteminfo);
|
||||
|
||||
const bool RT_Float_Void = false;
|
||||
const bool RB_Float_Void = false;
|
||||
@ -263,6 +297,11 @@ const bool RB_Int_Int_Int = false;
|
||||
const int PC_Int_Int_Int = 2;
|
||||
int Hook_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2);
|
||||
|
||||
const bool RT_Bool_Bool_Int = false;
|
||||
const bool RB_Bool_Bool_Int = false;
|
||||
const int PC_Bool_Bool_Int = 2;
|
||||
bool Hook_Bool_Bool_Int(Hook *hook, void *pthis, bool i1, int i2);
|
||||
|
||||
const bool RT_Void_Str_Float_Float_Float = true;
|
||||
const bool RB_Void_Str_Float_Float_Float = false;
|
||||
const int PC_Void_Str_Float_Float_Float = 4;
|
||||
@ -273,6 +312,11 @@ const bool RB_Void_Str_Float_Float_Float_Int_Cbase = false;
|
||||
const int PC_Void_Str_Float_Float_Float_Int_Cbase = 6;
|
||||
void Hook_Void_Str_Float_Float_Float_Int_Cbase(Hook *hook, void *pthis, const char *sz1, float f1, float f2, float f3, int i1, void *cb);
|
||||
|
||||
const bool RT_Void_Str_Float_Float_Float_Bool_Cbase = true;
|
||||
const bool RB_Void_Str_Float_Float_Float_Bool_Cbase = false;
|
||||
const int PC_Void_Str_Float_Float_Float_Bool_Cbase = 6;
|
||||
void Hook_Void_Str_Float_Float_Float_Bool_Cbase(Hook *hook, void *pthis, const char *sz1, float f1, float f2, float f3, bool i1, void *cb);
|
||||
|
||||
const bool RT_Int_Vector_Vector_Float_Float= false;
|
||||
const bool RB_Int_Vector_Vector_Float_Float = false;
|
||||
const int PC_Int_Vector_Vector_Float_Float = 8;
|
||||
@ -346,11 +390,21 @@ const bool RB_Void_Str_Int = false;
|
||||
const int PC_Void_Str_Int = 2;
|
||||
void Hook_Void_Str_Int(Hook *hook, void *pthis, const char *sz1, int i2);
|
||||
|
||||
const bool RT_Bool_Cbase_Int = false;
|
||||
const bool RB_Bool_Cbase_Int = false;
|
||||
const int PC_Bool_Cbase_Int = 2;
|
||||
bool Hook_Bool_Cbase_Int(Hook *hook, void *pthis, void *p1, int i1);
|
||||
|
||||
const bool RT_Void_Cbase_Int = true;
|
||||
const bool RB_Void_Cbase_Int = false;
|
||||
const int PC_Void_Cbase_Int = 2;
|
||||
void Hook_Void_Cbase_Int(Hook *hook, void *pthis, void *p1, int i1);
|
||||
|
||||
const bool RT_Void_Cbase_Int_Float = true;
|
||||
const bool RB_Void_Cbase_Int_Float = false;
|
||||
const int PC_Void_Cbase_Int_Float = 3;
|
||||
void Hook_Void_Cbase_Int_Float(Hook *hook, void *pthis, void *p1, int i1, float f1);
|
||||
|
||||
const bool RT_Void_Str = true;
|
||||
const bool RB_Void_Str = false;
|
||||
const int PC_Void_Str = 1;
|
||||
@ -401,16 +455,36 @@ const bool RB_Int_Cbase_Bool = false;
|
||||
const int PC_Int_Cbase_Bool = 2;
|
||||
int Hook_Int_Cbase_Bool(Hook *hook, void *pthis, void *cb1, bool b1);
|
||||
|
||||
const bool RT_Bool_Cbase_Bool = false;
|
||||
const bool RB_Bool_Cbase_Bool = false;
|
||||
const int PC_Bool_Cbase_Bool = 2;
|
||||
bool Hook_Bool_Cbase_Bool(Hook *hook, void *pthis, void *cb1, bool b1);
|
||||
|
||||
const bool RT_Int_Vector_Vector = false;
|
||||
const bool RB_Int_Vector_Vector = false;
|
||||
const int PC_Int_Vector_Vector = 6;
|
||||
int Hook_Int_Vector_Vector(Hook *hook, void *pthis, Vector v1, Vector v2);
|
||||
|
||||
const bool RT_Int_pVector_pVector = false;
|
||||
const bool RB_Int_pVector_pVector = false;
|
||||
const int PC_Int_pVector_pVector = 3;
|
||||
int Hook_Int_pVector_pVector(Hook *hook, void *pthis, Vector *v1, Vector *v2);
|
||||
|
||||
const bool RT_Bool_pVector_pVector = false;
|
||||
const bool RB_Bool_pVector_pVector = false;
|
||||
const int PC_Bool_pVector_pVector = 3;
|
||||
bool Hook_Bool_pVector_pVector(Hook *hook, void *pthis, Vector *v1, Vector *v2);
|
||||
|
||||
const bool RT_Int_Entvar_Float = false;
|
||||
const bool RB_Int_Entvar_Float = false;
|
||||
const int PC_Int_Entvar_Float = 2;
|
||||
int Hook_Int_Entvar_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1);
|
||||
|
||||
const bool RT_Bool_Entvar_Float = false;
|
||||
const bool RB_Bool_Entvar_Float = false;
|
||||
const int PC_Bool_Entvar_Float = 2;
|
||||
bool Hook_Bool_Entvar_Float(Hook *hook, void *pthis, entvars_t *ev1, float f1);
|
||||
|
||||
const bool RT_Float_Float = false;
|
||||
const bool RB_Float_Float = false;
|
||||
const int PC_Float_Float = 1;
|
||||
@ -456,6 +530,11 @@ const bool RB_Bool_Cbase = false;
|
||||
const int PC_Bool_Cbase = 1;
|
||||
bool Hook_Bool_Cbase(Hook *hook, void *pthis, void *cb);
|
||||
|
||||
const bool RT_Bool_Entvar = false;
|
||||
const bool RB_Bool_Entvar = false;
|
||||
const int PC_Bool_Entvar = 1;
|
||||
bool Hook_Bool_Entvar(Hook *hook, void *pthis, entvars_t *ev1);
|
||||
|
||||
const bool RT_Bool_Int = false;
|
||||
const bool RB_Bool_Int = false;
|
||||
const int PC_Bool_Int = 1;
|
||||
|
@ -43,6 +43,11 @@ int Create_Int_Float_Int_Int(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_FLOAT, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Float_Int_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_FLOAT, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Entvar_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
@ -63,6 +68,16 @@ int Create_Void_Int_Int(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Int_Bool(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Bool_Bool(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Int_Str_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_STRING, FP_CELL, FP_DONE);
|
||||
@ -73,11 +88,21 @@ int Create_Int_Int_Str_Int_Int(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_STRING, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Int_Str_Int_Bool(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_STRING, FP_CELL, FP_CELL, FP_DONE);
|
||||
|
||||
}
|
||||
int Create_Int_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Bool(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Entvar(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
@ -143,6 +168,11 @@ int Create_Int_pVector(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_pVector(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Entvar_Float_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_FLOAT, FP_FLOAT, FP_DONE);
|
||||
@ -168,6 +198,11 @@ int Create_Int_ItemInfo(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_ItemInfo(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Float_Void(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_DONE);
|
||||
@ -223,6 +258,11 @@ int Create_Int_Int_Int(AMX* amx, const char* func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Bool_Int(AMX* amx, const char* func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Str_Float_Float_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_STRING, FP_FLOAT, FP_FLOAT, FP_FLOAT, FP_DONE);
|
||||
@ -233,6 +273,11 @@ int Create_Void_Str_Float_Float_Float_Int_Cbase(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_STRING, FP_FLOAT, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Str_Float_Float_Float_Bool_Cbase(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_STRING, FP_FLOAT, FP_FLOAT, FP_FLOAT, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Vector_Vector_Float_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_FLOAT, FP_FLOAT, FP_DONE);
|
||||
@ -298,16 +343,27 @@ int Create_Void_Str_Int(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_STRING, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Cbase_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Cbase_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Cbase_Int_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Str(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_STRING, FP_DONE);
|
||||
}
|
||||
|
||||
|
||||
int Create_Void_Vector(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_DONE);
|
||||
@ -338,6 +394,11 @@ int Create_Int_pVector_pVector_Cbase_pFloat(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_CELL, FP_FLOAT, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_pVector_pVector_Cbase_pFloat(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_CELL, FP_FLOAT, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Void_Cbase_pVector_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_ARRAY, FP_FLOAT, FP_DONE);
|
||||
@ -353,16 +414,36 @@ int Create_Int_Cbase_Bool(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Cbase_Bool(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Vector_Vector(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_pVector_pVector(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_pVector_pVector(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_ARRAY, FP_ARRAY, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Int_Entvar_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_FLOAT, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Entvar_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_FLOAT, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Float_Float(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_FLOAT, FP_DONE);
|
||||
@ -408,6 +489,11 @@ int Create_Bool_Cbase(AMX *amx, const char *func)
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Entvar(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
}
|
||||
|
||||
int Create_Bool_Int(AMX *amx, const char *func)
|
||||
{
|
||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||
|
@ -27,6 +27,8 @@ int Create_Int_Float_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Float_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Float_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Entvar_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Entvar_Entvar_Int(AMX *amx, const char *func);
|
||||
@ -35,12 +37,20 @@ int Create_Int_Cbase(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Int_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Bool_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Int_Str_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Int_Str_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Int_Str_Int_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Entvar(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Entvar_Entvar_Float_Int(AMX *amx, const char *func);
|
||||
@ -67,6 +77,8 @@ int Create_Vector_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Entvar_Float_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_pFloat_pFloat(AMX *amx, const char *func);
|
||||
@ -77,6 +89,8 @@ int Create_Void_Int_Int_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_ItemInfo(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_ItemInfo(AMX *amx, const char *func);
|
||||
|
||||
int Create_Float_Void(AMX *amx, const char *func);
|
||||
|
||||
int Create_Float_Int(AMX *amx, const char *func);
|
||||
@ -99,10 +113,14 @@ int Create_Int_Float(AMX* amx, const char* func);
|
||||
|
||||
int Create_Int_Int_Int(AMX* amx, const char* func);
|
||||
|
||||
int Create_Bool_Bool_Int(AMX* amx, const char* func);
|
||||
|
||||
int Create_Void_Str_Float_Float_Float(AMX* amx, const char* func);
|
||||
|
||||
int Create_Void_Str_Float_Float_Float_Int_Cbase(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Str_Float_Float_Float_Bool_Cbase(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Vector_Vector_Float_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Short(AMX* amx, const char* func);
|
||||
@ -129,8 +147,12 @@ int Create_Int_Int_Int_Float_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Str_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Cbase_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Cbase_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Cbase_Int_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Str(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Vector(AMX *amx, const char *func);
|
||||
@ -151,10 +173,18 @@ int Create_Int_pVector_pVector_Float_Cbase_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Cbase_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Cbase_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Vector_Vector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_pVector_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_pVector_pVector(AMX *amx, const char *func);
|
||||
|
||||
int Create_Int_Entvar_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Entvar_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Float_Float(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Entvar_Entvar_Float(AMX *amx, const char *func);
|
||||
@ -173,6 +203,8 @@ int Create_Void_Bool(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Cbase(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Entvar(AMX *amx, const char *func);
|
||||
|
||||
int Create_Bool_Int(AMX *amx, const char *func);
|
||||
|
||||
int Create_Void_Cbase_Float(AMX *amx, const char *func);
|
||||
|
@ -37,7 +37,8 @@ bool gDoForwards=true;
|
||||
ke::Vector<Hook *> hooks[HAM_LAST_ENTRY_DONT_USE_ME_LOL];
|
||||
CHamSpecialBotHandler SpecialbotHandler;
|
||||
|
||||
#define V(__KEYNAME, __STUFF__) 0, 0, __KEYNAME, RT_##__STUFF__, RB_##__STUFF__, PC_##__STUFF__, reinterpret_cast<void *>(Hook_##__STUFF__), Create_##__STUFF__, Call_##__STUFF__
|
||||
#define V(__KEYNAME, __STUFF__) 0, 0, __KEYNAME, false, RT_##__STUFF__, RB_##__STUFF__, PC_##__STUFF__, reinterpret_cast<void *>(Hook_##__STUFF__), Create_##__STUFF__, Call_##__STUFF__
|
||||
#define V_REMOVED(__KEYNAME) 0, 0, __KEYNAME, true, RT_Void_Void, RB_Void_Void, PC_Void_Void, nullptr, 0, 0
|
||||
|
||||
hook_t hooklist[] =
|
||||
{
|
||||
@ -229,7 +230,7 @@ hook_t hooklist[] =
|
||||
{ V("checkmeleeattack2", Int_Float_Float) },
|
||||
{ V("schedulechange", Void_Void) },
|
||||
{ V("canplaysequence", Int_Int_Int) },
|
||||
{ V("canplaysentence", Int_Int) },
|
||||
{ V("canplaysentence2", Int_Int) },
|
||||
{ V("playsentence", Void_Str_Float_Float_Float) },
|
||||
{ V("playscriptedsentence", Void_Str_Float_Float_Float_Int_Cbase) },
|
||||
{ V("sentencestop", Void_Void) },
|
||||
@ -401,23 +402,23 @@ hook_t hooklist[] =
|
||||
|
||||
/* Sven co-op */
|
||||
{ V("sc_getclassification", Int_Int) },
|
||||
{ V("sc_ismonster", Int_Void) },
|
||||
{ V("sc_isphysx", Int_Void) },
|
||||
{ V("sc_ispointentity", Int_Void) },
|
||||
{ V("sc_ismachine", Int_Void) },
|
||||
{ V("sc_criticalremove", Int_Void) },
|
||||
{ V("sc_ismonster", Bool_Void) },
|
||||
{ V_REMOVED("sc_isphysx") },
|
||||
{ V("sc_ispointentity", Bool_Void) },
|
||||
{ V("sc_ismachine", Bool_Void) },
|
||||
{ V("sc_criticalremove", Bool_Void) },
|
||||
{ V("sc_updateonremove", Void_Void) },
|
||||
{ V("sc_fvisible", Int_Cbase_Bool) },
|
||||
{ V("sc_fvisiblefrompos", Int_Vector_Vector) },
|
||||
{ V("sc_isfacing", Int_Entvar_Float) },
|
||||
{ V("sc_fvisible", Bool_Cbase_Bool) },
|
||||
{ V("sc_fvisiblefrompos", Bool_pVector_pVector) },
|
||||
{ V("sc_isfacing", Bool_Entvar_Float) },
|
||||
{ V("sc_getpointsfordamage", Float_Float) },
|
||||
{ V("sc_getdamagepoints", Void_Entvar_Entvar_Float) },
|
||||
{ V("sc_oncreate", Void_Void) },
|
||||
{ V("sc_ondestroy", Void_Void) },
|
||||
{ V("sc_isvalidentity", Bool_Void) },
|
||||
{ V_REMOVED("sc_isvalidentity") },
|
||||
{ V("sc_shouldfadeondeath", Int_Void) },
|
||||
{ V("sc_setupfriendly", Void_Void) },
|
||||
{ V("sc_revivethink", Void_Void) },
|
||||
{ V_REMOVED("sc_revivethink") },
|
||||
{ V("sc_revive", Void_Void) },
|
||||
{ V("sc_startmonster", Void_Void) },
|
||||
{ V("sc_checkrangeattack1_move",Int_Float_Float) },
|
||||
@ -440,10 +441,10 @@ hook_t hooklist[] =
|
||||
{ V("sc_finbulletcone", Int_Cbase_pVector) },
|
||||
{ V("sc_callgibmonster", Void_Void) },
|
||||
{ V("sc_checktimebaseddamage", Void_Void) },
|
||||
{ V("sc_ismoving", Int_Void) },
|
||||
{ V("sc_ismoving", Bool_Void) },
|
||||
{ V("sc_isplayerfollowing", Int_Void) },
|
||||
{ V("sc_startplayerfollowing", Void_Cbase) },
|
||||
{ V("sc_stopplayerfollowing", Void_Int) },
|
||||
{ V("sc_startplayerfollowing", Void_Cbase_Bool) },
|
||||
{ V("sc_stopplayerfollowing", Void_Bool_Bool) },
|
||||
{ V("sc_usesound", Void_Void) },
|
||||
{ V("sc_unusesound", Void_Void) },
|
||||
{ V("sc_ridemonster", Void_Cbase) },
|
||||
@ -454,8 +455,8 @@ hook_t hooklist[] =
|
||||
{ V("sc_checkrevival", Void_Void) },
|
||||
{ V("sc_mediccallsound", Void_Void) },
|
||||
|
||||
{ V("sc_player_menuinputperformed", Void_Bool) },
|
||||
{ V("sc_player_ismenuinputdone",Bool_Void) },
|
||||
{ V_REMOVED("sc_player_menuinputperformed") },
|
||||
{ V_REMOVED("sc_player_ismenuinputdone") },
|
||||
{ V("sc_player_specialspawn", Void_Void) },
|
||||
{ V("sc_player_isvalidinfoentity", Bool_Void) },
|
||||
{ V("sc_player_levelend", Void_Void) },
|
||||
@ -470,9 +471,9 @@ hook_t hooklist[] =
|
||||
{ V("sc_player_resetview", Void_Void) },
|
||||
{ V("sc_player_getlogfrequency",Float_Void) },
|
||||
{ V("sc_player_logplayerstats", Bool_Void) },
|
||||
{ V("sc_player_disablecollisionwithplayer", Void_Cbase_Float) },
|
||||
{ V("sc_player_enablecollisionwithplayer", Void_Cbase_Bool) },
|
||||
{ V("sc_player_cantouchplayer", Bool_Cbase) },
|
||||
{ V_REMOVED("sc_player_disablecollisionwithplayer") },
|
||||
{ V_REMOVED("sc_player_enablecollisionwithplayer") },
|
||||
{ V_REMOVED("sc_player_cantouchplayer") },
|
||||
|
||||
{ V("sc_item_materialize", Void_Void) },
|
||||
|
||||
@ -483,10 +484,10 @@ hook_t hooklist[] =
|
||||
{ V("sc_weapon_getw_model", Str_Str) },
|
||||
{ V("sc_weapon_getv_model", Str_Str) },
|
||||
{ V("sc_weapon_precachecustommodels", Void_Void) },
|
||||
{ V("sc_weapon_ismultiplayer", Int_Void) },
|
||||
{ V("sc_weapon_frunfuncs", Int_Void) },
|
||||
{ V("sc_weapon_ismultiplayer", Bool_Void) },
|
||||
{ V("sc_weapon_frunfuncs", Bool_Void) },
|
||||
{ V("sc_weapon_setfov", Void_Int) },
|
||||
{ V("sc_weapon_fcanrun", Int_Void) },
|
||||
{ V("sc_weapon_fcanrun", Bool_Void) },
|
||||
{ V("sc_weapon_customdecrement",Void_Float) },
|
||||
{ V("sc_weapon_setv_model", Void_Str) },
|
||||
{ V("sc_weapon_setp_model", Void_Str) },
|
||||
@ -499,11 +500,11 @@ hook_t hooklist[] =
|
||||
{ V("tfc_weapon_sendweaponanim", Void_Int_Int) },
|
||||
{ V("tfc_weapon_getnextattackdelay", Float_Float) },
|
||||
|
||||
{ V("sc_takehealth",Int_Float_Int_Int) },
|
||||
{ V("sc_takearmor", Int_Float_Int_Int) },
|
||||
{ V("sc_giveammo", Int_Int_Str_Int_Int) },
|
||||
{ V("sc_takehealth",Bool_Float_Int_Int) },
|
||||
{ V("sc_takearmor", Bool_Float_Int_Int) },
|
||||
{ V("sc_giveammo", Int_Int_Str_Int_Bool) },
|
||||
{ V("sc_checkattacker", Int_Cbase) },
|
||||
{ V("sc_player_isconnected", Int_Void) },
|
||||
{ V("sc_player_isconnected", Bool_Void) },
|
||||
|
||||
{ V("dod_weapon_sendweaponanim", Void_Int_Int) },
|
||||
|
||||
@ -514,7 +515,69 @@ hook_t hooklist[] =
|
||||
|
||||
{ V("ts_weapon_alternateattack", Void_Void) },
|
||||
|
||||
{ V("item_getiteminfo", Int_ItemInfo) }
|
||||
{ V("item_getiteminfo", Int_ItemInfo) },
|
||||
|
||||
{ V("sc_prespawn", Void_Void) },
|
||||
{ V("sc_postspawn", Void_Void) },
|
||||
{ V("sc_onkeyvalueupdate", Void_Str) },
|
||||
{ V("sc_setclassification", Void_Int) },
|
||||
{ V("sc_istriggered", Bool_Void) },
|
||||
{ V("sc_mycustompointer", Cbase_Void) },
|
||||
{ V("sc_myitempointer", Cbase_Void) },
|
||||
{ V("sc_addpoints", Void_Int_Bool) },
|
||||
{ V("sc_addpointstoteam", Void_Int_Bool) },
|
||||
{ V("sc_removeplayeritem", Bool_Cbase) },
|
||||
{ V("sc_oncontrols", Bool_Entvar) },
|
||||
{ V("sc_issneaking", Bool_Void) },
|
||||
{ V("sc_isalive", Bool_Void) },
|
||||
{ V("sc_isbspmodel", Bool_Void) },
|
||||
{ V("sc_reflectgauss", Bool_Void) },
|
||||
{ V("sc_hastarget", Bool_Int) },
|
||||
{ V("sc_isinworld", Bool_Void) },
|
||||
{ V("sc_isplayer", Bool_Void) },
|
||||
{ V("sc_isnetclient", Bool_Void) },
|
||||
{ V("sc_isbreakable", Bool_Void) },
|
||||
{ V("sc_subusetargets", Void_Cbase_Int_Float) },
|
||||
{ V("sc_islockedbymaster", Bool_Void) },
|
||||
{ V("sc_fbecomeprone", Bool_Cbase) },
|
||||
{ V("sc_fvecvisible", Bool_pVector) },
|
||||
{ V("sc_setplayerally", Void_Bool) },
|
||||
{ V("sc_onsetoriginbymap", Void_Void) },
|
||||
{ V("sc_isrevivable", Bool_Void) },
|
||||
{ V("sc_beginrevive", Void_Float) },
|
||||
{ V("sc_endrevive", Void_Float) },
|
||||
{ V("sc_canplaysequence", Bool_Bool_Int) },
|
||||
{ V("sc_canplaysentence2", Bool_Bool) },
|
||||
{ V("sc_playscriptedsentence", Void_Str_Float_Float_Float_Bool_Cbase) },
|
||||
{ V("sc_item_addtoplayer", Bool_Cbase) },
|
||||
{ V("sc_item_addduplicate", Bool_Cbase) },
|
||||
{ V("sc_item_addammofromitem", Bool_Cbase) },
|
||||
{ V("sc_item_getpickupsound", Str_Void) },
|
||||
{ V("sc_item_cancollect", Bool_Cbase_Int) },
|
||||
{ V("sc_item_collect", Void_Cbase_Int) },
|
||||
{ V("sc_item_getiteminfo", Bool_ItemInfo) },
|
||||
{ V("sc_item_candeploy", Bool_Void) },
|
||||
{ V("sc_item_deploy", Bool_Void) },
|
||||
{ V("sc_item_canholster", Bool_Void) },
|
||||
{ V("sc_item_inactiveitempreframe", Void_Void) },
|
||||
{ V("sc_item_inactiveitempostframe",Void_Void) },
|
||||
{ V("sc_item_detachfromplayer", Void_Void) },
|
||||
{ V("sc_item_updateclientdata", Bool_Cbase) },
|
||||
{ V("sc_item_getrespawntime", Float_Void) },
|
||||
{ V("sc_item_canhaveduplicates",Bool_Void) },
|
||||
{ V("sc_weapon_extractammofromitem",Bool_Cbase) },
|
||||
{ V("sc_weapon_addweapon", Bool_Void) },
|
||||
{ V("sc_weapon_getammo1drop", Int_Void) },
|
||||
{ V("sc_weapon_getammo2drop", Int_Void) },
|
||||
{ V("sc_weapon_playemptysound", Bool_Void) },
|
||||
{ V("sc_weapon_isusable", Bool_Void) },
|
||||
{ V("sc_weapon_finishreload", Void_Void) },
|
||||
{ V("sc_weapon_shouldreload", Bool_Void) },
|
||||
{ V("sc_weapon_shouldweaponidle",Bool_Void) },
|
||||
{ V("sc_weapon_usedecrement", Bool_Void) },
|
||||
{ V("sc_player_enteredobserver",Void_Void) },
|
||||
{ V("sc_player_leftobserver", Void_Void) },
|
||||
{ V("sc_player_isobserver", Bool_Void) },
|
||||
};
|
||||
|
||||
|
||||
|
@ -19,6 +19,7 @@ typedef struct hook_s
|
||||
int isset; // whether or not this hook is registered with hamdata
|
||||
int vtid; // vtable index of this function
|
||||
const char *name; // name used in the keys
|
||||
bool isremoved; // whether or not this function is no more available in the mod
|
||||
bool isvoid; // whether or not the target trampoline uses voids
|
||||
bool needsretbuf; // whether or not a pointer to a memory buffer is needed to store a return value
|
||||
int paramcount; // how many parameters are in the func
|
||||
|
@ -174,7 +174,9 @@ enum Ham
|
||||
/**
|
||||
* Description: Returns whether an entity is activated.
|
||||
* This function is not supported by Day Of Defeat.
|
||||
* This function has different version for Team Fortress Classic, see Ham_TFC_IsTriggered instead.
|
||||
* This function has different version for the following mods:
|
||||
* Team Fortress Classic, see Ham_TFC_IsTriggered instead.
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsTriggered instead.
|
||||
* Forward params: function(this, idActivator);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_IsTriggered, this, idActivator);
|
||||
@ -207,7 +209,9 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Typically adds points to the entity.
|
||||
* This function is not supported by Team Fortress Classic mod.
|
||||
* This function is not supported for the following mods:
|
||||
* Team Fortress Classic.
|
||||
* Sven-Coop 5.0-, see Ham_SC_AddPoints instead.
|
||||
* Forward params: function(this, points, bool:cangonegative);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative);
|
||||
@ -216,7 +220,9 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Typically adds points to everybody on the entity's team.
|
||||
* This function is not supported by Team Fortress Classic mod.
|
||||
* This function is not supported for the following mods:
|
||||
* Team Fortress Classic.
|
||||
* Sven-Coop 5.0-, see Ham_SC_AddPointsToTeam instead.
|
||||
* Forward params: function(this, points, bool:cangonegative);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_AddPointsToTeam, this, points, bool:cangonegative);
|
||||
@ -233,7 +239,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Removes an item to the player's inventory.
|
||||
* Forward params: function(this, idother);
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_RemovePlayerItem instead.
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_RemovePlayerItem, this, idother);
|
||||
*/
|
||||
@ -261,6 +268,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is moving.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsMoving instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_IsMoving, this);
|
||||
@ -309,6 +318,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Not entirely sure.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_OnControls instead.
|
||||
* Forward params: function(this, idOn)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_OnControls, this, idOn);
|
||||
@ -317,6 +328,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is sneaking.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsSneaking instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsSneaking, this);
|
||||
@ -325,6 +338,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is alive.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsAlive instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsAlive, this);
|
||||
@ -333,6 +348,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity uses a BSP model.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsBSPModel instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsBSPModel, this);
|
||||
@ -341,6 +358,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity can reflect gauss shots..
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_ReflectGauss instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_ReflectGauss, this);
|
||||
@ -352,7 +371,8 @@ enum Ham
|
||||
* Note the strindex parameter is a string passed that has been allocated by the engine.
|
||||
* Use fakemeta's EngFunc_SzFromIndex to convert to a normal string, or fakemeta's
|
||||
* EngFunc_AllocString to create a new string.
|
||||
* Forward params: function(this, strindex).
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_HasTarget instead.
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_HasTarget, this, strindex);
|
||||
*/
|
||||
@ -360,6 +380,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is in the world.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsInWorld instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsInWorld, this);
|
||||
@ -368,6 +390,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is a player.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsPlayer instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsPlayer, this);
|
||||
@ -376,6 +400,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is a net client.
|
||||
* This function is not supported for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_IsNetClient instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_IsNetClient, this);
|
||||
@ -449,6 +475,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Normally called whenever a barnacle grabs the entity.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_FBecomeProne instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_FBecomeProne, this);
|
||||
@ -497,6 +525,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Returns true if a line can be traced from the caller's eyes to the target.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_FVisible instead.
|
||||
* Forward params: function(this, idOther);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_FVisible, this, idOther);
|
||||
@ -505,6 +535,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Returns true if a line can be traced from the caller's eyes to given vector.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_FVecVisible instead.
|
||||
* Forward params: function(this, const Float:origin[3]);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_FVecVisible, this, const Float:origin[3]);
|
||||
@ -590,6 +622,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Adds the item to the player.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_AddToPlayer instead.
|
||||
* Forward params: function(this, idPlayer);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_AddToPlayer, this, idPlayer);
|
||||
@ -598,6 +632,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Unsure.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_AddDuplicate instead.
|
||||
* Forward params: function(this, idOriginal);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_AddDuplicate, this, idOriginal);
|
||||
@ -606,6 +642,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not this entity can be deployed.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_CanDeploy instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_CanDeploy, this);
|
||||
@ -614,6 +652,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Deploys the entity (usually a weapon).
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_Deploy instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_Deploy, this);
|
||||
@ -622,6 +662,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity can be holstered.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_CanHolster instead.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_CanHolster, this);
|
||||
@ -702,6 +744,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Updates item data for the client.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Item_UpdateClientData instead.
|
||||
* Forward params: function(this, idPlayer)
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_Item_UpdateClientData, this, idPlayer);
|
||||
@ -750,6 +794,8 @@ enum Ham
|
||||
/**
|
||||
* Description: Unsure.
|
||||
* This function is not supported in Earth's Special Forces mod.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Weapon_AddWeapon instead.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Weapon_AddWeapon, this);
|
||||
@ -758,6 +804,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Plays the weapon's empty sound.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Weapon_PlayEmptySound instead.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Weapon_PlayEmptySound, this);
|
||||
@ -787,6 +835,8 @@ enum Ham
|
||||
/**
|
||||
* Description: Whether or not the weapon is usable (has ammo, etc.)
|
||||
* This function is not supported in Earth's Special Forces mod.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Weapon_IsUsable instead.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Weapon_IsUsable, this)
|
||||
@ -836,6 +886,8 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: Whether or not the weapon should idle.
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Weapon_ShouldWeaponIdle instead.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute Params: ExecuteHam(Ham_Weapon_ShouldWeaponIdle, this)
|
||||
@ -845,7 +897,8 @@ enum Ham
|
||||
/**
|
||||
* Description: Unsure.
|
||||
* This function is not supported by Team Fortress Classic.
|
||||
* Forward params: function(this)
|
||||
* This function has different version for the following mods:
|
||||
* Sven-Coop 5.0+, see Ham_SC_Weapon_UseDecrement instead.
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Weapon_UseDecrement, this);
|
||||
*/
|
||||
@ -1446,6 +1499,8 @@ enum Ham
|
||||
* trying to possess it. If DisregardState is set, the monster will be sucked into the script
|
||||
* no matter what state it is in. ONLY Scripted AI ents should allow this.
|
||||
* This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
|
||||
* This function has different versions for the following mod:
|
||||
* Sven Coop: see Ham_SC_CanPlaySequence
|
||||
* Forward params: function(this, bool:disregardState, interruptLevel);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_CanPlaySequence, this, bool:disregardState, interruptLevel);
|
||||
@ -1455,11 +1510,13 @@ enum Ham
|
||||
/**
|
||||
* Description: -
|
||||
* This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
|
||||
* This function has different versions for the following mod:
|
||||
* Sven Coop: see Ham_SC_CanPlaySentence2
|
||||
* Forward params: function(this, bool:disregardState);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_CanPlaySentence, this, bool:disregardState);
|
||||
* Execute params: ExecuteHam(Ham_CanPlaySentence2, this, bool:disregardState);
|
||||
*/
|
||||
Ham_CanPlaySentence,
|
||||
Ham_CanPlaySentence2,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
@ -1473,6 +1530,7 @@ enum Ham
|
||||
/**
|
||||
* Description: -
|
||||
* This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
|
||||
* This function has different version for Sven Coop, see Ham_SC_PlayScriptedSentence instead.
|
||||
* Forward params: function(this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_PlayScriptedSentence, this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
|
||||
@ -2891,7 +2949,8 @@ enum Ham
|
||||
Ham_SC_IsMonster,
|
||||
|
||||
/**
|
||||
* Description: Whether entity uses PhysX feature.
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Whether entity uses PhysX feature.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsPhysX, this)
|
||||
@ -2992,7 +3051,8 @@ enum Ham
|
||||
Ham_SC_OnDestroy,
|
||||
|
||||
/**
|
||||
* Description: Returns false if the entity is somehow invalid.
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Returns false if the entity is somehow invalid.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsValidEntity, this)
|
||||
@ -3016,7 +3076,8 @@ enum Ham
|
||||
Ham_SC_SetupFriendly,
|
||||
|
||||
/**
|
||||
* Description: Tries to revive a monster.
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Tries to revive a monster.
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_ReviveThink, this)
|
||||
@ -3224,17 +3285,17 @@ enum Ham
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, idleader)
|
||||
* Forward params: function(this, idleader, bool:noSound)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_StartPlayerFollowing, this, idleader)
|
||||
* Execute params: ExecuteHam(Ham_SC_StartPlayerFollowing, this, idleader, bool:noSound)
|
||||
*/
|
||||
Ham_SC_StartPlayerFollowing,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, bool:clearSchedule)
|
||||
* Forward params: function(this, bool:clearSchedule, bool:noSound)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_StopPlayerFollowing, this, bool:clearSchedule)
|
||||
* Execute params: ExecuteHam(Ham_SC_StopPlayerFollowing, this, bool:clearSchedule, bool:noSound)
|
||||
*/
|
||||
Ham_SC_StopPlayerFollowing,
|
||||
|
||||
@ -3303,7 +3364,7 @@ enum Ham
|
||||
Ham_SC_CheckRevival,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_MedicCallSound, this)
|
||||
@ -3312,10 +3373,10 @@ enum Ham
|
||||
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_MedicCallSound, this)
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_MenuInputPerformed, this)
|
||||
*/
|
||||
Ham_SC_Player_MenuInputPerformed,
|
||||
|
||||
@ -3440,7 +3501,7 @@ enum Ham
|
||||
Ham_SC_Player_LogPlayerStats,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Forward params: function(this, idPlayer, Float:time)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_DisableCollision, this, idPlayer, Float:time)
|
||||
@ -3448,7 +3509,7 @@ enum Ham
|
||||
Ham_SC_Player_DisableCollisionWithPlayer,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Forward params: function(this, idPlayer, bool:testIntersection)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_EnableCollision, this, idPlayer, bool:testIntersection)
|
||||
@ -3456,7 +3517,7 @@ enum Ham
|
||||
Ham_SC_Player_EnableCollisionWithPlayer,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Description: (!) This function is no more available in the mod.
|
||||
* Forward params: function(this, idPlayer)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_CanTouchPlayer, this, idPlayer)
|
||||
@ -3726,6 +3787,533 @@ enum Ham
|
||||
Ham_Item_GetItemInfo,
|
||||
|
||||
|
||||
/**
|
||||
* LATE ADDITIONS (2017)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Description: Performs checks that must occur before Spawn itself is called. Always call baseclass version first.
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_PreSpawn, this);
|
||||
*/
|
||||
Ham_SC_PreSpawn,
|
||||
|
||||
/**
|
||||
* Description: Performs checks that must occur after Spawn itself is called. Always call baseclass version first.
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_PostSpawn, this);
|
||||
*/
|
||||
Ham_SC_PostSpawn,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, key);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_PostSpawn, this, const key[]);
|
||||
*/
|
||||
Ham_SC_OnKeyValueUpdate,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, classification);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_SetClassification, this, classification);
|
||||
*/
|
||||
Ham_SC_SetClassification,
|
||||
|
||||
/**
|
||||
* Description: Returns whether an entity is activated.
|
||||
* This function is not supported by Day Of Defeat.
|
||||
* This function has different version for Team Fortress Classic, see Ham_TFC_IsTriggered instead.
|
||||
* Forward params: function(this, idActivator);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_IsTriggered, this, idActivator);
|
||||
*/
|
||||
Ham_SC_IsTriggered,
|
||||
|
||||
/**
|
||||
* Description: Returns the id of the entity if its class is derived off of ICustomEntity, -1 otherwise.
|
||||
* Forward params: function(this)
|
||||
* Return type: Entity.
|
||||
* Execute params: ExecuteHam(Ham_SC_MyCustomPointer, this);
|
||||
*/
|
||||
Ham_SC_MyCustomPointer,
|
||||
|
||||
/**
|
||||
* Description: Returns the id of the entity if its class is derived off of CBasePlayerItem, -1 otherwise.
|
||||
* Forward params: function(this)
|
||||
* Return type: Entity.
|
||||
* Execute params: ExecuteHam(Ham_SC_MyItemPointer, this);
|
||||
*/
|
||||
Ham_SC_MyItemPointer,
|
||||
|
||||
/**
|
||||
* Description: Typically adds points to the entity.
|
||||
* Forward params: function(this, points, bool:cangonegative);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative);
|
||||
*/
|
||||
Ham_SC_AddPoints,
|
||||
|
||||
/**
|
||||
* Description: Typically adds points to everybody on the entity's team.
|
||||
* Forward params: function(this, points, bool:cangonegative);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_AddPointsToTeam, this, points, bool:cangonegative);
|
||||
*/
|
||||
Ham_SC_AddPointsToTeam,
|
||||
|
||||
/**
|
||||
* Description: Removes an item to the player's inventory.
|
||||
* Forward params: function(this, idother);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_RemovePlayerItem, this, idother);
|
||||
*/
|
||||
Ham_SC_RemovePlayerItem,
|
||||
|
||||
/**
|
||||
* Description: Not entirely sure.
|
||||
* Forward params: function(this, idOn)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_OnControls, this, idOn);
|
||||
*/
|
||||
Ham_SC_OnControls,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is sneaking.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsSneaking, this);
|
||||
*/
|
||||
Ham_SC_IsSneaking,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is alive.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsAlive, this);
|
||||
*/
|
||||
Ham_SC_IsAlive,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity uses a BSP model.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsBSPModel, this);
|
||||
*/
|
||||
Ham_SC_IsBSPModel,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity can reflect gauss shots.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_ReflectGauss, this);
|
||||
*/
|
||||
Ham_SC_ReflectGauss,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the target is the same as the one passed.
|
||||
* Note the strindex parameter is a string passed that has been allocated by the engine.
|
||||
* Use fakemeta's EngFunc_SzFromIndex to convert to a normal string, or fakemeta's
|
||||
* EngFunc_AllocString to create a new string.
|
||||
* Forward params: function(this, strindex).
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_HasTarget, this, strindex);
|
||||
*/
|
||||
Ham_SC_HasTarget,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is in the world.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsInWorld, this);
|
||||
*/
|
||||
Ham_SC_IsInWorld,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is a player.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Sc_IsPlayer, this);
|
||||
*/
|
||||
Ham_Sc_IsPlayer,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is a net client.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsNetClient, this);
|
||||
*/
|
||||
Ham_SC_IsNetClient,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity is a brush entity breakable.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsBreakable, this);
|
||||
*/
|
||||
Ham_SC_IsBreakable,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, idActivator, useType, value);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_SUB_UseTargets, this, idActivator, useType, value);
|
||||
*/
|
||||
Ham_SC_SUB_UseTargets,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsLockedByMaster, this);
|
||||
*/
|
||||
Ham_SC_IsLockedByMaster,
|
||||
|
||||
/**
|
||||
* Description: Normally called whenever a barnacle grabs the entity.
|
||||
* Forward params: function(this, idOther);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_FBecomeProne, this, idOther);
|
||||
*/
|
||||
Ham_SC_FBecomeProne,
|
||||
|
||||
/**
|
||||
* Description: Returns true if a line can be traced from the caller's eyes to given vector.
|
||||
* Forward params: function(this, const Float:origin[3]);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_FVecVisible, this, const Float:origin[3]);
|
||||
*/
|
||||
Ham_SC_FVecVisible,
|
||||
|
||||
/**
|
||||
* Description: Sets the player ally state
|
||||
* Forward params: function(this, bool:state);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_SetPlayerAlly, this, bool:state);
|
||||
*/
|
||||
Ham_SC_SetPlayerAlly,
|
||||
|
||||
/**
|
||||
* Description: Callback after trigger_setorigin has moved the entity.
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_OnSetOriginByMap, this);
|
||||
*/
|
||||
Ham_SC_OnSetOriginByMap,
|
||||
|
||||
/**
|
||||
* Description: Return true if you want to be revivable.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_IsRevivable, this);
|
||||
*/
|
||||
Ham_SC_IsRevivable,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* timeUntilRevive is the time until the actual revive event occurs.
|
||||
* Forward params: function(this, Float:timeUntilRevive);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_BeginRevive, Float:timeUntilRevive);
|
||||
*/
|
||||
Ham_SC_BeginRevive,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* timeUntilRevive is the time before the monster is supposed to be revived
|
||||
* Forward params: function(this, Float:timeUntilRevive);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_EndRevive, Float:timeUntilRevive);
|
||||
*/
|
||||
Ham_SC_EndRevive,
|
||||
|
||||
/**
|
||||
* Description: Determines whether or not the monster can play the scripted sequence or AI sequence that is
|
||||
* trying to possess it. If DisregardState is set, the monster will be sucked into the script
|
||||
* no matter what state it is in. ONLY Scripted AI ents should allow this.
|
||||
* Forward params: function(this, bool:disregardState, interruptLevel);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_CanPlaySequence, this, bool:disregardState, interruptLevel);
|
||||
*/
|
||||
Ham_SC_CanPlaySequence,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, bool:disregardState);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_CanPlaySentence2, this, bool:disregardState);
|
||||
*/
|
||||
Ham_SC_CanPlaySentence2,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_PlayScriptedSentence, this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
|
||||
*/
|
||||
Ham_SC_PlayScriptedSentence,
|
||||
|
||||
|
||||
/**
|
||||
* Items have all the attributes of normal entities in addition to these.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Description: Adds the item to the player.
|
||||
* Forward params: function(this, idPlayer);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_Item_AddToPlayer, this, idPlayer);
|
||||
*/
|
||||
Ham_SC_Item_AddToPlayer,
|
||||
|
||||
/**
|
||||
* Description: Returns true if you want your duplicate removed from world.
|
||||
* Forward params: function(this, idOriginal);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_AddDuplicate, this, idOriginal);
|
||||
*/
|
||||
Ham_SC_Item_AddDuplicate,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, idOther);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_AddAmmoFromItem, this, idOther);
|
||||
*/
|
||||
Ham_SC_Item_AddAmmoFromItem,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: String (string length returned and string byref'd in ExecuteHam).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_GetPickupSound, this)
|
||||
*/
|
||||
Ham_SC_Item_GetPickupSound,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Collect Types:
|
||||
* COLLECT_TOUCH 0
|
||||
* COLLECT_USE_DIRECT 1
|
||||
* COLLECT_USE_INDIRECT 2
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_CanCollect, this, idOther, collectType);
|
||||
*/
|
||||
Ham_SC_Item_CanCollect,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, idOther, collectType);
|
||||
* Collect Types:
|
||||
* COLLECT_TOUCH 0
|
||||
* COLLECT_USE_DIRECT 1
|
||||
* COLLECT_USE_INDIRECT 2
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_Collect, this, idOther, collectType);
|
||||
*/
|
||||
Ham_SC_Item_Collect,
|
||||
|
||||
/**
|
||||
* Description: Gets item infos.
|
||||
* Forward params: function(this, iteminfo_handle);
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_GetItemInfo, this, iteminfo_handle);
|
||||
* Use CreateHamItemInfo() to pass a new ItemInfo handle.
|
||||
*/
|
||||
Ham_SC_Item_GetItemInfo,
|
||||
|
||||
/**
|
||||
* Description: Whether or not this entity can be deployed.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_CanDeploy, this);
|
||||
*/
|
||||
Ham_SC_Item_CanDeploy,
|
||||
|
||||
/**
|
||||
* Description: Deploys the entity (usually a weapon).
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_Deploy, this);
|
||||
*/
|
||||
Ham_SC_Item_Deploy,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the entity can be holstered.
|
||||
* Forward params: function(this);
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_CanHolster, this);
|
||||
*/
|
||||
Ham_SC_Item_CanHolster,
|
||||
|
||||
/**
|
||||
* Description: Called each frame by the player PreThink if inactive.
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_InactiveItemPreFrame, this);
|
||||
*/
|
||||
Ham_SC_Item_InactiveItemPreFrame,
|
||||
|
||||
/**
|
||||
* Description: Called each frame by the player PostThink if inactive.
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_InactiveItemPostFrame, this);
|
||||
*/
|
||||
Ham_SC_Item_InactiveItemPostFrame,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this);
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_DetachFromPlayer, this);
|
||||
*/
|
||||
Ham_SC_Item_DetachFromPlayer,
|
||||
|
||||
/**
|
||||
* Description: Updates item data for the client.
|
||||
* Forward params: function(this, idPlayer)
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_UpdateClientData, this, idPlayer);
|
||||
*/
|
||||
Ham_SC_Item_UpdateClientData,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Float.
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_GetRespawnTime, this);
|
||||
*/
|
||||
Ham_SC_Item_GetRespawnTime,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Item_CanHaveDuplicates, this);
|
||||
*/
|
||||
Ham_SC_Item_CanHaveDuplicates,
|
||||
|
||||
|
||||
/**
|
||||
* Weapons have all the attributes to Ham_Item_*, in addition to these.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this, idOriginal)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_ExtractAmmoFromItem, idOriginal);
|
||||
*/
|
||||
Ham_SC_Weapon_ExtractAmmoFromItem,
|
||||
|
||||
/**
|
||||
* Description: Unsure.
|
||||
* This function is not supported in Earth's Special Forces mod.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_AddWeapon, this);
|
||||
*/
|
||||
Ham_SC_Weapon_AddWeapon,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_GetAmmo1Drop);
|
||||
*/
|
||||
Ham_SC_Weapon_GetAmmo1Drop,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer.
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_GetAmmo2Drop, idOriginal);
|
||||
*/
|
||||
Ham_SC_Weapon_GetAmmo2Drop,
|
||||
|
||||
/**
|
||||
* Description: Plays the weapon's empty sound.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_PlayEmptySound, this);
|
||||
*/
|
||||
Ham_SC_Weapon_PlayEmptySound,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the weapon is usable (has ammo, etc.)
|
||||
* This function is not supported in Earth's Special Forces mod.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_IsUsable, this)
|
||||
*/
|
||||
Ham_SC_Weapon_IsUsable,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_FinishReload, idOriginal);
|
||||
*/
|
||||
Ham_SC_Weapon_FinishReload,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_ShouldReload, idOriginal);
|
||||
*/
|
||||
Ham_SC_Weapon_ShouldReload,
|
||||
|
||||
/**
|
||||
* Description: Whether or not the weapon should idle.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute Params: ExecuteHam(Ham_SC_Weapon_ShouldWeaponIdle, this)
|
||||
*/
|
||||
Ham_SC_Weapon_ShouldWeaponIdle,
|
||||
|
||||
/**
|
||||
* Description: Unsure.
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Weapon_UseDecrement, this);
|
||||
*/
|
||||
Ham_SC_Weapon_UseDecrement,
|
||||
|
||||
|
||||
/**
|
||||
* Players have all the attributes of normal entities, in addition to these.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_EnteredObserver, this);
|
||||
*/
|
||||
Ham_SC_Player_EnteredObserver,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: None.
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_LeftObserver, this);
|
||||
*/
|
||||
Ham_SC_Player_LeftObserver,
|
||||
|
||||
/**
|
||||
* Description: -
|
||||
* Forward params: function(this)
|
||||
* Return type: Integer (boolean).
|
||||
* Execute params: ExecuteHam(Ham_SC_Player_IsObserver, this);
|
||||
*/
|
||||
Ham_SC_Player_IsObserver,
|
||||
|
||||
|
||||
/**
|
||||
* DONT USE ME LOL
|
||||
*/
|
||||
@ -3741,6 +4329,7 @@ enum HamError
|
||||
|
||||
HAM_INVALID_FUNC, // The function is not valid
|
||||
HAM_FUNC_NOT_CONFIGURED, // This function is not configured in hamdata.ini
|
||||
HAM_FUNC_NOT_AVAILABLE, // This function is not more available in the mod
|
||||
|
||||
HAM_ERR_END
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user