2016-01-11 13:00:52 +00:00
|
|
|
|
#region ================== Namespaces
|
|
|
|
|
|
2017-08-27 05:09:28 +00:00
|
|
|
|
using CodeImp.DoomBuilder.Data;
|
2016-01-11 13:00:52 +00:00
|
|
|
|
using SlimDX;
|
|
|
|
|
|
|
|
|
|
#endregion
|
2012-06-01 10:17:47 +00:00
|
|
|
|
|
2014-12-03 23:15:26 +00:00
|
|
|
|
namespace CodeImp.DoomBuilder.GZBuilder.Data
|
|
|
|
|
{
|
2016-01-11 13:00:52 +00:00
|
|
|
|
public sealed class MapInfo
|
2014-12-03 23:15:26 +00:00
|
|
|
|
{
|
2016-06-19 21:17:46 +00:00
|
|
|
|
#region ================== Enums
|
|
|
|
|
|
|
|
|
|
public enum GZDoomLightMode
|
|
|
|
|
{
|
|
|
|
|
STANDARD,
|
|
|
|
|
BRIGHT,
|
|
|
|
|
DOOM,
|
|
|
|
|
DARK,
|
|
|
|
|
LEGACY,
|
|
|
|
|
SOFTWARE,
|
|
|
|
|
UNDEFINED
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2016-01-11 13:00:52 +00:00
|
|
|
|
#region ================== Variables
|
|
|
|
|
|
|
|
|
|
private bool isdefined;
|
|
|
|
|
|
|
|
|
|
private string title;
|
|
|
|
|
private string sky1;
|
|
|
|
|
private float sky1scrollspeed;
|
|
|
|
|
private string sky2;
|
|
|
|
|
private float sky2scrollspeed;
|
|
|
|
|
private bool doublesky;
|
|
|
|
|
private bool hasfadecolor;
|
|
|
|
|
private Color4 fadecolor;
|
|
|
|
|
private bool hasoutsidefogcolor;
|
|
|
|
|
private Color4 outsidefogcolor;
|
|
|
|
|
private int fogdensity;
|
|
|
|
|
private int outsidefogdensity;
|
|
|
|
|
|
|
|
|
|
private bool evenlighting;
|
|
|
|
|
private bool smoothlighting;
|
2016-06-19 21:17:46 +00:00
|
|
|
|
private GZDoomLightMode lightmode;
|
2016-01-11 13:00:52 +00:00
|
|
|
|
private int vertwallshade;
|
|
|
|
|
private int horizwallshade;
|
|
|
|
|
|
2017-08-27 05:09:28 +00:00
|
|
|
|
// [ZZ]
|
|
|
|
|
private float pixelratio;
|
|
|
|
|
|
2016-01-11 13:00:52 +00:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Properties
|
|
|
|
|
|
Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value.
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
|
|
|
|
public bool IsDefined { get { return isdefined; } internal set { isdefined = value; } }
|
2016-01-11 13:00:52 +00:00
|
|
|
|
|
|
|
|
|
public string Title { get { return title; } internal set { title = value; isdefined = true; } }
|
|
|
|
|
public string Sky1 { get { return sky1; } internal set { sky1 = value; isdefined = true; } }
|
|
|
|
|
public float Sky1ScrollSpeed { get { return sky1scrollspeed; } internal set { sky1scrollspeed = value; isdefined = true; } }
|
|
|
|
|
public string Sky2 { get { return sky2; } internal set { sky2 = value; isdefined = true; } }
|
|
|
|
|
public float Sky2ScrollSpeed { get { return sky2scrollspeed; } internal set { sky2scrollspeed = value; isdefined = true; } }
|
|
|
|
|
public bool DoubleSky { get { return doublesky; } internal set { doublesky = value; isdefined = true; } }
|
|
|
|
|
public bool HasFadeColor { get { return hasfadecolor; } internal set { hasfadecolor = value; isdefined = true; } }
|
|
|
|
|
public Color4 FadeColor { get { return fadecolor; } internal set { fadecolor = value; isdefined = true; } }
|
|
|
|
|
public bool HasOutsideFogColor { get { return hasoutsidefogcolor; } internal set { hasoutsidefogcolor = value; isdefined = true; } }
|
|
|
|
|
public Color4 OutsideFogColor { get { return outsidefogcolor; } internal set { outsidefogcolor = value; isdefined = true; } }
|
|
|
|
|
public int FogDensity { get { return fogdensity; } internal set { fogdensity = value; isdefined = true; } }
|
|
|
|
|
public int OutsideFogDensity { get { return outsidefogdensity; } internal set { outsidefogdensity = value; isdefined = true; } }
|
|
|
|
|
|
|
|
|
|
public bool EvenLighting { get { return evenlighting; } internal set { evenlighting = value; isdefined = true; } }
|
|
|
|
|
public bool SmoothLighting { get { return smoothlighting; } internal set { smoothlighting = value; isdefined = true; } }
|
2016-06-19 21:17:46 +00:00
|
|
|
|
public GZDoomLightMode LightMode { get { return lightmode; } internal set { lightmode = value; isdefined = true; } }
|
2016-01-11 13:00:52 +00:00
|
|
|
|
public int VertWallShade { get { return vertwallshade; } internal set { vertwallshade = value; isdefined = true; } }
|
|
|
|
|
public int HorizWallShade { get { return horizwallshade; } internal set { horizwallshade = value; isdefined = true; } }
|
|
|
|
|
|
2017-08-27 05:09:28 +00:00
|
|
|
|
// [ZZ]
|
|
|
|
|
public float PixelRatio { get { return pixelratio; } internal set { pixelratio = value; isdefined = true; } }
|
|
|
|
|
|
2016-01-11 13:00:52 +00:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Constructor
|
2012-06-01 10:17:47 +00:00
|
|
|
|
|
2014-12-03 23:15:26 +00:00
|
|
|
|
public MapInfo()
|
|
|
|
|
{
|
2016-01-11 13:00:52 +00:00
|
|
|
|
vertwallshade = 16;
|
|
|
|
|
horizwallshade = -16;
|
Fixed, Visual mode: in some cases ceiling glow effect was interfering with Transfer Brightness effect resulting in incorrectly lit sidedef geometry.
Fixed, Visual mode: UDMF sidedef brightness should be ignored when a wall section is affected by Transfer Brightness effect.
Fixed, Visual mode: any custom fog should be rendered regardless of sector brightness.
Fixed, Visual mode: "fogdensity" and "outsidefogdensity" MAPINFO values were processed incorrectly.
Fixed, Visual mode: in some cases Things were rendered twice during a render pass.
Fixed, Visual mode: floor glow effect should affect thing brightness only when applied to floor of the sector thing is in.
Fixed, TEXTURES parser: TEXTURES group was named incorrectly in the Textures Browser window when parsed from a WAD file.
Fixed, MAPINFO, GLDEFS, DECORATE parsers: "//$GZDB_SKIP" special comment was processed incorrectly.
Fixed, MAPINFO parser: "fogdensity" and "outsidefogdensity" properties are now initialized using GZDoom default value (255) instead of 0.
2016-01-25 13:42:53 +00:00
|
|
|
|
fogdensity = 255;
|
|
|
|
|
outsidefogdensity = 255;
|
2016-06-19 21:17:46 +00:00
|
|
|
|
lightmode = GZDoomLightMode.UNDEFINED;
|
2017-08-27 05:09:28 +00:00
|
|
|
|
pixelratio = DataManager.DOOM_PIXEL_RATIO;
|
2013-09-11 09:47:53 +00:00
|
|
|
|
}
|
2016-01-11 13:00:52 +00:00
|
|
|
|
|
|
|
|
|
#endregion
|
2013-09-11 09:47:53 +00:00
|
|
|
|
}
|
2012-06-01 10:17:47 +00:00
|
|
|
|
}
|