- Fixed: The only time bestslideline is ever NULL is before it ever gets set.

That means my P_BounceWall() "fix" from March 6 wasn't really a working fix.


SVN r807 (trunk)
This commit is contained in:
Randy Heit 2008-03-16 01:32:54 +00:00
parent ce811319a7
commit 3c6c60c730
2 changed files with 4 additions and 2 deletions

View file

@ -1,4 +1,6 @@
March 15, 2008 March 15, 2008
- Fixed: The only time bestslideline is ever NULL is before it ever gets set.
That means my P_BounceWall() from March 6 wasn't really correct.
- Fixed: If an object is flagged for euthanization while it's in the gray - Fixed: If an object is flagged for euthanization while it's in the gray
list, it should just be ignored during the propagation stage. list, it should just be ignored during the propagation stage.
- After sleeping on it and realizing what was really going in, I generalized - After sleeping on it and realizing what was really going in, I generalized

View file

@ -2449,7 +2449,7 @@ bool P_BounceWall (AActor *mo)
leady = mo->y-mo->radius; leady = mo->y-mo->radius;
} }
bestslidefrac = FRACUNIT+1; bestslidefrac = FRACUNIT+1;
bestslideline = NULL; bestslideline = BlockingLine;
if (P_PathTraverse(leadx, leady, leadx+mo->momx, leady+mo->momy, if (P_PathTraverse(leadx, leady, leadx+mo->momx, leady+mo->momy,
PT_ADDLINES, PTR_BounceTraverse) && BlockingLine == NULL) PT_ADDLINES, PTR_BounceTraverse) && BlockingLine == NULL)
{ // Could not find a wall, so bounce off the floor/ceiling instead. { // Could not find a wall, so bounce off the floor/ceiling instead.
@ -2466,7 +2466,7 @@ bool P_BounceWall (AActor *mo)
return true; return true;
} }
} }
line = bestslideline ? bestslideline : BlockingLine; line = bestslideline;
if (line->special == Line_Horizon) if (line->special == Line_Horizon)
{ {