From 86f08b25657e90f2d621b3acbb36a56030d46f06 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Tue, 3 May 2016 11:26:41 -0700 Subject: [PATCH] use a 64 bit hash of slice settings. --- Queue/PrintItemWrapper.cs | 2 +- SlicerConfiguration/Settings/SettingsProfile.cs | 10 ++-------- SlicerConfiguration/SlicingQueue.cs | 2 +- Submodules/agg-sharp | 2 +- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/Queue/PrintItemWrapper.cs b/Queue/PrintItemWrapper.cs index 83aeba23e..af3ca87ef 100644 --- a/Queue/PrintItemWrapper.cs +++ b/Queue/PrintItemWrapper.cs @@ -270,7 +270,7 @@ namespace MatterHackers.MatterControl.PrintQueue string engineString = ((int)ActiveSliceSettings.Instance.ActiveSliceEngineType()).ToString(); - string gcodeFileName = this.FileHashCode.ToString() + "_" + engineString + "_" + ActiveSliceSettings.Instance.GetHashCode().ToString(); + string gcodeFileName = this.FileHashCode.ToString() + "_" + engineString + "_" + ActiveSliceSettings.Instance.GetLongHashCode().ToString(); string gcodePathAndFileName = Path.Combine(ApplicationDataStorage.Instance.GCodeOutputPath, gcodeFileName + ".gcode"); return gcodePathAndFileName; } diff --git a/SlicerConfiguration/Settings/SettingsProfile.cs b/SlicerConfiguration/Settings/SettingsProfile.cs index fde1ed820..2461a4fba 100644 --- a/SlicerConfiguration/Settings/SettingsProfile.cs +++ b/SlicerConfiguration/Settings/SettingsProfile.cs @@ -600,7 +600,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration } } - public override int GetHashCode() + public long GetLongHashCode() { var bigStringForHashCode = new StringBuilder(); @@ -613,13 +613,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration string value = bigStringForHashCode.ToString(); - int currentHash = 0; - for (int i = 0; i < value.Length; i++) - { - currentHash += value[i] * 31 ^ value.Length - (i + 1); - } - - return currentHash; + return agg_basics.ComputeHash(bigStringForHashCode.ToString()); } public void GenerateConfigFile(string fileName, bool replaceMacroValues) diff --git a/SlicerConfiguration/SlicingQueue.cs b/SlicerConfiguration/SlicingQueue.cs index db209b3f9..d1bebdf94 100644 --- a/SlicerConfiguration/SlicingQueue.cs +++ b/SlicerConfiguration/SlicingQueue.cs @@ -345,7 +345,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { itemToSlice.CurrentlySlicing = true; - string currentConfigurationFileAndPath = Path.Combine(ApplicationDataStorage.Instance.GCodeOutputPath, "config_" + ActiveSliceSettings.Instance.GetHashCode().ToString() + ".ini"); + string currentConfigurationFileAndPath = Path.Combine(ApplicationDataStorage.Instance.GCodeOutputPath, "config_" + ActiveSliceSettings.Instance.GetLongHashCode().ToString() + ".ini"); ActiveSliceSettings.Instance.GenerateConfigFile(currentConfigurationFileAndPath, true); string gcodePathAndFileName = itemToSlice.GetGCodePathAndFileName(); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 4ed1bebc9..f1b1831dd 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 4ed1bebc9e5a07f0bc7d16c0be1496992a66d052 +Subproject commit f1b1831dda5d2d84d490450bcc7b3b537d619a9f