- Fixed: When using BOOM-style sector flags and specials together, the

special was ignored unless it was "secret".


SVN r1462 (trunk)
This commit is contained in:
Randy Heit 2009-03-04 23:07:18 +00:00
parent 88e32146b9
commit e9121b607d
2 changed files with 12 additions and 5 deletions

View File

@ -1,4 +1,6 @@
March 4, 2009
- Fixed: When using BOOM-style sector flags and specials together, the
special was ignored unless it was "secret".
- Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
Changed it to a word.
- Went back to using RDTSC for timing on Win32. Ironically,

View File

@ -343,17 +343,22 @@ int P_TranslateSectorSpecial (int special)
if (newmask)
{
special &= ~newmask;
if (SectorMasks[i].op == 1) newmask <<= SectorMasks[i].shift;
else if (SectorMasks[i].op == -1) newmask >>= SectorMasks[i].shift;
else if (SectorMasks[i].op == 0 && SectorMasks[i].shift ==1) newmask = 0;
if (SectorMasks[i].op == 1)
newmask <<= SectorMasks[i].shift;
else if (SectorMasks[i].op == -1)
newmask >>= SectorMasks[i].shift;
else if (SectorMasks[i].op == 0 && SectorMasks[i].shift == 1)
newmask = 0;
mask |= newmask;
}
}
if ((unsigned)special < SectorTranslations.Size())
{
if (SectorTranslations[special].bitmask_allowed && mask) special = 0;
else special = SectorTranslations[special].newtype;
if (!SectorTranslations[special].bitmask_allowed && mask)
special = 0;
else
special = SectorTranslations[special].newtype;
}
return special | mask;
}