Game Configurations: added support for enabling or disabling support for vertex heights in UDMF game configurations

This commit is contained in:
biwa 2023-10-21 14:45:42 +02:00
parent ca6769b715
commit 807df65279
4 changed files with 17 additions and 4 deletions

View file

@ -363,6 +363,9 @@ mapformat_udmf
// Enables support for plane equation slopes
planeequationsupport = true;
// Enables support for vertex heights
vertexheightsupport = true;
// Enables setting brightness for floor, ceiling, and walls independently from each other
distinctfloorandceilingbrightness = true;

View file

@ -110,6 +110,7 @@ namespace CodeImp.DoomBuilder.Config
private readonly bool localsidedeftextureoffsets; //MaxW
private readonly bool effect3dfloorsupport;
private readonly bool planeequationsupport;
private readonly bool vertexheightsupport;
private readonly bool distinctfloorandceilingbrightness;
private readonly bool distinctwallbrightness;
private readonly bool distinctsidedefpartbrightness;
@ -290,6 +291,7 @@ namespace CodeImp.DoomBuilder.Config
public bool UseLocalSidedefTextureOffsets { get { return localsidedeftextureoffsets; } } //MaxW
public bool Effect3DFloorSupport { get { return effect3dfloorsupport; } }
public bool PlaneEquationSupport { get { return planeequationsupport; } }
public bool VertexHeightSupport { get { return vertexheightsupport; } }
public bool DistinctFloorAndCeilingBrightness { get { return distinctfloorandceilingbrightness; } }
public bool DistinctWallBrightness { get { return distinctwallbrightness; } }
public bool DistinctSidedefPartBrightness { get { return distinctsidedefpartbrightness; } }
@ -472,6 +474,7 @@ namespace CodeImp.DoomBuilder.Config
localsidedeftextureoffsets = (cfg.ReadSetting("localsidedeftextureoffsets", false)); //MaxW
effect3dfloorsupport = cfg.ReadSetting("effect3dfloorsupport", false);
planeequationsupport = cfg.ReadSetting("planeequationsupport", false);
vertexheightsupport = cfg.ReadSetting("vertexheightsupport", false);
sidedeftextureskewing = cfg.ReadSetting("sidedeftextureskewing", false);
distinctfloorandceilingbrightness = cfg.ReadSetting("distinctfloorandceilingbrightness", false);
distinctwallbrightness = cfg.ReadSetting("distinctwallbrightness", false);

View file

@ -94,6 +94,9 @@ namespace CodeImp.DoomBuilder.Windows
tabs.TabPages.Remove(tabcustom);
panelHeightControls.Visible = false;
}
if (!General.Map.Config.VertexHeightSupport)
panelHeightControls.Enabled = false;
// Decimals allowed?
if(General.Map.FormatInterface.VertexDecimals > 0)

View file

@ -401,7 +401,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
}
//mxd
if(General.Map.UDMF && General.Settings.GZShowVisualVertices)
if(General.Map.UDMF && General.Map.Config.VertexHeightSupport && General.Settings.GZShowVisualVertices)
{
foreach(KeyValuePair<Vertex, VisualVertexPair> pair in vertices)
{
@ -652,7 +652,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
}
//mxd
if(General.Map.UDMF)
if(General.Map.UDMF && General.Map.Config.VertexHeightSupport)
{
foreach(KeyValuePair<Vertex, VisualVertexPair> pair in vertices)
pair.Value.Update();
@ -1230,7 +1230,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
// ========== Thing vertex slope, vertices with UDMF vertex offsets ==========
if (s.Sidedefs.Count == 3)
{
if (General.Map.UDMF) GetSectorData(s).AddEffectVertexOffset(); //mxd
// Apply vertex heights
if (General.Map.UDMF && General.Map.Config.VertexHeightSupport)
GetSectorData(s).AddEffectVertexOffset(); //mxd
// Check for vertex height things
List<Thing> slopeceilingthings = new List<Thing>(3);
List<Thing> slopefloorthings = new List<Thing>(3);
@ -1691,7 +1695,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
}
//mxd
if(General.Map.UDMF && General.Settings.GZShowVisualVertices && vertices.Count > 0)
if(General.Map.UDMF && General.Map.Config.VertexHeightSupport && General.Settings.GZShowVisualVertices && vertices.Count > 0)
{
List<VisualVertex> verts = new List<VisualVertex>();