From 6f1c1c4245564e59b1aed8f915ee98201521fe1c Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sat, 13 Aug 2016 01:05:45 +0200 Subject: [PATCH] Project cleanup Added animation reset when not drawn for >100ms to some animations Fixed Artemis.exe trailing after shutdown --- Artemis/Artemis/App.config | 82 ++++++++++++++----- Artemis/Artemis/App.xaml.cs | 17 ++-- Artemis/Artemis/ArtemisBootstrapper.cs | 1 + .../Corsair/CorsairKeyboards.cs | 5 +- .../Corsair/Utilities/KeyMap.cs | 1 - .../DeviceProviders/Razer/BlackWidow.cs | 3 +- Artemis/Artemis/Managers/LoopManager.cs | 2 +- Artemis/Artemis/Managers/MainManager.cs | 3 - .../CounterStrike/CounterStrikeView.xaml | 2 +- .../Modules/Games/Overwatch/OverwatchModel.cs | 5 +- .../Games/Overwatch/OverwatchView.xaml | 2 +- .../Games/RocketLeague/RocketLeagueModel.cs | 3 +- .../UnrealTournament.settings | 4 +- .../UnrealTournamentDataModel.cs | 26 ++---- .../UnrealTournament/UnrealTournamentModel.cs | 2 - .../UnrealTournamentView.xaml | 2 +- .../Games/Witcher3/Witcher3ViewModel.cs | 3 +- .../Games/WorldofWarcraft/WoW.settings | 4 +- .../Games/WorldofWarcraft/WoWAddresses.cs | 12 +-- .../Modules/Games/WorldofWarcraft/WoWModel.cs | 3 - .../Layers/Animations/GrowAnimation.cs | 9 +- .../Layers/Animations/PulseAnimation.cs | 7 ++ .../Layers/Interfaces/ILayerAnimation.cs | 1 + .../Layers/Models/LayerPropertiesModel.cs | 2 +- .../Types/Audio/AudioPropertiesView.xaml | 3 +- .../Profiles/Layers/Types/Audio/AudioType.cs | 44 +++++----- .../KeyPress/KeyPressPropertiesView.xaml | 3 +- Artemis/Artemis/Profiles/ProfileModel.cs | 4 +- Artemis/Artemis/Utilities/ColorHelpers.cs | 2 +- .../Converters/NinjectCustomConverter.cs | 1 - .../Utilities/DataReaders/DllManager.cs | 35 ++++---- .../Utilities/DataReaders/PipeServer.cs | 4 +- Artemis/Artemis/Utilities/ExtensionMethods.cs | 4 +- Artemis/Artemis/Utilities/GeneralHelpers.cs | 2 +- .../Artemis/Utilities/Memory/MemoryHelpers.cs | 3 +- .../Profiles/LayerConditionViewModel.cs | 14 ++-- .../ViewModels/Profiles/ProfileViewModel.cs | 1 - Artemis/Artemis/Views/WelcomeView.xaml.cs | 6 +- Artemis/Artemis/packages.config | 1 + 39 files changed, 178 insertions(+), 150 deletions(-) diff --git a/Artemis/Artemis/App.config b/Artemis/Artemis/App.config index aaffe972e..78fd4a68d 100644 --- a/Artemis/Artemis/App.config +++ b/Artemis/Artemis/App.config @@ -1,26 +1,66 @@  + - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -323,4 +363,4 @@ - + \ No newline at end of file diff --git a/Artemis/Artemis/App.xaml.cs b/Artemis/Artemis/App.xaml.cs index 008f21c59..7b5f4dc88 100644 --- a/Artemis/Artemis/App.xaml.cs +++ b/Artemis/Artemis/App.xaml.cs @@ -13,6 +13,12 @@ namespace Artemis /// public partial class App : Application { + protected override void OnExit(ExitEventArgs e) + { + base.OnExit(e); + Environment.Exit(0); + } + public App() { if (!IsRunAsAdministrator()) @@ -31,11 +37,6 @@ namespace Artemis return wp.IsInRole(WindowsBuiltInRole.Administrator); } - private void Application_Startup(object sender, StartupEventArgs e) - { - AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; - } - private void Application_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { if (DoHandle) @@ -50,12 +51,6 @@ namespace Artemis } } - private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) - { - var ex = e.ExceptionObject as Exception; - GetArtemisExceptionViewer(ex).ShowDialog(); - } - private static ExceptionViewer GetArtemisExceptionViewer(Exception e) { var logger = LogManager.GetCurrentClassLogger(); diff --git a/Artemis/Artemis/ArtemisBootstrapper.cs b/Artemis/Artemis/ArtemisBootstrapper.cs index d0aec9007..2b67e8842 100644 --- a/Artemis/Artemis/ArtemisBootstrapper.cs +++ b/Artemis/Artemis/ArtemisBootstrapper.cs @@ -95,6 +95,7 @@ namespace Artemis protected override void OnExit(object sender, EventArgs e) { _kernel.Dispose(); +// Enviroment.Exit(0); base.OnExit(sender, e); } diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs index 3a64c1099..3497f4df9 100644 --- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs +++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs @@ -10,7 +10,6 @@ using CUE.NET; using CUE.NET.Brushes; using CUE.NET.Devices.Generic.Enums; using CUE.NET.Devices.Keyboard; -using CUE.NET.Devices.Keyboard.Enums; using CUE.NET.Devices.Keyboard.Keys; using Ninject.Extensions.Logging; using Point = System.Drawing.Point; @@ -121,7 +120,7 @@ namespace Artemis.DeviceProviders.Corsair { var widthMultiplier = Width/_keyboard.KeyboardRectangle.Width; var heightMultiplier = Height/_keyboard.KeyboardRectangle.Height; - + CorsairKey cueKey = null; try { @@ -132,7 +131,7 @@ namespace Artemis.DeviceProviders.Corsair { // ignored } - + if (cueKey != null) return new KeyMatch(keyCode, (int) (cueKey.KeyRectangle.X*widthMultiplier), (int) (cueKey.KeyRectangle.Y*heightMultiplier)); diff --git a/Artemis/Artemis/DeviceProviders/Corsair/Utilities/KeyMap.cs b/Artemis/Artemis/DeviceProviders/Corsair/Utilities/KeyMap.cs index aa8f34795..6c6232bd4 100644 --- a/Artemis/Artemis/DeviceProviders/Corsair/Utilities/KeyMap.cs +++ b/Artemis/Artemis/DeviceProviders/Corsair/Utilities/KeyMap.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Windows.Forms; using CUE.NET.Devices.Keyboard.Enums; -using CUE.NET.Devices.Keyboard.Keys; namespace Artemis.DeviceProviders.Corsair.Utilities { diff --git a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs index 588640cf5..f4eb56cf7 100644 --- a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs +++ b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs @@ -7,7 +7,6 @@ using Artemis.DeviceProviders.Razer.Utilities; using Artemis.Properties; using Corale.Colore.Core; using Corale.Colore.Razer; -using Corale.Colore.Razer.Keyboard; using Constants = Corale.Colore.Razer.Keyboard.Constants; namespace Artemis.DeviceProviders.Razer @@ -31,7 +30,7 @@ namespace Artemis.DeviceProviders.Razer { if (!Chroma.IsSdkAvailable()) return false; - + // Some people have Synapse installed, but not a Chroma keyboard, deal with this var blackWidowFound = Chroma.Instance.Query(Devices.Blackwidow).Connected; var blackWidowTeFound = Chroma.Instance.Query(Devices.BlackwidowTe).Connected; diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs index a8f91935a..f5ba8c957 100644 --- a/Artemis/Artemis/Managers/LoopManager.cs +++ b/Artemis/Artemis/Managers/LoopManager.cs @@ -65,7 +65,7 @@ namespace Artemis.Managers while (_deviceManager.ChangingKeyboard) Thread.Sleep(200); - + // If still null, no last keyboard, so stop. if (_deviceManager.ActiveKeyboard == null) { diff --git a/Artemis/Artemis/Managers/MainManager.cs b/Artemis/Artemis/Managers/MainManager.cs index ff7695383..09d10be9d 100644 --- a/Artemis/Artemis/Managers/MainManager.cs +++ b/Artemis/Artemis/Managers/MainManager.cs @@ -1,13 +1,10 @@ using System; -using System.Diagnostics; using System.Linq; using System.Timers; using Artemis.Events; using Artemis.Models; -using Artemis.Modules.Effects.ProfilePreview; using Artemis.Utilities.DataReaders; using Artemis.Utilities.GameState; -using Artemis.Utilities.Keyboard; using Artemis.ViewModels; using Caliburn.Micro; using Ninject; diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml index a1bdb0ccc..0a8459b29 100644 --- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml +++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeView.xaml @@ -23,7 +23,7 @@ diff --git a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs index 618d90564..72c98e3cb 100644 --- a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs +++ b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading; using System.Windows.Media; using Artemis.Events; using Artemis.Managers; @@ -98,9 +97,7 @@ namespace Artemis.Modules.Games.Overwatch private void PipeServerOnPipeMessage(string message) { - - _lastMessage = message; - + _lastMessage = message; } public override void Update() diff --git a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchView.xaml b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchView.xaml index a3b7186aa..309d225a7 100644 --- a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchView.xaml +++ b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchView.xaml @@ -18,7 +18,7 @@ - + diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index 6b97360b3..3208d3a59 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -63,7 +63,7 @@ namespace Artemis.Profiles // Remove the clip c.Pop(); } - + using (var bmp = ImageUtilities.DrawingVisualToBitmap(visual, keyboardRect)) keyboard.DrawImage(bmp, new PointF(0, 0)); } @@ -177,7 +177,7 @@ namespace Artemis.Profiles { foreach (var layer in GetLayers()) { - if (!layer.LayerType.ShowInEdtor || + if (!layer.LayerType.ShowInEdtor || !(Math.Abs(layer.Properties.Width - Width) < 0.01) || !(Math.Abs(layer.Properties.Height - Height) < 0.01)) continue; diff --git a/Artemis/Artemis/Utilities/ColorHelpers.cs b/Artemis/Artemis/Utilities/ColorHelpers.cs index a4d21dc72..a6adeaf35 100644 --- a/Artemis/Artemis/Utilities/ColorHelpers.cs +++ b/Artemis/Artemis/Utilities/ColorHelpers.cs @@ -118,7 +118,7 @@ namespace Artemis.Utilities if (brush is RadialGradientBrush) { - var randomBrush = (RadialGradientBrush)brush.CloneCurrentValue(); + var randomBrush = (RadialGradientBrush) brush.CloneCurrentValue(); var rand = GetRandomRainbowMediaColor(); foreach (var stop in randomBrush.GradientStops) stop.Color = System.Windows.Media.Color.FromArgb(stop.Color.A, rand.R, rand.G, rand.B); diff --git a/Artemis/Artemis/Utilities/Converters/NinjectCustomConverter.cs b/Artemis/Artemis/Utilities/Converters/NinjectCustomConverter.cs index 1021a99c7..cf9135765 100644 --- a/Artemis/Artemis/Utilities/Converters/NinjectCustomConverter.cs +++ b/Artemis/Artemis/Utilities/Converters/NinjectCustomConverter.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using Newtonsoft.Json.Serialization; using Ninject; diff --git a/Artemis/Artemis/Utilities/DataReaders/DllManager.cs b/Artemis/Artemis/Utilities/DataReaders/DllManager.cs index 6f82a3b77..bc64062a4 100644 --- a/Artemis/Artemis/Utilities/DataReaders/DllManager.cs +++ b/Artemis/Artemis/Utilities/DataReaders/DllManager.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using Artemis.Modules.Games.Overwatch; using Artemis.Properties; using Microsoft.Win32; using NLog; @@ -11,6 +10,23 @@ namespace Artemis.Utilities.DataReaders { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); + #region Razer + + public static void PlaceRazerDll(string path) + { + try + { + File.WriteAllBytes(path + @"\RzChromaSDK64.dll", Resources.RzChromaSDK64); + Logger.Debug("Successfully placed Razer DLL in {0}", path); + } + catch (Exception e) + { + Logger.Error(e, "Couldn't place Razer DLL in {0}", path); + } + } + + #endregion + #region Logitech private const string LogitechPath = @"C:\Program Files\Logitech Gaming Software\SDK\LED\x64\"; @@ -95,22 +111,5 @@ namespace Artemis.Utilities.DataReaders } #endregion - - #region Razer - - public static void PlaceRazerDll(string path) - { - try - { - File.WriteAllBytes(path + @"\RzChromaSDK64.dll", Resources.RzChromaSDK64); - Logger.Debug("Successfully placed Razer DLL in {0}", path); - } - catch (Exception e) - { - Logger.Error(e, "Couldn't place Razer DLL in {0}", path); - } - } - - #endregion } } \ No newline at end of file diff --git a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs index 89b96b0b4..5430c7de9 100644 --- a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs +++ b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs @@ -3,7 +3,6 @@ using System.IO.Pipes; using System.Security.AccessControl; using System.Security.Principal; using System.Text; -using System.Threading.Tasks; using Ninject.Extensions.Logging; namespace Artemis.Utilities.DataReaders @@ -16,13 +15,14 @@ namespace Artemis.Utilities.DataReaders private readonly ILogger _logger; private string _pipeName; private NamedPipeServerStream _pipeServer; - public event DelegateMessage PipeMessage; public PipeServer(ILogger logger) { _logger = logger; } + public event DelegateMessage PipeMessage; + public void Start(string pipeName) { _pipeName = pipeName; diff --git a/Artemis/Artemis/Utilities/ExtensionMethods.cs b/Artemis/Artemis/Utilities/ExtensionMethods.cs index c25f4cdef..cf626ed0f 100644 --- a/Artemis/Artemis/Utilities/ExtensionMethods.cs +++ b/Artemis/Artemis/Utilities/ExtensionMethods.cs @@ -34,10 +34,10 @@ namespace Artemis.Utilities { var completeFileName = Path.Combine(destinationDirectoryName, file.FullName); Directory.CreateDirectory(Path.GetDirectoryName(completeFileName)); - + if (file.Name == "") continue; - + file.ExtractToFile(completeFileName, true); } } diff --git a/Artemis/Artemis/Utilities/GeneralHelpers.cs b/Artemis/Artemis/Utilities/GeneralHelpers.cs index 1ab9cbe54..7898a4937 100644 --- a/Artemis/Artemis/Utilities/GeneralHelpers.cs +++ b/Artemis/Artemis/Utilities/GeneralHelpers.cs @@ -50,7 +50,7 @@ namespace Artemis.Utilities if (ReferenceEquals(source, null)) return default(T); - return (T)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(source), source.GetType()); + return (T) JsonConvert.DeserializeObject(JsonConvert.SerializeObject(source), source.GetType()); } public static object GetPropertyValue(object o, string path) diff --git a/Artemis/Artemis/Utilities/Memory/MemoryHelpers.cs b/Artemis/Artemis/Utilities/Memory/MemoryHelpers.cs index 94a0d9493..7987498d9 100644 --- a/Artemis/Artemis/Utilities/Memory/MemoryHelpers.cs +++ b/Artemis/Artemis/Utilities/Memory/MemoryHelpers.cs @@ -38,7 +38,8 @@ namespace Artemis.Utilities.Memory return address; } - public static T ReadMultilevelPointer(this IMemory memory, IntPtr address, params int[] offsets) where T : struct + public static T ReadMultilevelPointer(this IMemory memory, IntPtr address, params int[] offsets) + where T : struct { for (var i = 0; i < offsets.Length - 1; i++) { diff --git a/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs index 411c2157d..4f6bde1bc 100644 --- a/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs @@ -25,19 +25,19 @@ namespace Artemis.ViewModels.Profiles new NamedOperator("Not equal to", "!=") }; + private readonly NamedOperator[] _operators = + { + new NamedOperator("Equal to", "=="), + new NamedOperator("Not equal to", "!=") + }; + private readonly NamedOperator[] _stringOperators = { new NamedOperator("Equal to", "=="), new NamedOperator("Not equal to", "!="), new NamedOperator("Contains", ".Contains"), new NamedOperator("Starts with", ".StartsWith"), - new NamedOperator("Ends with", ".EndsWith"), - }; - - private readonly NamedOperator[] _operators = - { - new NamedOperator("Equal to", "=="), - new NamedOperator("Not equal to", "!=") + new NamedOperator("Ends with", ".EndsWith") }; private bool _enumValueIsVisible; diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs index aa567639c..9f1260cd7 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs @@ -10,7 +10,6 @@ using Artemis.Managers; using Artemis.Modules.Effects.ProfilePreview; using Artemis.Profiles; using Artemis.Profiles.Layers.Models; -using Artemis.Profiles.Layers.Types.Keyboard; using Artemis.Properties; using Artemis.Utilities; using Caliburn.Micro; diff --git a/Artemis/Artemis/Views/WelcomeView.xaml.cs b/Artemis/Artemis/Views/WelcomeView.xaml.cs index bba7bfeba..ae7cdfcfa 100644 --- a/Artemis/Artemis/Views/WelcomeView.xaml.cs +++ b/Artemis/Artemis/Views/WelcomeView.xaml.cs @@ -1,5 +1,4 @@ -using System.Diagnostics; -using System.Windows.Controls; +using System.Windows.Controls; using System.Windows.Navigation; namespace Artemis.Views @@ -16,7 +15,8 @@ namespace Artemis.Views private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) { - System.Diagnostics.Process.Start("https://github.com/SpoinkyNL/Artemis/wiki/Frequently-Asked-Questions-(FAQ)"); + System.Diagnostics.Process.Start( + "https://github.com/SpoinkyNL/Artemis/wiki/Frequently-Asked-Questions-(FAQ)"); } } } \ No newline at end of file diff --git a/Artemis/Artemis/packages.config b/Artemis/Artemis/packages.config index 9c566c400..49c63d88c 100644 --- a/Artemis/Artemis/packages.config +++ b/Artemis/Artemis/packages.config @@ -1,4 +1,5 @@  +