Add toggle for marking special linedef/thing flags

This commit is contained in:
spherallic 2023-05-02 02:27:35 +02:00
parent e7687b183d
commit 10eb57aed0
4 changed files with 102 additions and 71 deletions

View file

@ -147,14 +147,17 @@ namespace CodeImp.DoomBuilder.Config
private bool rendercomments; //mxd
private bool fixedthingsscale; //mxd
private bool rendergrid;
private bool rendernightspath;
private bool renderzoomtubes;
private bool renderpolypreview;
private bool dynamicgridsize;
private int ignoredremoterevision;
private bool drawscreenshotinfo;
private bool compressscreenshots;
//sphere: SRB2-specific stuff
private bool rendernightspath;
private bool renderzoomtubes;
private bool renderpolypreview;
private bool markactionflags;
// These are not stored in the configuration, only used at runtime
private int defaultbrightness;
private int defaultfloorheight;
@ -284,16 +287,19 @@ namespace CodeImp.DoomBuilder.Config
public bool RenderComments { get { return rendercomments; } internal set { rendercomments = value; } } //mxd
public bool FixedThingsScale { get { return fixedthingsscale; } internal set { fixedthingsscale = value; } } //mxd
public bool RenderGrid { get { return rendergrid; } internal set { rendergrid = value; } } //mxd
public bool RenderNiGHTSPath { get { return rendernightspath; } internal set { rendernightspath = value; } }
public bool RenderZoomtubes { get { return renderzoomtubes; } internal set { renderzoomtubes = value; } }
public bool RenderPolyPreview { get { return renderpolypreview; } internal set { renderpolypreview = value; } }
public bool DynamicGridSize { get { return dynamicgridsize; } internal set { dynamicgridsize = value; } } //mxd
internal int IgnoredRemoteRevision { get { return ignoredremoterevision; } set { ignoredremoterevision = value; } } //mxd
public bool DrawScreenshotInfo { get { return drawscreenshotinfo; } set { drawscreenshotinfo = value; } }
public bool CompressScreenshots { get { return compressscreenshots; } set { compressscreenshots = value; } }
//mxd. Left here for compatibility reasons...
public string DefaultTexture { get { return General.Map != null ? General.Map.Options.DefaultWallTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultWallTexture = value; } }
//sphere: SRB2-specific stuff
public bool RenderNiGHTSPath { get { return rendernightspath; } internal set { rendernightspath = value; } }
public bool RenderZoomtubes { get { return renderzoomtubes; } internal set { renderzoomtubes = value; } }
public bool RenderPolyPreview { get { return renderpolypreview; } internal set { renderpolypreview = value; } }
public bool MarkActionFlags { get { return markactionflags; } internal set { markactionflags = value; } }
//mxd. Left here for compatibility reasons...
public string DefaultTexture { get { return General.Map != null ? General.Map.Options.DefaultWallTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultWallTexture = value; } }
public string DefaultFloorTexture { get { return General.Map != null ? General.Map.Options.DefaultFloorTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultFloorTexture = value; } }
public string DefaultCeilingTexture { get { return General.Map != null ? General.Map.Options.DefaultCeilingTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultCeilingTexture = value; } }
public int DefaultBrightness { get { return defaultbrightness; } set { defaultbrightness = value; } }
@ -429,16 +435,19 @@ namespace CodeImp.DoomBuilder.Config
rendercomments = cfg.ReadSetting("rendercomments", true); //mxd
fixedthingsscale = cfg.ReadSetting("fixedthingsscale", false); //mxd
rendergrid = cfg.ReadSetting("rendergrid", true); //mxd
rendernightspath = cfg.ReadSetting("rendernightspath", true);
renderzoomtubes = cfg.ReadSetting("renderzoomtubes", true);
renderpolypreview = cfg.ReadSetting("renderpolypreview", true);
dynamicgridsize = cfg.ReadSetting("dynamicgridsize", true); //mxd
ignoredremoterevision = cfg.ReadSetting("ignoredremoterevision", 0); //mxd
drawscreenshotinfo = cfg.ReadSetting("drawscreenshotinfo", true);
compressscreenshots = cfg.ReadSetting("compressscreenshots", true);
//mxd. Sector defaults
defaultceilheight = cfg.ReadSetting("defaultceilheight", 128);
//sphere: SRB2-specific stuff
rendernightspath = cfg.ReadSetting("rendernightspath", true);
renderzoomtubes = cfg.ReadSetting("renderzoomtubes", true);
renderpolypreview = cfg.ReadSetting("renderpolypreview", true);
markactionflags = cfg.ReadSetting("markactionflags", true);
//mxd. Sector defaults
defaultceilheight = cfg.ReadSetting("defaultceilheight", 128);
defaultfloorheight = cfg.ReadSetting("defaultfloorheight", 0);
defaultbrightness = cfg.ReadSetting("defaultbrightness", 192);
@ -558,16 +567,19 @@ namespace CodeImp.DoomBuilder.Config
cfg.WriteSetting("rendercomments", rendercomments); //mxd
cfg.WriteSetting("fixedthingsscale", fixedthingsscale); //mxd
cfg.WriteSetting("rendergrid", rendergrid); //mxd
cfg.WriteSetting("rendernightspath", rendernightspath);
cfg.WriteSetting("renderzoomtubes", renderzoomtubes);
cfg.WriteSetting("renderpolypreview", renderpolypreview);
cfg.WriteSetting("dynamicgridsize", dynamicgridsize); //mxd
cfg.WriteSetting("ignoredremoterevision", ignoredremoterevision); //mxd
cfg.WriteSetting("drawscreenshotinfo", drawscreenshotinfo);
cfg.WriteSetting("compressscreenshots", compressscreenshots);
//mxd. Sector defaults
cfg.WriteSetting("defaultceilheight", defaultceilheight);
//sphere: SRB2-specific stuff
cfg.WriteSetting("rendernightspath", rendernightspath);
cfg.WriteSetting("renderzoomtubes", renderzoomtubes);
cfg.WriteSetting("renderpolypreview", renderpolypreview);
cfg.WriteSetting("markactionflags", markactionflags);
//mxd. Sector defaults
cfg.WriteSetting("defaultceilheight", defaultceilheight);
cfg.WriteSetting("defaultfloorheight", defaultfloorheight);
cfg.WriteSetting("defaultbrightness", defaultbrightness);

View file

@ -79,7 +79,7 @@ namespace CodeImp.DoomBuilder.Controls
checkboxes[i].Text = p.Value;
baseflags.TryGetValue(p.Key, out string basevalue);
checkboxes[i].BackColor = (p.Value != basevalue) ? Color.LightGray : Color.White;
checkboxes[i].BackColor = (General.Settings.MarkActionFlags && p.Value != basevalue) ? Color.LightGray : Color.White;
checkboxes[i].ForeColor = Color.Black;
i++;

View file

@ -41,6 +41,7 @@ namespace CodeImp.DoomBuilder.Windows
System.Windows.Forms.Label label31;
System.Windows.Forms.Label label32;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PreferencesForm));
this.scriptedit = new CodeImp.DoomBuilder.Controls.ScriptEditorPreviewControl();
this.autolaunchontest = new System.Windows.Forms.CheckBox();
this.keepfilterfocused = new System.Windows.Forms.CheckBox();
this.maxBackups = new System.Windows.Forms.TrackBar();
@ -168,6 +169,7 @@ namespace CodeImp.DoomBuilder.Windows
this.labelDynLightCount = new System.Windows.Forms.Label();
this.animatevisualselection = new System.Windows.Forms.CheckBox();
this.blackbrowsers = new System.Windows.Forms.CheckBox();
this.markactionflags = new System.Windows.Forms.CheckBox();
this.visualbilinear = new System.Windows.Forms.CheckBox();
this.classicbilinear = new System.Windows.Forms.CheckBox();
this.imagebrightnesslabel = new System.Windows.Forms.Label();
@ -226,7 +228,6 @@ namespace CodeImp.DoomBuilder.Windows
this.colorliterals = new CodeImp.DoomBuilder.Controls.ColorControl();
this.colorconstants = new CodeImp.DoomBuilder.Controls.ColorControl();
this.previewgroup = new System.Windows.Forms.GroupBox();
this.scriptedit = new CodeImp.DoomBuilder.Controls.ScriptEditorPreviewControl();
this.tabpasting = new System.Windows.Forms.TabPage();
this.label16 = new System.Windows.Forms.Label();
this.pasteoptions = new CodeImp.DoomBuilder.Controls.PasteOptionsControl();
@ -235,14 +236,12 @@ namespace CodeImp.DoomBuilder.Windows
this.groupBox1 = new System.Windows.Forms.GroupBox();
label7 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
groupBox1 = new System.Windows.Forms.GroupBox();
label1 = new System.Windows.Forms.Label();
label18 = new System.Windows.Forms.Label();
label29 = new System.Windows.Forms.Label();
label30 = new System.Windows.Forms.Label();
label31 = new System.Windows.Forms.Label();
label32 = new System.Windows.Forms.Label();
groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.maxBackups)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.recentFiles)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.vertexScale)).BeginInit();
@ -277,6 +276,7 @@ namespace CodeImp.DoomBuilder.Windows
this.nightsgroup.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nightscircleprecision)).BeginInit();
this.tabscripteditor.SuspendLayout();
this.scriptedit.SuspendLayout();
this.groupBox9.SuspendLayout();
this.groupBox8.SuspendLayout();
this.groupBox7.SuspendLayout();
@ -304,39 +304,39 @@ namespace CodeImp.DoomBuilder.Windows
//
// groupBox1
//
groupBox1.Controls.Add(this.autolaunchontest);
groupBox1.Controls.Add(this.keepfilterfocused);
groupBox1.Controls.Add(this.maxBackups);
groupBox1.Controls.Add(this.labelBackups);
groupBox1.Controls.Add(this.label27);
groupBox1.Controls.Add(this.cbStoreEditTab);
groupBox1.Controls.Add(this.locatetexturegroup);
groupBox1.Controls.Add(this.recentFiles);
groupBox1.Controls.Add(this.labelRecentFiles);
groupBox1.Controls.Add(this.label25);
groupBox1.Controls.Add(this.vertexScaleLabel);
groupBox1.Controls.Add(this.label22);
groupBox1.Controls.Add(this.vertexScale);
groupBox1.Controls.Add(this.cbSynchCameras);
groupBox1.Controls.Add(this.showtexturesizes);
groupBox1.Controls.Add(this.scriptontop);
groupBox1.Controls.Add(this.zoomfactor);
groupBox1.Controls.Add(this.zoomfactorlabel);
groupBox1.Controls.Add(this.label19);
groupBox1.Controls.Add(this.autoscrollspeed);
groupBox1.Controls.Add(this.autoscrollspeedlabel);
groupBox1.Controls.Add(this.label15);
groupBox1.Controls.Add(this.previewsize);
groupBox1.Controls.Add(this.previewsizelabel);
groupBox1.Controls.Add(this.label12);
groupBox1.Controls.Add(this.label14);
groupBox1.Controls.Add(this.defaultviewmode);
groupBox1.Location = new System.Drawing.Point(8, 8);
groupBox1.Name = "groupBox1";
groupBox1.Size = new System.Drawing.Size(331, 465);
groupBox1.TabIndex = 0;
groupBox1.TabStop = false;
groupBox1.Text = " Options ";
this.groupBox1.Controls.Add(this.autolaunchontest);
this.groupBox1.Controls.Add(this.keepfilterfocused);
this.groupBox1.Controls.Add(this.maxBackups);
this.groupBox1.Controls.Add(this.labelBackups);
this.groupBox1.Controls.Add(this.label27);
this.groupBox1.Controls.Add(this.cbStoreEditTab);
this.groupBox1.Controls.Add(this.locatetexturegroup);
this.groupBox1.Controls.Add(this.recentFiles);
this.groupBox1.Controls.Add(this.labelRecentFiles);
this.groupBox1.Controls.Add(this.label25);
this.groupBox1.Controls.Add(this.vertexScaleLabel);
this.groupBox1.Controls.Add(this.label22);
this.groupBox1.Controls.Add(this.vertexScale);
this.groupBox1.Controls.Add(this.cbSynchCameras);
this.groupBox1.Controls.Add(this.showtexturesizes);
this.groupBox1.Controls.Add(this.scriptontop);
this.groupBox1.Controls.Add(this.zoomfactor);
this.groupBox1.Controls.Add(this.zoomfactorlabel);
this.groupBox1.Controls.Add(this.label19);
this.groupBox1.Controls.Add(this.autoscrollspeed);
this.groupBox1.Controls.Add(this.autoscrollspeedlabel);
this.groupBox1.Controls.Add(this.label15);
this.groupBox1.Controls.Add(this.previewsize);
this.groupBox1.Controls.Add(this.previewsizelabel);
this.groupBox1.Controls.Add(this.label12);
this.groupBox1.Controls.Add(this.label14);
this.groupBox1.Controls.Add(this.defaultviewmode);
this.groupBox1.Location = new System.Drawing.Point(8, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(331, 465);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = " Options ";
//
// autolaunchontest
//
@ -956,7 +956,7 @@ namespace CodeImp.DoomBuilder.Windows
this.tabinterface.Controls.Add(this.groupBox5);
this.tabinterface.Controls.Add(this.groupBox4);
this.tabinterface.Controls.Add(this.groupBox2);
this.tabinterface.Controls.Add(groupBox1);
this.tabinterface.Controls.Add(this.groupBox1);
this.tabinterface.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tabinterface.Location = new System.Drawing.Point(4, 22);
this.tabinterface.Name = "tabinterface";
@ -1673,6 +1673,7 @@ namespace CodeImp.DoomBuilder.Windows
this.appearancegroup1.Controls.Add(this.labelDynLightCount);
this.appearancegroup1.Controls.Add(this.animatevisualselection);
this.appearancegroup1.Controls.Add(this.blackbrowsers);
this.appearancegroup1.Controls.Add(this.markactionflags);
this.appearancegroup1.Controls.Add(this.visualbilinear);
this.appearancegroup1.Controls.Add(label1);
this.appearancegroup1.Controls.Add(this.classicbilinear);
@ -1882,6 +1883,16 @@ namespace CodeImp.DoomBuilder.Windows
this.blackbrowsers.Text = "Black background in image browser";
this.blackbrowsers.UseVisualStyleBackColor = true;
//
// markactionflags
//
this.markactionflags.AutoSize = true;
this.markactionflags.Location = new System.Drawing.Point(25, 239);
this.markactionflags.Name = "markactionflags";
this.markactionflags.Size = new System.Drawing.Size(195, 17);
this.markactionflags.TabIndex = 4;
this.markactionflags.Text = "Mark special linedef/thing flags";
this.markactionflags.UseVisualStyleBackColor = true;
//
// visualbilinear
//
this.visualbilinear.AutoSize = true;
@ -1948,7 +1959,7 @@ namespace CodeImp.DoomBuilder.Windows
this.nightsgroup.Size = new System.Drawing.Size(666, 129);
this.nightsgroup.TabIndex = 4;
this.nightsgroup.TabStop = false;
this.nightsgroup.Text = "Waypoints / NiGHTS Display";
this.nightsgroup.Text = "NiGHTS / Waypoints Display";
//
// nightscolormare8
//
@ -2604,6 +2615,13 @@ namespace CodeImp.DoomBuilder.Windows
this.colorconstants.TabIndex = 6;
this.colorconstants.ColorChanged += new System.EventHandler(this.colorconstants_ColorChanged);
//
// scriptedit
//
this.scriptedit.Location = new System.Drawing.Point(6, 19);
this.scriptedit.Name = "scriptedit";
this.scriptedit.Size = new System.Drawing.Size(445, 132);
this.scriptedit.TabIndex = 0;
//
// previewgroup
//
this.previewgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -2616,13 +2634,6 @@ namespace CodeImp.DoomBuilder.Windows
this.previewgroup.TabStop = false;
this.previewgroup.Text = " Preview ";
//
// scriptedit
//
this.scriptedit.Location = new System.Drawing.Point(6, 19);
this.scriptedit.Name = "scriptedit";
this.scriptedit.Size = new System.Drawing.Size(445, 132);
this.scriptedit.TabIndex = 0;
//
// tabpasting
//
this.tabpasting.Controls.Add(this.label16);
@ -2727,6 +2738,7 @@ namespace CodeImp.DoomBuilder.Windows
this.nightsgroup.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nightscircleprecision)).EndInit();
this.tabscripteditor.ResumeLayout(false);
this.scriptedit.ResumeLayout(false);
this.groupBox9.ResumeLayout(false);
this.groupBox9.PerformLayout();
this.groupBox8.ResumeLayout(false);
@ -2742,6 +2754,7 @@ namespace CodeImp.DoomBuilder.Windows
#endregion
private CodeImp.DoomBuilder.Controls.ScriptEditorPreviewControl scriptedit;
private System.Windows.Forms.Button cancel;
private System.Windows.Forms.Button apply;
private System.Windows.Forms.TabControl tabs;
@ -2766,6 +2779,7 @@ namespace CodeImp.DoomBuilder.Windows
private CodeImp.DoomBuilder.Controls.ColorControl colorgrid;
private System.Windows.Forms.GroupBox colorsgroup1;
private System.Windows.Forms.CheckBox blackbrowsers;
private System.Windows.Forms.CheckBox markactionflags;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label doublesidedalphalabel;
private System.Windows.Forms.Label imagebrightnesslabel;
@ -2908,7 +2922,6 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.CheckBox scriptshowlinenumbers;
private System.Windows.Forms.CheckBox scriptautoshowautocompletion;
private CodeImp.DoomBuilder.Controls.ColorControl colorindicator;
private CodeImp.DoomBuilder.Controls.ScriptEditorPreviewControl scriptedit;
private CodeImp.DoomBuilder.Controls.ColorControl colorfoldback;
private CodeImp.DoomBuilder.Controls.ColorControl colorfoldfore;
private System.Windows.Forms.ComboBox scriptcolorpresets;

