mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-19 15:01:11 +00:00
Game configurations: added option to enable/disable GZDoom style distinct brightness for walls/ceilings/floors. Fixes #618
This commit is contained in:
parent
d766f27e75
commit
da52f71154
6 changed files with 34 additions and 3 deletions
|
@ -364,6 +364,9 @@ mapformat_udmf
|
|||
// Enables support for plane equation slopes
|
||||
planeequationsupport = true;
|
||||
|
||||
// Enables setting brightness for floor, ceiling, and walls independently from each other
|
||||
distinctsurfacebrightness = true;
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "zdbsp_udmf_normal";
|
||||
defaulttestcompiler = "zdbsp_udmf_fast";
|
||||
|
|
|
@ -110,6 +110,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private readonly bool localsidedeftextureoffsets; //MaxW
|
||||
private readonly bool effect3dfloorsupport;
|
||||
private readonly bool planeequationsupport;
|
||||
private readonly bool distinctsurfacebrightness;
|
||||
|
||||
// Skills
|
||||
private readonly List<SkillInfo> skills;
|
||||
|
@ -282,6 +283,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 DistinctSurfaceBrightness { get { return distinctsurfacebrightness; } }
|
||||
|
||||
// Texture/flat/voxel sources
|
||||
public IDictionary TextureRanges { get { return textureranges; } }
|
||||
|
@ -456,6 +458,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
localsidedeftextureoffsets = (cfg.ReadSetting("localsidedeftextureoffsets", false)); //MaxW
|
||||
effect3dfloorsupport = cfg.ReadSetting("effect3dfloorsupport", false);
|
||||
planeequationsupport = cfg.ReadSetting("planeequationsupport", false);
|
||||
distinctsurfacebrightness = cfg.ReadSetting("distinctsurfacebrightness", 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
|
||||
|
|
|
@ -237,6 +237,18 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
labelBackOffsetMid.Enabled = false;
|
||||
labelBackOffsetBottom.Enabled = false;
|
||||
}
|
||||
|
||||
// Diable brightness controls?
|
||||
if(!General.Map.Config.DistinctSurfaceBrightness)
|
||||
{
|
||||
lightFront.Enabled = false;
|
||||
cbLightAbsoluteFront.Enabled = false;
|
||||
resetfrontlight.Enabled = false;
|
||||
|
||||
lightBack.Enabled = false;
|
||||
cbLightAbsoluteBack.Enabled = false;
|
||||
resetbacklight.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -298,6 +298,18 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
|
||||
ceilingslopecontrol.PivotMode = (SlopePivotMode)General.Settings.ReadSetting("windows." + configname + ".ceilpivotmode", (int)SlopePivotMode.LOCAL);
|
||||
floorslopecontrol.PivotMode = (SlopePivotMode)General.Settings.ReadSetting("windows." + configname + ".floorpivotmode", (int)SlopePivotMode.LOCAL);
|
||||
|
||||
// Diable brightness controls?
|
||||
if(!General.Map.Config.DistinctSurfaceBrightness)
|
||||
{
|
||||
ceilBrightness.Enabled = false;
|
||||
ceilLightAbsolute.Enabled = false;
|
||||
resetceillight.Enabled = false;
|
||||
|
||||
floorBrightness.Enabled = false;
|
||||
floorLightAbsolute.Enabled = false;
|
||||
resetfloorlight.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -1550,7 +1550,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
public virtual void OnChangeTargetBrightness(bool up)
|
||||
{
|
||||
//mxd. Change UDMF wall light?
|
||||
if(General.Map.UDMF)
|
||||
if(General.Map.UDMF && General.Map.Config.DistinctSurfaceBrightness)
|
||||
{
|
||||
int light = Sidedef.Fields.GetValue("light", 0);
|
||||
bool absolute = Sidedef.Fields.GetValue("lightabsolute", false);
|
||||
|
|
|
@ -457,8 +457,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
}
|
||||
else
|
||||
{
|
||||
//if a map is not in UDMF format, or this ceiling is part of 3D-floor...
|
||||
if(!General.Map.UDMF || (level != null && Sector.Sector != level.sector))
|
||||
// Change the sector brightness if the map is not in UDMF format, or this ceiling is part of 3D-floor,
|
||||
// or the game configuration doesn't support distinct surfave brightnesses
|
||||
if(!General.Map.UDMF || (level != null && Sector.Sector != level.sector) || !General.Map.Config.DistinctSurfaceBrightness)
|
||||
{
|
||||
base.OnChangeTargetBrightness(up);
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue