- made Teleport_NoFog compatible with Hexen and Eternity.

ZDoom defaulted to Boom's (buggy) angle adjustment.
Changed it so that
 * Mode 0 is like Hexen, performing no adjustment at all. This still should match all known maps using this special.
 * Mode 1 remains unchanged.
 * Mode 2 replicates Boom's broken angle adjustment and is used in the xlat file.
 * Mode 3 implements the correct angle adjustment that Boom originally intended.

 (Note: Should some map require something different it should be handled with compatibility.txt instead of reverting this back to the broken way it was before.)
This commit is contained in:
Christoph Oelckers 2016-04-23 21:32:40 +02:00
commit f420ccd287
4 changed files with 35 additions and 14 deletions

View file

@ -1053,10 +1053,25 @@ FUNC(LS_Teleport_NoFog)
// Teleport_NoFog (tid, useang, sectortag, keepheight)
{
int flags = 0;
if (!arg1)
switch (arg1)
{
case 0:
flags |= TELF_KEEPORIENTATION;
break;
default:
case 1:
break;
case 2:
flags |= TELF_KEEPORIENTATION | TELF_ROTATEBOOM; // adjust to exit thing like Boom (i.e. with incorrect reversed angle)
break;
case 3:
flags |= TELF_KEEPORIENTATION | TELF_ROTATEBOOMINVERSE; // adjust to exit thing correctly
break;
}
if (arg3)
{
flags |= TELF_KEEPHEIGHT;