View file

@ -106,7 +106,7 @@ namespace CodeImp.DoomBuilder.Windows
vertexScaleLabel.Text = vertexScale.Value * 100 + "%" + (vertexScale.Value == 1 ? " (default)" : "");
cbMarkExtraFloors.Checked = General.Settings.GZMarkExtraFloors;
cbDrawCrosshair.Checked = General.Settings.DrawCrosshair;
cbDrawFullCrosshair.Checked = General.Settings.DrawFullCrosshair;
cbDrawFullCrosshair.Checked = General.Settings.DrawFullCrosshair;
cbDrawThingsFixedSize.Checked = General.Settings.DrawThingsFixedSize;
tbDefaultThingSize.Value = General.Clamp((int)General.Settings.DefaultThingSize, tbDefaultThingSize.Minimum, tbDefaultThingSize.Maximum);
labelDefaultThingSize.Text = ((int)General.Settings.DefaultThingSize).ToString();
@ -116,8 +116,11 @@ namespace CodeImp.DoomBuilder.Windows
if(Directory.Exists(General.Settings.ScreenshotsPath))
browseScreenshotsFolderDialog.SelectedPath = General.Settings.ScreenshotsPath;
//mxd. Script editor
scriptfontbold.Checked = General.Settings.ScriptFontBold;
// sphere
markactionflags.Checked = General.Settings.MarkActionFlags;
//mxd. Script editor
scriptfontbold.Checked = General.Settings.ScriptFontBold;
scriptontop.Checked = General.Settings.ScriptOnTop;
scriptusetabs.Checked = General.Settings.ScriptUseTabs;
scripttabwidth.Text = General.Settings.ScriptTabWidth.ToString();
@ -441,8 +444,11 @@ namespace CodeImp.DoomBuilder.Windows
General.Settings.DrawThingsFixedSize = cbDrawThingsFixedSize.Checked;
General.Settings.DefaultThingSize = tbDefaultThingSize.Value;
// Paste options
General.Settings.PasteOptions = pasteoptions.GetOptions();
//sphere
General.Settings.MarkActionFlags = markactionflags.Checked;
// Paste options
General.Settings.PasteOptions = pasteoptions.GetOptions();
// Let the plugins know we're closing
General.Plugins.OnClosePreferences(controller);