mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-22 12:11:25 +00:00
- 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:
parent
88e32146b9
commit
e9121b607d
2 changed files with 12 additions and 5 deletions
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue