mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-21 11:20:58 +00:00
Add invisible FOF toggle for Visual Mode
This commit is contained in:
parent
99af0c2b81
commit
4b9ae5e332
4 changed files with 48 additions and 4 deletions
|
@ -138,6 +138,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private string lastUsedMapFolder;
|
||||
private bool gzMarkExtraFloors;
|
||||
private bool enhancedrenderingeffects = true; //mxd
|
||||
private bool srb2renderingeffects = true; //sphere
|
||||
private int maxRecentFiles;
|
||||
private bool autoClearSideTextures;
|
||||
private bool storeSelectedEditTab;
|
||||
|
@ -281,6 +282,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 EnhancedRenderingEffects { get { return enhancedrenderingeffects; } set { enhancedrenderingeffects = value; } } //mxd
|
||||
public bool SRB2RenderingEffects { get { return srb2renderingeffects; } set { srb2renderingeffects = value; } } //sphere
|
||||
public int MaxRecentFiles { get { return maxRecentFiles; } internal set { maxRecentFiles = General.Clamp(value, 8, 25); } }
|
||||
public bool AutoClearSidedefTextures { get { return autoClearSideTextures; } internal set { autoClearSideTextures = value; } }
|
||||
public bool StoreSelectedEditTab { get { return storeSelectedEditTab; } internal set { storeSelectedEditTab = value; } }
|
||||
|
|
|
@ -1365,6 +1365,17 @@ gztoggleenhancedrendering
|
|||
registertoast = true;
|
||||
}
|
||||
|
||||
togglesrb2invisiblefof
|
||||
{
|
||||
title = "Toggle SRB2 Invisible FOFs";
|
||||
category = "visual";
|
||||
description = "Toggles rendering of SRB2's invisible FOF types (light blocks, trigger zones etc.) in Visual mode.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = false;
|
||||
registertoast = true;
|
||||
}
|
||||
|
||||
srb2togglenights
|
||||
{
|
||||
title = "Toggle NiGHTS axis rendering";
|
||||
|
|
|
@ -3286,6 +3286,25 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
UpdateViewMenu();
|
||||
}
|
||||
|
||||
//mxd
|
||||
[BeginAction("togglesrb2invisiblefof")]
|
||||
public void ToggleSRB2InvisibleFOFRendering()
|
||||
{
|
||||
General.Settings.SRB2RenderingEffects = !General.Settings.SRB2RenderingEffects;
|
||||
|
||||
string shorttext = "SRB2 invisible FOF rendering is " + (General.Settings.SRB2RenderingEffects ? "ENABLED" : "DISABLED") + ".";
|
||||
string text = shorttext;
|
||||
string key = Actions.Action.GetShortcutKeyDesc(General.Actions.Current.ShortcutKey);
|
||||
|
||||
if (!string.IsNullOrEmpty(key))
|
||||
text += $" Press '{key}' to toggle.";
|
||||
|
||||
General.ToastManager.ShowToast("togglesrb2invisiblefof", ToastType.INFO, "Changed invisible FOF rendering", text, shorttext);
|
||||
|
||||
UpdateGZDoomPanel();
|
||||
UpdateViewMenu();
|
||||
}
|
||||
|
||||
//mxd
|
||||
[BeginAction("gztogglefog")]
|
||||
internal void ToggleFog()
|
||||
|
|
|
@ -949,12 +949,15 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
List<Linedef>[] slopelinedefpass = new List<Linedef>[] { new List<Linedef>(), new List<Linedef>() };
|
||||
List<Thing>[] slopethingpass = new List<Thing>[] { new List<Thing>(), new List<Thing>() };
|
||||
|
||||
if (!General.Settings.EnhancedRenderingEffects) //mxd
|
||||
if (!General.Settings.EnhancedRenderingEffects || !General.Settings.SRB2RenderingEffects) //mxd
|
||||
{
|
||||
// Store all sectors with effects
|
||||
if(sectordata != null && sectordata.Count > 0)
|
||||
if (sectordata != null && sectordata.Count > 0)
|
||||
effectsectors = new HashSet<Sector>(sectordata.Keys);
|
||||
|
||||
}
|
||||
|
||||
if (!General.Settings.EnhancedRenderingEffects) //mxd
|
||||
{
|
||||
// Remove all vertex handles from selection
|
||||
if(vertices != null && vertices.Count > 0)
|
||||
{
|
||||
|
@ -1223,7 +1226,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
case "srb2_foflight":
|
||||
case "srb2_foffog":
|
||||
case "srb2_fofintangibleinvisible":
|
||||
if (l.Front != null && sectortags.ContainsKey(l.Args[0]))
|
||||
if (General.Settings.SRB2RenderingEffects && l.Front != null && sectortags.ContainsKey(l.Args[0]))
|
||||
{
|
||||
List<Sector> sectors = sectortags[l.Args[0]];
|
||||
foreach (Sector s in sectors)
|
||||
|
@ -4236,6 +4239,15 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
UpdateChangedObjects();
|
||||
}
|
||||
|
||||
//sphere
|
||||
[BeginAction("togglesrb2invisiblefof", BaseAction = true)]
|
||||
public void ToggleSRB2InvisibleFOFRendering()
|
||||
{
|
||||
// Actual toggling is done in MainForm.ToggleSRB2InvisibleFOFRendering(), so we only need to update the view here
|
||||
RebuildElementData();
|
||||
UpdateChangedObjects();
|
||||
}
|
||||
|
||||
//mxd
|
||||
[BeginAction("thingaligntowall")]
|
||||
public void AlignThingsToWall()
|
||||
|
|
Loading…
Reference in a new issue