Fixed a bug where SP forwards were not unregistered
Fixed a bug where pfn_touch might not be called correctly
This commit is contained in:
parent
7d3d04b13d
commit
c0d73ce572
|
@ -236,8 +236,11 @@ void ServerActivate(edict_t *pEdictList, int edictCount, int clientMax)
|
|||
for(int f = 1; f <= gpGlobals->maxClients;f++)
|
||||
g_player_edicts[f]=pEdictList + f;
|
||||
Msg.clear();
|
||||
register int i = 0;
|
||||
register int i = 0, j = 0;
|
||||
for (i=0; i<256; i++) {
|
||||
for (j=0; j<256; j++)
|
||||
if (msgHooks[i].at(j) != -1)
|
||||
MF_UnregisterSPForward(msgHooks[i].at(j));
|
||||
msgHooks[i].clear();
|
||||
msgBlocks[i] = 0;
|
||||
}
|
||||
|
|
|
@ -120,6 +120,11 @@ struct GlobalInfo {
|
|||
class Impulse
|
||||
{
|
||||
public:
|
||||
~Impulse()
|
||||
{
|
||||
if (Forward != -1)
|
||||
MF_UnregisterSPForward(Forward);
|
||||
}
|
||||
int Forward;
|
||||
int Check;
|
||||
};
|
||||
|
@ -140,6 +145,8 @@ public:
|
|||
delete [] Touched;
|
||||
Touched = 0;
|
||||
}
|
||||
if (Forward != -1)
|
||||
MF_UnregisterSPForward(Forward);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -267,7 +267,8 @@ void pfnTouch(edict_t *pToucher, edict_t *pTouched)
|
|||
retVal = MF_ExecuteForward(pfnTouchForward, ENTINDEX(pToucher), ENTINDEX(pTouched));
|
||||
if (retVal)
|
||||
RETURN_META(MRES_SUPERCEDE);
|
||||
} else if (VexdTouchForward != -1) {
|
||||
}
|
||||
if (VexdTouchForward != -1) {
|
||||
retVal = MF_ExecuteForward(VexdTouchForward, ENTINDEX(pToucher), ENTINDEX(pTouched));
|
||||
if (retVal)
|
||||
RETURN_META(MRES_SUPERCEDE);
|
||||
|
|
Loading…
Reference in New Issue
Block a user