Added: proper GUI tab for color-related sector properties. The tab now hosts Doom64 lighting as well as old color-related things (floor/ceiling glow, light color, fade color and desaturation).

This commit is contained in:
ZZYZX 2017-03-09 01:00:20 +02:00
parent 87a2a14d7c
commit d8701b7a3a
6 changed files with 2429 additions and 2008 deletions

View file

@ -434,36 +434,6 @@ universalfields
sector
{
color_floor
{
type = 10;
default = "FFFFFF";
}
color_ceiling
{
type = 10;
default = "FFFFFF";
}
color_walltop
{
type = 10;
default = "FFFFFF";
}
color_wallbottom
{
type = 10;
default = "FFFFFF";
}
color_sprites
{
type = 10;
default = "FFFFFF";
}
comment
{
type = 2;

View file

@ -32,7 +32,7 @@
this.label24 = new System.Windows.Forms.Label();
this.reset = new System.Windows.Forms.Button();
this.label18 = new System.Windows.Forms.Label();
this.angletrackbar = new System.Windows.Forms.TrackBar();
this.angletrackbar = new CodeImp.DoomBuilder.Controls.TransparentTrackBar();
this.label1 = new System.Windows.Forms.Label();
this.pivotmodeselector = new System.Windows.Forms.ComboBox();
this.cbuselineangles = new System.Windows.Forms.CheckBox();
@ -227,7 +227,7 @@
private ButtonsNumericTextbox slopeoffset;
private System.Windows.Forms.Label label18;
private CodeImp.DoomBuilder.Controls.AngleControlEx rotationcontrol;
private System.Windows.Forms.TrackBar angletrackbar;
private CodeImp.DoomBuilder.Controls.TransparentTrackBar angletrackbar;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox pivotmodeselector;
private System.Windows.Forms.CheckBox cbuselineangles;

View file

@ -73,6 +73,11 @@ uifields
ceilingglowcolor = 0;
ceilingglowheight = 1;
fogdensity = 0;
color_ceiling = 0;
color_walltop = 0;
color_things = 0;
color_wallbottom = 0;
color_floor = 0;
}
thing

File diff suppressed because it is too large Load diff

View file

@ -95,6 +95,13 @@ namespace CodeImp.DoomBuilder.Windows
public readonly float CeilSlopeAngleZ;
public readonly float CeilSlopeOffset;
//[ZZ] UDMF Doom64 sector colors
public readonly int D64ColorCeiling;
public readonly int D64ColorWallTop;
public readonly int D64ColorWallBottom;
public readonly int D64ColorFloor;
public readonly int D64ColorThings;
public SectorProperties(Sector s)
{
Brightness = s.Brightness;
@ -159,7 +166,14 @@ namespace CodeImp.DoomBuilder.Windows
CeilSlopeAngleZ = 0;
CeilSlopeOffset = s.CeilHeight;
}
CeilSlope = s.CeilSlope;
D64ColorCeiling = s.Fields.GetValue("color_ceiling", PixelColor.INT_WHITE_NO_ALPHA);
D64ColorWallTop = s.Fields.GetValue("color_walltop", PixelColor.INT_WHITE_NO_ALPHA);
D64ColorThings = s.Fields.GetValue("color_things", PixelColor.INT_WHITE_NO_ALPHA);
D64ColorWallBottom = s.Fields.GetValue("color_wallbottom", PixelColor.INT_WHITE_NO_ALPHA);
D64ColorFloor = s.Fields.GetValue("color_floor", PixelColor.INT_WHITE_NO_ALPHA);
}
}
@ -403,6 +417,13 @@ namespace CodeImp.DoomBuilder.Windows
fadeColor.SetValueFrom(sc.Fields, true);
lightColor.SetValueFrom(sc.Fields, true);
// [ZZ]
ceilingColor.SetValueFrom(sc.Fields, true);
upperWallColor.SetValueFrom(sc.Fields, true);
thingsColor.SetValueFrom(sc.Fields, true);
lowerWallColor.SetValueFrom(sc.Fields, true);
floorColor.SetValueFrom(sc.Fields, true);
// Slopes
SetupFloorSlope(sc, true);
SetupCeilingSlope(sc, true);
@ -537,6 +558,13 @@ namespace CodeImp.DoomBuilder.Windows
fadeColor.SetValueFrom(s.Fields, false);
lightColor.SetValueFrom(s.Fields, false);
// [ZZ]
ceilingColor.SetValueFrom(s.Fields, false);
upperWallColor.SetValueFrom(s.Fields, false);
thingsColor.SetValueFrom(s.Fields, false);
lowerWallColor.SetValueFrom(s.Fields, false);
floorColor.SetValueFrom(s.Fields, false);
// Slopes
SetupFloorSlope(s, false);
SetupCeilingSlope(s, false);
@ -561,22 +589,11 @@ namespace CodeImp.DoomBuilder.Windows
}
//mxd. Glow is disabled?
if(floorglowcolorval == -1)
{
disablefloorglow.Checked = true;
floorglowcolor.Enabled = false;
floorglowheight.Enabled = false;
floorglowheightlabel.Enabled = false;
resetfloorglowheight.Visible = false;
}
if(ceilingglowcolorval == -1)
{
disableceilingglow.Checked = true;
ceilingglowcolor.Enabled = false;
ceilingglowheight.Enabled = false;
ceilingglowheightlabel.Enabled = false;
resetceilingglowheight.Visible = false;
}
if (floorglowcolorval == -1)
floorGlowEnabled.Checked = false;
if (ceilingglowcolorval == -1)
ceilingGlowEnabled.Checked = false;
//mxd. Update "Reset" buttons...
if(ceiling_reflect.Text == "0") reset_ceiling_reflect.Visible = false;
@ -1845,7 +1862,7 @@ namespace CodeImp.DoomBuilder.Windows
#endregion
#region ================== Glow relatime events (mxd)
#region ================== Glow realtime events (mxd)
private void UpdateCeilingGlowHeightWarning()
{
@ -1895,72 +1912,6 @@ namespace CodeImp.DoomBuilder.Windows
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
private void disableceilingglow_CheckedChanged(object sender, EventArgs e)
{
if(preventchanges) return;
MakeUndo();
// Update controls
ceilingglowcolor.Enabled = !disableceilingglow.Checked;
ceilingglowheight.Enabled = !disableceilingglow.Checked;
ceilingglowheightlabel.Enabled = !disableceilingglow.Checked;
if(disableceilingglow.Checked)
{
// Set glow color to -1
foreach(Sector s in sectors)
{
UniFields.SetInteger(s.Fields, "ceilingglowcolor", -1, 0);
s.UpdateNeeded = true;
}
// Hide height warning
ceilingglowheightrequired.Visible = false;
// Trigger update
General.Map.IsChanged = true;
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
else
{
// Trigger update to restore/update values
ceilingglowcolor_OnValueChanged(this, EventArgs.Empty);
}
}
private void disablefloorglow_CheckedChanged(object sender, EventArgs e)
{
if(preventchanges) return;
MakeUndo();
// Update controls
floorglowcolor.Enabled = !disablefloorglow.Checked;
floorglowheight.Enabled = !disablefloorglow.Checked;
floorglowheightlabel.Enabled = !disablefloorglow.Checked;
if(disablefloorglow.Checked)
{
// Set glow color to -1
foreach(Sector s in sectors)
{
UniFields.SetInteger(s.Fields, "floorglowcolor", -1, 0);
s.UpdateNeeded = true;
}
// Hide height warning
floorglowheightrequired.Visible = false;
// Trigger update
General.Map.IsChanged = true;
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
else
{
// Trigger glow color update to restore/update values
floorglowcolor_OnValueChanged(this, EventArgs.Empty);
}
}
private void ceilingglowheight_WhenTextChanged(object sender, EventArgs e)
{
if(preventchanges) return;
@ -2029,6 +1980,75 @@ namespace CodeImp.DoomBuilder.Windows
if(OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
private void ceilingGlowEnabled_CheckedChanged(object sender, EventArgs e)
{
if (preventchanges) return;
MakeUndo();
// Update controls
ceilingglowcolor.Enabled = ceilingGlowEnabled.Checked;
ceilingglowcolor.Color = PixelColor.FromInt(0);
ceilingglowheight.Enabled = ceilingGlowEnabled.Checked;
ceilingglowheightlabel.Enabled = ceilingGlowEnabled.Checked;
if (!ceilingGlowEnabled.Checked)
{
// Set glow color to -1
foreach (Sector s in sectors)
{
UniFields.SetInteger(s.Fields, "ceilingglowcolor", -1, 0);
s.UpdateNeeded = true;
}
// Hide height warning
ceilingglowheightrequired.Visible = false;
// Trigger update
General.Map.IsChanged = true;
if (OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
else
{
// Trigger update to restore/update values
ceilingglowcolor_OnValueChanged(this, EventArgs.Empty);
}
}
private void floorGlowEnabled_CheckedChanged(object sender, EventArgs e)
{
if (preventchanges) return;
MakeUndo();
// Update controls
floorglowcolor.Enabled = floorGlowEnabled.Checked;
floorglowcolor.Color = PixelColor.FromInt(0);
floorglowheight.Enabled = floorGlowEnabled.Checked;
floorglowheightlabel.Enabled = floorGlowEnabled.Checked;
if (!floorGlowEnabled.Checked)
{
// Set glow color to -1
foreach (Sector s in sectors)
{
UniFields.SetInteger(s.Fields, "floorglowcolor", -1, 0);
s.UpdateNeeded = true;
}
// Hide height warning
floorglowheightrequired.Visible = false;
// Trigger update
General.Map.IsChanged = true;
if (OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
else
{
// Trigger glow color update to restore/update values
floorglowcolor_OnValueChanged(this, EventArgs.Empty);
}
}
private void resetceilingglowheight_Click(object sender, EventArgs e)
{
ceilingglowheight.Focus();
@ -2042,6 +2062,46 @@ namespace CodeImp.DoomBuilder.Windows
}
#endregion
#region ================== D64 colors realtime events (mxd)
// generic function: use sender
private void d64color_OnValueChanged(object sender, EventArgs e)
{
if (preventchanges) return;
MakeUndo();
ColorFieldsControl colorCtl = (ColorFieldsControl)sender;
foreach (Sector s in sectors)
{
int prevv = PixelColor.INT_WHITE_NO_ALPHA;
SectorProperties props = sectorprops[s];
switch (colorCtl.Field)
{
case "color_ceiling":
prevv = props.D64ColorCeiling;
break;
case "color_walltop":
prevv = props.D64ColorWallTop;
break;
case "color_things":
prevv = props.D64ColorThings;
break;
case "color_wallbottom":
prevv = props.D64ColorWallBottom;
break;
case "color_floor":
prevv = props.D64ColorFloor;
break;
}
colorCtl.ApplyTo(s.Fields, prevv);
s.UpdateNeeded = true;
}
General.Map.IsChanged = true;
if (OnValuesChanged != null) OnValuesChanged(this, EventArgs.Empty);
}
#endregion
}
}

View file

@ -126,6 +126,21 @@
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label14.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@ -134,6 +149,21 @@
Sets an explicit fog density for the sector, overriding the default calculation from the light level.
Value range is 0-510, 0 meaning that the default is to be used, 2 equalling the density
of a light level of 250, and 255 equalling the density of a light level of 0.</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="resetsoundsequence.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="label14.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
@ -141,12 +171,22 @@ of a light level of 250, and 255 equalling the density of a light level of 0.</v
<metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label13.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="browseeffect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGkSURBVDhPpVNrSwJRFDw/r689qIjoQRFBkZUUaBFE
SEEUEVGYmWmLuZXiSiKrqImhvSiKgp7f+wF903W650QRIZE1MMze4Z4ze8/uJQD/ItWP6AMLxvPrxM4T
nEFF7QGOwB3Gt24xtnkDu/cao+uXGHZfwLZ6hsGVEzjXj165Thq49p+tZfMFtdK2lLOkASf/hX3zh6pe
NXBqj/xQM3pm0yxEju17MfqzIigWiygUCsjn88jlcshms0in00ilUjBNU8jociVZVAM1sJ9QqVQ+aVmW
kNExnWAh4mmL8d5YUjOZDJLJJBKJBOLxOGKxGKLRKCKRCMLhsOxrn4qzEPGn+o5qqR8sl8uyp20yxkJk
37gSo0GtuYDPyKmGYUiarusIBoPQNA2BQAB+v1/2tzqjLES2tXMxvqdx0leWSqVPMprG9lmIhlZOxahT
ay7k83JyKBSSVJ/PB6/XC4/HA7fbLWQ02ndZiAaXj8WoFfWjOovcBb1/MS9/Vu9cBt2uFDpnTDXlAxlU
64SBFkcEzeNh9dp7KlmHqmFyB6p6w2phVfP3BL0BYxQ+S88AMgkAAAAASUVORK5CYII=
</value>
</data>
<metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
@ -162,6 +202,15 @@ of a light level of 250, and 255 equalling the density of a light level of 0.</v
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label15.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label17.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
@ -174,10 +223,201 @@ of a light level of 250, and 255 equalling the density of a light level of 0.</v
<metadata name="label19.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label13.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="resetdamagetype.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="floorglowheightrequired.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACwwAAAsMAT9AIsgAAAAIdEVYdENvbW1lbnQA9syWvwAAAn5JREFUOE+1kltIk2EY
x7/mqOYIE1timTS7iFW6tU3bZt++7ZunDuoqOyi7qAQ1kC463BQFQpdBN4Gti9iFGIGJrSLDpeVw5abL
I8NsujxtnwsXDqFy7t8rfdCFiBH0g+fmff7/5/nzvi/13xAIBFRDw4OmYHBkQS5XZvHHf4+RPVq4vGSP
AcV42txiFwo3CvjW+ohEiZtcrh4PYAKQQKolbj5hKePb61NTc+US0IxeVwFe2c8A0UqMf+4bSE5OEfOS
tUlLS09diE5NAwxqq8thMJbD38eSFI9RX3/3Ki9bG6u18R7wiBhkqK4qgVZrhN9NBsQZLMc4TibL3sVL
V6NUauTxOLe4sh2gYakwQK7QItBDA98ygB+30dLaZl15oVUIBAkb2tu7ngM3gVgWEStQxGYic88BBDr3
ARPbgaEkYMn73VRQouFtfygtO1uKeEccX4lwJh0I7UDdhUyUmo2YdUh/m90iwFcMp7PbsVmUKOStFCUW
b0nsdb8fRJhEn5QA4zuBLxKE+9XwvSPx3VsBTzLgIr23YmC2EZbztRW8naIuVtVdRoTc3STZPr4bGCUJ
/Kk4ZkjB/uyDiLzZS4aQod0kSTfpedQY8HSNbpOkJlEarZ4Z8r6exmIlsHAKmC8HwieBiBkdtgLcv3OO
DDwNBEhNkD8RWKnjAPcQ167fuEXZbI2tg14n96n/2dzYcNvc1GgnF578wEVDXi4WHeZii8Pcz/mhUGSm
LxTyu4KBEUdw7OOLoM/7MtjU9KSDkkqlGSp1rl6pystX5dCmnEOMSaNjTTo6n9UbilgDe4SlmUKjNs9k
yNUwjCrnsF6h0tFKtZaWyWQK/hb+FYr6BSYCc8FcKGH/AAAAAElFTkSuQmCC
</value>
</data>
<data name="resetfloorglowheight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="ceilingglowheightrequired.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACwwAAAsMAT9AIsgAAAAIdEVYdENvbW1lbnQA9syWvwAAAn5JREFUOE+1kltIk2EY
x7/mqOYIE1timTS7iFW6tU3bZt++7ZunDuoqOyi7qAQ1kC463BQFQpdBN4Gti9iFGIGJrSLDpeVw5abL
I8NsujxtnwsXDqFy7t8rfdCFiBH0g+fmff7/5/nzvi/13xAIBFRDw4OmYHBkQS5XZvHHf4+RPVq4vGSP
AcV42txiFwo3CvjW+ohEiZtcrh4PYAKQQKolbj5hKePb61NTc+US0IxeVwFe2c8A0UqMf+4bSE5OEfOS
tUlLS09diE5NAwxqq8thMJbD38eSFI9RX3/3Ki9bG6u18R7wiBhkqK4qgVZrhN9NBsQZLMc4TibL3sVL
V6NUauTxOLe4sh2gYakwQK7QItBDA98ygB+30dLaZl15oVUIBAkb2tu7ngM3gVgWEStQxGYic88BBDr3
ARPbgaEkYMn73VRQouFtfygtO1uKeEccX4lwJh0I7UDdhUyUmo2YdUh/m90iwFcMp7PbsVmUKOStFCUW
b0nsdb8fRJhEn5QA4zuBLxKE+9XwvSPx3VsBTzLgIr23YmC2EZbztRW8naIuVtVdRoTc3STZPr4bGCUJ
/Kk4ZkjB/uyDiLzZS4aQod0kSTfpedQY8HSNbpOkJlEarZ4Z8r6exmIlsHAKmC8HwieBiBkdtgLcv3OO
DDwNBEhNkD8RWKnjAPcQ167fuEXZbI2tg14n96n/2dzYcNvc1GgnF578wEVDXi4WHeZii8Pcz/mhUGSm
LxTyu4KBEUdw7OOLoM/7MtjU9KSDkkqlGSp1rl6pystX5dCmnEOMSaNjTTo6n9UbilgDe4SlmUKjNs9k
yNUwjCrnsF6h0tFKtZaWyWQK/hb+FYr6BSYCc8FcKGH/AAAAAElFTkSuQmCC
</value>
</data>
<data name="resetceilingglowheight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="reset_floor_reflect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetfloorterrain.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetfloorlight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="reset_ceiling_reflect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetceilterrain.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetceillight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetalphafloor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
<data name="resetalphaceiling.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABv0lEQVQ4T6WSSyhEURjHZzzy
pglRKImytLCclEhZkEkUEzaGkIa87mXDym6au2FjQcpjZe09t8l70AxjwphmovEYC7Kw/Dvn0zWG0kwW
v3O/8/2///+c270qAP+CFnHKwx6fDYvtEQLbV4x4kG/wEbwWpz2QmabMKdASW3GCsRkvzMs+lPZ7kDsY
QMHEG4om3wle8x7XzEteZvkRkNZ8iZzhJxQK98gbfSay+/zI6PQSvFb6eZ1umBeDN6YlVe9EzvgzI4Bs
wY+qiWtIC2443U8ErytFFzKNPmQN3aGk5xzykZ9CKCCx8RgZo7eEpv8G7aYLvL690ICCfHSH8iE7NEY3
Ug0XEKQz0kmM0+0gZeCaSDZeIl5vgyid0sB3pHkXEtpOkNTtRFnPPukkqEtXEFOz/UV09QZ4TzTZaEjh
/OoBMfVWxHU5kK7bJO1LDAceEFW3iWiDDZraVdaKMECac0DdYIG6bQ/aji3WiiBAPvRC2ytD3bJLIYLp
gLXDDJDm7J/mJisL2EFx6wYsBz4mhRHA35uuzU9m5hTdGsyzwS/0y/ATFqDiBm4sbl0PMXNChv+CGy37
wV9YIWQTOVB9AON4z29oMNkJAAAAAElFTkSuQmCC
</value>
</data>
</root>