by Graf Zahl » Wed Nov 10, 2010 1:14 am
Oh god, what did the Boom guys do? That type is supposed to move both ceiling and floor but in Boom it only moves the floor if the ceiling is blocked. So in 99.9% of all cases it only moves the ceiling. The definition of this type clearly looks broken. Here's the relevant code from PrBoom:
Code: Select all
case 166:
// Raise ceiling, Lower floor
// 166 S1 EV_DoCeiling(raiseToHighest), EV_DoFloor(lowerFloortoLowest)
if (EV_DoCeiling(line, raiseToHighest) ||
EV_DoFloor(line, lowerFloorToLowest))
P_ChangeSwitchTexture(line,0);
break;
This looks ok on first sight but if you think about it, the floor action only starts when the ceiling action fails...
ZDoom always moves both.
Oh god, what did the Boom guys do? That type is supposed to move both ceiling and floor but in Boom it only moves the floor if the ceiling is blocked. So in 99.9% of all cases it only moves the ceiling. The definition of this type clearly looks broken. Here's the relevant code from PrBoom:
[code]
case 166:
// Raise ceiling, Lower floor
// 166 S1 EV_DoCeiling(raiseToHighest), EV_DoFloor(lowerFloortoLowest)
if (EV_DoCeiling(line, raiseToHighest) ||
EV_DoFloor(line, lowerFloorToLowest))
P_ChangeSwitchTexture(line,0);
break;
[/code]
This looks ok on first sight but if you think about it, the floor action only starts when the ceiling action fails...
ZDoom always moves both.