- added an internal compatibility option to disable setting the line ID for the Plane_Align special.

There have been reports for some Skulltag maps a few years back and I just ran across an old beta version of a map that got completely broken by this.
This commit is contained in:
Christoph Oelckers 2016-08-09 10:07:06 +02:00
parent d62d345a7b
commit 19b65195ea
3 changed files with 3 additions and 1 deletions

View file

@ -111,6 +111,7 @@ static FCompatOption Options[] =
{ "linkfrozenprops", BCOMPATF_LINKFROZENPROPS, SLOT_BCOMPAT },
{ "disablepushwindowcheck", BCOMPATF_NOWINDOWCHECK, SLOT_BCOMPAT },
{ "floatbob", BCOMPATF_FLOATBOB, SLOT_BCOMPAT },
{ "noslopeid", BCOMPATF_NOSLOPEID, SLOT_BCOMPAT },
// list copied from g_mapinfo.cpp
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },

View file

@ -358,6 +358,7 @@ enum
BCOMPATF_LINKFROZENPROPS = 1 << 6, // Clearing PROP_TOTALLYFROZEN or PROP_FROZEN also clears the other
BCOMPATF_NOWINDOWCHECK = 1 << 7, // Disable the window check in CheckForPushSpecial()
BCOMPATF_FLOATBOB = 1 << 8, // Use Hexen's original method of preventing floatbobbing items from falling down
BCOMPATF_NOSLOPEID = 1 << 9, // disable line IDs on slopes.
};
// phares 3/20/98:

View file

@ -1959,7 +1959,7 @@ void P_SetLineID (int i, line_t *ld)
break;
case Plane_Align:
setid = ld->args[2];
if (!(ib_compatflags & BCOMPATF_NOSLOPEID)) setid = ld->args[2];
break;
case Static_Init: