- Fixed: In multiplayer games, when trying to change targets, A_Chase forgot

to check whether the new target was the same as the old one and treated 
  this case as a real target change.


SVN r234 (trunk)
This commit is contained in:
Christoph Oelckers 2006-07-01 00:15:06 +00:00
parent 9fdcb553aa
commit 207c84e3dd
2 changed files with 7 additions and 1 deletions

View file

@ -1,3 +1,8 @@
July 1, 2006 (Changes by Graf Zahl)
- Fixed: In multiplayer games, when trying to change targets, A_Chase forgot
to check whether the new target was the same as the old one and treated
this case as a real target change.
June 29, 2006 June 29, 2006
- Added some hackery at the start of MouseRead_Win32() that prevents it from - Added some hackery at the start of MouseRead_Win32() that prevents it from
yanking the mouse around if they keys haven't been read yet to combat the yanking the mouse around if they keys haven't been read yet to combat the

View file

@ -2009,12 +2009,13 @@ void A_DoChase (AActor *actor, bool fastchase, FState *meleestate, FState *missi
actor->flags3 &= ~MF3_NOSIGHTCHECK; actor->flags3 &= ~MF3_NOSIGHTCHECK;
lookForBetter = true; lookForBetter = true;
} }
AActor * oldtarget = actor->target;
gotNew = P_LookForPlayers (actor, true); gotNew = P_LookForPlayers (actor, true);
if (lookForBetter) if (lookForBetter)
{ {
actor->flags3 |= MF3_NOSIGHTCHECK; actor->flags3 |= MF3_NOSIGHTCHECK;
} }
if (gotNew) if (gotNew && actor->target != oldtarget)
{ {
actor->flags &= ~MF_INCHASE; actor->flags &= ~MF_INCHASE;
return; // got a new target return; // got a new target