mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 14:01:45 +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;
|
||||
|
||||
case DFloor::floorRaiseAndCrushDoom:
|
||||
height = 8;
|
||||
case DFloor::floorRaiseToLowestCeiling:
|
||||
floor->m_Direction = 1;
|
||||
newheight = sec->FindLowestCeilingSurrounding(&spot);
|
||||
if (floortype == DFloor::floorRaiseAndCrushDoom)
|
||||
newheight -= 8;
|
||||
newheight = sec->FindLowestCeilingSurrounding(&spot) - height;
|
||||
ceilingheight = sec->FindLowestCeilingPoint(&spot2);
|
||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
||||
if (sec->floorplane.ZatPointDist(spot2, floor->m_FloorDestDist) > ceilingheight)
|
||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot2,
|
||||
floortype == DFloor::floorRaiseAndCrushDoom ? ceilingheight - 8 : ceilingheight);
|
||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot2, floortype == ceilingheight - height);
|
||||
break;
|
||||
|
||||
case DFloor::floorRaiseToHighest:
|
||||
|
@ -393,7 +391,7 @@ bool P_CreateFloor(sector_t *sec, DFloor::EFloor floortype, line_t *line,
|
|||
|
||||
case DFloor::floorLowerToLowestCeiling:
|
||||
floor->m_Direction = -1;
|
||||
newheight = sec->FindLowestCeilingSurrounding(&spot) - height;
|
||||
newheight = sec->FindLowestCeilingSurrounding(&spot);
|
||||
floor->m_FloorDestDist = sec->floorplane.PointToDist(spot, newheight);
|
||||
break;
|
||||
|
||||
|
|
|
@ -260,7 +260,13 @@ FUNC(LS_Door_Raise)
|
|||
FUNC(LS_Door_LockedRaise)
|
||||
// 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,
|
||||
#endif
|
||||
arg0, SPEED(arg1), TICS(arg2), arg3, arg4);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue