- 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 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. - Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
Changed it to a word. Changed it to a word.
- Went back to using RDTSC for timing on Win32. Ironically, - Went back to using RDTSC for timing on Win32. Ironically,

View file

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