mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-10 14:51:46 +00:00
- added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom.
This commit is contained in:
parent
3beed216dd
commit
d2a51a57e1
6 changed files with 17 additions and 8 deletions
|
@ -258,5 +258,6 @@ DEFINE_SPECIAL(Ceiling_LowerByTexture, 269, 2, 4, 4)
|
||||||
DEFINE_SPECIAL(Stairs_BuildDownDoom, 270, 5, 5, 5)
|
DEFINE_SPECIAL(Stairs_BuildDownDoom, 270, 5, 5, 5)
|
||||||
DEFINE_SPECIAL(Stairs_BuildUpDoomSync, 271, 4, 4, 4)
|
DEFINE_SPECIAL(Stairs_BuildUpDoomSync, 271, 4, 4, 4)
|
||||||
DEFINE_SPECIAL(Stairs_BuildDownDoomSync, 272, 4, 4, 4)
|
DEFINE_SPECIAL(Stairs_BuildDownDoomSync, 272, 4, 4, 4)
|
||||||
|
DEFINE_SPECIAL(Stairs_BuildUpDoomCrush, 273, 5, 5, 5)
|
||||||
|
|
||||||
#undef DEFINE_SPECIAL
|
#undef DEFINE_SPECIAL
|
||||||
|
|
|
@ -625,7 +625,7 @@ bool EV_BuildStairs (int tag, DFloor::EStair type, line_t *line,
|
||||||
floor->m_PauseTime = 0;
|
floor->m_PauseTime = 0;
|
||||||
floor->m_StepTime = floor->m_PerStepTime = persteptime;
|
floor->m_StepTime = floor->m_PerStepTime = persteptime;
|
||||||
|
|
||||||
floor->m_Crush = (!(usespecials & DFloor::stairUseSpecials) && speed == 4) ? 10 : -1; //jff 2/27/98 fix uninitialized crush field
|
floor->m_Crush = (usespecials & DFloor::stairCrush) ? 10 : -1; //jff 2/27/98 fix uninitialized crush field
|
||||||
floor->m_Hexencrush = false;
|
floor->m_Hexencrush = false;
|
||||||
|
|
||||||
floor->m_Speed = speed;
|
floor->m_Speed = speed;
|
||||||
|
|
|
@ -591,6 +591,13 @@ FUNC(LS_Stairs_BuildUpDoom)
|
||||||
arg2, SPEED(arg1), TICS(arg3), arg4, 0, 0);
|
arg2, SPEED(arg1), TICS(arg3), arg4, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FUNC(LS_Stairs_BuildUpDoomCrush)
|
||||||
|
// Stairs_BuildUpDoom (tag, speed, height, delay, reset)
|
||||||
|
{
|
||||||
|
return EV_BuildStairs(arg0, DFloor::buildUp, ln,
|
||||||
|
arg2, SPEED(arg1), TICS(arg3), arg4, 0, DFloor::stairCrush);
|
||||||
|
}
|
||||||
|
|
||||||
FUNC(LS_Stairs_BuildDownDoom)
|
FUNC(LS_Stairs_BuildDownDoom)
|
||||||
// Stair_BuildDownDoom (tag, speed, height, delay, reset)
|
// Stair_BuildDownDoom (tag, speed, height, delay, reset)
|
||||||
{
|
{
|
||||||
|
|
|
@ -503,7 +503,8 @@ public:
|
||||||
enum EStairType
|
enum EStairType
|
||||||
{
|
{
|
||||||
stairUseSpecials = 1,
|
stairUseSpecials = 1,
|
||||||
stairSync = 2
|
stairSync = 2,
|
||||||
|
stairCrush = 4,
|
||||||
};
|
};
|
||||||
|
|
||||||
DFloor (sector_t *sec);
|
DFloor (sector_t *sec);
|
||||||
|
|
|
@ -99,7 +99,7 @@ include "xlat/defines.i"
|
||||||
97 = WALK|REP|MONST, Teleport (0, tag)
|
97 = WALK|REP|MONST, Teleport (0, tag)
|
||||||
98 = WALK|REP, Floor_LowerToHighest (tag, F_FAST, 136)
|
98 = WALK|REP, Floor_LowerToHighest (tag, F_FAST, 136)
|
||||||
99 = USE|REP, Door_LockedRaise (tag, D_FAST, 0, BCard | CardIsSkull)
|
99 = USE|REP, Door_LockedRaise (tag, D_FAST, 0, BCard | CardIsSkull)
|
||||||
100 = WALK, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
100 = WALK, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
101 = USE, Floor_RaiseToLowestCeiling (tag, F_SLOW)
|
101 = USE, Floor_RaiseToLowestCeiling (tag, F_SLOW)
|
||||||
102 = USE, Floor_LowerToHighest (tag, F_SLOW, 128)
|
102 = USE, Floor_LowerToHighest (tag, F_SLOW, 128)
|
||||||
103 = USE, Door_Open (tag, D_SLOW)
|
103 = USE, Door_Open (tag, D_SLOW)
|
||||||
|
@ -126,7 +126,7 @@ include "xlat/defines.i"
|
||||||
124 = WALK, Exit_Secret (0)
|
124 = WALK, Exit_Secret (0)
|
||||||
125 = MONWALK, Teleport (0, tag)
|
125 = MONWALK, Teleport (0, tag)
|
||||||
126 = MONWALK|REP, Teleport (0, tag)
|
126 = MONWALK|REP, Teleport (0, tag)
|
||||||
127 = USE, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
127 = USE, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
128 = WALK|REP, Floor_RaiseToNearest (tag, F_SLOW)
|
128 = WALK|REP, Floor_RaiseToNearest (tag, F_SLOW)
|
||||||
129 = WALK|REP, Floor_RaiseToNearest (tag, F_FAST)
|
129 = WALK|REP, Floor_RaiseToNearest (tag, F_FAST)
|
||||||
130 = WALK, Floor_RaiseToNearest (tag, F_FAST)
|
130 = WALK, Floor_RaiseToNearest (tag, F_FAST)
|
||||||
|
@ -259,9 +259,9 @@ include "xlat/defines.i"
|
||||||
254 = 0, Scroll_Texture_Model (lineid, 0)
|
254 = 0, Scroll_Texture_Model (lineid, 0)
|
||||||
255 = 0, Scroll_Texture_Offsets ()
|
255 = 0, Scroll_Texture_Offsets ()
|
||||||
256 = WALK|REP, Stairs_BuildUpDoom (tag, ST_SLOW, 8, 0, 0)
|
256 = WALK|REP, Stairs_BuildUpDoom (tag, ST_SLOW, 8, 0, 0)
|
||||||
257 = WALK|REP, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
257 = WALK|REP, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
258 = USE|REP, Stairs_BuildUpDoom (tag, ST_SLOW, 8, 0, 0)
|
258 = USE|REP, Stairs_BuildUpDoom (tag, ST_SLOW, 8, 0, 0)
|
||||||
259 = USE|REP, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
259 = USE|REP, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
260 = 0, TranslucentLine (lineid, 168) // Changed to better reflect the BOOM default
|
260 = 0, TranslucentLine (lineid, 168) // Changed to better reflect the BOOM default
|
||||||
261 = 0, Transfer_CeilingLight (tag)
|
261 = 0, Transfer_CeilingLight (tag)
|
||||||
262 = WALK|MONST, Teleport_Line (tag, tag, 1)
|
262 = WALK|MONST, Teleport_Line (tag, tag, 1)
|
||||||
|
|
|
@ -120,7 +120,7 @@ RetailOnly = 121
|
||||||
104 = WALK, Light_MinNeighbor (tag)
|
104 = WALK, Light_MinNeighbor (tag)
|
||||||
108 = WALK, Door_Raise (tag, D_FAST, VDOORWAIT)
|
108 = WALK, Door_Raise (tag, D_FAST, VDOORWAIT)
|
||||||
109 = WALK, Door_Open (tag, D_FAST)
|
109 = WALK, Door_Open (tag, D_FAST)
|
||||||
100 = WALK, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
100 = WALK, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
197 = WALK|REP, ACS_ExecuteAlways (0, 0, 197, tag)
|
197 = WALK|REP, ACS_ExecuteAlways (0, 0, 197, tag)
|
||||||
110 = WALK, Door_Close (tag, D_FAST)
|
110 = WALK, Door_Close (tag, D_FAST)
|
||||||
119 = WALK, Floor_RaiseToNearest (tag, F_SLOW)
|
119 = WALK, Floor_RaiseToNearest (tag, F_SLOW)
|
||||||
|
@ -255,7 +255,7 @@ RetailOnly = 121
|
||||||
112 = USE, Door_Open (tag, D_FAST)
|
112 = USE, Door_Open (tag, D_FAST)
|
||||||
113 = USE, Door_Close (tag, D_FAST)
|
113 = USE, Door_Close (tag, D_FAST)
|
||||||
122 = USE, Plat_DownWaitUpStayLip (tag, P_TURBO, PLATWAIT, 0)
|
122 = USE, Plat_DownWaitUpStayLip (tag, P_TURBO, PLATWAIT, 0)
|
||||||
127 = USE, Stairs_BuildUpDoom (tag, ST_TURBO, 16, 0, 0)
|
127 = USE, Stairs_BuildUpDoomCrush (tag, ST_TURBO, 16, 0, 0)
|
||||||
131 = USE, Floor_RaiseToNearest (tag, F_FAST)
|
131 = USE, Floor_RaiseToNearest (tag, F_FAST)
|
||||||
133 = USE, Door_LockedRaise (tag, D_FAST, 0, 4)
|
133 = USE, Door_LockedRaise (tag, D_FAST, 0, 4)
|
||||||
135 = USE, Door_LockedRaise (tag, D_FAST, 0, 11)
|
135 = USE, Door_LockedRaise (tag, D_FAST, 0, 11)
|
||||||
|
|
Loading…
Reference in a new issue