diff --git a/Source/Core/Controls/ThingInfoPanel.Designer.cs b/Source/Core/Controls/ThingInfoPanel.Designer.cs
index 837be44..e979ce4 100644
--- a/Source/Core/Controls/ThingInfoPanel.Designer.cs
+++ b/Source/Core/Controls/ThingInfoPanel.Designer.cs
@@ -33,7 +33,6 @@ namespace CodeImp.DoomBuilder.Controls
this.labelaction = new System.Windows.Forms.Label();
this.labelfulltype = new System.Windows.Forms.Label();
this.infopanel = new System.Windows.Forms.GroupBox();
- this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
this.classname = new System.Windows.Forms.Label();
this.labelclass = new System.Windows.Forms.Label();
this.parameter = new System.Windows.Forms.Label();
@@ -49,48 +48,31 @@ namespace CodeImp.DoomBuilder.Controls
this.arg2 = new System.Windows.Forms.Label();
this.arg1 = new System.Windows.Forms.Label();
this.angle = new System.Windows.Forms.Label();
+ this.labelangle = new System.Windows.Forms.Label();
this.tag = new System.Windows.Forms.Label();
this.position = new System.Windows.Forms.Label();
this.action = new System.Windows.Forms.Label();
this.fulltype = new System.Windows.Forms.Label();
+ this.labeltag = new System.Windows.Forms.Label();
this.type = new System.Windows.Forms.Label();
this.spritepanel = new System.Windows.Forms.GroupBox();
this.spritename = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
- this.spritetex = new CodeImp.DoomBuilder.Controls.ConfigurablePictureBox();
this.flagsPanel = new System.Windows.Forms.GroupBox();
this.flags = new System.Windows.Forms.ListView();
- this.flagsvaluelabel = new System.Windows.Forms.Label();
this.flagsvalue = new System.Windows.Forms.Label();
- this.labelangle = new System.Windows.Forms.Label();
- this.labeltag = new System.Windows.Forms.Label();
+ this.flagsvaluelabel = new System.Windows.Forms.Label();
+ this.spritetex = new CodeImp.DoomBuilder.Controls.ConfigurablePictureBox();
+ this.anglecontrol = new CodeImp.DoomBuilder.GZBuilder.Controls.AngleControl();
label3 = new System.Windows.Forms.Label();
label1 = new System.Windows.Forms.Label();
this.infopanel.SuspendLayout();
this.spritepanel.SuspendLayout();
this.panel1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.spritetex)).BeginInit();
this.flagsPanel.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.spritetex)).BeginInit();
this.SuspendLayout();
//
- // labelangle
- //
- this.labelangle.AutoSize = true;
- this.labelangle.Location = new System.Drawing.Point(165, 79);
- this.labelangle.Name = "labelangle";
- this.labelangle.Size = new System.Drawing.Size(40, 13);
- this.labelangle.TabIndex = 8;
- this.labelangle.Text = "Angle:";
- //
- // labeltag
- //
- this.labeltag.AutoSize = true;
- this.labeltag.Location = new System.Drawing.Point(31, 79);
- this.labeltag.Name = "labeltag";
- this.labeltag.Size = new System.Drawing.Size(29, 13);
- this.labeltag.TabIndex = 4;
- this.labeltag.Text = "Tag:";
- //
// label3
//
label3.AutoSize = true;
@@ -163,15 +145,6 @@ namespace CodeImp.DoomBuilder.Controls
this.infopanel.TabStop = false;
this.infopanel.Text = " Thing ";
//
- // anglecontrol
- //
- this.anglecontrol.Angle = 0;
- this.anglecontrol.AngleOffset = 0;
- this.anglecontrol.Location = new System.Drawing.Point(235, 73);
- this.anglecontrol.Name = "anglecontrol";
- this.anglecontrol.Size = new System.Drawing.Size(24, 24);
- this.anglecontrol.TabIndex = 38;
- //
// classname
//
this.classname.AutoEllipsis = true;
@@ -317,6 +290,15 @@ namespace CodeImp.DoomBuilder.Controls
this.angle.TabIndex = 11;
this.angle.Text = "270";
//
+ // labelangle
+ //
+ this.labelangle.AutoSize = true;
+ this.labelangle.Location = new System.Drawing.Point(165, 79);
+ this.labelangle.Name = "labelangle";
+ this.labelangle.Size = new System.Drawing.Size(37, 13);
+ this.labelangle.TabIndex = 8;
+ this.labelangle.Text = "Angle:";
+ //
// tag
//
this.tag.AutoSize = true;
@@ -353,6 +335,15 @@ namespace CodeImp.DoomBuilder.Controls
this.fulltype.TabIndex = 5;
this.fulltype.Text = "0";
//
+ // labeltag
+ //
+ this.labeltag.AutoSize = true;
+ this.labeltag.Location = new System.Drawing.Point(31, 79);
+ this.labeltag.Name = "labeltag";
+ this.labeltag.Size = new System.Drawing.Size(29, 13);
+ this.labeltag.TabIndex = 4;
+ this.labeltag.Text = "Tag:";
+ //
// type
//
this.type.AutoSize = true;
@@ -393,22 +384,6 @@ namespace CodeImp.DoomBuilder.Controls
this.panel1.Size = new System.Drawing.Size(64, 64);
this.panel1.TabIndex = 0;
//
- // spritetex
- //
- this.spritetex.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Default;
- this.spritetex.Dock = System.Windows.Forms.DockStyle.Fill;
- this.spritetex.Highlighted = false;
- this.spritetex.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
- this.spritetex.Location = new System.Drawing.Point(0, 0);
- this.spritetex.Name = "spritetex";
- this.spritetex.PageUnit = System.Drawing.GraphicsUnit.Pixel;
- this.spritetex.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.None;
- this.spritetex.Size = new System.Drawing.Size(60, 60);
- this.spritetex.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.spritetex.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
- this.spritetex.TabIndex = 0;
- this.spritetex.TabStop = false;
- //
// flagsPanel
//
this.flagsPanel.Controls.Add(this.flags);
@@ -427,6 +402,7 @@ namespace CodeImp.DoomBuilder.Controls
this.flags.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.flags.CheckBoxes = true;
this.flags.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+ this.flags.HideSelection = false;
this.flags.Location = new System.Drawing.Point(6, 18);
this.flags.Name = "flags";
this.flags.Scrollable = false;
@@ -441,7 +417,7 @@ namespace CodeImp.DoomBuilder.Controls
this.flagsvalue.AutoSize = true;
this.flagsvalue.Location = new System.Drawing.Point(70, 80);
this.flagsvalue.Name = "flagsvalue";
- this.flagsvalue.Size = new System.Drawing.Size(32, 13);
+ this.flagsvalue.Size = new System.Drawing.Size(13, 13);
this.flagsvalue.TabIndex = 0;
this.flagsvalue.Text = "0";
//
@@ -450,10 +426,35 @@ namespace CodeImp.DoomBuilder.Controls
this.flagsvaluelabel.AutoSize = true;
this.flagsvaluelabel.Location = new System.Drawing.Point(6, 80);
this.flagsvaluelabel.Name = "flagsvaluelabel";
- this.flagsvaluelabel.Size = new System.Drawing.Size(60, 13);
+ this.flagsvaluelabel.Size = new System.Drawing.Size(64, 13);
this.flagsvaluelabel.TabIndex = 0;
this.flagsvaluelabel.Text = "Flags value:";
//
+ // spritetex
+ //
+ this.spritetex.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Default;
+ this.spritetex.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.spritetex.Highlighted = false;
+ this.spritetex.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
+ this.spritetex.Location = new System.Drawing.Point(0, 0);
+ this.spritetex.Name = "spritetex";
+ this.spritetex.PageUnit = System.Drawing.GraphicsUnit.Pixel;
+ this.spritetex.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.None;
+ this.spritetex.Size = new System.Drawing.Size(60, 60);
+ this.spritetex.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.spritetex.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
+ this.spritetex.TabIndex = 0;
+ this.spritetex.TabStop = false;
+ //
+ // anglecontrol
+ //
+ this.anglecontrol.Angle = 0;
+ this.anglecontrol.AngleOffset = 0;
+ this.anglecontrol.Location = new System.Drawing.Point(236, 61);
+ this.anglecontrol.Name = "anglecontrol";
+ this.anglecontrol.Size = new System.Drawing.Size(36, 36);
+ this.anglecontrol.TabIndex = 38;
+ //
// ThingInfoPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -469,8 +470,9 @@ namespace CodeImp.DoomBuilder.Controls
this.infopanel.PerformLayout();
this.spritepanel.ResumeLayout(false);
this.panel1.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.spritetex)).EndInit();
this.flagsPanel.ResumeLayout(false);
+ this.flagsPanel.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.spritetex)).EndInit();
this.ResumeLayout(false);
}
diff --git a/Source/Core/Controls/ThingInfoPanel.cs b/Source/Core/Controls/ThingInfoPanel.cs
index 4c97fdb..d10c548 100644
--- a/Source/Core/Controls/ThingInfoPanel.cs
+++ b/Source/Core/Controls/ThingInfoPanel.cs
@@ -44,7 +44,7 @@ namespace CodeImp.DoomBuilder.Controls
// Hide stuff when in Doom format
hexenformatwidth = infopanel.Width;
- doomformatwidth = infopanel.Width - 190;
+ doomformatwidth = infopanel.Width - 180;
}
// This shows the info
@@ -119,7 +119,7 @@ namespace CodeImp.DoomBuilder.Controls
position.Text = t.Position.x.ToString(CultureInfo.InvariantCulture) + ", " + t.Position.y.ToString(CultureInfo.InvariantCulture) + ", " + zinfo;
tag.Text = t.Tag + (General.Map.Options.TagLabels.ContainsKey(t.Tag) ? " - " + General.Map.Options.TagLabels[t.Tag] : string.Empty);
- tag.Enabled = labeltag.Enabled = !General.Map.SRB2;
+ tag.Enabled = tag.Visible = labeltag.Enabled = labeltag.Visible = !General.Map.SRB2;
if (General.Map.SRB2)
{
diff --git a/Source/Core/Controls/ThingInfoPanel.resx b/Source/Core/Controls/ThingInfoPanel.resx
index 7a1795c..ff93c9a 100644
--- a/Source/Core/Controls/ThingInfoPanel.resx
+++ b/Source/Core/Controls/ThingInfoPanel.resx
@@ -117,12 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- False
-
-
- False
-
False
diff --git a/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs b/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs
index 72c04a8..056c106 100644
--- a/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs
+++ b/Source/Core/GZBuilder/Controls/AngleControl.Designer.cs
@@ -39,7 +39,7 @@
this.Name = "AngleControl";
this.Size = new System.Drawing.Size(40, 40);
this.toolTip.SetToolTip(this, "Left-click (and drag) to set angle snapped to 45-degree increment.\r\nRight-click (" +
- "and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number.");
+ "and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number. Hold Shift for larger step size. Hold Ctrl to reset loops.");
this.Load += new System.EventHandler(this.AngleSelector_Load);
this.SizeChanged += new System.EventHandler(this.AngleSelector_SizeChanged);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.AngleSelector_MouseDown);
diff --git a/Source/Core/GZBuilder/Controls/AngleControl.cs b/Source/Core/GZBuilder/Controls/AngleControl.cs
index 7da9a15..c36fccd 100644
--- a/Source/Core/GZBuilder/Controls/AngleControl.cs
+++ b/Source/Core/GZBuilder/Controls/AngleControl.cs
@@ -65,7 +65,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
allowLoops = value;
if (value)
{
- this.toolTip.SetToolTip(this, "Left-click (and drag) to set snapped angle.\r\nRight-click (and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number.");
+ this.toolTip.SetToolTip(this, "Left-click (and drag) to set snapped angle.\r\nRight-click (and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number. Hold Shift for larger step size. Hold Ctrl to reset loops.");
}
else
{
@@ -80,7 +80,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
[Description("Drag distance in pixels for user to change the loop number.")]
[DefaultValue(16)]
- public int TurnThrehold { get { return turnThreshold; } set { turnThreshold = value; } } //JBR
+ public int TurnThreshold { get { return turnThreshold; } set { turnThreshold = value; } } //JBR
#endregion
@@ -197,17 +197,28 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
int loop = GetNumLoops(angle);
if (startAtOne && loop >= 0) loop++;
string loopStr = "↺" + loop.ToString();
+ string baseAngle = (angle % 360).ToString();
StringFormat strFormat = new StringFormat();
strFormat.LineAlignment = StringAlignment.Far;
strFormat.Alignment = StringAlignment.Far;
- if (loop != (startAtOne ? 1 : 0))
- {
- g.DrawString(loopStr, Font, fill, drawRegion.Right - 1, drawRegion.Bottom - 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right + 1, drawRegion.Bottom - 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right - 1, drawRegion.Bottom + 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right + 1, drawRegion.Bottom + 1, strFormat);
- g.DrawString(loopStr, Font, text, drawRegion.Right, drawRegion.Bottom, strFormat);
- }
+ int hpos = drawRegion.Right;
+
+ if (loop != (startAtOne ? 1 : 0))
+ {
+ g.DrawString(loopStr, Font, fill, hpos - 1, drawRegion.Bottom - 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos + 1, drawRegion.Bottom - 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos - 1, drawRegion.Bottom + 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos + 1, drawRegion.Bottom + 1, strFormat);
+ g.DrawString(loopStr, Font, text, hpos, drawRegion.Bottom, strFormat);
+ if (this.Height > 64)
+ {
+ g.DrawString(baseAngle, Font, fill, hpos - 1, drawRegion.Bottom - 13, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos + 1, drawRegion.Bottom - 13, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos - 1, drawRegion.Bottom - 11, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos + 1, drawRegion.Bottom - 11, strFormat);
+ g.DrawString(baseAngle, Font, text, hpos, drawRegion.Bottom - 12, strFormat);
+ }
+ }
}
// Draw needle
@@ -233,8 +244,6 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
private void AngleSelector_MouseDown(object sender, MouseEventArgs e) //JBR supports looping
{
startClick = new Point(e.X, e.Y);
-
- if (e.Button == MouseButtons.Middle) return;
int thisAngle = XYToDegrees(startClick, origin);
if (e.Button == MouseButtons.Left)
@@ -244,7 +253,15 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
}
if (allowLoops) thisAngle += GetNumLoops(angle) * 360;
- if (thisAngle != angle)
+ if (e.Button == MouseButtons.Middle)
+ {
+ if ((ModifierKeys & Keys.Control) == Keys.Control)
+ thisAngle = angle%360;
+ else
+ return;
+ }
+
+ if (thisAngle != angle)
{
angle = thisAngle;
if(!this.DesignMode && AngleChanged != null) AngleChanged(this, EventArgs.Empty); //Raise event
@@ -259,9 +276,10 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
int dist = (e.X - startClick.X) - (e.Y - startClick.Y);
if (dist < -turnThreshold || dist >= turnThreshold)
{
+ int mult = ((ModifierKeys & Keys.Shift) == Keys.Shift) ? 5 : 1;
startClick = new Point(e.X, e.Y);
- int thisAngle = angle + 360;
- if (dist < 0) thisAngle = angle - 360;
+ int thisAngle = angle + (360 * mult);
+ if (dist < 0) thisAngle = angle - (360 * mult);
if (thisAngle != angle)
{
diff --git a/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs b/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs
index 6bfa21b..77a4790 100644
--- a/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs
+++ b/Source/Core/GZBuilder/Controls/AngleControlF.Designer.cs
@@ -39,7 +39,7 @@
this.Name = "AngleControlF";
this.Size = new System.Drawing.Size(40, 40);
this.toolTip.SetToolTip(this, "Left-click (and drag) to set snapped angle.\r\nRight-click (and drag) to set precis" +
- "e angle.\r\nMiddle-click (and drag) to set loop number.");
+ "e angle.\r\nMiddle-click (and drag) to set loop number. Hold Shift for larger step size. Hold Ctrl to reset loops.");
this.Load += new System.EventHandler(this.AngleSelector_Load);
this.SizeChanged += new System.EventHandler(this.AngleSelector_SizeChanged);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.AngleSelector_MouseDown);
diff --git a/Source/Core/GZBuilder/Controls/AngleControlF.cs b/Source/Core/GZBuilder/Controls/AngleControlF.cs
index 42677e8..dcea6d2 100644
--- a/Source/Core/GZBuilder/Controls/AngleControlF.cs
+++ b/Source/Core/GZBuilder/Controls/AngleControlF.cs
@@ -67,7 +67,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
allowLoops = value;
if (value)
{
- this.toolTip.SetToolTip(this, "Left-click (and drag) to set snapped angle.\r\nRight-click (and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number.");
+ this.toolTip.SetToolTip(this, "Left-click (and drag) to set snapped angle.\r\nRight-click (and drag) to set precise angle.\r\nMiddle-click (and drag) to set loop number. Hold Shift for larger step size. Hold Ctrl to reset loops.");
}
else
{
@@ -82,7 +82,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
[Description("Drag distance in pixels for user to change the loop number.")]
[DefaultValue(16)]
- public int TurnThrehold { get { return turnThreshold; } set { turnThreshold = value; } } //JBR
+ public int TurnThreshold { get { return turnThreshold; } set { turnThreshold = value; } } //JBR
[Description("Snap angle in degrees.")]
[DefaultValue(45f)]
@@ -206,17 +206,28 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
int loop = GetNumLoops(angle);
if (startAtOne && loop >= 0) loop++;
string loopStr = "↺" + loop.ToString();
- StringFormat strFormat = new StringFormat();
+ string baseAngle = (angle % 360).ToString();
+ StringFormat strFormat = new StringFormat();
strFormat.LineAlignment = StringAlignment.Far;
strFormat.Alignment = StringAlignment.Far;
- if (loop != (startAtOne ? 1 : 0))
- {
- g.DrawString(loopStr, Font, fill, drawRegion.Right - 1, drawRegion.Bottom - 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right + 1, drawRegion.Bottom - 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right - 1, drawRegion.Bottom + 1, strFormat);
- g.DrawString(loopStr, Font, fill, drawRegion.Right + 1, drawRegion.Bottom + 1, strFormat);
- g.DrawString(loopStr, Font, text, drawRegion.Right, drawRegion.Bottom, strFormat);
- }
+ int hpos = drawRegion.Right;
+
+ if (loop != (startAtOne ? 1 : 0))
+ {
+ g.DrawString(loopStr, Font, fill, hpos - 1, drawRegion.Bottom - 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos + 1, drawRegion.Bottom - 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos - 1, drawRegion.Bottom + 1, strFormat);
+ g.DrawString(loopStr, Font, fill, hpos + 1, drawRegion.Bottom + 1, strFormat);
+ g.DrawString(loopStr, Font, text, hpos, drawRegion.Bottom, strFormat);
+ if (this.Height > 64)
+ {
+ g.DrawString(baseAngle, Font, fill, hpos - 1, drawRegion.Bottom - 1 - Font.Size, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos + 1, drawRegion.Bottom - 1 - Font.Size, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos - 1, drawRegion.Bottom + 1 - Font.Size, strFormat);
+ g.DrawString(baseAngle, Font, fill, hpos + 1, drawRegion.Bottom + 1 - Font.Size, strFormat);
+ g.DrawString(baseAngle, Font, text, hpos, drawRegion.Bottom - Font.Size, strFormat);
+ }
+ }
}
// Draw needle
@@ -242,18 +253,24 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
private void AngleSelector_MouseDown(object sender, MouseEventArgs e) //JBR supports looping
{
startClick = new Point(e.X, e.Y);
-
- if (e.Button == MouseButtons.Middle) return;
float thisAngle = XYToDegrees(startClick, origin);
- if (e.Button == MouseButtons.Left)
+ if (e.Button == MouseButtons.Left)
{
thisAngle = (float)Math.Round(thisAngle / snapangle) * snapangle;
if (thisAngle == 360f) thisAngle = 0f;
}
if (allowLoops) thisAngle += (float)GetNumLoops(angle) * 360f;
- if (thisAngle != angle)
+ if (e.Button == MouseButtons.Middle)
+ {
+ if ((ModifierKeys & Keys.Control) == Keys.Control)
+ thisAngle = angle % 360;
+ else
+ return;
+ }
+
+ if (thisAngle != angle)
{
angle = thisAngle;
if (!this.DesignMode && AngleChanged != null) AngleChanged(this, EventArgs.Empty); //Raise event
@@ -267,10 +284,11 @@ namespace CodeImp.DoomBuilder.GZBuilder.Controls
{
int dist = (e.X - startClick.X) - (e.Y - startClick.Y);
if (dist < -turnThreshold || dist >= turnThreshold)
- {
- startClick = new Point(e.X, e.Y);
- float thisAngle = angle + 360f;
- if (dist < 0) thisAngle = angle - 360f;
+ {
+ int mult = ((ModifierKeys & Keys.Shift) == Keys.Shift) ? 5 : 1;
+ startClick = new Point(e.X, e.Y);
+ float thisAngle = angle + (360f * mult);
+ if (dist < 0) thisAngle = angle - (360f * mult);
if (thisAngle != angle)
{