mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-27 14:32:08 +00:00
- fixed: DFloor set the 'gap' for one wrong movement type.
This commit is contained in:
parent
1d434add50
commit
9229146eeb
2 changed files with 10 additions and 6 deletions
|
@ -349,16 +349,14 @@ bool P_CreateFloor(sector_t *sec, DFloor::EFloor floortype, line_t *line,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DFloor::floorRaiseAndCrushDoom:
|
case DFloor::floorRaiseAndCrushDoom:
|
||||||
|
height = 8;
|
||||||
case DFloor::floorRaiseToLowestCeiling:
|
case DFloor::floorRaiseToLowestCeiling:
|
||||||
floor->m_Direction = 1;
|
floor->m_Direction = 1;
|
||||||
newheight = sec->FindLowestCeilingSurrounding(&spot);
|
newheight = sec->FindLowestCeilingSurrounding(&spot) - height;
|
||||||
if (floortype == DFloor::floorRaiseAndCrushDoom)
|
|
||||||
newheight -= 8;
|
|
||||||
ceilingheight = sec->FindLowestCeilingPoint(&spot2);
|
ceilingheight = sec->FindLowestCeilingPoint(&spot2);
|
||||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
||||||
if (sec->floorplane.ZatPointDist(spot2, floor->m_FloorDestDist) > ceilingheight)
|
if (sec->floorplane.ZatPointDist(spot2, floor->m_FloorDestDist) > ceilingheight)
|
||||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot2,
|
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot2, floortype == ceilingheight - height);
|
||||||
floortype == DFloor::floorRaiseAndCrushDoom ? ceilingheight - 8 : ceilingheight);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DFloor::floorRaiseToHighest:
|
case DFloor::floorRaiseToHighest:
|
||||||
|
@ -393,7 +391,7 @@ bool P_CreateFloor(sector_t *sec, DFloor::EFloor floortype, line_t *line,
|
||||||
|
|
||||||
case DFloor::floorLowerToLowestCeiling:
|
case DFloor::floorLowerToLowestCeiling:
|
||||||
floor->m_Direction = -1;
|
floor->m_Direction = -1;
|
||||||
newheight = sec->FindLowestCeilingSurrounding(&spot) - height;
|
newheight = sec->FindLowestCeilingSurrounding(&spot);
|
||||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,13 @@ FUNC(LS_Door_Raise)
|
||||||
FUNC(LS_Door_LockedRaise)
|
FUNC(LS_Door_LockedRaise)
|
||||||
// Door_LockedRaise (tag, speed, delay, lock, lighttag)
|
// Door_LockedRaise (tag, speed, delay, lock, lighttag)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
// In Hexen this originally created a thinker running for nearly 4 years.
|
||||||
|
// Let's not do this unless it becomes necessary because this can hang tagwait.
|
||||||
|
return EV_DoDoor (arg2 || (level.flags2 & LEVEL2_HEXENHACK) ? DDoor::doorRaise : DDoor::doorOpen, ln, it,
|
||||||
|
#else
|
||||||
return EV_DoDoor (arg2 ? DDoor::doorRaise : DDoor::doorOpen, ln, it,
|
return EV_DoDoor (arg2 ? DDoor::doorRaise : DDoor::doorOpen, ln, it,
|
||||||
|
#endif
|
||||||
arg0, SPEED(arg1), TICS(arg2), arg3, arg4);
|
arg0, SPEED(arg1), TICS(arg2), arg3, arg4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue