diff --git a/Source/Core/Config/ProgramConfiguration.cs b/Source/Core/Config/ProgramConfiguration.cs index e8dcaa33a79bafc734c42b2bc72d7c4e6d96f291..541e8b93b54de3aeadaed37a578354e98385911b 100644 --- a/Source/Core/Config/ProgramConfiguration.cs +++ b/Source/Core/Config/ProgramConfiguration.cs @@ -93,6 +93,7 @@ namespace CodeImp.DoomBuilder.Config private SplitLineBehavior splitlinebehavior; //mxd private MergeGeometryMode mergegeomode; //mxd private bool usehighlight; //mxd + private bool switchviewmodes; //mxd //mxd. Script editor settings private string scriptfontname; @@ -219,6 +220,8 @@ namespace CodeImp.DoomBuilder.Config } } + public bool SwitchViewModes { get { return switchviewmodes; } set { switchviewmodes = value; } } //mxd + //mxd. Script editor settings public string ScriptFontName { get { return scriptfontname; } internal set { scriptfontname = value; } } public int ScriptFontSize { get { return scriptfontsize; } internal set { scriptfontsize = value; } } @@ -354,6 +357,7 @@ namespace CodeImp.DoomBuilder.Config splitlinebehavior = (SplitLineBehavior)General.Clamp(cfg.ReadSetting("splitlinebehavior", 0), 0, Enum.GetValues(typeof(SplitLineBehavior)).Length - 1); //mxd mergegeomode = (MergeGeometryMode)General.Clamp(cfg.ReadSetting("mergegeometrymode", (int)MergeGeometryMode.REPLACE), 0, Enum.GetValues(typeof(MergeGeometryMode)).Length - 1); //mxd usehighlight = cfg.ReadSetting("usehighlight", true); //mxd + switchviewmodes = cfg.ReadSetting("switchviewmodes", false); //mxd //mxd. Script editor scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New"); @@ -471,6 +475,7 @@ namespace CodeImp.DoomBuilder.Config cfg.WriteSetting("splitlinebehavior", (int)splitlinebehavior); //mxd cfg.WriteSetting("mergegeometrymode", (int)mergegeomode); //mxd cfg.WriteSetting("usehighlight", usehighlight); //mxd + cfg.WriteSetting("switchviewmodes", switchviewmodes); //mxd //mxd. Script editor cfg.WriteSetting("scriptfontname", scriptfontname); diff --git a/Source/Core/Editing/EditModeInfo.cs b/Source/Core/Editing/EditModeInfo.cs index aaff8c208050f891b1b79ff080b0d22d521265ac..8e4acdcfe73bc2ae496e10d7f0e0a799961e5740 100644 --- a/Source/Core/Editing/EditModeInfo.cs +++ b/Source/Core/Editing/EditModeInfo.cs @@ -171,6 +171,11 @@ namespace CodeImp.DoomBuilder.Editing // Switch back to last classic mode General.Editing.ChangeMode(General.Editing.PreviousClassicMode.Name); } + //mxd. Switch between view floor and view ceiling textures? + else if(General.Editing.Mode is ClassicMode && General.Settings.SwitchViewModes) + { + ClassicMode.SetViewMode(General.Map.Renderer2D.ViewMode == ViewMode.FloorTextures ? ViewMode.CeilingTextures : ViewMode.FloorTextures); + } } } diff --git a/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs b/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs index e4cea1172f1dd7a646e5277aeb2c39cea1e2fbde..5d7ef9e948174d03a3abb47cca3dcfedf7ab1be9 100644 --- a/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs +++ b/Source/Plugins/BuilderModes/Interface/PreferencesForm.Designer.cs @@ -68,6 +68,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.label10 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.heightbysidedef = new System.Windows.Forms.ComboBox(); + this.switchviewmodes = new System.Windows.Forms.CheckBox(); this.tabs.SuspendLayout(); this.taboptions.SuspendLayout(); this.groupBox4.SuspendLayout(); @@ -87,7 +88,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.tabs.Name = "tabs"; this.tabs.Padding = new System.Drawing.Point(24, 3); this.tabs.SelectedIndex = 0; - this.tabs.Size = new System.Drawing.Size(677, 424); + this.tabs.Size = new System.Drawing.Size(677, 454); this.tabs.TabIndex = 0; // // taboptions @@ -100,7 +101,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.taboptions.Location = new System.Drawing.Point(4, 22); this.taboptions.Name = "taboptions"; this.taboptions.Padding = new System.Windows.Forms.Padding(3); - this.taboptions.Size = new System.Drawing.Size(669, 398); + this.taboptions.Size = new System.Drawing.Size(669, 428); this.taboptions.TabIndex = 0; this.taboptions.Text = "Editing"; this.taboptions.UseVisualStyleBackColor = true; @@ -117,7 +118,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.groupBox4.Controls.Add(this.label11); this.groupBox4.Location = new System.Drawing.Point(6, 261); this.groupBox4.Name = "groupBox4"; - this.groupBox4.Size = new System.Drawing.Size(272, 130); + this.groupBox4.Size = new System.Drawing.Size(272, 160); this.groupBox4.TabIndex = 2; this.groupBox4.TabStop = false; this.groupBox4.Text = " Default sector settings"; @@ -220,6 +221,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // // groupBox3 // + this.groupBox3.Controls.Add(this.switchviewmodes); this.groupBox3.Controls.Add(this.autodrawonedit); this.groupBox3.Controls.Add(this.syncSelection); this.groupBox3.Controls.Add(this.dontMoveGeometryOutsideBounds); @@ -232,7 +234,7 @@ namespace CodeImp.DoomBuilder.BuilderModes this.groupBox3.Controls.Add(this.additiveselect); this.groupBox3.Location = new System.Drawing.Point(284, 104); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(379, 287); + this.groupBox3.Size = new System.Drawing.Size(379, 317); this.groupBox3.TabIndex = 3; this.groupBox3.TabStop = false; this.groupBox3.Text = " Options "; @@ -564,11 +566,21 @@ namespace CodeImp.DoomBuilder.BuilderModes this.heightbysidedef.Size = new System.Drawing.Size(309, 21); this.heightbysidedef.TabIndex = 0; // + // switchviewmodes + // + this.switchviewmodes.AutoSize = true; + this.switchviewmodes.Location = new System.Drawing.Point(13, 287); + this.switchviewmodes.Name = "switchviewmodes"; + this.switchviewmodes.Size = new System.Drawing.Size(317, 17); + this.switchviewmodes.TabIndex = 10; + this.switchviewmodes.Text = "Switch view modes when switching to the same Classic Mode"; + this.switchviewmodes.UseVisualStyleBackColor = true; + // // PreferencesForm // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.ClientSize = new System.Drawing.Size(701, 448); + this.ClientSize = new System.Drawing.Size(701, 478); this.Controls.Add(this.tabs); this.MaximizeBox = false; this.MinimizeBox = false; @@ -632,5 +644,6 @@ namespace CodeImp.DoomBuilder.BuilderModes private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label14; private System.Windows.Forms.CheckBox autodrawonedit; + private System.Windows.Forms.CheckBox switchviewmodes; } } \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/Interface/PreferencesForm.cs b/Source/Plugins/BuilderModes/Interface/PreferencesForm.cs index c498a64c0a80949555156ece51f736c296fb6e5a..08719e2e9e0a1d67bab2f3312b750f695321b944 100644 --- a/Source/Plugins/BuilderModes/Interface/PreferencesForm.cs +++ b/Source/Plugins/BuilderModes/Interface/PreferencesForm.cs @@ -57,6 +57,7 @@ namespace CodeImp.DoomBuilder.BuilderModes autoaligntexturesoncreate.Checked = BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate; //mxd dontMoveGeometryOutsideBounds.Checked = BuilderPlug.Me.DontMoveGeometryOutsideMapBoundary; //mxd syncSelection.Checked = BuilderPlug.Me.SyncSelection; //mxd + switchviewmodes.Checked = General.Settings.SwitchViewModes; //mxd autodrawonedit.Checked = BuilderPlug.Me.AutoDrawOnEdit; defaultbrightness.Text = General.Settings.DefaultBrightness.ToString(); //mxd defaultceilheight.Text = General.Settings.DefaultCeilingHeight.ToString();//mxd @@ -86,6 +87,7 @@ namespace CodeImp.DoomBuilder.BuilderModes General.Settings.WritePluginSetting("autoaligntextureoffsetsoncreate", autoaligntexturesoncreate.Checked);//mxd General.Settings.WritePluginSetting("dontmovegeometryoutsidemapboundary", dontMoveGeometryOutsideBounds.Checked);//mxd General.Settings.WritePluginSetting("syncselection", syncSelection.Checked);//mxd + General.Settings.SwitchViewModes = switchviewmodes.Checked; //mxd General.Settings.SplitLineBehavior = (SplitLineBehavior)splitbehavior.SelectedIndex;//mxd //default sector values diff --git a/Source/Plugins/BuilderModes/Interface/PreferencesForm.resx b/Source/Plugins/BuilderModes/Interface/PreferencesForm.resx index ce81439427e6eef56cc2b035f13b95ec1664bebf..dda32759859984fae20989e30978c544cc968ae8 100644 --- a/Source/Plugins/BuilderModes/Interface/PreferencesForm.resx +++ b/Source/Plugins/BuilderModes/Interface/PreferencesForm.resx @@ -120,7 +120,4 @@ <metadata name="tabs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> - <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>True</value> - </metadata> </root> \ No newline at end of file