From 19b65195eaf1216750c7252012b99c20d86c8de0 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 9 Aug 2016 10:07:06 +0200 Subject: [PATCH] - 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. --- src/compatibility.cpp | 1 + src/doomdef.h | 1 + src/p_setup.cpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compatibility.cpp b/src/compatibility.cpp index 870d2ede6d..ca5d8293c3 100644 --- a/src/compatibility.cpp +++ b/src/compatibility.cpp @@ -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 }, diff --git a/src/doomdef.h b/src/doomdef.h index 9ebe45cf7f..a36a7a1c2d 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -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: diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 8a69c2de20..92636fb0cd 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -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: