Skip to content

Commit

Permalink
Added code from Fwiffo to fix bug where changing the angle snap whil…
Browse files Browse the repository at this point in the history
…e in rotate mode would not affect the rotate gizmo

	Added code from Fwiffo for Rapid Zoom
	Note:  Code from Fwiffo was modified to use the Reflection offsets rather than names to maintain compatibility with Linux & OSX
	Fixed bug where going into the rotate gizmo the first time without changing the snap would have a rotation snap of 15 when it should have been zero

	NEW FEATURE:  Fine Adjust
	Fine Adjust window added
	New config window for fine adjust keys
	When Fine Adjust window is open, keys will do fine adjustments depending on which gizmo is selected:
		Default keys:	arrow keys + rightShift & rightControl
  • Loading branch information
linuxgurugamer committed May 13, 2016
1 parent 72dadd7 commit 2e3470d
Show file tree
Hide file tree
Showing 11 changed files with 1,110 additions and 179 deletions.
26 changes: 14 additions & 12 deletions EditorExtensionsRedux.userprefs
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
<Properties StartupItem="Packagers\BetaPackage.mdproj">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug Win" />
<MonoDevelop.Ide.Workspace ActiveConfiguration="Release" />
<MonoDevelop.Ide.Workbench ActiveDocument="EditorExtensionsRedux\EditorExtensionsRedux.version">
<Files>
<File FileName="EditorExtensionsRedux\SelectRoot2Behaviour.cs" Line="151" Column="90" />
<File FileName="EditorExtensionsRedux\NoOffsetLimits\NoOffsetLimitsBehaviour.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.cs" Line="347" Column="5" />
<File FileName="EditorExtensionsRedux\SelectRoot2Behaviour.cs" Line="91" Column="11" />
<File FileName="EditorExtensionsRedux\NoOffsetLimits\NoOffsetLimitsBehaviour.cs" Line="70" Column="15" />
<File FileName="EditorExtensionsRedux\AppLauncherButton.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Utility.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Utility.cs" Line="80" Column="3" />
<File FileName="EditorExtensionsRedux\buildRelease.bat" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigManager.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigManager.cs" Line="91" Column="24" />
<File FileName="EditorExtensionsRedux\Logging.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigData.cs" Line="18" Column="37" />
<File FileName="EditorExtensionsRedux\PartInfoWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.version" Line="15" Column="13" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.version" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\StripSymmetry\Enums.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\SettingsWindow.cs" Line="259" Column="33" />
<File FileName="EditorExtensionsRedux\StripSymmetry\StripSymmetry.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\StripSymmetry\OSD.cs" Line="1" Column="1" />
<File FileName="README.md" Line="8" Column="2" />
<File FileName="EditorExtensionsRedux\GUIWindow.cs" Line="6" Column="36" />
<File FileName="EditorExtensionsRedux\GUIWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\deploy.bat" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\StripSymmetry\ExtensionMethods.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigData.cs" Line="77" Column="3" />
<File FileName="EditorExtensionsRedux\SettingsWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.cs" Line="657" Column="14" />
<File FileName="EditorExtensionsRedux\FineAdjustWindow.cs" Line="43" Column="3" />
<File FileName="README.md" Line="17" Column="3" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>
Expand Down
60 changes: 44 additions & 16 deletions EditorExtensionsRedux/Config/ConfigData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,58 +5,86 @@

namespace EditorExtensionsRedux
{
[XmlRoot("ConfigData")]
[XmlRoot ("ConfigData")]
public class ConfigData
{
[XmlElement("FileVersion")]
[XmlElement ("FileVersion")]
public string FileVersion { get; set; }

[XmlElement("KeyMap")]
[XmlElement ("KeyMap")]
public KeyMaps KeyMap { get; set; }

[XmlArray("AngleSnapValues")]
[XmlArray ("AngleSnapValues")]
public List<float> AngleSnapValues { get; set; }

[XmlElement("MaxSymmetry")]
[XmlElement ("MaxSymmetry")]
public int MaxSymmetry { get; set; }

[XmlElement("ShowDebugInfo")]
// Fwiffo start
[XmlElement ("RapidZoom")]
public bool RapidZoom { get; set; }

//[XmlElement("ZoomCycling")]
//public bool ZoomCycling { get; set; }

//[XmlArray("ZoomCycleDistances")]
//public List<float> ZoomCycleDistances { get; set; }

// Fwiffo end

[XmlElement ("ShowDebugInfo")]
public bool ShowDebugInfo { get; set; }

/// <summary>
/// Time, in seconds, that the on screen messages will display
/// </summary>
[XmlElement("OnScreenMessageTime")]
[XmlElement ("OnScreenMessageTime")]
public float OnScreenMessageTime { get; set; }

public ConfigData()
public ConfigData ()
{
this.KeyMap = new KeyMaps ();
}
}

public class KeyMaps
{
[XmlElement("ResetCamera")]
[XmlElement ("ResetCamera")]
public KeyCode ResetCamera { get; set; }

[XmlElement("ZoomSelected")]
public KeyCode ZoomSelected { get;set; }
[XmlElement ("ZoomSelected")]
public KeyCode ZoomSelected { get; set; }

[XmlElement("AttachmentMode")]
[XmlElement ("AttachmentMode")]
public KeyCode AttachmentMode { get; set; }

[XmlElement("PartClipping")]
[XmlElement ("PartClipping")]
public KeyCode PartClipping { get; set; }

[XmlElement("VerticalSnap")]
[XmlElement ("VerticalSnap")]
public KeyCode VerticalSnap { get; set; }

[XmlElement("HorizontalSnap")]
[XmlElement ("HorizontalSnap")]
public KeyCode HorizontalSnap { get; set; }

[XmlElement("CompoundPartAlign")]
[XmlElement ("CompoundPartAlign")]
public KeyCode CompoundPartAlign { get; set; }


[XmlElement ("Up")]
public KeyCode Up { get; set; }
[XmlElement ("Down")]
public KeyCode Down { get; set; }
[XmlElement ("Left")]
public KeyCode Left { get; set; }
[XmlElement ("Right")]
public KeyCode Right { get; set; }
[XmlElement ("Forward")]
public KeyCode Forward { get; set; }
[XmlElement ("Back")]
public KeyCode Back { get; set; }


}
}

18 changes: 15 additions & 3 deletions EditorExtensionsRedux/Config/ConfigManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ public static bool FileExists (string filePath)
return false;
}
}

public static bool SaveConfig (ConfigData configData, string configFilePath)
{
try {
XmlSerializer serializer = new XmlSerializer (typeof(ConfigData));
using (TextWriter writer = new StreamWriter (configFilePath)) {
serializer.Serialize (writer, configData);
}
Log.Debug("Saved config file");
Log.Debug ("Saved config file");
return true;
} catch (Exception ex) {
Log.Error ("Error saving config file: " + ex.Message);
Expand Down Expand Up @@ -66,6 +66,10 @@ public static ConfigData CreateDefaultConfig (string configFilePath, string vers
ConfigData defaultConfig = new ConfigData () {
AngleSnapValues = new List<float>{ 0.0f, 1.0f, 5.0f, 15.0f, 22.5f, 30.0f, 45.0f, 60.0f, 90.0f },
MaxSymmetry = 20,
// Rapidzoom by Fwiffo
RapidZoom = true,
//ZoomCycling = true,
//ZoomCycleDistances = new List<float> { 0f, 1f, 5f, 30f, 100f, 500f, 10000f, 100000f, 150000f }, // RKTODO: Set good defaults
FileVersion = version,
OnScreenMessageTime = 1.5f,
ShowDebugInfo = true
Expand All @@ -78,7 +82,15 @@ public static ConfigData CreateDefaultConfig (string configFilePath, string vers
ZoomSelected = KeyCode.KeypadPeriod,
VerticalSnap = KeyCode.V,
HorizontalSnap = KeyCode.H,
CompoundPartAlign = KeyCode.U
CompoundPartAlign = KeyCode.U,

Up = KeyCode.UpArrow,
Down = KeyCode.DownArrow,
Left = KeyCode.LeftArrow,
Right = KeyCode.RightArrow,
Forward = KeyCode.RightShift,
Back = KeyCode.RightControl

};
defaultConfig.KeyMap = defaultKeys;

Expand Down
Loading

0 comments on commit 2e3470d

Please sign in to comment.