Fix Ham_Item_GetItemInfo incorrect associated handler (#449)
This commit is contained in:
parent
6bd2f1feec
commit
4fcfc913d3
|
@ -665,7 +665,7 @@ cell Call_Void_Int_Int_Int(AMX *amx, cell *params)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
cell Call_Void_ItemInfo(AMX *amx, cell *params)
|
cell Call_Int_ItemInfo(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
SETUP(1);
|
SETUP(1);
|
||||||
|
|
||||||
|
@ -677,11 +677,10 @@ cell Call_Void_ItemInfo(AMX *amx, cell *params)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
reinterpret_cast<void (__fastcall *)(void*, int, void *)>(__func)(pv, 0, ptr);
|
return reinterpret_cast<int (__fastcall *)(void*, int, void *)>(__func)(pv, 0, ptr);
|
||||||
#elif defined(__linux__) || defined(__APPLE__)
|
#elif defined(__linux__) || defined(__APPLE__)
|
||||||
reinterpret_cast<void (*)(void *, void *)>(__func)(pv, ptr);
|
return reinterpret_cast<int (*)(void *, void *)>(__func)(pv, ptr);
|
||||||
#endif
|
#endif
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cell Call_Float_Void(AMX *amx, cell *params)
|
cell Call_Float_Void(AMX *amx, cell *params)
|
||||||
|
|
|
@ -75,7 +75,7 @@ cell Call_Void_Entvar_Float(AMX *amx, cell *params);
|
||||||
|
|
||||||
cell Call_Void_Int_Int_Int(AMX *amx, cell *params);
|
cell Call_Void_Int_Int_Int(AMX *amx, cell *params);
|
||||||
|
|
||||||
cell Call_Void_ItemInfo(AMX *amx, cell *params);
|
cell Call_Int_ItemInfo(AMX *amx, cell *params);
|
||||||
|
|
||||||
cell Call_Float_Void(AMX *amx, cell *params);
|
cell Call_Float_Void(AMX *amx, cell *params);
|
||||||
|
|
||||||
|
|
|
@ -1080,9 +1080,12 @@ void Hook_Void_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2, int i3)
|
||||||
KILL_VECTOR()
|
KILL_VECTOR()
|
||||||
POP()
|
POP()
|
||||||
}
|
}
|
||||||
void Hook_Void_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
int Hook_Int_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||||
{
|
{
|
||||||
PUSH_VOID()
|
int ret = 0;
|
||||||
|
int origret = 0;
|
||||||
|
|
||||||
|
PUSH_INT()
|
||||||
|
|
||||||
MAKE_VECTOR()
|
MAKE_VECTOR()
|
||||||
|
|
||||||
|
@ -1092,9 +1095,9 @@ void Hook_Void_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||||
,iteminfo
|
,iteminfo
|
||||||
PRE_END()
|
PRE_END()
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
reinterpret_cast<void (__fastcall*)(void*, int, void *)>(hook->func)(pthis, 0, iteminfo);
|
origret = reinterpret_cast<int (__fastcall*)(void*, int, void *)>(hook->func)(pthis, 0, iteminfo);
|
||||||
#elif defined(__linux__) || defined(__APPLE__)
|
#elif defined(__linux__) || defined(__APPLE__)
|
||||||
reinterpret_cast<void (*)(void*, void *)>(hook->func)(pthis, iteminfo);
|
origret = reinterpret_cast<int (*)(void*, void *)>(hook->func)(pthis, iteminfo);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
POST_START()
|
POST_START()
|
||||||
|
@ -1103,6 +1106,9 @@ void Hook_Void_ItemInfo(Hook *hook, void *pthis, void *iteminfo)
|
||||||
|
|
||||||
KILL_VECTOR()
|
KILL_VECTOR()
|
||||||
POP()
|
POP()
|
||||||
|
|
||||||
|
CHECK_RETURN()
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Hook_Float_Void(Hook *hook, void *pthis)
|
float Hook_Float_Void(Hook *hook, void *pthis)
|
||||||
|
|
|
@ -198,10 +198,10 @@ const bool RB_Void_Int_Int_Int = false;
|
||||||
const int PC_Void_Int_Int_Int = 3;
|
const int PC_Void_Int_Int_Int = 3;
|
||||||
void Hook_Void_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2, int i3);
|
void Hook_Void_Int_Int_Int(Hook *hook, void *pthis, int i1, int i2, int i3);
|
||||||
|
|
||||||
const bool RT_Void_ItemInfo = true;
|
const bool RT_Int_ItemInfo = false;
|
||||||
const bool RB_Void_ItemInfo = false;
|
const bool RB_Int_ItemInfo = false;
|
||||||
const int PC_Void_ItemInfo = 1;
|
const int PC_Int_ItemInfo = 1;
|
||||||
void Hook_Void_ItemInfo(Hook *hook, void *pthis, void *iteminfo);
|
int Hook_Int_ItemInfo(Hook *hook, void *pthis, void *iteminfo);
|
||||||
|
|
||||||
|
|
||||||
const bool RT_Float_Void = false;
|
const bool RT_Float_Void = false;
|
||||||
|
|
|
@ -163,7 +163,7 @@ int Create_Void_Int_Int_Int(AMX *amx, const char *func)
|
||||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_CELL, FP_CELL, FP_DONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Create_Void_ItemInfo(AMX *amx, const char *func)
|
int Create_Int_ItemInfo(AMX *amx, const char *func)
|
||||||
{
|
{
|
||||||
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
return MF_RegisterSPForwardByName(amx, func, FP_CELL, FP_CELL, FP_DONE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@ int Create_Void_Entvar_Float(AMX *amx, const char *func);
|
||||||
|
|
||||||
int Create_Void_Int_Int_Int(AMX *amx, const char *func);
|
int Create_Void_Int_Int_Int(AMX *amx, const char *func);
|
||||||
|
|
||||||
int Create_Void_ItemInfo(AMX *amx, const char *func);
|
int Create_Int_ItemInfo(AMX *amx, const char *func);
|
||||||
|
|
||||||
int Create_Float_Void(AMX *amx, const char *func);
|
int Create_Float_Void(AMX *amx, const char *func);
|
||||||
|
|
||||||
|
|
|
@ -514,7 +514,7 @@ hook_t hooklist[] =
|
||||||
|
|
||||||
{ V("ts_weapon_alternateattack", Void_Void) },
|
{ V("ts_weapon_alternateattack", Void_Void) },
|
||||||
|
|
||||||
{ V("item_getiteminfo", Void_ItemInfo) }
|
{ V("item_getiteminfo", Int_ItemInfo) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user