3D Floor Mode: added support for UDMF game configurations without support for sectors with multiple tags (i.e. Zandronum)

This commit is contained in:
biwa 2022-11-04 19:49:53 +01:00
parent d30347b81b
commit 13e53ece53
8 changed files with 25 additions and 3 deletions

View file

@ -371,6 +371,9 @@ mapformat_udmf
// Enabled setting brightness for upper, middle, and lower sidedef independently from each other
distinctsidedefpartbrightness = true;
// Enables multiple tags on sectors
sectormultitag = true;
// Default nodebuilder configurations
defaultsavecompiler = "zdbsp_udmf_normal";
defaulttestcompiler = "zdbsp_udmf_fast";

View file

@ -27,6 +27,10 @@ include("Includes\\ZDoom_common.cfg", "common");
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
include("Includes\\Zandronum_linedefs.cfg");
// Zandronum doesn't support sectors with multiple tags. Defaults to false, but is set to true
// by the GZDoom config, so we need to set it to false again
sectormultitag = false;
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!

View file

@ -27,6 +27,10 @@ include("Includes\\ZDoom_common.cfg", "common");
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
include("Includes\\Zandronum_linedefs.cfg");
// Zandronum doesn't support sectors with multiple tags. Defaults to false, but is set to true
// by the GZDoom config, so we need to set it to false again
sectormultitag = false;
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!

View file

@ -27,6 +27,10 @@ include("Includes\\ZDoom_common.cfg", "common");
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
include("Includes\\Zandronum_linedefs.cfg");
// Zandronum doesn't support sectors with multiple tags. Defaults to false, but is set to true
// by the GZDoom config, so we need to set it to false again
sectormultitag = false;
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!

View file

@ -27,6 +27,10 @@ include("Includes\\ZDoom_common.cfg", "common");
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
include("Includes\\Zandronum_linedefs.cfg");
// Zandronum doesn't support sectors with multiple tags. Defaults to false, but is set to true
// by the GZDoom config, so we need to set it to false again
sectormultitag = false;
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!

View file

@ -113,6 +113,7 @@ namespace CodeImp.DoomBuilder.Config
private readonly bool distinctfloorandceilingbrightness;
private readonly bool distinctwallbrightness;
private readonly bool distinctsidedefpartbrightness;
private readonly bool sectormultitag;
// Skills
private readonly List<SkillInfo> skills;
@ -291,6 +292,7 @@ namespace CodeImp.DoomBuilder.Config
public bool DistinctFloorAndCeilingBrightness { get { return distinctfloorandceilingbrightness; } }
public bool DistinctWallBrightness { get { return distinctwallbrightness; } }
public bool DistinctSidedefPartBrightness { get { return distinctsidedefpartbrightness; } }
public bool SectorMultiTag { get { return sectormultitag; } }
// Texture/flat/voxel sources
public IDictionary TextureRanges { get { return textureranges; } }
@ -471,6 +473,7 @@ namespace CodeImp.DoomBuilder.Config
distinctfloorandceilingbrightness = cfg.ReadSetting("distinctfloorandceilingbrightness", false);
distinctwallbrightness = cfg.ReadSetting("distinctwallbrightness", false);
distinctsidedefpartbrightness = cfg.ReadSetting("distinctsidedefpartbrightness", false);
sectormultitag = cfg.ReadSetting("sectormultitag", false);
for (int i = 0; i < Linedef.NUM_ARGS; i++) makedoorargs[i] = cfg.ReadSetting("makedoorarg" + i.ToString(CultureInfo.InvariantCulture), 0);
//mxd. Update map format flags

View file

@ -935,7 +935,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
// Bind the 3D floors to the selected sectors
foreach (List<Sector> sectors in sectorGroups)
{
if (General.Map.UDMF == true)
if (General.Map.UDMF == true && General.Map.Config.SectorMultiTag)
{
foreach (Sector s in sectors)
{
@ -962,7 +962,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
}
}
else
else // No sector multi tagging support
{
int newtag;

View file

@ -295,7 +295,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
sector.Fields["comment"] = new UniValue(UniversalType.String, "[!]DO NOT DELETE! This sector is managed by the 3D floor plugin.");
// With multiple tag support in UDMF only one tag is needed, so bind it right away
if (General.Map.UDMF == true)
if (General.Map.UDMF == true && General.Map.Config.SectorMultiTag)
{
if (isnew || forcenewtag)
{