- Fixed: If an object is flagged for euthanization while it's in the gray
list, it should just be ignored during the propagation stage. - After sleeping on it and realizing what was really going in, I generalized the inventory fix from the 13th: The actor is flagged by Destroy(), then it is later inserted into the thinker list by DThinker::SerializeAll(). So rather than unlinking the skipped player from their inventory, just make sure any flagged thinkers aren't inserted into a list. - Fixed: FCanvasTextureInfo::Viewpoint needed a read barrier, and the whole list should serve as a root. - Reimplemented SPC playback as a custom codec for FMOD. - Removed spc_frequency, because snes_spc only supports the SPC's native frequency of 32000 Hz. SVN r806 (trunk)
This commit is contained in:
parent
b8304868ec
commit
ce811319a7
12 changed files with 367 additions and 168 deletions
|
|
@ -2372,6 +2372,7 @@ bool PTR_BounceTraverse (intercept_t *in)
|
|||
I_Error ("PTR_BounceTraverse: not a line?");
|
||||
|
||||
li = in->d.line;
|
||||
assert(((size_t)li - (size_t)lines) % sizeof(line_t) == 0);
|
||||
if (li->flags & ML_BLOCKEVERYTHING)
|
||||
{
|
||||
goto bounceblocking;
|
||||
|
|
@ -2448,6 +2449,7 @@ bool P_BounceWall (AActor *mo)
|
|||
leady = mo->y-mo->radius;
|
||||
}
|
||||
bestslidefrac = FRACUNIT+1;
|
||||
bestslideline = NULL;
|
||||
if (P_PathTraverse(leadx, leady, leadx+mo->momx, leady+mo->momy,
|
||||
PT_ADDLINES, PTR_BounceTraverse) && BlockingLine == NULL)
|
||||
{ // Could not find a wall, so bounce off the floor/ceiling instead.
|
||||
|
|
@ -2463,12 +2465,6 @@ bool P_BounceWall (AActor *mo)
|
|||
mo->FloorBounceMissile (mo->Sector->ceilingplane);
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
else
|
||||
{
|
||||
return (mo->flags2 & MF2_BOUNCE2) != 0;
|
||||
}
|
||||
*/
|
||||
}
|
||||
line = bestslideline ? bestslideline : BlockingLine;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue