mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-25 22:35:37 +03:00
fixed bug at25028 (teame06)
This commit is contained in:
parent
35e8a67a48
commit
f8d0e4b90d
@ -31,6 +31,12 @@ void ServerActivate(edict_t *pEdictList, int edictCount, int clientMax)
|
|||||||
Engine[FM_##call].clear(); \
|
Engine[FM_##call].clear(); \
|
||||||
EnginePost[FM_##call].clear()
|
EnginePost[FM_##call].clear()
|
||||||
|
|
||||||
|
#define RESETN(call) \
|
||||||
|
g_pNewFunctionsTable->pfn##call = NULL; \
|
||||||
|
g_pNewFunctionsTable_Post->pfn##call = NULL; \
|
||||||
|
Engine[FM_##call].clear(); \
|
||||||
|
EnginePost[FM_##call].clear();
|
||||||
|
|
||||||
void OnPluginsLoaded()
|
void OnPluginsLoaded()
|
||||||
{
|
{
|
||||||
// Reset all call lists here.
|
// Reset all call lists here.
|
||||||
@ -122,7 +128,7 @@ void OnPluginsLoaded()
|
|||||||
RESETE(CVarGetString);
|
RESETE(CVarGetString);
|
||||||
RESETE(CVarSetFloat);
|
RESETE(CVarSetFloat);
|
||||||
RESETE(CVarSetString);
|
RESETE(CVarSetString);
|
||||||
|
RESETE(AlertMessage);
|
||||||
|
|
||||||
RESETD(Spawn);
|
RESETD(Spawn);
|
||||||
RESETD(Think);
|
RESETD(Think);
|
||||||
@ -152,5 +158,9 @@ void OnPluginsLoaded()
|
|||||||
RESETD(CreateInstancedBaselines);
|
RESETD(CreateInstancedBaselines);
|
||||||
RESETD(AllowLagCompensation);
|
RESETD(AllowLagCompensation);
|
||||||
|
|
||||||
|
RESETN(OnFreeEntPrivateData);
|
||||||
|
RESETN(GameShutdown);
|
||||||
|
RESETN(ShouldCollide);
|
||||||
|
|
||||||
g_pFunctionTable->pfnServerActivate = ServerActivate;
|
g_pFunctionTable->pfnServerActivate = ServerActivate;
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ void SetModel(edict_t *e, const char *m)
|
|||||||
}
|
}
|
||||||
void SetModel_post(edict_t *e, const char *m)
|
void SetModel_post(edict_t *e, const char *m)
|
||||||
{
|
{
|
||||||
FM_ENG_HANDLE(FM_SetModel, (Engine[FM_SetModel].at(i), ENTINDEX(e), m));
|
FM_ENG_HANDLE(FM_SetModel, (EnginePost[FM_SetModel].at(i), ENTINDEX(e), m));
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,13 +122,16 @@ typedef struct KeyValueData_s
|
|||||||
int32 fHandled; // out: DLL sets to true if key-value pair was understood
|
int32 fHandled; // out: DLL sets to true if key-value pair was understood
|
||||||
} KeyValueData;
|
} KeyValueData;
|
||||||
*/
|
*/
|
||||||
void KeyValue(edict_t* entity, KeyValueData* data) {
|
void KeyValue(edict_t* entity, KeyValueData* data)
|
||||||
|
{
|
||||||
g_fm_keyValueData = data;
|
g_fm_keyValueData = data;
|
||||||
FM_ENG_HANDLE(FM_KeyValue, (Engine[FM_KeyValue].at(i), ENTINDEX(entity)));
|
FM_ENG_HANDLE(FM_KeyValue, (Engine[FM_KeyValue].at(i), ENTINDEX(entity)));
|
||||||
RETURN_META(mswi(lastFmRes));
|
RETURN_META(mswi(lastFmRes));
|
||||||
}
|
}
|
||||||
void KeyValue_post(edict_t* entity, KeyValueData* data) {
|
|
||||||
FM_ENG_HANDLE_POST(FM_KeyValue, (Engine[FM_KeyValue].at(i), ENTINDEX(entity)));
|
void KeyValue_post(edict_t* entity, KeyValueData* data)
|
||||||
|
{
|
||||||
|
FM_ENG_HANDLE_POST(FM_KeyValue, (EnginePost[FM_KeyValue].at(i), ENTINDEX(entity)));
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,7 +153,7 @@ void AlertMessage_post(ALERT_TYPE atype, char *szFmt, ...)
|
|||||||
va_start(ap, szFmt);
|
va_start(ap, szFmt);
|
||||||
vsprintf(buf, szFmt, ap);
|
vsprintf(buf, szFmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
FM_ENG_HANDLE(FM_AlertMessage, (Engine[FM_AlertMessage].at(i), atype, buf));
|
FM_ENG_HANDLE(FM_AlertMessage, (EnginePost[FM_AlertMessage].at(i), atype, buf));
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,7 +187,7 @@ void VecToAngles_post(const float *rgflVectorIn, float *rgflVectorOut)
|
|||||||
cell vec2[3] = {amx_ftoc(rgflVectorOut[0]), amx_ftoc(rgflVectorOut[1]), amx_ftoc(rgflVectorOut[2])};;
|
cell vec2[3] = {amx_ftoc(rgflVectorOut[0]), amx_ftoc(rgflVectorOut[1]), amx_ftoc(rgflVectorOut[2])};;
|
||||||
cell retvec1 = MF_PrepareCellArray(vec1, 3);
|
cell retvec1 = MF_PrepareCellArray(vec1, 3);
|
||||||
cell retvec2 = MF_PrepareCellArray(vec2, 3);
|
cell retvec2 = MF_PrepareCellArray(vec2, 3);
|
||||||
FM_ENG_HANDLE(FM_VecToAngles, (Engine[FM_VecToAngles].at(i), retvec1, retvec2));
|
FM_ENG_HANDLE(FM_VecToAngles, (EnginePost[FM_VecToAngles].at(i), retvec1, retvec2));
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,11 +198,12 @@ void MoveToOrigin(edict_t *ent, const float *pflGoal, float dist, int iMoveType)
|
|||||||
FM_ENG_HANDLE(FM_MoveToOrigin, (Engine[FM_MoveToOrigin].at(i), ENTINDEX(ent), retvec, dist, iMoveType));
|
FM_ENG_HANDLE(FM_MoveToOrigin, (Engine[FM_MoveToOrigin].at(i), ENTINDEX(ent), retvec, dist, iMoveType));
|
||||||
RETURN_META(mswi(lastFmRes));
|
RETURN_META(mswi(lastFmRes));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveToOrigin_post(edict_t *ent, const float *pflGoal, float dist, int iMoveType)
|
void MoveToOrigin_post(edict_t *ent, const float *pflGoal, float dist, int iMoveType)
|
||||||
{
|
{
|
||||||
cell vec[3] = {amx_ftoc(pflGoal[0]), amx_ftoc(pflGoal[1]), amx_ftoc(pflGoal[2])};
|
cell vec[3] = {amx_ftoc(pflGoal[0]), amx_ftoc(pflGoal[1]), amx_ftoc(pflGoal[2])};
|
||||||
cell retvec = MF_PrepareCellArray(vec, 3);
|
cell retvec = MF_PrepareCellArray(vec, 3);
|
||||||
FM_ENG_HANDLE(FM_MoveToOrigin, (Engine[FM_MoveToOrigin].at(i), ENTINDEX(ent), retvec, dist, iMoveType));
|
FM_ENG_HANDLE(FM_MoveToOrigin, (EnginePost[FM_MoveToOrigin].at(i), ENTINDEX(ent), retvec, dist, iMoveType));
|
||||||
RETURN_META(MRES_IGNORED);
|
RETURN_META(MRES_IGNORED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,9 +212,10 @@ edict_t *FindEntityByString(edict_t *pEdictStartSearchAfter, const char *pszFiel
|
|||||||
FM_ENG_HANDLE(FM_FindEntityByString, (Engine[FM_FindEntityByString].at(i), ENTINDEX(pEdictStartSearchAfter), pszField, pszValue));
|
FM_ENG_HANDLE(FM_FindEntityByString, (Engine[FM_FindEntityByString].at(i), ENTINDEX(pEdictStartSearchAfter), pszField, pszValue));
|
||||||
RETURN_META_VALUE(mswi(lastFmRes), INDEXENT2((int)mlCellResult));
|
RETURN_META_VALUE(mswi(lastFmRes), INDEXENT2((int)mlCellResult));
|
||||||
}
|
}
|
||||||
|
|
||||||
edict_t *FindEntityByString_post(edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue)
|
edict_t *FindEntityByString_post(edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue)
|
||||||
{
|
{
|
||||||
FM_ENG_HANDLE(FM_FindEntityByString, (Engine[FM_FindEntityByString].at(i), ENTINDEX(pEdictStartSearchAfter), pszField, pszValue));
|
FM_ENG_HANDLE(FM_FindEntityByString, (EnginePost[FM_FindEntityByString].at(i), ENTINDEX(pEdictStartSearchAfter), pszField, pszValue));
|
||||||
RETURN_META_VALUE(MRES_IGNORED, INDEXENT2((int)mlCellResult));
|
RETURN_META_VALUE(MRES_IGNORED, INDEXENT2((int)mlCellResult));
|
||||||
}
|
}
|
||||||
// pfnGetEntityIllum
|
// pfnGetEntityIllum
|
||||||
|
Loading…
Reference in New Issue
Block a user