diff --git a/Build/ZoneBuilder.default.cfg b/Build/ZoneBuilder.default.cfg index d584a98..312c90f 100644 --- a/Build/ZoneBuilder.default.cfg +++ b/Build/ZoneBuilder.default.cfg @@ -246,6 +246,7 @@ shortcuts buildermodes_thingsselectinsectors = 65620; buildermodes_raisesectortonearest = 33; buildermodes_alignfloortoback = 0; + buildermodes_togglecolormaps = 262211; buildereffects_importobjasterrain = 0; buildereffects_applyjitter = 131146; colorpicker_togglelightpannel = 75; diff --git a/Source/Core/Config/ProgramConfiguration.cs b/Source/Core/Config/ProgramConfiguration.cs index 6a259d1..237f954 100644 --- a/Source/Core/Config/ProgramConfiguration.cs +++ b/Source/Core/Config/ProgramConfiguration.cs @@ -121,6 +121,7 @@ namespace CodeImp.DoomBuilder.Config private string lastUsedMapFolder; private bool gzMarkExtraFloors; private bool gzdoomrenderingeffects = true; //mxd + private bool showcolormaps = true; private bool drawFullCrosshair; private int maxRecentFiles; private bool autoClearSideTextures; @@ -226,6 +227,7 @@ namespace CodeImp.DoomBuilder.Config public string LastUsedMapFolder { get { return lastUsedMapFolder; } internal set { lastUsedMapFolder = value; } } public bool GZMarkExtraFloors { get { return gzMarkExtraFloors; } internal set { gzMarkExtraFloors = value; } } public bool GZDoomRenderingEffects { get { return gzdoomrenderingeffects; } set { gzdoomrenderingeffects = value; } } //mxd + public bool ShowColormaps { get { return showcolormaps; } set { showcolormaps = value; } } //mxd public bool DrawFullCrosshair { get { return drawFullCrosshair; } internal set { drawFullCrosshair = value; } } public int MaxRecentFiles { get { return maxRecentFiles; } internal set { maxRecentFiles = General.Clamp(value, 8, 25); } } public bool AutoClearSidedefTextures { get { return autoClearSideTextures; } internal set { autoClearSideTextures = value; } } diff --git a/Source/Plugins/BuilderModes/Resources/Actions.cfg b/Source/Plugins/BuilderModes/Resources/Actions.cfg index 016b42c..0f5c957 100644 --- a/Source/Plugins/BuilderModes/Resources/Actions.cfg +++ b/Source/Plugins/BuilderModes/Resources/Actions.cfg @@ -1358,4 +1358,15 @@ togglegzdoomgeometryeffects allowmouse = true; allowscroll = false; default = 9; //Tab +} + +togglecolormaps +{ + title = "Toggle Colormaps"; + category = "visual"; + description = "Toggles rendering of colormaps in Visual mode."; + allowkeys = true; + allowmouse = true; + allowscroll = false; + default = 262211; //Alt+C } \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index ffe26f4..88eba88 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -999,7 +999,7 @@ namespace CodeImp.DoomBuilder.BuilderModes } //MascaraSnake: Colormap - if (l.IsColormap && l.Front != null) + if (l.IsColormap && l.Front != null && General.Settings.ShowColormaps) { int sectortag = l.Tag; int color; @@ -3522,8 +3522,28 @@ namespace CodeImp.DoomBuilder.BuilderModes General.Interface.DisplayStatus(StatusType.Info, "(G)ZDoom geometry effects are " + (General.Settings.GZDoomRenderingEffects ? "ENABLED" : "DISABLED")); } - //mxd - [BeginAction("thingaligntowall")] + //mxd + [BeginAction("togglecolormaps")] + public void ToggleColormaps() + { + General.Settings.ShowColormaps = !General.Settings.ShowColormaps; + RebuildElementData(); + //Ugly hack #1354: Get all Things to update so that their colormap is updated. + foreach (KeyValuePair vt in allthings) + { + if (vt.Value != null) + { + BaseVisualThing bvt = vt.Value as BaseVisualThing; + bvt.Changed = true; + } + } + + UpdateChangedObjects(); + General.Interface.DisplayStatus(StatusType.Info, "Colormap rendering is " + (General.Settings.ShowColormaps ? "ENABLED" : "DISABLED")); + } + + //mxd + [BeginAction("thingaligntowall")] public void AlignThingsToWall() { List visualThings = GetSelectedVisualThings(true);