From e310dbf236225437f54b5d70968c27a7481b1cc2 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sun, 16 Oct 2016 19:49:57 +0200 Subject: [PATCH 01/49] Downgraded dragndrop library back to previous version --- Artemis/Artemis/Artemis.csproj | 6 +++--- Artemis/Artemis/NLog.xsd | 12 ++++++++++++ Artemis/Artemis/packages.config | 6 +++--- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 9604e7fd8..abd596e18 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -167,8 +167,8 @@ ..\packages\DynamicExpresso.Core.1.3.3.4\lib\net40\DynamicExpresso.Core.dll True - - ..\packages\gong-wpf-dragdrop.1.0.0\lib\net46\GongSolutions.Wpf.DragDrop.dll + + ..\packages\gong-wpf-dragdrop.0.1.4.3\lib\net40\GongSolutions.Wpf.DragDrop.dll True @@ -235,7 +235,7 @@ True - ..\packages\NLog.4.3.9\lib\net45\NLog.dll + ..\packages\NLog.4.3.10\lib\net45\NLog.dll True diff --git a/Artemis/Artemis/NLog.xsd b/Artemis/Artemis/NLog.xsd index faa9681c6..f61050fc6 100644 --- a/Artemis/Artemis/NLog.xsd +++ b/Artemis/Artemis/NLog.xsd @@ -531,6 +531,7 @@ + @@ -559,6 +560,11 @@ Indicates whether to use default row highlighting rules. + + + Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + The encoding for writing messages to the . @@ -670,6 +676,7 @@ + @@ -697,6 +704,11 @@ Indicates whether to send the log messages to the standard error instead of the standard output. + + + Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App) + + The encoding for writing messages to the . diff --git a/Artemis/Artemis/packages.config b/Artemis/Artemis/packages.config index bc7832355..0c9b6670c 100644 --- a/Artemis/Artemis/packages.config +++ b/Artemis/Artemis/packages.config @@ -7,7 +7,7 @@ - + @@ -20,8 +20,8 @@ - - + + From c8742b22c31c78ee78c9d59b0e7d118d94c879d5 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 17 Oct 2016 13:29:20 +0200 Subject: [PATCH 02/49] Fixed AudioType CPU usage --- .../Profiles/Layers/Types/Audio/AudioType.cs | 49 +++++++++++++++---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioType.cs b/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioType.cs index c84cd92b2..9c1240a9e 100644 --- a/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioType.cs +++ b/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioType.cs @@ -22,7 +22,7 @@ namespace Artemis.Profiles.Layers.Types.Audio { private readonly List _audioLayers = new List(); private readonly MMDevice _device; - private readonly SampleAggregator _sampleAggregator = new SampleAggregator(2048); + private readonly SampleAggregator _sampleAggregator = new SampleAggregator(1024); private readonly WasapiLoopbackCapture _waveIn; private int _lines; private AudioPropertiesModel _previousSettings; @@ -100,9 +100,9 @@ namespace Artemis.Profiles.Layers.Types.Audio return; var settings = (AudioPropertiesModel) layerModel.Properties; - if (settings.Direction == Direction.TopToBottom || settings.Direction == Direction.BottomToTop) + if ((settings.Direction == Direction.TopToBottom) || (settings.Direction == Direction.BottomToTop)) ApplyVertical(settings); - else if (settings.Direction == Direction.LeftToRight || settings.Direction == Direction.RightToLeft) + else if ((settings.Direction == Direction.LeftToRight) || (settings.Direction == Direction.RightToLeft)) ApplyHorizontal(settings); } } @@ -153,7 +153,7 @@ namespace Artemis.Profiles.Layers.Types.Audio if (settings.Direction == Direction.BottomToTop) audioLayer.Properties.Y = settings.Y + (settings.Height - audioLayer.Properties.Height); - audioLayer.Update(null, false, true); + FakeUpdate(settings, audioLayer); index++; } } @@ -187,27 +187,54 @@ namespace Artemis.Profiles.Layers.Types.Audio if (settings.Direction == Direction.RightToLeft) audioLayer.Properties.X = settings.X + (settings.Width - audioLayer.Properties.Width); - audioLayer.Update(null, false, true); + FakeUpdate(settings, audioLayer); index++; } } + /// + /// Updates the layer manually faking the width and height for a properly working animation + /// + /// + /// + private static void FakeUpdate(LayerPropertiesModel settings, LayerModel audioLayer) + { + // Call the regular update + audioLayer.LayerType?.Update(audioLayer, null); + + // Store the original height and width + var oldHeight = audioLayer.Properties.Height; + var oldWidth = audioLayer.Properties.Width; + + // Fake the height and width and update the animation + audioLayer.Properties.Width = settings.Width; + audioLayer.Properties.Height = settings.Height; + audioLayer.LayerAnimation?.Update(audioLayer, true); + + // Restore the height and width + audioLayer.Properties.Height = oldHeight; + audioLayer.Properties.Width = oldWidth; + } + /// /// Updates the inner layers when the settings have changed /// /// private void UpdateLayers(LayerModel layerModel) { + // TODO: Animation var settings = (AudioPropertiesModel) layerModel.Properties; - if (JsonConvert.SerializeObject(settings).Equals(JsonConvert.SerializeObject(_previousSettings))) + if ((settings.Direction == _previousSettings?.Direction) && + (settings.Sensitivity == _previousSettings.Sensitivity) && + (Math.Abs(settings.FadeSpeed - _previousSettings.FadeSpeed) < 0.001)) return; _previousSettings = GeneralHelpers.Clone((AudioPropertiesModel) layerModel.Properties); _audioLayers.Clear(); - if (settings.Direction == Direction.TopToBottom || settings.Direction == Direction.BottomToTop) + if ((settings.Direction == Direction.TopToBottom) || (settings.Direction == Direction.BottomToTop)) SetupVertical(settings); - else if (settings.Direction == Direction.LeftToRight || settings.Direction == Direction.RightToLeft) + else if ((settings.Direction == Direction.LeftToRight) || (settings.Direction == Direction.RightToLeft)) SetupHorizontal(settings); } @@ -221,6 +248,7 @@ namespace Artemis.Profiles.Layers.Types.Audio layer.Properties.Y = settings.Y; layer.Properties.Width = 1; layer.Properties.Height = 0; + // TODO: Setup animation layer.LayerAnimation = new NoneAnimation(); layer.Properties.Brush = settings.Brush; layer.Properties.Contain = false; @@ -240,6 +268,7 @@ namespace Artemis.Profiles.Layers.Types.Audio layer.Properties.Y = settings.Y + i; layer.Properties.Width = 0; layer.Properties.Height = 1; + // TODO: Setup animation layer.LayerAnimation = new NoneAnimation(); layer.Properties.Brush = settings.Brush; layer.Properties.Contain = false; @@ -265,8 +294,8 @@ namespace Artemis.Profiles.Layers.Types.Audio { float peak = 0; var b1 = (int) Math.Pow(2, x*10.0/(_lines - 1)); - if (b1 > 2047) - b1 = 2047; + if (b1 > 1023) + b1 = 1023; if (b1 <= b0) b1 = b0 + 1; for (; b0 < b1; b0++) From 00a7c4f3517492778b8387a4dfc2e2f1f0315bef Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 24 Oct 2016 23:30:10 +0200 Subject: [PATCH 03/49] Added markdown support to the changelog display Added live log to the debug window --- Artemis/Artemis/App.xaml | 1 + Artemis/Artemis/Artemis.csproj | 21 + .../Artemis/Controls/Log/LoggingControl.xaml | 27 + .../Controls/Log/LoggingControl.xaml.cs | 37 + .../Artemis/Controls/Log/MemoryEventTarget.cs | 20 + Artemis/Artemis/Dialogs/MarkdownDialog.xaml | 53 + .../Artemis/Dialogs/MarkdownDialog.xaml.cs | 28 + .../Artemis/Services/MetroDialogService.cs | 16 + Artemis/Artemis/Styles/MarkdownStyles.xaml | 57 + Artemis/Artemis/Utilities/Logging.cs | 29 +- .../Artemis/Utilities/Markdown/Markdown.cs | 1051 +++++++++++++++++ .../Markdown/TextToFlowDocumentConverter.cs | 62 + Artemis/Artemis/Utilities/Updater.cs | 8 +- Artemis/Artemis/ViewModels/DebugViewModel.cs | 20 +- Artemis/Artemis/Views/DebugView.xaml | 15 +- 15 files changed, 1433 insertions(+), 12 deletions(-) create mode 100644 Artemis/Artemis/Controls/Log/LoggingControl.xaml create mode 100644 Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs create mode 100644 Artemis/Artemis/Controls/Log/MemoryEventTarget.cs create mode 100644 Artemis/Artemis/Dialogs/MarkdownDialog.xaml create mode 100644 Artemis/Artemis/Dialogs/MarkdownDialog.xaml.cs create mode 100644 Artemis/Artemis/Styles/MarkdownStyles.xaml create mode 100644 Artemis/Artemis/Utilities/Markdown/Markdown.cs create mode 100644 Artemis/Artemis/Utilities/Markdown/TextToFlowDocumentConverter.cs diff --git a/Artemis/Artemis/App.xaml b/Artemis/Artemis/App.xaml index e13bd017f..1b093a2b3 100644 --- a/Artemis/Artemis/App.xaml +++ b/Artemis/Artemis/App.xaml @@ -21,6 +21,7 @@ Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" /> + diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index abd596e18..bce65305f 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -303,6 +303,10 @@ Code + + LoggingControl.xaml + + @@ -313,6 +317,9 @@ + + MarkdownDialog.xaml + @@ -511,6 +518,8 @@ + + @@ -686,6 +695,14 @@ + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -746,6 +763,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/Artemis/Artemis/Controls/Log/LoggingControl.xaml b/Artemis/Artemis/Controls/Log/LoggingControl.xaml new file mode 100644 index 000000000..b1ded7610 --- /dev/null +++ b/Artemis/Artemis/Controls/Log/LoggingControl.xaml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs b/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs new file mode 100644 index 000000000..cf771ba2d --- /dev/null +++ b/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs @@ -0,0 +1,37 @@ +using System.Collections.ObjectModel; +using System.Windows.Controls; +using Artemis.Utilities; +using NLog; + +namespace Artemis.Controls.Log +{ + /// + /// Interaction logic for LoggingControl.xaml + /// + public partial class LoggingControl : UserControl + { + public LoggingControl() + { + LogCollection = new ObservableCollection(); + + InitializeComponent(); + + // init memory queue + Logging.ClearLoggingEvent(); + Logging.MemoryEvent += EventReceived; + } + + public static ObservableCollection LogCollection { get; set; } + + private async void EventReceived(LogEventInfo message) + { + await Dispatcher.InvokeAsync(() => + { + if (LogCollection.Count >= 50) + LogCollection.RemoveAt(LogCollection.Count - 1); + + LogCollection.Add(message); + }); + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Controls/Log/MemoryEventTarget.cs b/Artemis/Artemis/Controls/Log/MemoryEventTarget.cs new file mode 100644 index 000000000..acbe7690e --- /dev/null +++ b/Artemis/Artemis/Controls/Log/MemoryEventTarget.cs @@ -0,0 +1,20 @@ +using System; +using NLog; +using NLog.Targets; + +namespace Artemis.Controls.Log +{ + public class MemoryEventTarget : Target + { + public event Action EventReceived; + + /// + /// Notifies listeners about new event + /// + /// The logging event. + protected override void Write(LogEventInfo logEvent) + { + EventReceived?.Invoke(logEvent); + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Dialogs/MarkdownDialog.xaml b/Artemis/Artemis/Dialogs/MarkdownDialog.xaml new file mode 100644 index 000000000..8a9587fe5 --- /dev/null +++ b/Artemis/Artemis/Dialogs/MarkdownDialog.xaml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + From c7c3614f3b04df9418d1d3df8db567d06c917e31 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Thu, 27 Oct 2016 00:18:36 +0200 Subject: [PATCH 07/49] Implemented basic LUA drawing Implemented LUA access to datamodels --- Artemis/Artemis/Artemis.csproj | 8 +- .../ProfilePreview/ProfilePreviewModel.cs | 2 + .../WindowsProfile/WindowsProfileDataModel.cs | 6 ++ .../CounterStrike/CounterStrikeDataModel.cs | 15 +++- .../Modules/Games/Dota2/Dota2DataModel.cs | 27 ++++++ .../EurotruckSimulator2DataModel.cs | 9 ++ .../Games/Overwatch/OverwatchDataModel.cs | 2 + .../RocketLeague/RocketLeagueDataModel.cs | 2 + .../Games/TheDivision/TheDivisionDataModel.cs | 18 +--- .../UnrealTournamentDataModel.cs | 7 ++ .../Games/Witcher3/Witcher3DataModel.cs | 2 + .../Artemis/Profiles/Lua/Brushes/ILuaBrush.cs | 9 ++ .../Lua/Brushes/LuaLinearGradientBrush.cs | 25 ++++++ .../Lua/Brushes/LuaRadialGradientBrush.cs | 17 ++++ .../Lua/Brushes/LuaSolidColorBrush.cs | 49 ++++++++++ .../Artemis/Profiles/Lua/LuaBrushWrapper.cs | 24 +++++ .../Artemis/Profiles/Lua/LuaDrawWrapper.cs | 26 ++++++ .../Artemis/Profiles/Lua/LuaEventsWrapper.cs | 90 ++++++++++++++++++- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 27 ++++-- Artemis/Artemis/Profiles/ProfileModel.cs | 14 +-- .../Artemis/Properties/Resources.Designer.cs | 7 +- Artemis/Artemis/Properties/Resources.resx | 4 +- Artemis/Artemis/Resources/lua-placeholder.lua | 40 +++++++++ Artemis/Artemis/Resources/lua-placeholder.txt | 12 --- 24 files changed, 393 insertions(+), 49 deletions(-) create mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs create mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs create mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs create mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs create mode 100644 Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs create mode 100644 Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs create mode 100644 Artemis/Artemis/Resources/lua-placeholder.lua delete mode 100644 Artemis/Artemis/Resources/lua-placeholder.txt diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 1a0103842..68945023b 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -414,9 +414,15 @@ + + + + + + @@ -641,7 +647,7 @@ Code - + Designer diff --git a/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs b/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs index 90d53c22c..31f38bf92 100644 --- a/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs +++ b/Artemis/Artemis/Modules/Effects/ProfilePreview/ProfilePreviewModel.cs @@ -9,6 +9,7 @@ using Artemis.Profiles.Layers.Interfaces; using Artemis.Profiles.Layers.Models; using Artemis.ViewModels.Profiles; using Castle.Components.DictionaryAdapter; +using MoonSharp.Interpreter; namespace Artemis.Modules.Effects.ProfilePreview { @@ -90,6 +91,7 @@ namespace Artemis.Modules.Effects.ProfilePreview } } + [MoonSharpUserData] public class ProfilePreviewDataModel : IDataModel { } diff --git a/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileDataModel.cs b/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileDataModel.cs index e8ae34117..2636e797a 100644 --- a/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileDataModel.cs +++ b/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileDataModel.cs @@ -1,7 +1,9 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Effects.WindowsProfile { + [MoonSharpUserData] public class WindowsProfileDataModel : IDataModel { public WindowsProfileDataModel() @@ -18,6 +20,7 @@ namespace Artemis.Modules.Effects.WindowsProfile public CurrentTime CurrentTime { get; set; } } + [MoonSharpUserData] public class CurrentTime { public int Hours24 { get; set; } @@ -26,6 +29,7 @@ namespace Artemis.Modules.Effects.WindowsProfile public int Seconds { get; set; } } + [MoonSharpUserData] public class CpuDataModel { public int TotalUsage { get; set; } @@ -39,11 +43,13 @@ namespace Artemis.Modules.Effects.WindowsProfile public int Core8Usage { get; set; } } + [MoonSharpUserData] public class PerformanceDataModel { public int RAMUsage { get; set; } } + [MoonSharpUserData] public class Spotify { public bool Running { get; set; } diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeDataModel.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeDataModel.cs index 6e76b2e87..546937029 100644 --- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeDataModel.cs +++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeDataModel.cs @@ -1,8 +1,10 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; using Newtonsoft.Json; namespace Artemis.Modules.Games.CounterStrike { + [MoonSharpUserData] public class CounterStrikeDataModel : IDataModel { public Provider provider { get; set; } @@ -12,6 +14,7 @@ namespace Artemis.Modules.Games.CounterStrike public Previously previously { get; set; } } + [MoonSharpUserData] public class Provider { public string name { get; set; } @@ -21,16 +24,19 @@ namespace Artemis.Modules.Games.CounterStrike public int timestamp { get; set; } } + [MoonSharpUserData] public class TeamCt { public int score { get; set; } } + [MoonSharpUserData] public class TeamT { public int score { get; set; } } + [MoonSharpUserData] public class Map { public string mode { get; set; } @@ -41,11 +47,13 @@ namespace Artemis.Modules.Games.CounterStrike public TeamT team_t { get; set; } } + [MoonSharpUserData] public class Round { public string phase { get; set; } } + [MoonSharpUserData] public class State { [JsonIgnore] @@ -63,7 +71,7 @@ namespace Artemis.Modules.Games.CounterStrike public int round_killhs { get; set; } } - + [MoonSharpUserData] public class Weapon { public string name { get; set; } @@ -75,6 +83,7 @@ namespace Artemis.Modules.Games.CounterStrike public string state { get; set; } } + [MoonSharpUserData] public class Weapons { public Weapon active_weapon { get; set; } @@ -83,6 +92,7 @@ namespace Artemis.Modules.Games.CounterStrike public Weapon weapon_2 { get; set; } } + [MoonSharpUserData] public class MatchStats { public int kills { get; set; } @@ -92,6 +102,7 @@ namespace Artemis.Modules.Games.CounterStrike public int score { get; set; } } + [MoonSharpUserData] public class Player { public string steamid { get; set; } @@ -103,11 +114,13 @@ namespace Artemis.Modules.Games.CounterStrike public MatchStats match_stats { get; set; } } + [MoonSharpUserData] public class Round2 { public string phase { get; set; } } + [MoonSharpUserData] public class Previously { public Round2 round { get; set; } diff --git a/Artemis/Artemis/Modules/Games/Dota2/Dota2DataModel.cs b/Artemis/Artemis/Modules/Games/Dota2/Dota2DataModel.cs index 184d45f9e..9d98ca997 100644 --- a/Artemis/Artemis/Modules/Games/Dota2/Dota2DataModel.cs +++ b/Artemis/Artemis/Modules/Games/Dota2/Dota2DataModel.cs @@ -1,7 +1,9 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Games.Dota2 { + [MoonSharpUserData] public class Dota2DataModel : IDataModel { public Provider provider { get; set; } @@ -13,6 +15,7 @@ namespace Artemis.Modules.Games.Dota2 public Previously previously { get; set; } } + [MoonSharpUserData] public class Provider { public string name { get; set; } @@ -21,6 +24,7 @@ namespace Artemis.Modules.Games.Dota2 public int timestamp { get; set; } } + [MoonSharpUserData] public class Map { public int dayCyclePercentage; @@ -36,6 +40,7 @@ namespace Artemis.Modules.Games.Dota2 public int ward_purchase_cooldown { get; set; } } + [MoonSharpUserData] public class Player { public string steamid { get; set; } @@ -55,6 +60,7 @@ namespace Artemis.Modules.Games.Dota2 public int xpm { get; set; } } + [MoonSharpUserData] public class Hero { public int id { get; set; } @@ -80,6 +86,7 @@ namespace Artemis.Modules.Games.Dota2 public bool has_debuff { get; set; } } + [MoonSharpUserData] public class Abilities { public Ability0 ability0 { get; set; } @@ -90,6 +97,7 @@ namespace Artemis.Modules.Games.Dota2 public Attributes attributes { get; set; } } + [MoonSharpUserData] public class Ability0 { public string name { get; set; } @@ -101,6 +109,7 @@ namespace Artemis.Modules.Games.Dota2 public bool ultimate { get; set; } } + [MoonSharpUserData] public class Ability1 { public string name { get; set; } @@ -112,6 +121,7 @@ namespace Artemis.Modules.Games.Dota2 public bool ultimate { get; set; } } + [MoonSharpUserData] public class Ability2 { public string name { get; set; } @@ -123,6 +133,7 @@ namespace Artemis.Modules.Games.Dota2 public bool ultimate { get; set; } } + [MoonSharpUserData] public class Ability3 { public string name { get; set; } @@ -134,11 +145,13 @@ namespace Artemis.Modules.Games.Dota2 public bool ultimate { get; set; } } + [MoonSharpUserData] public class Attributes { public int level { get; set; } } + [MoonSharpUserData] public class Items { public Slot0 slot0 { get; set; } @@ -155,71 +168,85 @@ namespace Artemis.Modules.Games.Dota2 public Stash5 stash5 { get; set; } } + [MoonSharpUserData] public class Slot0 { public string name { get; set; } } + [MoonSharpUserData] public class Slot1 { public string name { get; set; } } + [MoonSharpUserData] public class Slot2 { public string name { get; set; } } + [MoonSharpUserData] public class Slot3 { public string name { get; set; } } + [MoonSharpUserData] public class Slot4 { public string name { get; set; } } + [MoonSharpUserData] public class Slot5 { public string name { get; set; } } + [MoonSharpUserData] public class Stash0 { public string name { get; set; } } + [MoonSharpUserData] public class Stash1 { public string name { get; set; } } + [MoonSharpUserData] public class Stash2 { public string name { get; set; } } + [MoonSharpUserData] public class Stash3 { public string name { get; set; } } + [MoonSharpUserData] public class Stash4 { public string name { get; set; } } + [MoonSharpUserData] public class Stash5 { public string name { get; set; } } + [MoonSharpUserData] public class Previously { public Player1 player { get; set; } } + [MoonSharpUserData] public class Player1 { public int gold { get; set; } diff --git a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs index 44493b246..e1c9cd275 100644 --- a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs +++ b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs @@ -1,14 +1,23 @@ using Artemis.Models.Interfaces; using Artemis.Modules.Games.EurotruckSimulator2.Data; +using MoonSharp.Interpreter; +using MoonSharp.Interpreter.Interop; namespace Artemis.Modules.Games.EurotruckSimulator2 { + [MoonSharpUserData] public class EurotruckSimulator2DataModel : IDataModel { + // TODO: Test LUA functionality + [MoonSharpVisible(true)] public IEts2Game Game { get; set; } + [MoonSharpVisible(true)] public IEts2Job Job { get; set; } + [MoonSharpVisible(true)] public IEts2Navigation Navigation { get; set; } + [MoonSharpVisible(true)] public IEts2Trailer Trailer { get; set; } + [MoonSharpVisible(true)] public IEts2Truck Truck { get; set; } } } \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchDataModel.cs b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchDataModel.cs index f7e3ece14..5d0353154 100644 --- a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchDataModel.cs +++ b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchDataModel.cs @@ -1,7 +1,9 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Games.Overwatch { + [MoonSharpUserData] public class OverwatchDataModel : IDataModel { public OverwatchStatus Status { get; set; } diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueDataModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueDataModel.cs index d0196e16d..287f87fe2 100644 --- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueDataModel.cs +++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueDataModel.cs @@ -1,7 +1,9 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Games.RocketLeague { + [MoonSharpUserData] public class RocketLeagueDataModel : IDataModel { public int Boost { get; set; } diff --git a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionDataModel.cs b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionDataModel.cs index f5a372e85..8411289d1 100644 --- a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionDataModel.cs +++ b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionDataModel.cs @@ -1,14 +1,11 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Games.TheDivision { + [MoonSharpUserData] public class TheDivisionDataModel : IDataModel { - public TheDivisionDataModel() - { - TestyTest = new TestTest(); - } - public PlayerState PartyMember1 { get; set; } public PlayerState PartyMember2 { get; set; } public PlayerState PartyMember3 { get; set; } @@ -16,17 +13,8 @@ namespace Artemis.Modules.Games.TheDivision public bool LowAmmo { get; set; } public bool LowHp { get; set; } public GrenadeState GrenadeState { get; set; } - - public TestTest TestyTest { get; set; } } - - - public class TestTest - { - public string TestS { get; set; } - public int TestI { get; set; } - } - + public enum GrenadeState { HasGrenade, diff --git a/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentDataModel.cs b/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentDataModel.cs index f1971d73f..d11a0f530 100644 --- a/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentDataModel.cs +++ b/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentDataModel.cs @@ -1,9 +1,11 @@ using System.ComponentModel; using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; using Newtonsoft.Json; namespace Artemis.Modules.Games.UnrealTournament { + [MoonSharpUserData] public class UnrealTournamentDataModel : IDataModel { public State State { get; set; } @@ -19,6 +21,7 @@ namespace Artemis.Modules.Games.UnrealTournament Dead } + [MoonSharpUserData] public class Player { public int Health { get; set; } @@ -41,6 +44,7 @@ namespace Artemis.Modules.Games.UnrealTournament MonsterKill = 5 } + [MoonSharpUserData] public class PlayerState { public string PlayerName { get; set; } @@ -72,6 +76,7 @@ namespace Artemis.Modules.Games.UnrealTournament public int No_Showdowns { get; set; } } + [MoonSharpUserData] public class Inventory { public bool HasJumpBoots { get; set; } @@ -84,6 +89,7 @@ namespace Artemis.Modules.Games.UnrealTournament public bool HasHelmet { get; set; } } + [MoonSharpUserData] public class Weapon { public string Name { get; set; } @@ -102,6 +108,7 @@ namespace Artemis.Modules.Games.UnrealTournament ZoomingOut = 2 } + [MoonSharpUserData] public class Environment { public string GameMode { get; set; } diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3DataModel.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3DataModel.cs index e153ad6bd..35c1c9e8f 100644 --- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3DataModel.cs +++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3DataModel.cs @@ -1,7 +1,9 @@ using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; namespace Artemis.Modules.Games.Witcher3 { + [MoonSharpUserData] public class Witcher3DataModel : IDataModel { public WitcherSign WitcherSign { get; set; } diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs new file mode 100644 index 000000000..58b78b300 --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs @@ -0,0 +1,9 @@ +using System.Windows.Media; + +namespace Artemis.Profiles.Lua.Brushes +{ + public interface ILuaBrush + { + Brush Brush { get; set; } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs new file mode 100644 index 000000000..01c9819e3 --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs @@ -0,0 +1,25 @@ +using System.Windows.Media; +using MoonSharp.Interpreter; + +namespace Artemis.Profiles.Lua.Brushes +{ + [MoonSharpUserData] + public class LuaLinearGradientBrush : ILuaBrush + { + // ReSharper disable once SuggestBaseTypeForParameter + public LuaLinearGradientBrush(LinearGradientBrush linearGradientBrush) + { + Brush = linearGradientBrush; + } + + private void SetupBrush() + { + // TODO: Convert array of hex code and offset to gradient stop collection + var gradientStop = new GradientStop(); + var collection = new GradientStopCollection(); + Brush = new LinearGradientBrush(); + } + + public Brush Brush { get; set; } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs new file mode 100644 index 000000000..4850362f5 --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs @@ -0,0 +1,17 @@ +using System.Windows.Media; +using MoonSharp.Interpreter; + +namespace Artemis.Profiles.Lua.Brushes +{ + [MoonSharpUserData] + public class LuaRadialGradientBrush : ILuaBrush + { + // ReSharper disable once SuggestBaseTypeForParameter + public LuaRadialGradientBrush(RadialGradientBrush radialGradientBrush) + { + Brush = radialGradientBrush; + } + + public Brush Brush { get; set; } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs new file mode 100644 index 000000000..c9179fcc9 --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs @@ -0,0 +1,49 @@ +using System.Windows.Media; +using MoonSharp.Interpreter; +using MoonSharp.Interpreter.Interop; + +namespace Artemis.Profiles.Lua.Brushes +{ + [MoonSharpUserData] + public class LuaSolidColorBrush : ILuaBrush + { + // ReSharper disable once SuggestBaseTypeForParameter + public LuaSolidColorBrush(SolidColorBrush solidColorBrush) + { + Brush = solidColorBrush; + } + + public LuaSolidColorBrush(string hexCode) + { + SetupBrush(hexCode); + } + + public string HexCode + { + get + { + var c = ((SolidColorBrush) Brush).Color; + return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); + } + set { SetupBrush(value); } + } + + [MoonSharpVisible(false)] + public Brush Brush { get; set; } + + private void SetupBrush(string hexCode) + { + var convertFromString = ColorConverter.ConvertFromString(hexCode); + if (convertFromString != null) + { + var col = (Color) convertFromString; + Brush = new SolidColorBrush(col); + Brush.Freeze(); + } + else + { + Brush = null; + } + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs new file mode 100644 index 000000000..032da035b --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs @@ -0,0 +1,24 @@ +using Artemis.Profiles.Lua.Brushes; +using MoonSharp.Interpreter; + +namespace Artemis.Profiles.Lua +{ + [MoonSharpUserData] + public class LuaBrushWrapper + { + public static LuaSolidColorBrush GetSolidColorBrush(string hexCode) + { + return new LuaSolidColorBrush(hexCode); + } + + public static LuaSolidColorBrush GetLinearGradientBrush(string hexCode) + { + return new LuaSolidColorBrush(hexCode); + } + + public static LuaSolidColorBrush GetRadialGradientBrush(string hexCode) + { + return new LuaSolidColorBrush(hexCode); + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs new file mode 100644 index 000000000..a49d6c6c1 --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs @@ -0,0 +1,26 @@ +using System.Runtime.InteropServices; +using System.Windows; +using System.Windows.Media; +using Artemis.Profiles.Lua.Brushes; +using MoonSharp.Interpreter; +using Pen = System.Windows.Media.Pen; + +namespace Artemis.Profiles.Lua +{ + [MoonSharpUserData] + public class LuaDrawWrapper + { + private readonly DrawingContext _ctx; + + public LuaDrawWrapper(DrawingContext ctx) + { + _ctx = ctx; + } + + public void DrawCircle(ILuaBrush luaBrush, double x, double y, double height, double width) + { + var center = new Point(x + width/2, y + height/2); + _ctx.DrawEllipse(luaBrush.Brush, new Pen(), center, width, height); + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs index 68d740b85..aa6ebcb0a 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs @@ -1,9 +1,97 @@ -using MoonSharp.Interpreter; +using System; +using System.Windows.Media; +using Artemis.Models.Interfaces; +using MoonSharp.Interpreter; +using NLog; namespace Artemis.Profiles.Lua { [MoonSharpUserData] public class LuaEventsWrapper { + private readonly Logger _logger = LogManager.GetCurrentClassLogger(); + public event EventHandler LuaProfileUpdating; + public event EventHandler LuaProfileDrawing; + + internal void InvokeProfileUpdate(ProfileModel profileModel, IDataModel dataModel, bool preview) + { + OnLuaProfileUpdating(new LuaProfileWrapper(profileModel), + new LuaProfileUpdatingEventArgs(dataModel, preview)); + } + + internal void InvokeProfileDraw(ProfileModel profileModel, IDataModel dataModel, bool preview, DrawingContext c) + { + OnLuaProfileDrawing(new LuaProfileWrapper(profileModel), + new LuaProfileDrawingEventArgs(dataModel, preview, new LuaDrawWrapper(c))); + } + + + protected virtual void OnLuaProfileUpdating(LuaProfileWrapper profileModel, LuaProfileUpdatingEventArgs e) + { + try + { + LuaProfileUpdating?.Invoke(profileModel, e); + } + catch (InternalErrorException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + catch (SyntaxErrorException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + catch (ScriptRuntimeException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + } + + protected virtual void OnLuaProfileDrawing(LuaProfileWrapper profileModel, LuaProfileDrawingEventArgs e) + { + try + { + LuaProfileDrawing?.Invoke(profileModel, e); + } + catch (InternalErrorException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + catch (SyntaxErrorException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + catch (ScriptRuntimeException ex) + { + _logger.Error(ex, "[{0}-LUA]: Error: {1}", profileModel.Name, ex.DecoratedMessage); + } + } + } + + [MoonSharpUserData] + public class LuaProfileUpdatingEventArgs : EventArgs + { + public LuaProfileUpdatingEventArgs(IDataModel dataModel, bool preview) + { + DataModel = dataModel; + Preview = preview; + } + + public IDataModel DataModel { get; } + public bool Preview { get; } + } + + [MoonSharpUserData] + public class LuaProfileDrawingEventArgs : EventArgs + { + public LuaProfileDrawingEventArgs(IDataModel dataModel, bool preview, LuaDrawWrapper luaDrawWrapper) + { + DataModel = dataModel; + Preview = preview; + Drawing = luaDrawWrapper; + } + + public IDataModel DataModel { get; } + public bool Preview { get; } + public LuaDrawWrapper Drawing { get; set; } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index 634db40b0..a7a09aa4a 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -1,10 +1,11 @@ using System; using System.IO; +using System.Text; +using Artemis.DAL; using Artemis.Properties; using Castle.Core.Internal; using MoonSharp.Interpreter; using NLog; -using NuGet; namespace Artemis.Profiles.Lua { @@ -16,25 +17,25 @@ namespace Artemis.Profiles.Lua { ProfileModel = profileModel; LuaProfileWrapper = new LuaProfileWrapper(ProfileModel); - LuaEventsWrapper = new LuaEventsWrapper(); - + LuaBrushWrapper = new LuaBrushWrapper(); SetupLuaScript(); } - + public ProfileModel ProfileModel { get; set; } - public LuaEventsWrapper LuaEventsWrapper { get; set; } - + public LuaBrushWrapper LuaBrushWrapper { get; set; } public LuaProfileWrapper LuaProfileWrapper { get; set; } - public Script LuaScript { get; set; } private void SetupLuaScript() { + LuaEventsWrapper = new LuaEventsWrapper(); LuaScript = new Script(CoreModules.Preset_SoftSandbox); + LuaScript.Options.DebugPrint = LuaPrint; LuaScript.Globals["Profile"] = LuaProfileWrapper; LuaScript.Globals["Events"] = LuaEventsWrapper; + LuaScript.Globals["Brushes"] = LuaBrushWrapper; if (ProfileModel.LuaScript.IsNullOrEmpty()) return; @@ -43,6 +44,14 @@ namespace Artemis.Profiles.Lua { LuaScript.DoString(ProfileModel.LuaScript); } + catch (InternalErrorException e) + { + Logger.Error(e, "[{0}-LUA]: Error: {1}", ProfileModel.Name, e.DecoratedMessage); + } + catch (SyntaxErrorException e) + { + Logger.Error(e, "[{0}-LUA]: Error: {1}", ProfileModel.Name, e.DecoratedMessage); + } catch (ScriptRuntimeException e) { Logger.Error(e, "[{0}-LUA]: Error: {1}", ProfileModel.Name, e.DecoratedMessage); @@ -69,7 +78,7 @@ namespace Artemis.Profiles.Lua // Add instructions to LUA script if it's a new file if (ProfileModel.LuaScript.IsNullOrEmpty()) - ProfileModel.LuaScript = Resources.lua_placeholder; + ProfileModel.LuaScript = Encoding.UTF8.GetString(Resources.lua_placeholder); File.WriteAllText(Path.GetTempPath() + fileName, ProfileModel.LuaScript); // Watch the file for changes @@ -95,7 +104,7 @@ namespace Artemis.Profiles.Lua } } - DAL.ProfileProvider.AddOrUpdate(ProfileModel); + ProfileProvider.AddOrUpdate(ProfileModel); SetupLuaScript(); } diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index 3b0e01f68..f77741a12 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -26,7 +26,7 @@ namespace Artemis.Profiles LuaWrapper = new LuaWrapper(this); DrawingVisual = new DrawingVisual(); } - + /// /// Indicates whether the profile is actively being rendered /// @@ -111,18 +111,22 @@ namespace Artemis.Profiles bool preview, bool updateAnimations) { var visual = new DrawingVisual(); + var layerModels = renderLayers.ToList(); using (var c = visual.RenderOpen()) { // Setup the DrawingVisual's size c.PushClip(new RectangleGeometry(rect)); c.DrawRectangle(new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)), null, rect); - // Draw the layers - foreach (var layerModel in renderLayers) - { + // Update the layers + foreach (var layerModel in layerModels) layerModel.Update(dataModel, preview, updateAnimations); + LuaWrapper?.LuaEventsWrapper?.InvokeProfileUpdate(this, dataModel, preview); + + // Draw the layers + foreach (var layerModel in layerModels) layerModel.Draw(dataModel, c, preview, updateAnimations); - } + LuaWrapper?.LuaEventsWrapper?.InvokeProfileDraw(this, dataModel, preview, c); // Remove the clip c.Pop(); diff --git a/Artemis/Artemis/Properties/Resources.Designer.cs b/Artemis/Artemis/Properties/Resources.Designer.cs index 39ed3e2b9..f9f421337 100644 --- a/Artemis/Artemis/Properties/Resources.Designer.cs +++ b/Artemis/Artemis/Properties/Resources.Designer.cs @@ -309,11 +309,12 @@ namespace Artemis.Properties { } /// - /// Looks up a localized string similar to . + /// Looks up a localized resource of type System.Byte[]. /// - internal static string lua_placeholder { + internal static byte[] lua_placeholder { get { - return ResourceManager.GetString("lua-placeholder", resourceCulture); + object obj = ResourceManager.GetObject("lua_placeholder", resourceCulture); + return ((byte[])(obj)); } } diff --git a/Artemis/Artemis/Properties/Resources.resx b/Artemis/Artemis/Properties/Resources.resx index 555a4ee25..537017134 100644 --- a/Artemis/Artemis/Properties/Resources.resx +++ b/Artemis/Artemis/Properties/Resources.resx @@ -208,7 +208,7 @@ ..\Resources\audio.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\lua-placeholder.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + ..\Resources\lua-placeholder.lua;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 \ No newline at end of file diff --git a/Artemis/Artemis/Resources/lua-placeholder.lua b/Artemis/Artemis/Resources/lua-placeholder.lua new file mode 100644 index 000000000..15bbabfa5 --- /dev/null +++ b/Artemis/Artemis/Resources/lua-placeholder.lua @@ -0,0 +1,40 @@ +---------------------------------------------------------------------------------- +-------------------------------- Artemis LUA file -------------------------------- +---------------------------------------------------------------------------------- + +-- This is a default script to be executed by Artemis. +-- You do not need to use this if you don't want to script. The default profiles +-- should provide you with a lot of functionality out of the box. +-- However, if you wan't to change the way profiles work, this is the ideal way +-- go about it. + +-- For docs and examples, see wiki: https://github.com/SpoinkyNL/Artemis/wiki/LUA + +-- Note: You are editing a temporary file. Whenever you save this file the +-- changes are applied to the profile and the script restarted. + +-- This event is raised after every profile update, before drawing. +function updateHandler(profile, eventArgs) + -- Don't do anything when previewing. You can ofcourse remove this if you want + if eventArgs.Preview == true then + return + end + + -- Custom update code here +end + +-- This event is raised after every profile draw, after updating. +function drawHandler(profile, eventArgs) + -- Don't do anything when previewing. You can ofcourse remove this if you want + if eventArgs.Preview == true then + return + end + + -- Custom draw code here +end + + +-- Register the default events, you can rename/remove these if you so desire. +-- These events are raised every 40 ms (25 times a second). +Events.LuaProfileUpdating.add(updateHandler); +Events.LuaProfileDrawing.add(drawHandler); \ No newline at end of file diff --git a/Artemis/Artemis/Resources/lua-placeholder.txt b/Artemis/Artemis/Resources/lua-placeholder.txt deleted file mode 100644 index 7641d7eff..000000000 --- a/Artemis/Artemis/Resources/lua-placeholder.txt +++ /dev/null @@ -1,12 +0,0 @@ --------------------------------------------------------------------------------- -------------------------------- Artemis LUA file ------------------------------- --------------------------------------------------------------------------------- - --- This is a default script to be executed by Artemis. --- You do not need to use this if you don't want to script. The default profiles --- should provide you with a lot of functionality out of the box. --- However, if you wan't to change the way profiles work, this is the ideal way --- go about it. - --- Note: You are editing a temporary file. Whenever you save this file the --- changes are applied to the profile and the script restarted. \ No newline at end of file From 2bd21bfc0e18e0bd4e7aeb34b63bb3c43c466c00 Mon Sep 17 00:00:00 2001 From: Robert Beekman Date: Thu, 27 Oct 2016 21:32:14 +0200 Subject: [PATCH 08/49] LUA Brush expansions --- Artemis/Artemis/Artemis.csproj | 2 +- .../Logitech/LogitechKeyboard.cs | 6 +- .../Artemis/Profiles/Lua/Brushes/ILuaBrush.cs | 9 -- .../Artemis/Profiles/Lua/Brushes/LuaBrush.cs | 13 +++ .../Lua/Brushes/LuaLinearGradientBrush.cs | 98 +++++++++++++++++-- .../Lua/Brushes/LuaRadialGradientBrush.cs | 23 ++++- .../Lua/Brushes/LuaSolidColorBrush.cs | 47 +++++---- .../Artemis/Profiles/Lua/LuaBrushWrapper.cs | 21 ++-- .../Artemis/Profiles/Lua/LuaDrawWrapper.cs | 2 +- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 2 +- Artemis/Artemis/Utilities/ColorHelpers.cs | 15 +++ 11 files changed, 180 insertions(+), 58 deletions(-) delete mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs create mode 100644 Artemis/Artemis/Profiles/Lua/Brushes/LuaBrush.cs diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 68945023b..6654080aa 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -414,7 +414,7 @@ - + diff --git a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs index ac6a96f0d..a4f65af0b 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs @@ -16,9 +16,9 @@ namespace Artemis.DeviceProviders.Logitech @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}") == null) { CantEnableText = "Couldn't connect to your Logitech keyboard.\n" + - "The Visual C++ 2012 Redistributable could not be found, which is required.\n" + - "Please download it by going to the following URL:\n\n" + - "https://www.microsoft.com/download/confirmation.aspx?id=30679"; + "The Visual C++ 2012 Redistributable v11.0.61030.0 could not be found, which is required.\n" + + "Please download it by going to the following URL (link also in wiki):\n\n" + + "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe"; return false; } diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs deleted file mode 100644 index 58b78b300..000000000 --- a/Artemis/Artemis/Profiles/Lua/Brushes/ILuaBrush.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Windows.Media; - -namespace Artemis.Profiles.Lua.Brushes -{ - public interface ILuaBrush - { - Brush Brush { get; set; } - } -} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaBrush.cs new file mode 100644 index 000000000..f8b5273db --- /dev/null +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaBrush.cs @@ -0,0 +1,13 @@ +using System.Windows.Media; +using MoonSharp.Interpreter; +using MoonSharp.Interpreter.Interop; + +namespace Artemis.Profiles.Lua.Brushes +{ + [MoonSharpUserData] + public abstract class LuaBrush + { + [MoonSharpVisible(false)] + public Brush Brush { get; set; } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs index 01c9819e3..3c934e165 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs @@ -1,25 +1,105 @@ -using System.Windows.Media; +using System.Linq; +using System.Windows; +using System.Windows.Media; +using Artemis.Utilities; using MoonSharp.Interpreter; +using MoonSharp.Interpreter.Interop; namespace Artemis.Profiles.Lua.Brushes { [MoonSharpUserData] - public class LuaLinearGradientBrush : ILuaBrush + public class LuaLinearGradientBrush : LuaBrush { - // ReSharper disable once SuggestBaseTypeForParameter + private readonly Script _script; + private LinearGradientBrush _brush; + public LuaLinearGradientBrush(LinearGradientBrush linearGradientBrush) { Brush = linearGradientBrush; } - private void SetupBrush() + public LuaLinearGradientBrush(Script script, Table gradientColors, double startX = 0.5, double startY = 0.0, + double endX = 0.5, double endY = 1.0) { - // TODO: Convert array of hex code and offset to gradient stop collection - var gradientStop = new GradientStop(); - var collection = new GradientStopCollection(); - Brush = new LinearGradientBrush(); + _script = script; + SetupBrush(gradientColors, startX, startY, endX, endY); } - public Brush Brush { get; set; } + /// + /// The underlying brush + /// + [MoonSharpVisible(false)] + public new LinearGradientBrush Brush + { + get { return _brush; } + set + { + _brush = value; + _brush.Freeze(); + } + } + + /// + /// Gets or sets the Brush's GradientStops using a LUA table + /// + public Table Colors + { + get { return CreateGradientTable(); } + set + { + var updatedBrush = Brush.CloneCurrentValue(); + updatedBrush.GradientStops = CreateGradientCollection(value); + Brush = updatedBrush; + } + } + + /// + /// Configures the brush according to the provided values usable in LUA + /// + /// + /// + /// + /// + /// + private void SetupBrush(Table gradientColors, double startX, double startY, double endX, double endY) + { + var collection = CreateGradientCollection(gradientColors); + Brush = new LinearGradientBrush(collection, new Point(startX, startY), new Point(endX, endY)); + } + + /// + /// Maps a LUA table to a GradientStopsCollection + /// + /// + /// + private GradientStopCollection CreateGradientCollection(Table gradientColors) + { + var collection = new GradientStopCollection(); + foreach (var gradientColor in gradientColors.Values) + { + var pair = gradientColor.Table.Values.ToList(); + var hexCode = pair[0].String; + var position = pair[1].Number; + collection.Add(new GradientStop(new Color().FromHex(hexCode), position)); + } + return collection; + } + + /// + /// Maps the current brush's GradientStopsCollection to a LUA table + /// + /// + private Table CreateGradientTable() + { + var table = new Table(_script); + foreach (var gradientStop in Brush.GradientStops) + { + var inner = new Table(_script); + inner.Append(DynValue.NewString(gradientStop.Color.ToHex())); + inner.Append(DynValue.NewNumber(gradientStop.Offset)); + table.Append(DynValue.NewTable(inner)); + } + return table; + } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs index 4850362f5..7e692e73f 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs @@ -1,17 +1,34 @@ using System.Windows.Media; using MoonSharp.Interpreter; +using MoonSharp.Interpreter.Interop; namespace Artemis.Profiles.Lua.Brushes { [MoonSharpUserData] - public class LuaRadialGradientBrush : ILuaBrush + public class LuaRadialGradientBrush : LuaBrush { - // ReSharper disable once SuggestBaseTypeForParameter + private RadialGradientBrush _brush; + public LuaRadialGradientBrush(RadialGradientBrush radialGradientBrush) { Brush = radialGradientBrush; } - public Brush Brush { get; set; } + [MoonSharpVisible(false)] + public new RadialGradientBrush Brush + { + get { return _brush; } + set + { + _brush = value; + _brush.Freeze(); + } + } + + public Table Colors + { + get { throw new System.NotImplementedException(); } + set { throw new System.NotImplementedException(); } + } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs index c9179fcc9..022859610 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs @@ -1,13 +1,15 @@ using System.Windows.Media; +using Artemis.Utilities; using MoonSharp.Interpreter; using MoonSharp.Interpreter.Interop; namespace Artemis.Profiles.Lua.Brushes { [MoonSharpUserData] - public class LuaSolidColorBrush : ILuaBrush + public class LuaSolidColorBrush : LuaBrush { - // ReSharper disable once SuggestBaseTypeForParameter + private SolidColorBrush _brush; + public LuaSolidColorBrush(SolidColorBrush solidColorBrush) { Brush = solidColorBrush; @@ -15,35 +17,30 @@ namespace Artemis.Profiles.Lua.Brushes public LuaSolidColorBrush(string hexCode) { - SetupBrush(hexCode); - } - - public string HexCode - { - get - { - var c = ((SolidColorBrush) Brush).Color; - return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); - } - set { SetupBrush(value); } + Brush = new SolidColorBrush(new Color().FromHex(hexCode)); } + /// + /// The underlying brush + /// [MoonSharpVisible(false)] - public Brush Brush { get; set; } - - private void SetupBrush(string hexCode) + public new SolidColorBrush Brush { - var convertFromString = ColorConverter.ConvertFromString(hexCode); - if (convertFromString != null) + get { return _brush; } + set { - var col = (Color) convertFromString; - Brush = new SolidColorBrush(col); - Brush.Freeze(); - } - else - { - Brush = null; + _brush = value; + _brush.Freeze(); } } + + /// + /// Gets or sets the brush's color using a hex notation + /// + public string Color + { + get { return Brush.Color.ToHex(); } + set { Brush = new SolidColorBrush(new Color().FromHex(value)); } + } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs index 032da035b..5dcdcba8c 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs @@ -1,4 +1,5 @@ -using Artemis.Profiles.Lua.Brushes; +using System.Windows.Media; +using Artemis.Profiles.Lua.Brushes; using MoonSharp.Interpreter; namespace Artemis.Profiles.Lua @@ -6,17 +7,25 @@ namespace Artemis.Profiles.Lua [MoonSharpUserData] public class LuaBrushWrapper { - public static LuaSolidColorBrush GetSolidColorBrush(string hexCode) + private readonly Script _script; + + public LuaBrushWrapper(Script script) { - return new LuaSolidColorBrush(hexCode); + _script = script; } - public static LuaSolidColorBrush GetLinearGradientBrush(string hexCode) + public LuaRadialGradientBrush GetSolidColorBrush(string hexCode) { - return new LuaSolidColorBrush(hexCode); + return new LuaRadialGradientBrush(new RadialGradientBrush()); } - public static LuaSolidColorBrush GetRadialGradientBrush(string hexCode) + public LuaLinearGradientBrush GetLinearGradientBrush(Table gradientColors, + double startX = 0.5, double startY = 0.0, double endX = 0.5, double endY = 1.0) + { + return new LuaLinearGradientBrush(_script, gradientColors, startX, startY, endX, endY); + } + + public LuaSolidColorBrush GetRadialGradientBrush(string hexCode) { return new LuaSolidColorBrush(hexCode); } diff --git a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs index a49d6c6c1..e7a6327e8 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs @@ -17,7 +17,7 @@ namespace Artemis.Profiles.Lua _ctx = ctx; } - public void DrawCircle(ILuaBrush luaBrush, double x, double y, double height, double width) + public void DrawCircle(LuaBrush luaBrush, double x, double y, double height, double width) { var center = new Point(x + width/2, y + height/2); _ctx.DrawEllipse(luaBrush.Brush, new Pen(), center, width, height); diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index a7a09aa4a..54a894599 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -17,7 +17,7 @@ namespace Artemis.Profiles.Lua { ProfileModel = profileModel; LuaProfileWrapper = new LuaProfileWrapper(ProfileModel); - LuaBrushWrapper = new LuaBrushWrapper(); + LuaBrushWrapper = new LuaBrushWrapper(LuaScript); SetupLuaScript(); } diff --git a/Artemis/Artemis/Utilities/ColorHelpers.cs b/Artemis/Artemis/Utilities/ColorHelpers.cs index a6adeaf35..812fac2bd 100644 --- a/Artemis/Artemis/Utilities/ColorHelpers.cs +++ b/Artemis/Artemis/Utilities/ColorHelpers.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Windows.Media; using Brush = System.Windows.Media.Brush; using Color = System.Drawing.Color; +using ColorConverter = System.Windows.Media.ColorConverter; namespace Artemis.Utilities { @@ -47,6 +48,20 @@ namespace Artemis.Utilities return returnColor; } + public static System.Windows.Media.Color FromHex(this System.Windows.Media.Color c, string hex) + { + var convertFromString = ColorConverter.ConvertFromString(hex); + if (convertFromString != null) + return (System.Windows.Media.Color) convertFromString; + + throw new ArgumentException("Invalid hex color code"); + } + + public static string ToHex(this System.Windows.Media.Color c) + { + return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); + } + public static Color ShiftColor(Color c, int shiftAmount) { int newRed = c.R; From f797bc470ac4b0c9db295d84c4ce22933b60b81a Mon Sep 17 00:00:00 2001 From: Robert Beekman Date: Thu, 27 Oct 2016 21:53:18 +0200 Subject: [PATCH 09/49] Final LUA brush implemented --- .../Lua/Brushes/LuaLinearGradientBrush.cs | 19 ++++---- .../Lua/Brushes/LuaRadialGradientBrush.cs | 47 +++++++++++++++++-- .../Artemis/Profiles/Lua/LuaBrushWrapper.cs | 9 ++-- 3 files changed, 58 insertions(+), 17 deletions(-) diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs index 3c934e165..1d2508a2c 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs @@ -13,13 +13,14 @@ namespace Artemis.Profiles.Lua.Brushes private readonly Script _script; private LinearGradientBrush _brush; - public LuaLinearGradientBrush(LinearGradientBrush linearGradientBrush) + public LuaLinearGradientBrush(Script script, LinearGradientBrush linearGradientBrush) { + _script = script; Brush = linearGradientBrush; } - public LuaLinearGradientBrush(Script script, Table gradientColors, double startX = 0.5, double startY = 0.0, - double endX = 0.5, double endY = 1.0) + public LuaLinearGradientBrush(Script script, Table gradientColors, + double startX, double startY, double endX, double endY) { _script = script; SetupBrush(gradientColors, startX, startY, endX, endY); @@ -44,7 +45,7 @@ namespace Artemis.Profiles.Lua.Brushes /// public Table Colors { - get { return CreateGradientTable(); } + get { return CreateGradientTable(_script, Brush.GradientStops); } set { var updatedBrush = Brush.CloneCurrentValue(); @@ -72,7 +73,7 @@ namespace Artemis.Profiles.Lua.Brushes /// /// /// - private GradientStopCollection CreateGradientCollection(Table gradientColors) + public static GradientStopCollection CreateGradientCollection(Table gradientColors) { var collection = new GradientStopCollection(); foreach (var gradientColor in gradientColors.Values) @@ -89,12 +90,12 @@ namespace Artemis.Profiles.Lua.Brushes /// Maps the current brush's GradientStopsCollection to a LUA table /// /// - private Table CreateGradientTable() + public static Table CreateGradientTable(Script script, GradientStopCollection gradientStops) { - var table = new Table(_script); - foreach (var gradientStop in Brush.GradientStops) + var table = new Table(script); + foreach (var gradientStop in gradientStops) { - var inner = new Table(_script); + var inner = new Table(script); inner.Append(DynValue.NewString(gradientStop.Color.ToHex())); inner.Append(DynValue.NewNumber(gradientStop.Offset)); table.Append(DynValue.NewTable(inner)); diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs index 7e692e73f..89de10cbb 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs @@ -1,4 +1,5 @@ -using System.Windows.Media; +using System.Windows; +using System.Windows.Media; using MoonSharp.Interpreter; using MoonSharp.Interpreter.Interop; @@ -7,13 +8,25 @@ namespace Artemis.Profiles.Lua.Brushes [MoonSharpUserData] public class LuaRadialGradientBrush : LuaBrush { + private readonly Script _script; private RadialGradientBrush _brush; - public LuaRadialGradientBrush(RadialGradientBrush radialGradientBrush) + public LuaRadialGradientBrush(Script script, RadialGradientBrush radialGradientBrush) { + _script = script; Brush = radialGradientBrush; } + public LuaRadialGradientBrush(Script script, Table gradientColors, + double centerX, double centerY, double originX, double originY) + { + _script = script; + SetupBrush(gradientColors, centerX, centerY, originX, originY); + } + + /// + /// The underlying brush + /// [MoonSharpVisible(false)] public new RadialGradientBrush Brush { @@ -25,10 +38,36 @@ namespace Artemis.Profiles.Lua.Brushes } } + /// + /// Gets or sets the Brush's GradientStops using a LUA table + /// public Table Colors { - get { throw new System.NotImplementedException(); } - set { throw new System.NotImplementedException(); } + get { return LuaLinearGradientBrush.CreateGradientTable(_script, Brush.GradientStops); } + set + { + var updatedBrush = Brush.CloneCurrentValue(); + updatedBrush.GradientStops = LuaLinearGradientBrush.CreateGradientCollection(value); + Brush = updatedBrush; + } + } + + /// + /// Configures the brush according to the provided values usable in LUA + /// + /// + /// + /// + /// + /// + private void SetupBrush(Table gradientColors, double centerX, double centerY, double originX, double originY) + { + var collection = LuaLinearGradientBrush.CreateGradientCollection(gradientColors); + Brush = new RadialGradientBrush(collection) + { + Center = new Point(centerX, centerY), + GradientOrigin = new Point(originX, originY) + }; } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs index 5dcdcba8c..005ed0d35 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs @@ -1,5 +1,4 @@ -using System.Windows.Media; -using Artemis.Profiles.Lua.Brushes; +using Artemis.Profiles.Lua.Brushes; using MoonSharp.Interpreter; namespace Artemis.Profiles.Lua @@ -14,9 +13,11 @@ namespace Artemis.Profiles.Lua _script = script; } - public LuaRadialGradientBrush GetSolidColorBrush(string hexCode) + // TODO: Check default values + public LuaRadialGradientBrush GetSolidColorBrush(Table gradientColors, + double centerX = 0.5, double centerY = 0.5, double originX = 0.5, double originY = 0.5) { - return new LuaRadialGradientBrush(new RadialGradientBrush()); + return new LuaRadialGradientBrush(_script, gradientColors, centerX, centerY, originX, originY); } public LuaLinearGradientBrush GetLinearGradientBrush(Table gradientColors, From a9194e6906a1f563129770a12932654f50b30c10 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Fri, 28 Oct 2016 22:47:31 +0200 Subject: [PATCH 10/49] Brushed up brushes --- .../Lua/Brushes/LuaLinearGradientBrush.cs | 13 +++++---- .../Lua/Brushes/LuaRadialGradientBrush.cs | 13 +++++---- .../Lua/Brushes/LuaSolidColorBrush.cs | 11 ++++---- .../Artemis/Profiles/Lua/LuaBrushWrapper.cs | 14 +++++----- .../Artemis/Profiles/Lua/LuaDrawWrapper.cs | 28 +++++++++++++++++-- .../Artemis/Profiles/Lua/LuaEventsWrapper.cs | 20 +++++++++++-- 6 files changed, 70 insertions(+), 29 deletions(-) diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs index 1d2508a2c..a9787fbe4 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaLinearGradientBrush.cs @@ -16,7 +16,7 @@ namespace Artemis.Profiles.Lua.Brushes public LuaLinearGradientBrush(Script script, LinearGradientBrush linearGradientBrush) { _script = script; - Brush = linearGradientBrush; + LinearGradientBrush = linearGradientBrush; } public LuaLinearGradientBrush(Script script, Table gradientColors, @@ -30,13 +30,14 @@ namespace Artemis.Profiles.Lua.Brushes /// The underlying brush /// [MoonSharpVisible(false)] - public new LinearGradientBrush Brush + public LinearGradientBrush LinearGradientBrush { get { return _brush; } set { _brush = value; _brush.Freeze(); + Brush = _brush; } } @@ -45,12 +46,12 @@ namespace Artemis.Profiles.Lua.Brushes /// public Table Colors { - get { return CreateGradientTable(_script, Brush.GradientStops); } + get { return CreateGradientTable(_script, LinearGradientBrush.GradientStops); } set { - var updatedBrush = Brush.CloneCurrentValue(); + var updatedBrush = LinearGradientBrush.CloneCurrentValue(); updatedBrush.GradientStops = CreateGradientCollection(value); - Brush = updatedBrush; + LinearGradientBrush = updatedBrush; } } @@ -65,7 +66,7 @@ namespace Artemis.Profiles.Lua.Brushes private void SetupBrush(Table gradientColors, double startX, double startY, double endX, double endY) { var collection = CreateGradientCollection(gradientColors); - Brush = new LinearGradientBrush(collection, new Point(startX, startY), new Point(endX, endY)); + LinearGradientBrush = new LinearGradientBrush(collection, new Point(startX, startY), new Point(endX, endY)); } /// diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs index 89de10cbb..b698d86b7 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaRadialGradientBrush.cs @@ -14,7 +14,7 @@ namespace Artemis.Profiles.Lua.Brushes public LuaRadialGradientBrush(Script script, RadialGradientBrush radialGradientBrush) { _script = script; - Brush = radialGradientBrush; + RadialGradientBrush = radialGradientBrush; } public LuaRadialGradientBrush(Script script, Table gradientColors, @@ -28,13 +28,14 @@ namespace Artemis.Profiles.Lua.Brushes /// The underlying brush /// [MoonSharpVisible(false)] - public new RadialGradientBrush Brush + public RadialGradientBrush RadialGradientBrush { get { return _brush; } set { _brush = value; _brush.Freeze(); + Brush = _brush; } } @@ -43,12 +44,12 @@ namespace Artemis.Profiles.Lua.Brushes /// public Table Colors { - get { return LuaLinearGradientBrush.CreateGradientTable(_script, Brush.GradientStops); } + get { return LuaLinearGradientBrush.CreateGradientTable(_script, RadialGradientBrush.GradientStops); } set { - var updatedBrush = Brush.CloneCurrentValue(); + var updatedBrush = RadialGradientBrush.CloneCurrentValue(); updatedBrush.GradientStops = LuaLinearGradientBrush.CreateGradientCollection(value); - Brush = updatedBrush; + RadialGradientBrush = updatedBrush; } } @@ -63,7 +64,7 @@ namespace Artemis.Profiles.Lua.Brushes private void SetupBrush(Table gradientColors, double centerX, double centerY, double originX, double originY) { var collection = LuaLinearGradientBrush.CreateGradientCollection(gradientColors); - Brush = new RadialGradientBrush(collection) + RadialGradientBrush = new RadialGradientBrush(collection) { Center = new Point(centerX, centerY), GradientOrigin = new Point(originX, originY) diff --git a/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs index 022859610..9124d2d96 100644 --- a/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs +++ b/Artemis/Artemis/Profiles/Lua/Brushes/LuaSolidColorBrush.cs @@ -12,25 +12,26 @@ namespace Artemis.Profiles.Lua.Brushes public LuaSolidColorBrush(SolidColorBrush solidColorBrush) { - Brush = solidColorBrush; + SolidColorBrush = solidColorBrush; } public LuaSolidColorBrush(string hexCode) { - Brush = new SolidColorBrush(new Color().FromHex(hexCode)); + SolidColorBrush = new SolidColorBrush(new Color().FromHex(hexCode)); } /// /// The underlying brush /// [MoonSharpVisible(false)] - public new SolidColorBrush Brush + public SolidColorBrush SolidColorBrush { get { return _brush; } set { _brush = value; _brush.Freeze(); + Brush = _brush; } } @@ -39,8 +40,8 @@ namespace Artemis.Profiles.Lua.Brushes /// public string Color { - get { return Brush.Color.ToHex(); } - set { Brush = new SolidColorBrush(new Color().FromHex(value)); } + get { return SolidColorBrush.Color.ToHex(); } + set { SolidColorBrush = new SolidColorBrush(new Color().FromHex(value)); } } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs index 005ed0d35..3b899914a 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaBrushWrapper.cs @@ -13,22 +13,22 @@ namespace Artemis.Profiles.Lua _script = script; } - // TODO: Check default values - public LuaRadialGradientBrush GetSolidColorBrush(Table gradientColors, - double centerX = 0.5, double centerY = 0.5, double originX = 0.5, double originY = 0.5) + public LuaSolidColorBrush GetSolidColorBrush(string hexCode) { - return new LuaRadialGradientBrush(_script, gradientColors, centerX, centerY, originX, originY); + return new LuaSolidColorBrush(hexCode); } - + public LuaLinearGradientBrush GetLinearGradientBrush(Table gradientColors, double startX = 0.5, double startY = 0.0, double endX = 0.5, double endY = 1.0) { return new LuaLinearGradientBrush(_script, gradientColors, startX, startY, endX, endY); } - public LuaSolidColorBrush GetRadialGradientBrush(string hexCode) + // TODO: Check default values + public LuaRadialGradientBrush GetRadialGradientBrush(Table gradientColors, + double centerX = 0.5, double centerY = 0.5, double originX = 0.5, double originY = 0.5) { - return new LuaSolidColorBrush(hexCode); + return new LuaRadialGradientBrush(_script, gradientColors, centerX, centerY, originX, originY); } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs index e7a6327e8..4087c849b 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs @@ -1,9 +1,9 @@ -using System.Runtime.InteropServices; +using System.Globalization; +using System.Linq; using System.Windows; using System.Windows.Media; using Artemis.Profiles.Lua.Brushes; using MoonSharp.Interpreter; -using Pen = System.Windows.Media.Pen; namespace Artemis.Profiles.Lua { @@ -17,10 +17,32 @@ namespace Artemis.Profiles.Lua _ctx = ctx; } - public void DrawCircle(LuaBrush luaBrush, double x, double y, double height, double width) + public void DrawEllipse(LuaBrush luaBrush, double x, double y, double height, double width) { var center = new Point(x + width/2, y + height/2); _ctx.DrawEllipse(luaBrush.Brush, new Pen(), center, width, height); } + + public void DrawLine(LuaBrush luaBrush, double startX, double startY, double endX, double endY, + double thickness) + { + _ctx.DrawLine(new Pen(luaBrush.Brush, thickness), new Point(startX, startY), new Point(endX, endY)); + } + + public void DrawRectangle(LuaBrush luaBrush, double x, double y, double height, double width) + { + _ctx.DrawRectangle(luaBrush.Brush, new Pen(), new Rect(x, y, width, height)); + } + + public void DrawText(string text, string fontName, int fontSize, LuaBrush luaBrush, double x, double y) + { + var font = Fonts.SystemTypefaces.FirstOrDefault(f => f.FontFamily.ToString() == fontName); + if (font == null) + throw new ScriptRuntimeException($"Font '{fontName}' not found"); + + var formatted = new FormattedText(text, CultureInfo.InvariantCulture, FlowDirection.LeftToRight, font, + fontSize, luaBrush.Brush); + _ctx.DrawText(formatted, new Point(x, y)); + } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs index aa6ebcb0a..a1d3f8e3b 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaEventsWrapper.cs @@ -15,14 +15,30 @@ namespace Artemis.Profiles.Lua internal void InvokeProfileUpdate(ProfileModel profileModel, IDataModel dataModel, bool preview) { - OnLuaProfileUpdating(new LuaProfileWrapper(profileModel), + try + { + OnLuaProfileUpdating(new LuaProfileWrapper(profileModel), new LuaProfileUpdatingEventArgs(dataModel, preview)); + } + catch (Exception) + { + + } + } internal void InvokeProfileDraw(ProfileModel profileModel, IDataModel dataModel, bool preview, DrawingContext c) { - OnLuaProfileDrawing(new LuaProfileWrapper(profileModel), + try + { + OnLuaProfileDrawing(new LuaProfileWrapper(profileModel), new LuaProfileDrawingEventArgs(dataModel, preview, new LuaDrawWrapper(c))); + } + catch (Exception) + { + + } + } From a982e2861550f48b0398e0a2242e0a97b8315253 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sun, 30 Oct 2016 00:39:05 +0200 Subject: [PATCH 11/49] Memory improvements Increased Corsair key position accuracy Drastically reduced memory usage --- Artemis/Artemis/DAL/ProfileProvider.cs | 267 ++++++++---------- .../Corsair/CorsairKeyboards.cs | 25 +- .../UnrealTournamentViewModel.cs | 31 +- .../Modules/Games/Witcher3/Witcher3Model.cs | 5 +- .../Types/KeyboardGif/KeyboardGifType.cs | 5 +- Artemis/Artemis/Profiles/ProfileModel.cs | 4 - .../Utilities/Keyboard/KeyboardRectangle.cs | 1 + .../Profiles/ProfileEditorViewModel.cs | 96 ++++--- .../Views/Profiles/ProfileEditorView.xaml | 3 +- 9 files changed, 219 insertions(+), 218 deletions(-) diff --git a/Artemis/Artemis/DAL/ProfileProvider.cs b/Artemis/Artemis/DAL/ProfileProvider.cs index 68c33acc7..4fa9b2044 100644 --- a/Artemis/Artemis/DAL/ProfileProvider.cs +++ b/Artemis/Artemis/DAL/ProfileProvider.cs @@ -23,40 +23,28 @@ namespace Artemis.DAL private static readonly string ProfileFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\profiles"; - private static readonly List Profiles = new List(); private static bool _installedDefaults; - /// - /// Get all profiles - /// - /// All profiles - public static List GetAll() + static ProfileProvider() { - lock (Profiles) - { - if (!Profiles.Any()) - ReadProfiles(); - - // Return a new list, this'll make sure removing/updating the retrieved list doesn't - // affect the datastore - return Profiles.ToList(); - } + CheckProfiles(); + InstallDefaults(); } - /// - /// Get all profiles matching the provided game - /// - /// The game to match - /// The keyboard to match - /// All profiles matching the provided game - public static List GetAll(EffectModel game, KeyboardProvider keyboard) + public static List GetProfileNames(KeyboardProvider keyboard, EffectModel effect) { - if (game == null) - throw new ArgumentNullException(nameof(game)); - if (keyboard == null) - throw new ArgumentNullException(nameof(keyboard)); + return ReadProfiles(keyboard.Slug + "/" + effect.Name).Select(p => p.Name).ToList(); + } - return GetAll().Where(g => g.GameName.Equals(game.Name) && g.KeyboardSlug.Equals(keyboard.Slug)).ToList(); + public static ProfileModel GetProfile(KeyboardProvider keyboard, EffectModel effect, string name) + { + return ReadProfiles(keyboard.Slug + "/" + effect.Name).FirstOrDefault(p => p.Name == name); + } + + public static bool IsProfileUnique(ProfileModel profileModel) + { + var existing = ReadProfiles(profileModel.KeyboardSlug + "/" + profileModel.GameName); + return existing.Contains(profileModel); } /// @@ -69,12 +57,6 @@ namespace Artemis.DAL if (prof == null) throw new ArgumentNullException(nameof(prof)); - lock (Profiles) - { - if (!Profiles.Contains(prof)) - Profiles.Add(prof); - } - lock (prof) { // Store the file @@ -103,100 +85,30 @@ namespace Artemis.DAL } } - private static void ReadProfiles() - { - CheckProfiles(); - InstallDefaults(); - - lock (Profiles) - { - Profiles.Clear(); - - // Create the directory structure - var profilePaths = Directory.GetFiles(ProfileFolder, "*.json", SearchOption.AllDirectories); - - // Parse the JSON files into objects and add them if they are valid - foreach (var path in profilePaths) - { - try - { - var prof = LoadProfileIfValid(path); - if (prof == null) - continue; - - // Only add unique profiles - if (Profiles.Any(p => p.GameName == prof.GameName && p.Name == prof.Name && - p.KeyboardSlug == prof.KeyboardSlug)) - { - Logger.Info("Didn't load duplicate profile: {0}", path); - } - else - { - Profiles.Add(prof); - } - } - catch (Exception e) - { - Logger.Error("Failed to load profile: {0} - {1}", path, e); - } - } - } - } - /// - /// Unpacks the default profiles into the profile directory + /// Renames the profile on the model and filesystem /// - private static void InstallDefaults() + /// The profile to rename + /// The new name + public static void RenameProfile(ProfileModel profile, string name) { - // Only install the defaults once per session - if (_installedDefaults) + if (string.IsNullOrEmpty(name)) return; - _installedDefaults = true; - // Load the ZIP from resources - var stream = Assembly.GetExecutingAssembly() - .GetManifestResourceStream("Artemis.Resources.Keyboards.default-profiles.zip"); + // Remove the old profile + DeleteProfile(profile); - // Extract it over the old defaults in case one was updated - if (stream == null) - return; - var archive = new ZipArchive(stream); - archive.ExtractToDirectory(ProfileFolder, true); - - var demoProfiles = Profiles.Where(d => d.Name == "Demo (duplicate to keep changes)"); - InsertGif(demoProfiles, "GIF", Resources.demo_gif, "demo-gif"); + // Update the profile, creating a new file + profile.Name = name; + AddOrUpdate(profile); } - public static void InsertGif(IEnumerable profileModels, string layerName, Bitmap gifFile, - string fileName) + public static void DeleteProfile(ProfileModel prof) { - // Extract the GIF file - var gifDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\gifs"; - Directory.CreateDirectory(gifDir); - var gifPath = gifDir + $"\\{fileName}.gif"; - gifFile.Save(gifPath); - - foreach (var profile in profileModels) - { - var gifLayer = profile.GetLayers().FirstOrDefault(l => l.Name == layerName); - if (gifLayer == null) - continue; - - ((KeyboardPropertiesModel) gifLayer.Properties).GifFile = gifPath; - AddOrUpdate(profile); - } - } - - /// - /// Makes sure the profile directory structure is in order and places default profiles - /// - private static void CheckProfiles() - { - // Create the directory structure - if (Directory.Exists(ProfileFolder)) - return; - - Directory.CreateDirectory(ProfileFolder); + // Remove the file + var path = ProfileFolder + $@"\{prof.KeyboardSlug}\{prof.GameName}\{prof.Name}.json"; + if (File.Exists(path)) + File.Delete(path); } /// @@ -222,7 +134,7 @@ namespace Artemis.DAL } /// - /// Exports the given profile to the provided path in XML + /// Exports the given profile to the provided path in JSON /// /// The profile to export /// The path to save the profile to @@ -232,41 +144,102 @@ namespace Artemis.DAL File.WriteAllText(path, json); } - /// - /// Renames the profile on the model and filesystem - /// - /// The profile to rename - /// The new name - public static void RenameProfile(ProfileModel profile, string name) + public static void InsertGif(string effectName, string profileName, string layerName, Bitmap gifFile, string fileName) { - if (string.IsNullOrEmpty(name)) - return; + var directories = new DirectoryInfo(ProfileFolder).GetDirectories(); + var profiles = new List(); + foreach (var directoryInfo in directories) + profiles.AddRange(ReadProfiles(directoryInfo.Name + "/effectName").Where(d => d.Name == profileName)); + + // Extract the GIF file + var gifDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\gifs"; + Directory.CreateDirectory(gifDir); + var gifPath = gifDir + $"\\{fileName}.gif"; + gifFile.Save(gifPath); - // Remove the old profile - DeleteProfile(profile); + foreach (var profile in profiles) + { + var gifLayer = profile.GetLayers().FirstOrDefault(l => l.Name == layerName); + if (gifLayer == null) + continue; - // Update the profile, creating a new file - profile.Name = name; - AddOrUpdate(profile); + ((KeyboardPropertiesModel) gifLayer.Properties).GifFile = gifPath; + AddOrUpdate(profile); + } } - public static void DeleteProfile(ProfileModel prof) + private static List ReadProfiles(string subDirectory) { - // Remove from datastore - lock (Profiles) - { - // Get the profile from the datastore instead of just the provided value, to be certain it is removed - var dsProfile = Profiles.FirstOrDefault(p => p.GameName == prof.GameName && - p.Name == prof.Name && - p.KeyboardSlug == prof.KeyboardSlug); - if (dsProfile != null) - Profiles.Remove(dsProfile); - } + var profiles = new List(); + var directory = ProfileFolder + "/" + subDirectory; + if (!Directory.Exists(directory)) + return profiles; - // Remove the file - var path = ProfileFolder + $@"\{prof.KeyboardSlug}\{prof.GameName}\{prof.Name}.json"; - if (File.Exists(path)) - File.Delete(path); + // Create the directory structure + var profilePaths = Directory.GetFiles(directory, "*.json", SearchOption.AllDirectories); + + // Parse the JSON files into objects and add them if they are valid + foreach (var path in profilePaths) + { + try + { + var prof = LoadProfileIfValid(path); + if (prof == null) + continue; + + // Only add unique profiles + if (profiles.Any(p => p.GameName == prof.GameName && p.Name == prof.Name && + p.KeyboardSlug == prof.KeyboardSlug)) + { + Logger.Info("Didn't load duplicate profile: {0}", path); + } + else + { + profiles.Add(prof); + } + } + catch (Exception e) + { + Logger.Error("Failed to load profile: {0} - {1}", path, e); + } + } + return profiles; + } + + /// + /// Unpacks the default profiles into the profile directory + /// + private static void InstallDefaults() + { + // Only install the defaults once per session + if (_installedDefaults) + return; + _installedDefaults = true; + + // Load the ZIP from resources + var stream = Assembly.GetExecutingAssembly() + .GetManifestResourceStream("Artemis.Resources.Keyboards.default-profiles.zip"); + + // Extract it over the old defaults in case one was updated + if (stream == null) + return; + var archive = new ZipArchive(stream); + archive.ExtractToDirectory(ProfileFolder, true); + + + InsertGif("WindowsProfile", "Demo (duplicate to keep changes)", "GIF", Resources.demo_gif, "demo-gif"); + } + + /// + /// Makes sure the profile directory structure is in order and places default profiles + /// + private static void CheckProfiles() + { + // Create the directory structure + if (Directory.Exists(ProfileFolder)) + return; + + Directory.CreateDirectory(ProfileFolder); } } } \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs index 7bd557dd5..bfb79565a 100644 --- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs +++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs @@ -11,6 +11,7 @@ using CUE.NET.Brushes; using CUE.NET.Devices.Generic; using CUE.NET.Devices.Generic.Enums; using CUE.NET.Devices.Keyboard; +using CUE.NET.Helper; using Ninject.Extensions.Logging; using Point = System.Drawing.Point; @@ -103,15 +104,17 @@ namespace Artemis.DeviceProviders.Corsair // For STRAFE, stretch the image on row 2. if (_keyboard.DeviceInfo.Model == "STRAFE RGB") { - var strafeBitmap = new Bitmap(22, 8); - using (var g = Graphics.FromImage(strafeBitmap)) + using (var strafeBitmap = new Bitmap(22, 8)) { - g.DrawImage(image, new Point(0, 0)); - g.DrawImage(image, new Rectangle(0, 3, 22, 7), new Rectangle(0, 2, 22, 7), GraphicsUnit.Pixel); - } + using (var g = Graphics.FromImage(strafeBitmap)) + { + g.DrawImage(image, new Point(0, 0)); + g.DrawImage(image, new Rectangle(0, 3, 22, 7), new Rectangle(0, 2, 22, 7), GraphicsUnit.Pixel); + } - image.Dispose(); - image = strafeBitmap; + image.Dispose(); + image = strafeBitmap; + } } _keyboardBrush.Image = image; @@ -136,11 +139,11 @@ namespace Artemis.DeviceProviders.Corsair // ignored } - if (cueLed != null) - return new KeyMatch(keyCode, (int) (cueLed.LedRectangle.X*widthMultiplier), - (int) (cueLed.LedRectangle.Y*heightMultiplier)); + if (cueLed == null) + return null; - return null; + var center = cueLed.LedRectangle.GetCenter(); + return new KeyMatch(keyCode, (int) (center.X*widthMultiplier),(int) (center.Y*heightMultiplier)); } } } \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentViewModel.cs b/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentViewModel.cs index c3095e307..5df40b4a9 100644 --- a/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentViewModel.cs +++ b/Artemis/Artemis/Modules/Games/UnrealTournament/UnrealTournamentViewModel.cs @@ -96,19 +96,21 @@ namespace Artemis.Modules.Games.UnrealTournament } // Load the ZIP from resources - var stream = new MemoryStream(Resources.ut_plugin); - var archive = new ZipArchive(stream); - try + using (var stream = new MemoryStream(Resources.ut_plugin)) { - Directory.CreateDirectory(path + @"\UnrealTournament\Plugins\Artemis"); - archive.ExtractToDirectory(path + @"\UnrealTournament\Plugins\Artemis", true); - } - catch (Exception e) - { - MainManager.Logger.Error(e, "Failed to install Unreal Tournament plugin in '{0}'", path); - return; - } + var archive = new ZipArchive(stream); + try + { + Directory.CreateDirectory(path + @"\UnrealTournament\Plugins\Artemis"); + archive.ExtractToDirectory(path + @"\UnrealTournament\Plugins\Artemis", true); + } + catch (Exception e) + { + MainManager.Logger.Error(e, "Failed to install Unreal Tournament plugin in '{0}'", path); + return; + } + } MainManager.Logger.Info("Installed Unreal Tournament plugin in '{0}'", path); } @@ -117,13 +119,8 @@ namespace Artemis.Modules.Games.UnrealTournament var gif = Resources.redeemer; if (gif == null) return; - var utProfiles = ProfileProvider.GetAll()? - .Where(p => (p.GameName == "UnrealTournament") && (p.Name == "Default")).ToList(); - if (utProfiles == null || !utProfiles.Any()) - return; - - ProfileProvider.InsertGif(utProfiles, "Redeemer GIF", gif, "redeemer"); + ProfileProvider.InsertGif("UnrealTournament", "Default", "Redeemer GIF", gif, "redeemer"); } } } \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs index 57d735a93..7e13a7daa 100644 --- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs +++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs @@ -66,10 +66,11 @@ namespace Artemis.Modules.Games.Witcher3 if (_witcherSettings == null) return; - var reader = new StreamReader( - File.Open(_witcherSettings, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); + var reader = + new StreamReader(File.Open(_witcherSettings, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); var configContent = reader.ReadToEnd(); reader.Close(); + reader.Dispose(); var signRes = _configRegex.Match(configContent); var parts = signRes.Value.Split('\n').Skip(1).Select(v => v.Replace("\r", "")).ToList(); diff --git a/Artemis/Artemis/Profiles/Layers/Types/KeyboardGif/KeyboardGifType.cs b/Artemis/Artemis/Profiles/Layers/Types/KeyboardGif/KeyboardGifType.cs index de0e3b1a2..dc44e356c 100644 --- a/Artemis/Artemis/Profiles/Layers/Types/KeyboardGif/KeyboardGifType.cs +++ b/Artemis/Artemis/Profiles/Layers/Types/KeyboardGif/KeyboardGifType.cs @@ -53,7 +53,10 @@ namespace Artemis.Profiles.Layers.Types.KeyboardGif lock (layer.GifImage) { var draw = layer.GifImage.GetNextFrame(); - c.DrawImage(ImageUtilities.BitmapToBitmapImage(new Bitmap(draw)), rect); + using (var drawBitmap = new Bitmap(draw)) + { + c.DrawImage(ImageUtilities.BitmapToBitmapImage(drawBitmap), rect); + } } } diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index f77741a12..191fd38a0 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -24,7 +24,6 @@ namespace Artemis.Profiles { Layers = new ChildItemCollection(this); LuaWrapper = new LuaWrapper(this); - DrawingVisual = new DrawingVisual(); } /// @@ -42,9 +41,6 @@ namespace Artemis.Profiles public int Height { get; set; } public string LuaScript { get; set; } - [JsonIgnore] - public DrawingVisual DrawingVisual { get; set; } - [JsonIgnore] public LuaWrapper LuaWrapper { get; set; } diff --git a/Artemis/Artemis/Utilities/Keyboard/KeyboardRectangle.cs b/Artemis/Artemis/Utilities/Keyboard/KeyboardRectangle.cs index 8081ab8e6..ae443a4d6 100644 --- a/Artemis/Artemis/Utilities/Keyboard/KeyboardRectangle.cs +++ b/Artemis/Artemis/Utilities/Keyboard/KeyboardRectangle.cs @@ -9,6 +9,7 @@ using Artemis.DeviceProviders; namespace Artemis.Utilities.Keyboard { + // TODO: Obsolete public class KeyboardRectangle { private readonly BackgroundWorker _blinkWorker = new BackgroundWorker {WorkerSupportsCancellation = true}; diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index debe2e2dc..e81f159b8 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -40,7 +40,7 @@ namespace Artemis.ViewModels.Profiles private readonly Timer _saveTimer; private ImageSource _keyboardPreview; private BindableCollection _layers; - private BindableCollection _profiles; + private BindableCollection _profileNames; private bool _saving; private ProfileModel _selectedProfile; @@ -51,7 +51,7 @@ namespace Artemis.ViewModels.Profiles _gameModel = gameModel; _layerEditorVmFactory = layerEditorVmFactory; - Profiles = new BindableCollection(); + ProfileNames = new BindableCollection(); Layers = new BindableCollection(); ProfileViewModel = profileViewModel; DialogService = dialogService; @@ -76,17 +76,17 @@ namespace Artemis.ViewModels.Profiles public bool EditorEnabled => - SelectedProfile != null && !SelectedProfile.IsDefault && - _mainManager.DeviceManager.ActiveKeyboard != null; + (SelectedProfile != null) && !SelectedProfile.IsDefault && + (_mainManager.DeviceManager.ActiveKeyboard != null); - public BindableCollection Profiles + public BindableCollection ProfileNames { - get { return _profiles; } + get { return _profileNames; } set { - if (Equals(value, _profiles)) return; - _profiles = value; - NotifyOfPropertyChange(() => Profiles); + if (Equals(value, _profileNames)) return; + _profileNames = value; + NotifyOfPropertyChange(() => ProfileNames); } } @@ -101,6 +101,23 @@ namespace Artemis.ViewModels.Profiles } } + public string SelectedProfileName + { + get { return SelectedProfile.Name; } + set + { + if (value == SelectedProfile.Name) + return; + + SelectedProfile = ProfileProvider.GetProfile( + _mainManager.DeviceManager.ActiveKeyboard, + _gameModel, + value); + + NotifyOfPropertyChange(() => SelectedProfileName); + } + } + public ProfileModel SelectedProfile { get { return _selectedProfile; } @@ -126,16 +143,16 @@ namespace Artemis.ViewModels.Profiles public PreviewSettings? PreviewSettings => _mainManager.DeviceManager.ActiveKeyboard?.PreviewSettings; public bool ProfileSelected => SelectedProfile != null; - public bool LayerSelected => SelectedProfile != null && ProfileViewModel.SelectedLayer != null; + public bool LayerSelected => (SelectedProfile != null) && (ProfileViewModel.SelectedLayer != null); public void DragOver(IDropInfo dropInfo) { var source = dropInfo.Data as LayerModel; var target = dropInfo.TargetItem as LayerModel; - if (source == null || target == null || source == target) + if ((source == null) || (target == null) || (source == target)) return; - if (dropInfo.InsertPosition == RelativeInsertPosition.TargetItemCenter && + if ((dropInfo.InsertPosition == RelativeInsertPosition.TargetItemCenter) && target.LayerType is FolderType) { dropInfo.DropTargetAdorner = typeof(DropTargetMetroHighlightAdorner); @@ -152,7 +169,7 @@ namespace Artemis.ViewModels.Profiles { var source = dropInfo.Data as LayerModel; var target = dropInfo.TargetItem as LayerModel; - if (source == null || target == null || source == target) + if ((source == null) || (target == null) || (source == target)) return; // Don't allow a folder to become it's own child, that's just weird @@ -173,7 +190,7 @@ namespace Artemis.ViewModels.Profiles parent.FixOrder(); } - if (dropInfo.InsertPosition == RelativeInsertPosition.TargetItemCenter && + if ((dropInfo.InsertPosition == RelativeInsertPosition.TargetItemCenter) && target.LayerType is FolderType) { // Insert into folder @@ -185,9 +202,9 @@ namespace Artemis.ViewModels.Profiles else { // Insert the source into it's new profile/parent and update the order - if (dropInfo.InsertPosition == RelativeInsertPosition.AfterTargetItem || - dropInfo.InsertPosition == - (RelativeInsertPosition.TargetItemCenter | RelativeInsertPosition.AfterTargetItem)) + if ((dropInfo.InsertPosition == RelativeInsertPosition.AfterTargetItem) || + (dropInfo.InsertPosition == + (RelativeInsertPosition.TargetItemCenter | RelativeInsertPosition.AfterTargetItem))) target.InsertAfter(source); else target.InsertBefore(source); @@ -222,20 +239,34 @@ namespace Artemis.ViewModels.Profiles /// private void LoadProfiles() { - Profiles.Clear(); - if (_gameModel == null || _mainManager.DeviceManager.ActiveKeyboard == null) + ProfileNames.Clear(); + if ((_gameModel == null) || (_mainManager.DeviceManager.ActiveKeyboard == null)) return; - Profiles.AddRange(ProfileProvider.GetAll(_gameModel, _mainManager.DeviceManager.ActiveKeyboard)); + ProfileNames.AddRange(ProfileProvider.GetProfileNames(_mainManager.DeviceManager.ActiveKeyboard, _gameModel)); // If a profile name was provided, try to load it ProfileModel lastProfileModel = null; if (!string.IsNullOrEmpty(LastProfile)) - lastProfileModel = Profiles.FirstOrDefault(p => p.Name == LastProfile); + { + lastProfileModel = ProfileProvider.GetProfile( + _mainManager.DeviceManager.ActiveKeyboard, + _gameModel, + LastProfile); + } - SelectedProfile = lastProfileModel ?? Profiles.FirstOrDefault(); + if (lastProfileModel != null) + SelectedProfile = lastProfileModel; + else + { + SelectedProfile = ProfileProvider.GetProfile( + _mainManager.DeviceManager.ActiveKeyboard, + _gameModel, + ProfileNames.FirstOrDefault()); + } } + public void EditLayerFromDoubleClick() { if (ProfileViewModel.SelectedLayer?.LayerType is FolderType) @@ -279,7 +310,6 @@ namespace Artemis.ViewModels.Profiles // If the layer was a folder, but isn't anymore, assign it's children to it's parent. if (!(layer.LayerType is FolderType) && layer.Children.Any()) - { while (layer.Children.Any()) { var child = layer.Children[0]; @@ -295,7 +325,6 @@ namespace Artemis.ViewModels.Profiles layer.Profile.FixOrder(); } } - } UpdateLayerList(layer); } @@ -495,7 +524,7 @@ namespace Artemis.ViewModels.Profiles GameName = _gameModel.Name }; - if (ProfileProvider.GetAll().Contains(profile)) + if (!ProfileProvider.IsProfileUnique(profile)) { var overwrite = await DialogService.ShowQuestionMessageBox("Overwrite existing profile", "A profile with this name already exists for this game. Would you like to overwrite it?"); @@ -517,18 +546,17 @@ namespace Artemis.ViewModels.Profiles var name = await DialogService.ShowInputDialog("Rename profile", "Please enter a unique new profile name"); // Null when the user cancelled - if (string.IsNullOrEmpty(name) || name.Length < 2) + if (string.IsNullOrEmpty(name) || (name.Length < 2)) return; // Verify the name - while (ProfileProvider.GetAll().Any(p => p.Name == name && p.GameName == SelectedProfile.GameName && - p.KeyboardSlug == SelectedProfile.KeyboardSlug)) + while (!ProfileProvider.IsProfileUnique(SelectedProfile)) { name = await DialogService.ShowInputDialog("Name already in use", "Please enter a unique new profile name"); // Null when the user cancelled - if (string.IsNullOrEmpty(name) || name.Length < 2) + if (string.IsNullOrEmpty(name) || (name.Length < 2)) return; } @@ -554,7 +582,7 @@ namespace Artemis.ViewModels.Profiles return; // Verify the name - while (ProfileProvider.GetAll().Contains(newProfile)) + while (!ProfileProvider.IsProfileUnique(newProfile)) { newProfile.Name = await DialogService.ShowInputDialog("Name already in use", "Please enter a unique profile name"); @@ -567,7 +595,7 @@ namespace Artemis.ViewModels.Profiles newProfile.IsDefault = false; ProfileProvider.AddOrUpdate(newProfile); LoadProfiles(); - SelectedProfile = Profiles.FirstOrDefault(p => p.Name == newProfile.Name); + SelectedProfile = newProfile; } public async void DeleteProfile() @@ -640,7 +668,7 @@ namespace Artemis.ViewModels.Profiles profile.IsDefault = false; // Verify the name - while (ProfileProvider.GetAll().Contains(profile)) + while (!ProfileProvider.IsProfileUnique(profile)) { profile.Name = await DialogService.ShowInputDialog("Rename imported profile", "A profile with this name already exists for this game. Please enter a new name"); @@ -653,7 +681,7 @@ namespace Artemis.ViewModels.Profiles ProfileProvider.AddOrUpdate(profile); LoadProfiles(); - SelectedProfile = Profiles.FirstOrDefault(p => p.Name == profile.Name); + SelectedProfile = profile; } public void ExportProfile() @@ -711,7 +739,7 @@ namespace Artemis.ViewModels.Profiles private void ProfileSaveHandler(object sender, ElapsedEventArgs e) { - if (_saving || SelectedProfile == null) + if (_saving || (SelectedProfile == null)) return; _saving = true; diff --git a/Artemis/Artemis/Views/Profiles/ProfileEditorView.xaml b/Artemis/Artemis/Views/Profiles/ProfileEditorView.xaml index 860787971..ce75559e7 100644 --- a/Artemis/Artemis/Views/Profiles/ProfileEditorView.xaml +++ b/Artemis/Artemis/Views/Profiles/ProfileEditorView.xaml @@ -56,8 +56,7 @@ public async void AddProfile() { - if (_mainManager.DeviceManager.ActiveKeyboard == null) + if (_deviceManager.ActiveKeyboard == null) { DialogService.ShowMessageBox("Cannot add profile.", "To add a profile, please select a keyboard in the options menu first."); @@ -503,9 +494,9 @@ namespace Artemis.ViewModels.Profiles var profile = new ProfileModel { Name = name, - KeyboardSlug = _mainManager.DeviceManager.ActiveKeyboard.Slug, - Width = _mainManager.DeviceManager.ActiveKeyboard.Width, - Height = _mainManager.DeviceManager.ActiveKeyboard.Height, + KeyboardSlug = _deviceManager.ActiveKeyboard.Slug, + Width = _deviceManager.ActiveKeyboard.Width, + Height = _deviceManager.ActiveKeyboard.Height, GameName = _gameModel.Name }; @@ -601,7 +592,7 @@ namespace Artemis.ViewModels.Profiles public async void ImportProfile() { - if (_mainManager.DeviceManager.ActiveKeyboard == null) + if (_deviceManager.ActiveKeyboard == null) { DialogService.ShowMessageBox("Cannot import profile.", "To import a profile, please select a keyboard in the options menu first."); @@ -629,7 +620,7 @@ namespace Artemis.ViewModels.Profiles } // Verify the keyboard - var deviceManager = _mainManager.DeviceManager; + var deviceManager = _deviceManager; if (profile.KeyboardSlug != deviceManager.ActiveKeyboard.Slug) { var adjustKeyboard = await DialogService.ShowQuestionMessageBox("Profile not inteded for this keyboard", @@ -687,7 +678,7 @@ namespace Artemis.ViewModels.Profiles return; try { - SelectedProfile?.Activate(_mainManager.DeviceManager.ActiveKeyboard); + SelectedProfile?.Activate(_deviceManager.ActiveKeyboard); LuaWrapper.OpenEditor(); } catch (Exception e) diff --git a/Artemis/Artemis/ViewModels/ShellViewModel.cs b/Artemis/Artemis/ViewModels/ShellViewModel.cs index d8d2568d2..c4fc3a190 100644 --- a/Artemis/Artemis/ViewModels/ShellViewModel.cs +++ b/Artemis/Artemis/ViewModels/ShellViewModel.cs @@ -1,6 +1,5 @@ -using System.Linq; -using Artemis.Managers; -using Artemis.Services; +using System; +using System.Linq; using Artemis.ViewModels.Abstract; using Artemis.ViewModels.Flyouts; using Caliburn.Micro; @@ -10,17 +9,18 @@ namespace Artemis.ViewModels { public sealed class ShellViewModel : Conductor.Collection.OneActive { - private readonly BaseViewModel[] _viewModels; + private readonly IKernel _kernel; - public ShellViewModel(IKernel kernel, BaseViewModel[] viewModels) + public ShellViewModel(IKernel kernel, FlyoutSettingsViewModel flyoutSettings) { - _viewModels = viewModels; + _kernel = kernel; // Setup UI DisplayName = "Artemis"; + Flyouts = new BindableCollection { - kernel.Get() + flyoutSettings }; } @@ -29,10 +29,16 @@ namespace Artemis.ViewModels protected override void OnActivate() { base.OnActivate(); - foreach (var screen in _viewModels) - ActivateItem(screen); + Items.Clear(); - ActiveItem = _viewModels.FirstOrDefault(); + var vms = _kernel.GetAll(); + Items.AddRange(vms); + } + + protected override void OnDeactivate(bool close) + { + base.OnDeactivate(close); + Items.Clear(); } public void Settings() diff --git a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs index 9847678e7..b5adfcf72 100644 --- a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs +++ b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs @@ -14,18 +14,16 @@ namespace Artemis.ViewModels { public class SystemTrayViewModel : Screen { - private readonly ShellViewModel _shellViewModel; - private readonly IWindowManager _windowManager; + private readonly WindowService _windowService; + private ShellViewModel _shellViewModel; private string _activeIcon; private bool _checked; private bool _enabled; private string _toggleText; - public SystemTrayViewModel(IWindowManager windowManager, MetroDialogService dialogService, - ShellViewModel shellViewModel, MainManager mainManager) + public SystemTrayViewModel(WindowService windowService, MetroDialogService dialogService, MainManager mainManager) { - _windowManager = windowManager; - _shellViewModel = shellViewModel; + _windowService = windowService; DialogService = dialogService; MainManager = mainManager; @@ -43,8 +41,17 @@ namespace Artemis.ViewModels public MainManager MainManager { get; set; } - public bool CanShowWindow => !_shellViewModel.IsActive; - public bool CanHideWindow => _shellViewModel.IsActive && !MainManager.DeviceManager.ChangingKeyboard; + public bool CanShowWindow + { + get + { + if (_shellViewModel == null) + return true; + return !_shellViewModel.IsActive; + } + } + + public bool CanHideWindow => (_shellViewModel?.IsActive == true) && !MainManager.DeviceManager.ChangingKeyboard; public bool CanToggleEnabled => !MainManager.DeviceManager.ChangingKeyboard; public bool Enabled @@ -111,7 +118,7 @@ namespace Artemis.ViewModels return; // manually show the next window view-model - _windowManager.ShowWindow(_shellViewModel); + _shellViewModel = _windowService.ShowWindow(); NotifyOfPropertyChange(() => CanShowWindow); NotifyOfPropertyChange(() => CanHideWindow); diff --git a/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj b/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj index 670478206..e41b51302 100644 --- a/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj +++ b/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj @@ -104,6 +104,7 @@ Disabled WIN32;_DEBUG;_WINDOWS;_USRDLL;LOGILEDCORSAIR_EXPORTS;%(PreprocessorDefinitions) %(AdditionalIncludeDirectories) + true Windows @@ -111,6 +112,9 @@ LogiLed2Artemis.def %(AdditionalDependencies) + + true + @@ -151,12 +155,10 @@ - - diff --git a/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj.filters b/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj.filters index 34a553926..00ff5943c 100644 --- a/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj.filters +++ b/Artemis/LogiLed2Artemis/LogiLed2Artemis.vcxproj.filters @@ -21,17 +21,11 @@ Header Files - - Header Files - Source Files - - Source Files - diff --git a/Artemis/LogiLed2Artemis/main.cpp b/Artemis/LogiLed2Artemis/main.cpp index c224e7daf..23e25b587 100644 --- a/Artemis/LogiLed2Artemis/main.cpp +++ b/Artemis/LogiLed2Artemis/main.cpp @@ -30,69 +30,50 @@ #include "LogiLedDefs.h" #define WIN32_LEAN_AND_MEAN #include -#include "Logger.h" - #include #include - +#include +using namespace std; static bool g_hasInitialised = false; +static bool mustLog = false; const char* game = ""; -void cleanup() -{ - CLogger::EndLogging(); -} BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID) { - switch (fdwReason) + if (fdwReason == DLL_PROCESS_ATTACH) { - case DLL_PROCESS_ATTACH: + // Get the process that loaded the DLL + TCHAR divisionFind[] = _T("Division"); + TCHAR gtaFind[] = _T("GTA"); + TCHAR szPath[MAX_PATH]; + GetModuleFileName(NULL, szPath, MAX_PATH); + + if (_tcscmp(szPath, divisionFind) != 0) + game = "division"; + else if (_tcscmp(szPath, gtaFind) != 0) + game = "gta"; + + if (mustLog) { - atexit(cleanup); - - CLogger::InitLogging("Log.txt"); - CLogger::SetLogLevel(LogLevel::None); - - // Get the process that loaded the DLL - TCHAR divisionFind[] = _T("Division"); - TCHAR gtaFind[] = _T("GTA"); - TCHAR szPath[MAX_PATH]; - GetModuleFileName(NULL, szPath, MAX_PATH); - - if (_tcscmp(szPath, divisionFind) != 0) - game = "division"; - else if (_tcscmp(szPath, gtaFind) != 0) - game = "gta"; - - CLogger::OutputLog("Attached to process.", LogLevel::Debug); + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "Main called, DLL loaded into " << szPath << "\n"; + myfile.close(); } - break; - - case DLL_PROCESS_DETACH: - { - cleanup(); - - CLogger::OutputLog_s("Detached from process.", LogLevel::Debug); - } - break; } - return true; } bool LogiLedInit() { - CLogger::OutputLog_s("Logitech LED init called.", LogLevel::Debug); g_hasInitialised = true; return true; } bool LogiLedGetSdkVersion(int* majorNum, int* minorNum, int* buildNum) { - CLogger::OutputLog("LogiLedGetSdkVersion called.", LogLevel::Debug); - // Mimic the SDK version *majorNum = 8; *minorNum = 81; @@ -103,15 +84,12 @@ bool LogiLedGetSdkVersion(int* majorNum, int* minorNum, int* buildNum) bool LogiLedSetTargetDevice(int targetDevice) { - CLogger::OutputLog("LogiLedSetTargetDevice called (%i)", LogLevel::Debug, targetDevice); - // Logitech SDK says this function returns false if LogiLedInit hasn't been called return g_hasInitialised; } bool LogiLedSaveCurrentLighting() { - CLogger::OutputLog("LogiLedSaveCurrentLighting called (%i)", LogLevel::Debug); return true; } @@ -125,21 +103,39 @@ void Transmit(const char* msg) hPipe1 = CreateFile(lpszPipename1, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); if (hPipe1 == NULL || hPipe1 == INVALID_HANDLE_VALUE) { - CLogger::OutputLog("Could not open the pipe - (error %i)", LogLevel::Debug, GetLastError()); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "Could not open the pipe - " << GetLastError() << "\n"; + myfile.close(); + } return; } DWORD cbWritten; WriteFile(hPipe1, msg, strlen(msg), &cbWritten, NULL); - CLogger::OutputLog_s("Transmitted to pipe", LogLevel::Debug); } -bool LogiLedSetLighting(int redPercentage, int greenPercentage, int bluePercentage) +// LogiLedSetLighting appears to have an undocumented extra argument +bool LogiLedSetLighting(int redPercentage, int greenPercentage, int bluePercentage, int custom = 0) { - CLogger::OutputLog("LogiLedSetLighting called (%i %i %i)", LogLevel::Debug, redPercentage, greenPercentage, bluePercentage); - - std::ostringstream os; - os << "0 0 " << redPercentage << " " << greenPercentage << " " << bluePercentage; + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + if (custom == 0) + { + myfile << "LogiLedSetLighting called\n"; + } + else + { + myfile << "LogiLedSetLighting called with custom " << custom << "\n"; + } + myfile.close(); + } + ostringstream os; + os << "0 " << hex << custom << " " << dec << redPercentage << " " << greenPercentage << " " << bluePercentage; Transmit(os.str().c_str()); return true; @@ -147,108 +143,209 @@ bool LogiLedSetLighting(int redPercentage, int greenPercentage, int bluePercenta bool LogiLedRestoreLighting() { - CLogger::OutputLog("LogiLedRestoreLighting called", LogLevel::Debug); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedRestoreLighting called\n"; + myfile.close(); + } + return true; } bool LogiLedFlashLighting(int redPercentage, int greenPercentage, int bluePercentage, int milliSecondsDuration, int milliSecondsInterval) { - CLogger::OutputLog("LogiLedFlashLighting called (%i %i %i %i %i)", LogLevel::Debug, redPercentage, greenPercentage, bluePercentage, milliSecondsDuration, milliSecondsInterval); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedFlashLighting called\n"; + myfile.close(); + } + return true; } bool LogiLedPulseLighting(int redPercentage, int greenPercentage, int bluePercentage, int milliSecondsDuration, int milliSecondsInterval) { - CLogger::OutputLog("LogiLedPulseLighting called (%i %i %i %i %i)", LogLevel::Debug, redPercentage, greenPercentage, bluePercentage, milliSecondsDuration, milliSecondsInterval); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedPulseLighting called\n"; + myfile.close(); + } + return true; } bool LogiLedStopEffects() { - CLogger::OutputLog_s("LogiLedStopEffects called", LogLevel::Debug); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedStopEffects called\n"; + myfile.close(); + } + return true; } bool LogiLedSetLightingFromBitmap(unsigned char bitmap[]) { - CLogger::OutputLog_s("LogiLedSetLightingFromBitmap called", LogLevel::Debug); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSetLightingFromBitmap called\n"; + myfile.close(); + } + return true; } bool LogiLedSetLightingForKeyWithScanCode(int keyCode, int redPercentage, int greenPercentage, int bluePercentage) { - CLogger::OutputLog("LogiLedSetLightingForKeyWithScanCode called [Key: %i] (%i %i %i)", LogLevel::Debug, keyCode, redPercentage, greenPercentage, bluePercentage); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSetLightingForKeyWithScanCode called\n"; + myfile.close(); + } + return true; } bool LogiLedSetLightingForKeyWithHidCode(int keyCode, int redPercentage, int greenPercentage, int bluePercentage) { - CLogger::OutputLog("LogiLedSetLightingForKeyWithHidCode called [Key: %i] (%i %i %i)", LogLevel::Debug, keyCode, redPercentage, greenPercentage, bluePercentage); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSetLightingForKeyWithHidCode called\n"; + myfile.close(); + } + return true; } bool LogiLedSetLightingForKeyWithQuartzCode(int keyCode, int redPercentage, int greenPercentage, int bluePercentage) { - CLogger::OutputLog("LogiLedSetLightingForKeyWithQuartzCode called [Key: %i] (%i %i %i)", LogLevel::Debug, keyCode, redPercentage, greenPercentage, bluePercentage); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSetLightingForKeyWithQuartzCode called\n"; + myfile.close(); + } + return true; } bool LogiLedSetLightingForKeyWithKeyName(LogiLed::KeyName keyName, int redPercentage, int greenPercentage, int bluePercentage) { - CLogger::OutputLog("LogiLedSetLightingForKeyWithKeyName called [Key: %i] (%i %i %i)", LogLevel::Debug, keyName, redPercentage, greenPercentage, bluePercentage); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSetLightingForKeyWithKeyName called\n"; + myfile.close(); + } // Only transmit interesting keys. This can most likely be done prettier, but I'm no C++ dev. - if (game == "division" && - (keyName == LogiLed::F1 || - keyName == LogiLed::F2 || - keyName == LogiLed::F3 || - keyName == LogiLed::F4 || - keyName == LogiLed::R || - keyName == LogiLed::G || - keyName == LogiLed::V) - ) + if (game == "division" && (keyName == LogiLed::F1 || keyName == LogiLed::F2 || keyName == LogiLed::F3 || keyName == LogiLed::F4 || keyName == LogiLed::R || keyName == LogiLed::G || keyName == LogiLed::V)) { - std::ostringstream os; + ostringstream os; os << "1 " << keyName << " " << redPercentage << " " << greenPercentage << " " << bluePercentage; - std::string s = os.str(); + string s = os.str(); Transmit(os.str().c_str()); + return true; } + + ostringstream os; + os << "1 " << keyName << " " << redPercentage << " " << greenPercentage << " " << bluePercentage; + string s = os.str(); + Transmit(os.str().c_str()); return true; } bool LogiLedSaveLightingForKey(LogiLed::KeyName keyName) { - CLogger::OutputLog("LogiLedSaveLightingForKey called [Key: %i]", LogLevel::Debug, keyName); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedSaveLightingForKey called\n"; + myfile.close(); + } + return true; } bool LogiLedRestoreLightingForKey(LogiLed::KeyName keyName) { - CLogger::OutputLog("LogiLedRestoreLightingForKey called [Key: %i]", LogLevel::Debug, keyName); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedRestoreLightingForKey called\n"; + myfile.close(); + } + return true; } bool LogiLedFlashSingleKey(LogiLed::KeyName keyName, int redPercentage, int greenPercentage, int bluePercentage, int msDuration, int msInterval) { - CLogger::OutputLog("LogiLedFlashSingleKey called [Key: %i] (%i %i %i %i %i)", LogLevel::Debug, keyName, redPercentage, greenPercentage, bluePercentage, msDuration, msInterval); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedFlashSingleKey called\n"; + myfile.close(); + } + return true; } bool LogiLedPulseSingleKey(LogiLed::KeyName keyName, int startRedPercentage, int startGreenPercentage, int startBluePercentage, int finishRedPercentage, int finishGreenPercentage, int finishBluePercentage, int msDuration, bool isInfinite) { - CLogger::OutputLog("LogiLedPulseSingleKey called [Key: %i] (%i %i %i %i %i %i %i %i)", LogLevel::Debug, keyName, startRedPercentage, startGreenPercentage, startBluePercentage, finishRedPercentage, finishGreenPercentage, finishBluePercentage, msDuration, isInfinite); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedPulseSingleKey called\n"; + myfile.close(); + } + return true; } bool LogiLedStopEffectsOnKey(LogiLed::KeyName keyName) { - CLogger::OutputLog("LogiLedStopEffectsOnKey called [Key: %i]", LogLevel::Debug, keyName); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedStopEffectsOnKey called\n"; + myfile.close(); + } + return true; } void LogiLedShutdown() { - CLogger::OutputLog_s("LogiLedShutdown called.", LogLevel::Debug); + if (mustLog) + { + ofstream myfile; + myfile.open("log.txt", ios::out | ios::app); + myfile << "LogiLedShutdown called\n"; + myfile.close(); + } + g_hasInitialised = false; } - From 4c766f29b4a290272da0f42b32a14046d094b39c Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Wed, 9 Nov 2016 13:15:46 +0100 Subject: [PATCH 38/49] Fixed module null references on shutdown --- Artemis/Artemis/Managers/ProfileManager.cs | 49 ++++++++++--------- .../Artemis/Modules/Games/GtaV/GtaVModel.cs | 24 ++++----- .../Modules/Games/Overwatch/OverwatchModel.cs | 6 +-- .../Games/TheDivision/TheDivisionModel.cs | 4 +- Artemis/Artemis/Modules/Games/WoW/WoWModel.cs | 2 +- .../Utilities/GameState/GameStateWebServer.cs | 1 - 6 files changed, 45 insertions(+), 41 deletions(-) diff --git a/Artemis/Artemis/Managers/ProfileManager.cs b/Artemis/Artemis/Managers/ProfileManager.cs index c44cb6f1a..8d5c36836 100644 --- a/Artemis/Artemis/Managers/ProfileManager.cs +++ b/Artemis/Artemis/Managers/ProfileManager.cs @@ -51,34 +51,39 @@ namespace Artemis.Managers ProfilePreviewModel == null) return; - var activePreview = GameViewModels.FirstOrDefault(vm => vm.IsActive); - if (activePreview == null) + lock (GameViewModels) { - // Should not be active if no selected profile is set - if (_effectManager.ActiveEffect != ProfilePreviewModel) - return; + var activePreview = GameViewModels.FirstOrDefault(vm => vm.IsActive); - _logger.Debug("Loading last effect after profile preview"); - var lastEffect = _effectManager.GetLastEffect(); - if (lastEffect != null) - _effectManager.ChangeEffect(lastEffect); - else - _effectManager.ClearEffect(); - } - else - { - if (_effectManager.ActiveEffect != ProfilePreviewModel && !(_effectManager.ActiveEffect is GameModel)) + if (activePreview == null) { - _logger.Debug("Activate profile preview"); - _effectManager.ChangeEffect(ProfilePreviewModel); + // Should not be active if no selected profile is set + if (_effectManager.ActiveEffect != ProfilePreviewModel) + return; + + _logger.Debug("Loading last effect after profile preview"); + var lastEffect = _effectManager.GetLastEffect(); + if (lastEffect != null) + _effectManager.ChangeEffect(lastEffect); + else + _effectManager.ClearEffect(); } + else + { + if (_effectManager.ActiveEffect != ProfilePreviewModel && + !(_effectManager.ActiveEffect is GameModel)) + { + _logger.Debug("Activate profile preview"); + _effectManager.ChangeEffect(ProfilePreviewModel); + } - // LoopManager might be running, this method won't do any harm in that case. - _loopManager.StartAsync(); + // LoopManager might be running, this method won't do any harm in that case. + _loopManager.StartAsync(); - ProfilePreviewModel.ProfileViewModel = activePreview.ProfileEditor.ProfileViewModel; - if (!ReferenceEquals(ProfilePreviewModel.Profile, activePreview.ProfileEditor.SelectedProfile)) - ProfilePreviewModel.Profile = activePreview.ProfileEditor.SelectedProfile; + ProfilePreviewModel.ProfileViewModel = activePreview.ProfileEditor.ProfileViewModel; + if (!ReferenceEquals(ProfilePreviewModel.Profile, activePreview.ProfileEditor.SelectedProfile)) + ProfilePreviewModel.Profile = activePreview.ProfileEditor.SelectedProfile; + } } } } diff --git a/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs b/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs index 703dd740e..f3b3d1943 100644 --- a/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs +++ b/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs @@ -39,7 +39,7 @@ namespace Artemis.Modules.Games.GtaV // Delay restoring the DLL to allow GTA to release it Task.Factory.StartNew(() => { - Thread.Sleep(2000); + Thread.Sleep(5000); DllManager.RestoreLogitechDll(); }); @@ -59,17 +59,17 @@ namespace Artemis.Modules.Games.GtaV private void PipeServerOnPipeMessage(string reply) { - if (!Initialized) - return; - - // Convert the given string to a list of ints - var stringParts = reply.Split(' '); - var parts = new string[stringParts.Length]; - for (var i = 0; i < stringParts.Length; i++) - parts[i] = stringParts[i]; - - if (parts[0] == "0") - InterpertrateLighting(parts); +// if (!Initialized) +// return; +// +// // Convert the given string to a list of ints +// var stringParts = reply.Split(' '); +// var parts = new string[stringParts.Length]; +// for (var i = 0; i < stringParts.Length; i++) +// parts[i] = stringParts[i]; +// +// if (parts[0] == "0") +// InterpertrateLighting(parts); } private void InterpertrateLighting(string[] parts) diff --git a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs index e5b96bb64..45bd862fc 100644 --- a/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs +++ b/Artemis/Artemis/Modules/Games/Overwatch/OverwatchModel.cs @@ -88,9 +88,9 @@ namespace Artemis.Modules.Games.Overwatch { Initialized = false; - _stickyStatus.Dispose(); - _stickyUltimateReady.Dispose(); - _stickyUltimateUsed.Dispose(); + _stickyStatus?.Dispose(); + _stickyUltimateReady?.Dispose(); + _stickyUltimateUsed?.Dispose(); _pipeServer.PipeMessage -= PipeServerOnPipeMessage; base.Dispose(); diff --git a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs index ac2f2910c..59c039431 100644 --- a/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs +++ b/Artemis/Artemis/Modules/Games/TheDivision/TheDivisionModel.cs @@ -40,8 +40,8 @@ namespace Artemis.Modules.Games.TheDivision DllManager.RestoreLogitechDll(); }); - _stickyAmmo.Dispose(); - _stickyHp.Dispose(); + _stickyAmmo?.Dispose(); + _stickyHp?.Dispose(); _pipeServer.PipeMessage -= PipeServerOnPipeMessage; base.Dispose(); diff --git a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs index ef4c43080..c0c50cd2e 100644 --- a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs +++ b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs @@ -70,7 +70,7 @@ namespace Artemis.Modules.Games.WoW { Initialized = false; - _process.Dispose(); + _process?.Dispose(); _process = null; base.Dispose(); } diff --git a/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs b/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs index 8fd14ecfd..85dd34ed5 100644 --- a/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs +++ b/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs @@ -62,7 +62,6 @@ namespace Artemis.Utilities.GameState private void ListenerRun() { - // TODO: Check for UI issue while (Running) { _listener.BeginGetContext(HandleRequest, _listener); From 917bb88241d634a8c6e7b759609e4590183302b0 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Wed, 9 Nov 2016 20:01:30 +0100 Subject: [PATCH 39/49] FINALLY fixed dissapearing views after debugging all day --- Artemis/Artemis/ArtemisBootstrapper.cs | 2 +- .../Artemis/InjectionModules/BaseModules.cs | 3 +- .../Artemis/Modules/Games/GtaV/GtaVModel.cs | 22 ++++---- Artemis/Artemis/ViewModels/ShellViewModel.cs | 50 ++++++++++++++++++- Artemis/Artemis/Views/ShellView.xaml | 23 ++++++++- 5 files changed, 85 insertions(+), 15 deletions(-) diff --git a/Artemis/Artemis/ArtemisBootstrapper.cs b/Artemis/Artemis/ArtemisBootstrapper.cs index 9623a74d6..23efdc1bf 100644 --- a/Artemis/Artemis/ArtemisBootstrapper.cs +++ b/Artemis/Artemis/ArtemisBootstrapper.cs @@ -116,7 +116,7 @@ namespace Artemis protected override void OnStartup(object sender, StartupEventArgs e) { - DisplayRootViewFor(); + DisplayRootViewFor(); } } } \ No newline at end of file diff --git a/Artemis/Artemis/InjectionModules/BaseModules.cs b/Artemis/Artemis/InjectionModules/BaseModules.cs index 4aa9b6494..cbe1f7980 100644 --- a/Artemis/Artemis/InjectionModules/BaseModules.cs +++ b/Artemis/Artemis/InjectionModules/BaseModules.cs @@ -14,7 +14,8 @@ namespace Artemis.InjectionModules public override void Load() { // ViewModels - Bind().ToSelf(); + Bind().ToSelf().InSingletonScope(); + Bind().ToSelf().InSingletonScope(); Bind().ToSelf(); Bind().ToSelf(); Bind().ToSelf().InSingletonScope(); diff --git a/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs b/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs index f3b3d1943..20c185ee9 100644 --- a/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs +++ b/Artemis/Artemis/Modules/Games/GtaV/GtaVModel.cs @@ -59,17 +59,17 @@ namespace Artemis.Modules.Games.GtaV private void PipeServerOnPipeMessage(string reply) { -// if (!Initialized) -// return; -// -// // Convert the given string to a list of ints -// var stringParts = reply.Split(' '); -// var parts = new string[stringParts.Length]; -// for (var i = 0; i < stringParts.Length; i++) -// parts[i] = stringParts[i]; -// -// if (parts[0] == "0") -// InterpertrateLighting(parts); + if (!Initialized) + return; + + // Convert the given string to a list of ints + var stringParts = reply.Split(' '); + var parts = new string[stringParts.Length]; + for (var i = 0; i < stringParts.Length; i++) + parts[i] = stringParts[i]; + + if (parts[0] == "0") + InterpertrateLighting(parts); } private void InterpertrateLighting(string[] parts) diff --git a/Artemis/Artemis/ViewModels/ShellViewModel.cs b/Artemis/Artemis/ViewModels/ShellViewModel.cs index c4fc3a190..fd56ee14c 100644 --- a/Artemis/Artemis/ViewModels/ShellViewModel.cs +++ b/Artemis/Artemis/ViewModels/ShellViewModel.cs @@ -1,8 +1,12 @@ using System; using System.Linq; +using System.Windows; +using Artemis.Managers; +using Artemis.Services; using Artemis.ViewModels.Abstract; using Artemis.ViewModels.Flyouts; using Caliburn.Micro; +using MahApps.Metro.Controls; using Ninject; namespace Artemis.ViewModels @@ -11,10 +15,12 @@ namespace Artemis.ViewModels { private readonly IKernel _kernel; - public ShellViewModel(IKernel kernel, FlyoutSettingsViewModel flyoutSettings) + public ShellViewModel(IKernel kernel, MainManager mainManager, MetroDialogService metroDialogService, + FlyoutSettingsViewModel flyoutSettings) { _kernel = kernel; + // Setup UI DisplayName = "Artemis"; @@ -22,10 +28,52 @@ namespace Artemis.ViewModels { flyoutSettings }; + + + MainManager = mainManager; + MetroDialogService = metroDialogService; + MainManager.EnableProgram(); } + public SystemTrayViewModel SystemTrayViewModel { get; set; } + public MainManager MainManager { get; set; } + public MetroDialogService MetroDialogService { get; set; } public IObservableCollection Flyouts { get; set; } + private MetroWindow Window => (MetroWindow) GetView(); + + public override void CanClose(Action callback) + { + if (Window.IsVisible) + HideWindow(); + else + ShowWindow(); + + // ShellView is a strong and independent view who won't let herself get closed by the likes of anyone! + callback(false); + } + + public bool CanShowWindow => !Window.IsVisible; + public bool CanHideWindow => Window.IsVisible; + + public void ShowWindow() + { + if (!Window.IsVisible) + Window.Show(); + + NotifyOfPropertyChange(() => CanShowWindow); + NotifyOfPropertyChange(() => CanHideWindow); + } + + public void HideWindow() + { + if (Window.IsVisible) + Window.Hide(); + + NotifyOfPropertyChange(() => CanShowWindow); + NotifyOfPropertyChange(() => CanHideWindow); + } + protected override void OnActivate() { base.OnActivate(); diff --git a/Artemis/Artemis/Views/ShellView.xaml b/Artemis/Artemis/Views/ShellView.xaml index 2e86ff657..9697d638b 100644 --- a/Artemis/Artemis/Views/ShellView.xaml +++ b/Artemis/Artemis/Views/ShellView.xaml @@ -6,11 +6,14 @@ xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" xmlns:cal="http://www.caliburnproject.org" xmlns:dialogs="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro" + xmlns:viewModels="clr-namespace:Artemis.ViewModels" + xmlns:tb="http://www.hardcodet.net/taskbar" dialogs:DialogParticipation.Register="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}" mc:Ignorable="d" Title="Artemis" Height="800" Width="1210" MinHeight="800" MinWidth="1210" - GlowBrush="{DynamicResource AccentColorBrush}" Icon="../logo.ico"> + GlowBrush="{DynamicResource AccentColorBrush}" Icon="../logo.ico" + d:DataContext="{d:DesignInstance viewModels:ShellViewModel}"> @@ -45,6 +48,22 @@ + + + + + + + + + + + + @@ -105,5 +124,7 @@ + + \ No newline at end of file From 6f7e24611a083576a6971147a7fd7a7a98ec524e Mon Sep 17 00:00:00 2001 From: Robert Beekman Date: Thu, 10 Nov 2016 20:01:33 +0100 Subject: [PATCH 40/49] Added most CM support --- Artemis/Artemis/Artemis.csproj | 5 + .../CoolerMaster/MasterkeysProL.cs | 97 ++++++++++++++++++ .../CoolerMaster/Utilities/CMSDK.cs | 60 +++++++++++ .../Artemis/InjectionModules/DeviceModules.cs | 2 + Artemis/Artemis/lib/SDKDLL.dll | Bin 0 -> 464384 bytes 5 files changed, 164 insertions(+) create mode 100644 Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs create mode 100644 Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs create mode 100644 Artemis/Artemis/lib/SDKDLL.dll diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 3158bbcb6..ae8690d13 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -317,6 +317,8 @@ + + @@ -716,6 +718,9 @@ + + PreserveNewest + Always diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs new file mode 100644 index 000000000..a5cd4bb66 --- /dev/null +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs @@ -0,0 +1,97 @@ +using System.Drawing; +using System.Drawing.Imaging; +using System.Runtime.InteropServices; +using System.Windows; +using System.Windows.Forms; +using Artemis.DeviceProviders.CoolerMaster.Utilities; +using Artemis.Properties; +using Artemis.Utilities; + +namespace Artemis.DeviceProviders.CoolerMaster +{ + public class MasterkeysProL : KeyboardProvider + { + public MasterkeysProL() + { + Name = "CM Masterkeys Pro L"; + Slug = "cm-masterkeys-pro-l"; + + CantEnableText = "Couldn't connect to your CM Masterkeys Pro L.\n" + + "Please check your cables and try updating your CM software.\n\n" + + "If needed, you can select a different keyboard in Artemis under settings."; + + Height = 6; + Width = 22; + // TODO + PreviewSettings = new PreviewSettings(665, 175, new Thickness(0, -15, 0, 0), Resources.blackwidow); + } + + public override void Disable() + { + CmSdk.EnableLedControl(false); + } + + public override bool CanEnable() + { + return true; + } + + public override void Enable() + { + CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); + CmSdk.EnableLedControl(true); + } + + public override void DrawBitmap(Bitmap bitmap) + { + using (var b = ImageUtilities.ResizeImage(bitmap, Width, Height)) + { + var matrix = new COLOR_MATRIX {KeyColor = new KEY_COLOR[Height, Width]}; + for (var x = 0; x < Width; x++) + { + for (var y = 0; y < Height; y++) + { + var color = b.GetPixel(x, y); + matrix.KeyColor[y, x] = new KEY_COLOR(color.R, color.G, color.B); + } + } + CmSdk.SetAllLedColor(matrix); + } + } + + public override KeyMatch? GetKeyPosition(Keys keyCode) + { + return null; + } + + private static byte[,,] BitmapToBytes(Bitmap bitmap) + { + BitmapData bitmapData = + bitmap.LockBits(new Rectangle(new System.Drawing.Point(), bitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); + byte[] bitmapBytes; + var stride = bitmapData.Stride; + try + { + int byteCount = bitmapData.Stride * bitmap.Height; + bitmapBytes = new byte[byteCount]; + Marshal.Copy(bitmapData.Scan0, bitmapBytes, 0, byteCount); + } + finally + { + bitmap.UnlockBits(bitmapData); + } + byte[,,] result = new byte[3, bitmap.Width, bitmap.Height]; + for (int k = 0; k < 3; k++) + { + for (int i = 0; i < bitmap.Width; i++) + { + for (int j = 0; j < bitmap.Height; j++) + { + result[k, i, j] = bitmapBytes[j * stride + i * 3 + k]; + } + } + } + return result; + } + } +} \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs new file mode 100644 index 000000000..a8621a27f --- /dev/null +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs @@ -0,0 +1,60 @@ +using System.Runtime.InteropServices; + +namespace Artemis.DeviceProviders.CoolerMaster.Utilities +{ + + public struct KEY_COLOR + { + public byte r; + public byte g; + public byte b; + + public KEY_COLOR(byte colR, byte colG, byte colB) + { + r = colR; + g = colG; + b = colB; + } + } + + // set up/save the whole LED color structure + + public struct COLOR_MATRIX + { + [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 132)] + public KEY_COLOR[,] KeyColor; + } + + //Enumeration of device list + public enum DEVICE_INDEX + { + DEV_MKeys_L = 0, + DEV_MKeys_S = 1, + DEV_MKeys_L_White = 2, + DEV_MKeys_M_White = 3, + DEV_MMouse_L = 4 + } + + //Enumeration of device layout + public enum LAYOUT_KEYBOARD + { + LAYOUT_UNINIT = 0, + LAYOUT_US = 1, + LAYOUT_EU = 2 + } + + public static class CmSdk + { + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern void SetControlDevice(DEVICE_INDEX devIndex); + + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern bool EnableLedControl(bool bEnable); + + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern bool SetLedColor(int iRow, int iColumn, byte r, byte g, byte b); + + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern bool SetAllLedColor(COLOR_MATRIX colorMatrix); + } +} \ No newline at end of file diff --git a/Artemis/Artemis/InjectionModules/DeviceModules.cs b/Artemis/Artemis/InjectionModules/DeviceModules.cs index 86ecdcc59..d250abf40 100644 --- a/Artemis/Artemis/InjectionModules/DeviceModules.cs +++ b/Artemis/Artemis/InjectionModules/DeviceModules.cs @@ -1,4 +1,5 @@ using Artemis.DeviceProviders; +using Artemis.DeviceProviders.CoolerMaster; using Artemis.DeviceProviders.Corsair; using Artemis.DeviceProviders.Logitech; using Artemis.DeviceProviders.Razer; @@ -15,6 +16,7 @@ namespace Artemis.InjectionModules Bind().To().InSingletonScope(); Bind().To().InSingletonScope(); Bind().To().InSingletonScope(); + Bind().To().InSingletonScope(); // Mice Bind().To().InSingletonScope(); diff --git a/Artemis/Artemis/lib/SDKDLL.dll b/Artemis/Artemis/lib/SDKDLL.dll new file mode 100644 index 0000000000000000000000000000000000000000..2799814339ffa4cec617aa20a8d4d7d658a38498 GIT binary patch literal 464384 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 z%0D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 Date: Sat, 12 Nov 2016 00:00:38 +0100 Subject: [PATCH 41/49] Finished CM support Reimplemented task bar icon --- Artemis/Artemis/Artemis.csproj | 4 +- .../CoolerMaster/MasterkeysProL.cs | 67 +++--- .../CoolerMaster/Utilities/CMSDK.cs | 43 +++- .../Logitech/LogitechKeyboard.cs | 1 + .../Logitech/Utilities/OrionUtilities.cs | 10 +- .../Razer/Utilities/RazerUtilities.cs | 18 +- .../Artemis/InjectionModules/BaseModules.cs | 1 - Artemis/Artemis/Managers/DeviceManager.cs | 2 +- Artemis/Artemis/Managers/LoopManager.cs | 11 +- .../Artemis/Properties/Resources.Designer.cs | 10 + Artemis/Artemis/Properties/Resources.resx | 3 + .../Resources/Keyboards/masterkeys-pro-l.png | Bin 0 -> 144985 bytes .../Artemis/Services/MetroDialogService.cs | 4 +- Artemis/Artemis/Utilities/ImageUtilities.cs | 3 + Artemis/Artemis/Utilities/Updater.cs | 2 +- Artemis/Artemis/ViewModels/ShellViewModel.cs | 194 ++++++++++++++--- .../Artemis/ViewModels/SystemTrayViewModel.cs | 200 ------------------ 17 files changed, 281 insertions(+), 292 deletions(-) create mode 100644 Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png delete mode 100644 Artemis/Artemis/ViewModels/SystemTrayViewModel.cs diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index ae8690d13..198390572 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -318,7 +318,7 @@ - + @@ -611,7 +611,6 @@ - DebugView.xaml @@ -687,6 +686,7 @@ Code + diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs index a5cd4bb66..dc9873fdf 100644 --- a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs @@ -1,9 +1,10 @@ using System.Drawing; -using System.Drawing.Imaging; -using System.Runtime.InteropServices; +using System.Linq; +using System.Threading; using System.Windows; using System.Windows.Forms; using Artemis.DeviceProviders.CoolerMaster.Utilities; +using Artemis.DeviceProviders.Logitech.Utilities; using Artemis.Properties; using Artemis.Utilities; @@ -11,6 +12,8 @@ namespace Artemis.DeviceProviders.CoolerMaster { public class MasterkeysProL : KeyboardProvider { + private bool _hasControl; + public MasterkeysProL() { Name = "CM Masterkeys Pro L"; @@ -22,76 +25,62 @@ namespace Artemis.DeviceProviders.CoolerMaster Height = 6; Width = 22; - // TODO - PreviewSettings = new PreviewSettings(665, 175, new Thickness(0, -15, 0, 0), Resources.blackwidow); + + PreviewSettings = new PreviewSettings(670, 189, new Thickness(-2, -5, 0, 0), Resources.masterkeys_pro_l); } public override void Disable() { - CmSdk.EnableLedControl(false); + if (_hasControl) + { + CmSdk.EnableLedControl(false); + Thread.Sleep(500); + } + _hasControl = false; } public override bool CanEnable() { - return true; + CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); + + // Doesn't seem reliable but better than nothing I suppose + return CmSdk.IsDevicePlug(); } public override void Enable() { CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); + + _hasControl = true; CmSdk.EnableLedControl(true); } public override void DrawBitmap(Bitmap bitmap) { + // Resize the bitmap using (var b = ImageUtilities.ResizeImage(bitmap, Width, Height)) { + // Create an empty matrix var matrix = new COLOR_MATRIX {KeyColor = new KEY_COLOR[Height, Width]}; + + // Map the bytes to the matix for (var x = 0; x < Width; x++) { for (var y = 0; y < Height; y++) { - var color = b.GetPixel(x, y); - matrix.KeyColor[y, x] = new KEY_COLOR(color.R, color.G, color.B); + var c = b.GetPixel(x, y); + matrix.KeyColor[y, x] = new KEY_COLOR(c.R, c.G, c.B); } } + + // Send the matrix to the keyboard CmSdk.SetAllLedColor(matrix); } } public override KeyMatch? GetKeyPosition(Keys keyCode) { - return null; - } - - private static byte[,,] BitmapToBytes(Bitmap bitmap) - { - BitmapData bitmapData = - bitmap.LockBits(new Rectangle(new System.Drawing.Point(), bitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); - byte[] bitmapBytes; - var stride = bitmapData.Stride; - try - { - int byteCount = bitmapData.Stride * bitmap.Height; - bitmapBytes = new byte[byteCount]; - Marshal.Copy(bitmapData.Scan0, bitmapBytes, 0, byteCount); - } - finally - { - bitmap.UnlockBits(bitmapData); - } - byte[,,] result = new byte[3, bitmap.Width, bitmap.Height]; - for (int k = 0; k < 3; k++) - { - for (int i = 0; i < bitmap.Width; i++) - { - for (int j = 0; j < bitmap.Height; j++) - { - result[k, i, j] = bitmapBytes[j * stride + i * 3 + k]; - } - } - } - return result; + return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); } } } \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs index a8621a27f..4283e412f 100644 --- a/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs @@ -2,7 +2,6 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities { - public struct KEY_COLOR { public byte r; @@ -17,12 +16,9 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities } } - // set up/save the whole LED color structure - public struct COLOR_MATRIX { - [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 132)] - public KEY_COLOR[,] KeyColor; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 132)] public KEY_COLOR[,] KeyColor; } //Enumeration of device list @@ -45,15 +41,52 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities public static class CmSdk { + ///

+ /// Sets the control device which all following actions are targetted to + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern void SetControlDevice(DEVICE_INDEX devIndex); + /// + /// Obtain current device layout + /// + /// + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern LAYOUT_KEYBOARD GetDeviceLayout(); + + /// + /// Verify if the currently conrolled device is plugged in + /// + /// + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern bool IsDevicePlug(); + + /// + /// Enables led control on the currently controlled device + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool EnableLedControl(bool bEnable); + /// + /// Sets the LED of the currently controlled device + /// + /// + /// + /// + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool SetLedColor(int iRow, int iColumn, byte r, byte g, byte b); + /// + /// Sets all LEDS using the given color matrix + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool SetAllLedColor(COLOR_MATRIX colorMatrix); } diff --git a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs index a4f65af0b..3fb2bfd0f 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs @@ -2,6 +2,7 @@ using System.Threading; using System.Windows; using Artemis.DeviceProviders.Logitech.Utilities; +using Artemis.Utilities; using Artemis.Utilities.DataReaders; using Microsoft.Win32; diff --git a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs index f39d7a27e..736794cca 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs @@ -153,7 +153,7 @@ namespace Artemis.DeviceProviders.Logitech.Utilities { if (b.Width > 21 || b.Height > 6) b = ResizeImage(b, 21, 6); - + var rect = new Rectangle(0, 0, b.Width, b.Height); var bitmapData = b.LockBits(rect, ImageLockMode.ReadWrite, b.PixelFormat); @@ -202,10 +202,16 @@ namespace Artemis.DeviceProviders.Logitech.Utilities { graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingQuality = CompositingQuality.HighQuality; - graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + // TODO: Make configurable + // Prevents light bleed + graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + // Soft/semi-transparent keys + //graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + using (var wrapMode = new ImageAttributes()) { wrapMode.SetWrapMode(WrapMode.TileFlipXY); diff --git a/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs b/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs index 2ec0ebd43..44c7ae96a 100644 --- a/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs +++ b/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs @@ -10,19 +10,21 @@ namespace Artemis.DeviceProviders.Razer.Utilities public static Custom BitmapColorArray(Bitmap b, int height, int width) { var keyboardGrid = Custom.Create(); - if (b.Width > width || b.Height > height) - b = ImageUtilities.ResizeImage(b, width, height); - - for (var y = 0; y < b.Height; y++) + // Resize the bitmap + using (b = ImageUtilities.ResizeImage(b, width, height)) { + // Map the bytes to the grid for (var x = 0; x < b.Width; x++) { - var pixel = b.GetPixel(x, y); - keyboardGrid[y, x] = new Color(pixel.R, pixel.G, pixel.B); + for (var y = 0; y < b.Height; y++) + { + var c = b.GetPixel(x, y); + keyboardGrid[y, x] = new Color(c.R, c.G, c.B); + } } - } - return keyboardGrid; + return keyboardGrid; + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/InjectionModules/BaseModules.cs b/Artemis/Artemis/InjectionModules/BaseModules.cs index cbe1f7980..cdd51407f 100644 --- a/Artemis/Artemis/InjectionModules/BaseModules.cs +++ b/Artemis/Artemis/InjectionModules/BaseModules.cs @@ -15,7 +15,6 @@ namespace Artemis.InjectionModules { // ViewModels Bind().ToSelf().InSingletonScope(); - Bind().ToSelf().InSingletonScope(); Bind().ToSelf(); Bind().ToSelf(); Bind().ToSelf().InSingletonScope(); diff --git a/Artemis/Artemis/Managers/DeviceManager.cs b/Artemis/Artemis/Managers/DeviceManager.cs index 362f5cc11..bc79efdb1 100644 --- a/Artemis/Artemis/Managers/DeviceManager.cs +++ b/Artemis/Artemis/Managers/DeviceManager.cs @@ -73,7 +73,7 @@ namespace Artemis.Managers public async void EnableKeyboard(KeyboardProvider keyboardProvider) { if (keyboardProvider == null) - throw new ArgumentNullException(nameof(keyboardProvider)); + return; if (ChangingKeyboard || (ActiveKeyboard?.Name == keyboardProvider.Name)) return; diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs index df5c7b701..631017882 100644 --- a/Artemis/Artemis/Managers/LoopManager.cs +++ b/Artemis/Artemis/Managers/LoopManager.cs @@ -177,6 +177,9 @@ namespace Artemis.Managers { public RenderFrame(KeyboardProvider keyboard) { + if (keyboard == null) + return; + KeyboardBitmap = keyboard.KeyboardBitmap(4); KeyboardBitmap.SetResolution(96, 96); @@ -222,10 +225,10 @@ namespace Artemis.Managers public void Dispose() { - KeyboardBitmap.Dispose(); - MouseBitmap.Dispose(); - HeadsetBitmap.Dispose(); - GenericBitmap.Dispose(); + KeyboardBitmap?.Dispose(); + MouseBitmap?.Dispose(); + HeadsetBitmap?.Dispose(); + GenericBitmap?.Dispose(); } } } \ No newline at end of file diff --git a/Artemis/Artemis/Properties/Resources.Designer.cs b/Artemis/Artemis/Properties/Resources.Designer.cs index 207ddd094..318b52e6b 100644 --- a/Artemis/Artemis/Properties/Resources.Designer.cs +++ b/Artemis/Artemis/Properties/Resources.Designer.cs @@ -328,6 +328,16 @@ namespace Artemis.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap masterkeys_pro_l { + get { + object obj = ResourceManager.GetObject("masterkeys_pro_l", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Artemis/Artemis/Properties/Resources.resx b/Artemis/Artemis/Properties/Resources.resx index 44eae2ca5..b2b934454 100644 --- a/Artemis/Artemis/Properties/Resources.resx +++ b/Artemis/Artemis/Properties/Resources.resx @@ -214,4 +214,7 @@ ..\Resources\ambilight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Keyboards\masterkeys-pro-l.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png b/Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png new file mode 100644 index 0000000000000000000000000000000000000000..4658fe7bde104aa7365e82c36b836193930f4ee7 GIT binary patch literal 144985 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 { - window = Application.Current.Windows.OfType().FirstOrDefault(w => w.IsActive) ?? - Application.Current.Windows.OfType().FirstOrDefault(); + window = Application.Current.Windows.OfType() + .FirstOrDefault(w => w.IsActive && w.IsVisible); }); return window; diff --git a/Artemis/Artemis/Utilities/ImageUtilities.cs b/Artemis/Artemis/Utilities/ImageUtilities.cs index 3326e3253..2984b1a6c 100644 --- a/Artemis/Artemis/Utilities/ImageUtilities.cs +++ b/Artemis/Artemis/Utilities/ImageUtilities.cs @@ -1,9 +1,12 @@ using System.Drawing; using System.Drawing.Imaging; using System.IO; +using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media; using System.Windows.Media.Imaging; +using PixelFormat = System.Drawing.Imaging.PixelFormat; +using Point = System.Drawing.Point; namespace Artemis.Utilities { diff --git a/Artemis/Artemis/Utilities/Updater.cs b/Artemis/Artemis/Utilities/Updater.cs index 31555b81d..0c856cfd9 100644 --- a/Artemis/Artemis/Utilities/Updater.cs +++ b/Artemis/Artemis/Utilities/Updater.cs @@ -56,7 +56,7 @@ namespace Artemis.Utilities ///

/// The dialog service to use for progress and result dialogs /// - public static async Task CheckChangelog(MetroDialogService dialogService) + public static async void CheckChangelog(MetroDialogService dialogService) { var settings = SettingsProvider.Load(); var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; diff --git a/Artemis/Artemis/ViewModels/ShellViewModel.cs b/Artemis/Artemis/ViewModels/ShellViewModel.cs index fd56ee14c..de8d7c5de 100644 --- a/Artemis/Artemis/ViewModels/ShellViewModel.cs +++ b/Artemis/Artemis/ViewModels/ShellViewModel.cs @@ -1,11 +1,18 @@ using System; using System.Linq; +using System.Threading; +using System.Threading.Tasks; using System.Windows; +using Artemis.DAL; +using Artemis.Events; using Artemis.Managers; using Artemis.Services; +using Artemis.Settings; +using Artemis.Utilities; using Artemis.ViewModels.Abstract; using Artemis.ViewModels.Flyouts; using Caliburn.Micro; +using Hardcodet.Wpf.TaskbarNotification; using MahApps.Metro.Controls; using Ninject; @@ -14,52 +21,130 @@ namespace Artemis.ViewModels public sealed class ShellViewModel : Conductor.Collection.OneActive { private readonly IKernel _kernel; + private string _activeIcon; + private bool _checked; + private bool _enabled; + private string _toggleText; + private bool _exiting; public ShellViewModel(IKernel kernel, MainManager mainManager, MetroDialogService metroDialogService, FlyoutSettingsViewModel flyoutSettings) { _kernel = kernel; + MainManager = mainManager; + MetroDialogService = metroDialogService; - // Setup UI DisplayName = "Artemis"; - + GeneralSettings = SettingsProvider.Load(); Flyouts = new BindableCollection { flyoutSettings }; + MainManager.OnEnabledChangedEvent += (sender, args) => Enabled = args.Enabled; - MainManager = mainManager; - MetroDialogService = metroDialogService; - MainManager.EnableProgram(); + // This gets updated automatically but during startup lets quickly preset it + Enabled = GeneralSettings.Suspended; } - public SystemTrayViewModel SystemTrayViewModel { get; set; } + protected override void OnViewReady(object view) + { + base.OnViewReady(view); + + Task.Run(() => StartupHide()); + } + + private void StartupHide() + { + // TODO: This is probably an awful idea. I can't reliably hook into the view being ready to be hidden + Thread.Sleep(500); + + if (GeneralSettings.ShowOnStartup) + ShowWindow(); + else + HideWindow(); + + if (!GeneralSettings.Suspended) + MainManager.EnableProgram(); + } + + public Mutex Mutex { get; set; } public MainManager MainManager { get; set; } public MetroDialogService MetroDialogService { get; set; } public IObservableCollection Flyouts { get; set; } - + public GeneralSettings GeneralSettings { get; set; } private MetroWindow Window => (MetroWindow) GetView(); + public bool CanShowWindow => Window != null && (Window != null || !Window.IsVisible); + public bool CanHideWindow => Window != null && Window.IsVisible; + + public bool Enabled + { + get { return _enabled; } + set + { + if (value == _enabled) return; + _enabled = value; + + ToggleText = _enabled ? "Disable Artemis" : "Enable Artemis"; + ActiveIcon = _enabled ? "../Resources/logo.ico" : "../Resources/logo-disabled.ico"; + NotifyOfPropertyChange(() => Enabled); + } + } + + public string ActiveIcon + { + get { return _activeIcon; } + set + { + _activeIcon = value; + NotifyOfPropertyChange(); + } + } + + public string ToggleText + { + get { return _toggleText; } + set + { + if (value == _toggleText) return; + _toggleText = value; + NotifyOfPropertyChange(() => ToggleText); + } + } + public override void CanClose(Action callback) { - if (Window.IsVisible) + if (CanHideWindow) HideWindow(); - else + else if (!_exiting) ShowWindow(); - // ShellView is a strong and independent view who won't let herself get closed by the likes of anyone! - callback(false); + // Only close if ExitApplication was called + callback(_exiting); } - public bool CanShowWindow => !Window.IsVisible; - public bool CanHideWindow => Window.IsVisible; - public void ShowWindow() { - if (!Window.IsVisible) - Window.Show(); + if (CanShowWindow) + Window?.Dispatcher.Invoke(() => + { + Window.Show(); + Window.Activate(); + }); + + GeneralSettings.ApplyTheme(); + + // Show certain dialogs if needed + CheckKeyboardState(); + CheckDuplicateInstances(); + Updater.CheckChangelog(MetroDialogService); + + var vms = _kernel.GetAll().ToList(); + Items.Clear(); + Items.AddRange(vms); + ActivateItem(vms.FirstOrDefault()); NotifyOfPropertyChange(() => CanShowWindow); NotifyOfPropertyChange(() => CanHideWindow); @@ -67,26 +152,44 @@ namespace Artemis.ViewModels public void HideWindow() { - if (Window.IsVisible) - Window.Hide(); + if (CanHideWindow) + Window?.Dispatcher.Invoke(() => { Window.Hide(); }); + Items.Clear(); NotifyOfPropertyChange(() => CanShowWindow); NotifyOfPropertyChange(() => CanHideWindow); + + // Force a GC since the UI releases a lot of resources + GC.Collect(); } - protected override void OnActivate() + public void ToggleEnabled() { - base.OnActivate(); - Items.Clear(); - - var vms = _kernel.GetAll(); - Items.AddRange(vms); + if (Enabled) + MainManager.DisableProgram(); + else + MainManager.EnableProgram(); } - protected override void OnDeactivate(bool close) + public void ExitApplication() { - base.OnDeactivate(close); - Items.Clear(); + MainManager.Dispose(); + + try + { + var icon = (TaskbarIcon) Window.FindResource("SystemTrayIcon"); + icon.Dispose(); + } + catch (Exception) + { + //ignored + } + + _exiting = true; + + // TODO: CoolerMaster SDK is freezing Artemis on shutdown, dunno what to do about it yet + System.Diagnostics.Process.GetCurrentProcess().Kill(); + // Application.Current.Shutdown(); } public void Settings() @@ -98,5 +201,42 @@ namespace Artemis.ViewModels { Flyouts.First().IsOpen = false; } + + private async void CheckKeyboardState() + { + var dialog = await MetroDialogService.ShowProgressDialog("Enabling keyboard", + "Artemis is still busy trying to enable your last used keyboard. " + + "Please wait while the process completes"); + dialog.SetIndeterminate(); + + while (MainManager.DeviceManager.ChangingKeyboard) + await Task.Delay(10); + + try + { + await dialog.CloseAsync(); + } + catch (InvalidOperationException) + { + // Occurs when window is closed again, can't find a proper check for this + } + } + + private void CheckDuplicateInstances() + { + if (_checked) + return; + _checked = true; + + bool aIsNewInstance; + Mutex = new Mutex(true, "ArtemisMutex", out aIsNewInstance); + if (aIsNewInstance) + return; + + MetroDialogService.ShowMessageBox("Multiple instances found", + "It looks like there are multiple running instances of Artemis. " + + "This can cause issues, especially with CS:GO and Dota2. " + + "If so, please make sure Artemis isn't already running"); + } } } \ No newline at end of file diff --git a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs deleted file mode 100644 index b5adfcf72..000000000 --- a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs +++ /dev/null @@ -1,200 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using System.Windows; -using Artemis.DAL; -using Artemis.Events; -using Artemis.Managers; -using Artemis.Services; -using Artemis.Settings; -using Artemis.Utilities; -using Caliburn.Micro; - -namespace Artemis.ViewModels -{ - public class SystemTrayViewModel : Screen - { - private readonly WindowService _windowService; - private ShellViewModel _shellViewModel; - private string _activeIcon; - private bool _checked; - private bool _enabled; - private string _toggleText; - - public SystemTrayViewModel(WindowService windowService, MetroDialogService dialogService, MainManager mainManager) - { - _windowService = windowService; - - DialogService = dialogService; - MainManager = mainManager; - - MainManager.EnableProgram(); - MainManager.OnEnabledChangedEvent += MainManagerOnOnEnabledChangedEvent; - - var generalSettings = SettingsProvider.Load(); - Enabled = !generalSettings.Suspended; - if (generalSettings.ShowOnStartup) - ShowWindow(); - } - - public MetroDialogService DialogService { get; set; } - - public MainManager MainManager { get; set; } - - public bool CanShowWindow - { - get - { - if (_shellViewModel == null) - return true; - return !_shellViewModel.IsActive; - } - } - - public bool CanHideWindow => (_shellViewModel?.IsActive == true) && !MainManager.DeviceManager.ChangingKeyboard; - public bool CanToggleEnabled => !MainManager.DeviceManager.ChangingKeyboard; - - public bool Enabled - { - get { return _enabled; } - set - { - if (value == _enabled) return; - _enabled = value; - - ToggleText = _enabled ? "Disable Artemis" : "Enable Artemis"; - ActiveIcon = _enabled ? "../Resources/logo.ico" : "../Resources/logo-disabled.ico"; - NotifyOfPropertyChange(() => Enabled); - } - } - - public string ActiveIcon - { - get { return _activeIcon; } - set - { - _activeIcon = value; - NotifyOfPropertyChange(); - } - } - - public string ToggleText - { - get { return _toggleText; } - set - { - if (value == _toggleText) return; - _toggleText = value; - NotifyOfPropertyChange(() => ToggleText); - } - } - - public Mutex Mutex { get; set; } - - private void MainManagerOnOnEnabledChangedEvent(object sender, EnabledChangedEventArgs e) - { - Enabled = e.Enabled; - } - - public void ToggleEnabled() - { - if (Enabled) - MainManager.DisableProgram(); - else - MainManager.EnableProgram(); - } - - protected override void OnActivate() - { - base.OnActivate(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - } - - public void ShowWindow() - { - if (!CanShowWindow) - return; - - // manually show the next window view-model - _shellViewModel = _windowService.ShowWindow(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - - SettingsProvider.Load().ApplyTheme(); - - // Show certain dialogs if needed - CheckKeyboardState(); - CheckDuplicateInstances(); - Updater.CheckChangelog(DialogService); - } - - private void CheckDuplicateInstances() - { - if (_checked) - return; - _checked = true; - - bool aIsNewInstance; - Mutex = new Mutex(true, "ArtemisMutex", out aIsNewInstance); - if (aIsNewInstance) - return; - - DialogService.ShowMessageBox("Multiple instances found", - "It looks like there are multiple running instances of Artemis. " + - "This can cause issues, especially with CS:GO and Dota2. " + - "If so, please make sure Artemis isn't already running"); - } - - private async void CheckKeyboardState() - { - while (!_shellViewModel.IsActive) - await Task.Delay(200); - - NotifyOfPropertyChange(() => CanHideWindow); - NotifyOfPropertyChange(() => CanToggleEnabled); - - var dialog = await DialogService.ShowProgressDialog("Enabling keyboard", - "Artemis is still busy trying to enable your last used keyboard. " + - "Please wait while the process completes"); - dialog.SetIndeterminate(); - - while (MainManager.DeviceManager.ChangingKeyboard) - await Task.Delay(10); - - NotifyOfPropertyChange(() => CanHideWindow); - NotifyOfPropertyChange(() => CanToggleEnabled); - - try - { - await dialog.CloseAsync(); - } - catch (InvalidOperationException) - { - // Occurs when window is closed again, can't find a proper check for this - } - } - - public void HideWindow() - { - if (!CanHideWindow) - return; - - _shellViewModel.TryClose(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - - // Force a GC since the UI releases a lot of resources - GC.Collect(); - } - - public void ExitApplication() - { - MainManager.Dispose(); - Application.Current.Shutdown(); - } - } -} \ No newline at end of file From c9481d44423ac2e6f03c9234da84ad61e7b71905 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sat, 12 Nov 2016 19:42:08 +0100 Subject: [PATCH 42/49] Fixed debug log removing wrong line at >50 lines Wrapped LUA loading in try-catch --- .../Artemis/Controls/Log/LoggingControl.xaml | 4 ++-- .../Controls/Log/LoggingControl.xaml.cs | 2 +- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 18 ++++++++++++------ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Artemis/Artemis/Controls/Log/LoggingControl.xaml b/Artemis/Artemis/Controls/Log/LoggingControl.xaml index b1ded7610..85c8b6ff9 100644 --- a/Artemis/Artemis/Controls/Log/LoggingControl.xaml +++ b/Artemis/Artemis/Controls/Log/LoggingControl.xaml @@ -16,8 +16,8 @@ - - + + diff --git a/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs b/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs index cf771ba2d..6809192cf 100644 --- a/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs +++ b/Artemis/Artemis/Controls/Log/LoggingControl.xaml.cs @@ -28,7 +28,7 @@ namespace Artemis.Controls.Log await Dispatcher.InvokeAsync(() => { if (LogCollection.Count >= 50) - LogCollection.RemoveAt(LogCollection.Count - 1); + LogCollection.RemoveAt(0); LogCollection.Add(message); }); diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index aa65ba722..284a74c94 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -97,12 +97,18 @@ namespace Artemis.Profiles.Lua LuaKeyboardWrapper?.Dispose(); LuaKeyboardWrapper = null; - LuaScript.Globals.Clear(); - LuaScript.Registry.Clear(); - LuaScript.Registry.RegisterConstants(); - LuaScript.Registry.RegisterCoreModules(CoreModules.Preset_SoftSandbox); - LuaScript.Globals.RegisterConstants(); - LuaScript.Globals.RegisterCoreModules(CoreModules.Preset_SoftSandbox); + try + { + LuaScript.Registry.RegisterConstants(); + LuaScript.Registry.RegisterCoreModules(CoreModules.Preset_SoftSandbox); + LuaScript.Globals.RegisterConstants(); + LuaScript.Globals.RegisterCoreModules(CoreModules.Preset_SoftSandbox); + } + catch (NullReferenceException) + { + // Can be missing if the user script screwed up the globals + } + } } From b1f4461b75f7c723562fe87a821aafaa5c7f2af3 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sun, 13 Nov 2016 00:16:10 +0100 Subject: [PATCH 43/49] Throttling GTA V updates to improve performance --- .../Logitech/LogitechKeyboard.cs | 3 +- .../Artemis/Profiles/Lua/LuaLayerWrapper.cs | 2 +- Artemis/Artemis/Resources/LogitechLED.dll | Bin 165376 -> 43520 bytes Artemis/LogiLed2Artemis/LogiLed2Artemis.def | 48 +++++++++--------- Artemis/LogiLed2Artemis/main.cpp | 45 +++++++++++----- 5 files changed, 59 insertions(+), 39 deletions(-) diff --git a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs index 3fb2bfd0f..80491a1b1 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs @@ -2,7 +2,6 @@ using System.Threading; using System.Windows; using Artemis.DeviceProviders.Logitech.Utilities; -using Artemis.Utilities; using Artemis.Utilities.DataReaders; using Microsoft.Win32; @@ -14,7 +13,7 @@ namespace Artemis.DeviceProviders.Logitech { // Check to see if VC++ 2012 x64 is installed. if (Registry.LocalMachine.OpenSubKey( - @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}") == null) + @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}") == null) { CantEnableText = "Couldn't connect to your Logitech keyboard.\n" + "The Visual C++ 2012 Redistributable v11.0.61030.0 could not be found, which is required.\n" + diff --git a/Artemis/Artemis/Profiles/Lua/LuaLayerWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaLayerWrapper.cs index 0ac4cd5af..661bf928f 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaLayerWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaLayerWrapper.cs @@ -127,7 +127,7 @@ namespace Artemis.Profiles.Lua return new LuaRadialGradientBrush(_layerModel.AppliedProperties.Brush); return null; } - set { _layerModel.AppliedProperties.Brush = value.Brush; } + set { _layerModel.AppliedProperties.Brush = value?.Brush; } } #endregion diff --git a/Artemis/Artemis/Resources/LogitechLED.dll b/Artemis/Artemis/Resources/LogitechLED.dll index 7fb78369bd2117e1f7f1bcaa78d3e3f2d01f2571..47ade51fcb5dfdeb20ec73fda624ca6454151a50 100644 GIT binary patch literal 43520 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 Blf3`{ literal 165376 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
  • TwW-bSGEh_VXvS;EVxGIp$+7;NjW~KlMbm%fIZTmi@P<~33|lM*U56>|CObm zT@U5GUgiyOkM!>cEL_3ZbktkGL*V+0AP<1~D@Aw#;8;InA69YG{f3B7f}2{+310-4 zkNF3j9FTftxLeV97o+jcM&tdDh`Tx&Ypmjg`@pTJ;)K5eH&De1uZ)0=QN;-tMMOB_ zJ>Yg$al$>|4pni&m%zOV{=1P+ZIjec&3g-T-fj zigFDAws#9T3BU<4$OF_{9^hRuQE!8Q|1SL}0WXXT-aNo-;v#%i9PeL}^ngdC{}|x6 z62hMcxHutrjdyn%@AX8SeglkEm7K5u+;f$ja3i>vz&`}IDJk-7yn7PycoKK~IN|%? z+QFX-hQy+jNY{A3wDIm~#Dm~A6m!D2zzr00!c*V|!G9R+!YOH)f56GTqFlLvHvk7g z_`dfFeH#G$M*8tHgDn7r^ueard+FzF6a3vc`L65v#X? zPF8Tj55XO);Dn!pJ6XX^cRw5Ng+|;6uCbI89tF3eloMX`56~A%x#=!yDFL0To8uwxruq{Im$;HH;y(;eEz`?V3r3_{zNaKa97TS_=#1l(ibPXL}8#BVTj z(|ydwyP6RNqi5vObioiE{pwcwVPaKc-`t-y8!Jh21XxP+VTKR4cuj(97$!^NENHE_p^IpKTY zP8W029l(e$f}38+2~UBWSIJHH92@UXMx6LK=vW0O{2Oq26`ZgOTtNjV+ybt#f)k#% z6Z&QaH{BbIxDvxFIpO!fB`Ue;{%yoRgDWoMgrO&(PRh9H&S}I6KZCe(PIx)E4dvW) z|F`jOaKxkFJ}l*g%XdM2mT|(nz)daVrhCbaca|d-gWFun2`4-W)l|v}>+vq_Qf|6K z+jze=;u&yx<(#m7H?(y*C%h3{V>vh7=WV>}8}TRLUMb^*_klZ6#tB~q_eB|}J7$ab z2z^KZUb+|hMYXtxcFSHdpBnGvMXY`b%2mw?J>WK@{}+t?-7kckpCCTR*!F5p*!G-| zgLh2dApJdnzkg29p9DOAAJj9@PY3MXC&JeOzW7VXKZG9uZ^JzNCiGvJIDp={vy0)7Q<`65nu*#T*904_fu#!|!q=|6lx+y#7~niJ+8 z6n@0H(vSE3dZqvW{%;(uWxyQl$F2 zRm9~>9w5p?)x`CXmkYU_fVfVAg-$=Nk+yKFoE-Z8$`FL(SNadx;yL>zelx@&d_At6 z9KtbQxjD|^`3~U|Aj9q)#+<^vS;ALk2~T7R@6QrGkR^ODOZZTh@cjR&m#eS-dY`^%g?ma9J(90&S~_2(_$K>QW@v-|QKmS3YkcZPG= zv-;<@S?-H4mm0d7`vCM=!*kvnIn0ne%YP+Delbb>2Jm@|{`|%7bJ%RdGiUnx`Ox@7 zq^~fu@?OF^`F)=_efMTO8vq5uZwcqoccT>g(o`N$McEp&mU%A%zCt#cy*~!`0QxiE z#Wnx9_YO(-fuw6;aT`sWq&Z=dl}F#{$&=r2wDSB)^1Nq|I~)h}LGQQN6!sabVILCD zEtzjF;WxLk)z>)k&EYrx59$l^dp=t|qWWrJt4CcI8`$cz*71{U^(gC$drwH7|CBtn znQvcNsdK!!KsSMBuiJdob<}67<2*K+-<~~tDtGPL72CRX>uunEJTx>Eedd{GD$mBZ zbLY-E;D+wJ^Uk-z;qd2PuUBntZB>K8;OCn*ZF=MJ#~=U4y?gi0b>f9IJlnVLIJ$D> zN_F<^*=k8ii5dv3R*Q;?)LFA;sWWHJRDC|5x^3IGmmx1#8F?YE`HwvE=+Q-s7O725 zP3qv_p!(5AAE~ELpH`0?Iijvvvqn8|;2`FM*?h@QKr?Q@$Gr@ z=Bb+d^2;yPufP6U#r)LO)u|tU{IPoK)G770+ip|)Z|!r*=K5bdAT}w?p(FHx?1hHw&QE4v;X4mJfO3xvITrI zp(s)$p$JkOM~Z|J(1lN6S#UWZ*bobr3E)#7Hc)gBCP+XLm8P)^SSSOEf{Vv`gic5x zfD#Buf`C8(2{j?1gaAqI+uzCEmy^p65=3X-+pe?jpZ~x2?0R-P=gNOhnlx$D2OoUk zjvP7CZPTWW+rE7}ecap^9UblN+qcg>apHvg&_fUTb9U|8)&1zBkK*L{kb_~EO(rr~T)je>U`^ z&*R6B^OezG+qP}Zoc;Uv&k+8jJ-ZwK=%bGc@9o`j_g^WIcwIe#0tFF4rjMlANyP`{1 z?B$@`yH@x*FP`MSzlrZUjJ@Fx8Tdg4Ygj+4Z)80C?6dBgHERwmUc9*XugK%k^z`)n zn{K+vZPcid8LWG;F?Z?GrEYe1wkvDX$IHC8-FBP7g+Exia%HaI_*_!KXy_aqI~d<-c*3ve<>eV1Sy@@eSK@b&so2>;nbZIG zTf_&=efi~=-R3P$#|m(b88gQCOmN@>!3%%Gh7I#^tV>JtZrzpwI2Nl9^)Z~Q(yaF48)Rif*1VvjB5*--v;F0m>h&OjFT)40s^MC&N=le9iqCeIvc5l-!Yudyp@W#f*8l4a~m|yYQ z@*Oc^#4dC!zAAd^)Tx=or%yil#LV^DYp)p`$jqJ}oDAj%(EZAlt9*X(89K&}9s85U z3$e}h#1-;@ZQHh)XV

    YvQ}Y?AfzTjAXp@(o6pLt5&TtIN?qC<8P7q@@dninY3Hh z!z`XbM&u~iUJ%5Gx;NZ#gSkie_P^h-VT0jS2XkYeLih#yZ8o$m$Dt+(EK1}=OJ`jXt~m!zbm#q!McP8mVyc|_K@i1zE{ zvi34$y=9IbJvvizE#m!Bq4}TO<6HzFUlm-P8GLqK_q-Z+ZnEnXJ8@2d)6mIvsyUfX zMJLe-H)E(1=8ZF9sN?v*>-{{-9L&X>?o!v}VOP=5xJY@J*X*HvQQ7-vX(Rb(RJ;-C zeOK8#vT!k*mvoD08`cotcXMiL>YHh4X>-NTrAltILH^z#pI6Iw2@(@WNQ~|1(Nw9V zqjbR#<{iVRExPTOk&%%m`1VVFc#PVLSoz2!kC+^uoJ0J+E4lhn$?38r-&viUoXkIQ zT+5rItnz^Fs&R2~w~AlivTptQqr?XCr-lt1nn5n9gTEUzXkZ3^}ts${-8wixgiMo1L9~N_?uBpM3J_KmWN@o*5i=t_v;Xb5eKbi|-oBoaaG({Rz`zth{qpIQ?254;! zE@aLi*FwiX{q&QcgPD9XFVENl_dUb<(`o)f~?AWs*e?BNob|2D~u zio0~_QVKV9IPu-jXOHI_8jz9Zn=iijqAUK#;yu-6e8(3qt zckkZ4g_;(e&H=b=O&@umZ4>wabV%+yZ{9rfcax?~j4njh zJ0uR??)mDH_@C3opE2a#6dMXcgV6G=2~0+Zg)1ygn^0&Dh9suYLi4u(sfDWP&Wjmw)4} z#Ym}rQ>nwmce~@qkN0zJ@VAa`ZF0gOe(FVAPV^PAOI;t-Izc@$kOe&)$*mW8E!jx1 z;~$@V@=5YnrZ&1YdAXPW^LG$GKG2pEYoWw8OK1SUO`l%_HE(YEP-2tG7XJ0%hfg3q zBi+5;%h?&^f9TW(@?pCs`|-ygORbLq0|uN?A1MvwzTzj7Jp2*z><`EvT+^pdH}gxJ zEmc3Tu56%p>DMmTU1#bI>{4j}zg;)kv>^Xw%aZ4N__4n^l3N)3_)O>rWStmU-FM%8 z{&xz*eOpH0cU{+~fm+nAt#q`Cjy85Kwl>YPzsh2NV`k2rc^p28JN@K$1(jzIz)wx5 z1N*muxTv(9mQx!yTKE@UkBZ7iIF54}K0y4`E#g1+a1Z!dZ*~nF3g~NU-NiFOpf6$9 zemc;B)J8u`joHb{6>DT>W~L%D=EDx5f!;?DkS{&mPMta#ywo8RCr%{38o4VF3z^H7 z5wuW)imcFmgcXM?$$ETV>bRra1AbHEv}thv(#N3I!>9B4@y8!GYfphb88kAW z1^Isa?YG%d1F-{XZz~cDYf1cFPYhx%zb0zm!StIHSZ9W|5Ou58(A3QeTED_S^_s-k zBriV>?!sOoa_uDf+EMZk=CbQDFLs+bsn5<-xpM7TfLCBnY?B7Gl<*BEhGJQmePdT#Y*mkXYj(nWlFhX=Z zMs#ruy3qx5+IZ+85YOzoIFu}qJN+54t86dcRX^VxSe_XoxkE1Xy{-vxoNFjvXx4s@ zt2PgGS&dqzWnmbuD|^9OS-I$?Ed}x`+XjjZBXZGXV{12(fhY<-MV_lj2U-( zG7rDN`m2`6;uWc>l9w!5vQ^^qA!0lJhZxMj7QB6!oP>mgO|nK7%Nif}8|p6`!o6HE z@|$nI`K#FQ5RvCpS;KQB&rg)GWW|aV|06U`6uhzG$2)tn{;lRdz+ zf7?ak-5T{M8dDP8^r`YifX6wQ9MMk&&iPLyw?-{rU#~C6`>{UV7=Jh9Iqvks)I(Yq00?vg&Iri(}w`WX@p$Q#=k9zrvE3R-WR;*~gCpRPZA|Lhz%9Sf; zXx9O4AmArtCnYFO}z{g}_>dF-Q+ z8*2W?z97$phliVc(KECRd}UyX&Z|~2-y?74q+cO5_+&3`oDcj-a#OQm1Rit-E%X`c z)Tv|iLk$Q`Hej2FkCfC>uBc$k;z{{ zM^0R|YE@HrH*VC}=!LwE+RD!9soCwmme!jK7c6wCO(p)D`?L;ZUz)WI-^h^aSWNz#Ry;QGW-RxnBuD6N}oYhChzZX9U+|J}QcHlv=xCf*qFhUv`#+Pl;K9arRwtO07#3Kc3C{jj#_w~PL^wrJ6!PLMv) zeSgqm*VtNckGa{k&5U0-T~ihNw9&iex3I7n^hq5umDmX{dY(WB=Kz{THFG0tMEZNiK#_NTYSN@hhCc1jf{&Wc zoG&XZGJ4jtQt*r(@YMqb{GHm%?4cq*?2tVSsiUTf{rkDyjW@PyDvxiYmn?DC$O{{^ z2lL{;=xr*{mju51?mH9LSdZKXZscO*TkIOy0aAmSdWE&ez0gE_W={~ARI66a^mha@ zh2~aDU-$0a@8?TBbB7F}G1z0OU8{B}`V{CXVH3m^Y03w& zSOK30;H#mpZrv+O+qd>Wuf5jrMm{!g-n@R++8E3k0(69*1n3D7KX{%s-KKSGlQ*4> zKIDxY-~~QdrwZCfqb~t{$U3@JiB4L!DsAW3Elwcgiawr2N5~sJ5Th0FGd6w5I(WXsrjK(ZLf=qJzt5AO!$0!Ece$QE zz=s@}qkg^mA?=T|BE$gffnHURKC_N3{VIKSZky{l0nf@`nDIU%u*$^rZa6SFv8?YaGInZbO7X^F+{w)-J44xxj6xiOmbLZBM z1?$$Wn@UXv58yz~sHf;!WQT^1$)e_>mfsiAm_S89q}xCFw_=7VE>O8Ks};8Xzhg~duWvW zh5Vqu69AD{O_9}B>PMvyTS1QG!Q_`gAlK;A=fB*>O`4ed!3PdvJUXX$%l?!Ne9!t; zJt>{!74%HAva&K{P1kcmfW+1z#G)I$exLRLiCevT_4e~R1?mcX9zIt4lh_yMf52Z) z=;+er4mT+&$$re}5I=%%;ThzI>{&lweDTFF=PV$;vD$$H2ewR_IMLwMJ~4BE552Kp zrobL8biupnqjqTT%MrPBXy4x02;Z?shtIe7VX#B)gMZFw?%1(oqu6eQa}E%{dKV#+ z=UJ2ZKJ9t4uE}rM3)7tB-FM$Lc@g|WYpB86e}){9xA@y)v90qt+Z-~(wzyx|L=QG3m-Pi&cU&iF!NE51(m#Lw0jS3UA9wH7%5`P|iix!TP=luMmHstk4d zrE})YnZg=`cjOrC$%BVAOROYzv-iinc2B>3hcji#_wYfENG^p#>#vDoBm> zPtGaOtHvIYT?g-+AOk$$pq}7egy4QdC|&amb8)^eGc%L3iPODacbOqvKx*MPrG6;H z$1yiPxa9qj_Wt@oZ~PW&-$k#;mS^!l#Bi~}BGKvCa^=dEcYYg$iQRS+-@k@))#N3t z71k_k8XpndCs8@+xdYZGe^Wn_BS`L)DtYEZQty>>E)q!oQhnOAX|du1)({7nd@qM?ylvbDKAB9>S3I_^i~7 z56EwK+;!JoEuH_zV1fYGVkgdAbDe7Dn&^a^>rf}mT*+}{6guXA+v60-Xjt-YwNuTy zX42fWu8H`8z%{I7ALpW86RoR_FGx?2UgbmiD)#t<-%@f=xu~2xxi$6PN$T~l+h+>% zSPl0+|GR>H&X;onto3?byLOF|SpOgW`}e<5^7-a`=l#Y#RlH~Zm3)PJG+!b0QHSK@ zRZ*w|aVSJx_gbNx{e?#Zvg zqD6~_?-8KyDY3X%@~UF`2-IlgiS!(ZBh+5xUBv2?l$2s&qfqj%;_U3~Eb-xQG1mp| zxt9gPyfZBIMAoB4o~NLj-X=K~H5mN?`@C|)s~Y-$>zQTlqmJjS1$$G%cai9)VD;+N z@t%!U`W@^Fxm1@}cJKcE`*Y|^(k~=;ZP=iJe~$V5$LTZJ@WT5eB8#FUM~)ntFk!-j z-g$tFm1D5ZYKzR{>65dMLcXQ6ggTQQJR`2>#LvbL_o5f}wCMRrtu)?S>%TRJYqz*)W|=Z&UcENT7;U2eJ1)_)MM02x(5uM(5=tt-W_$h?!EFo`lSw& z8e-!G@_@b9mYit;v_qGDzPz#b&L^~hm;H3kEZgUa&AH~oC1<=76BA8cq;x_feOC4z zULE|Z>FvT_gTPus58~cd2`zQYupU_Z)x}50Qws;r#@lDR@jI!hsin@RAIm?zpJ<=i zr`N7@vY$p@g&K|iBz_3~Y&+9){P2*Tp8k2@{NTCZ(l_3CqbvOqWCX3`{U!BCNlk+O zDz5Aei9LzrG z^MReQPl7*Hf5CbIS6W)yCtiAcHrY2UEGjhr{|f8{+RrxV3qhyyz@F>Llc#k-zcDE( z+1d5@LiaU6YKdO1jzMBsE z3edwIL~&7R9ysrg%=Dca27Md)*r9k}9~!@d+{pD(QdSrq;2+y*Wa3RDSMnF0IRLEz zUsOIOCZ;X4(EE#uYVPmB1^1hkA7U%C_-EL?bL*AQ&Q^}g(eHd&- z-|wkUb0fWD&r z?yz}R#^Zs0C^&VWRCUH4ZNc#~*Ea7MBj?j=u0&_V3En$VJu;`ng5wg~$9wsABK3V4gJBvy#GtywZKJHZT;aT&r*(GM#f>QeG+-Vo*Vp? zSc@eR^&k9U|DMGZxrlFs{`;|e8fVOyDajWN>u`jnsjvP6XRq|x&?opO>c5@cQ1F4h zF(&_Ok&%)9d=9&_m^GB$vl8ouu-mpC1gH`PY)e(_C<>uxVEn2iFn$|bw%$XC-?o~-OI*3!yu(wZo37LyEPFPcR z)PKbAkR`q&*75* zm-74e?HeHY;5N*!6~hjoU$nof+}{Lt1~v({1-c5|b<}_S9(@+~x#j-LP2>Unr#+Ew z-E8a6L_+_uH_Ybm1%>^D|2oFzmziq9K-kk(_7Oe^aR}z3qlUc=!taPRePaJD0uR9U zz($DkOC+)X&^7FrDEwCw7S}Cfv6Km)hi@gqx>;=-YQ~@owEso*WEmM5Y9E*Um$Uv8 z$v!Zn^yJBtA1mSquf)VesTdQn7uDSmVQ;234R!#!K>OKLi-wwVwFcY{^oRPd#8(hc z_&t-oe%Z2R0~GO_8;_rhalQ?{kA91Ub5C4t$Te^e>Oa*OIcmtc2-*jZ-{a|5wkTwEXP9HO&i5a(mP1o?%sAr8Xl zphI|eWQ445B0=^{ZwxH=UhW`&fiG@{`(Ymz_Y-TilRJv`j5=8VXZE@7=4dXHzT z)k;S71j#&6j3PF~jN}KXHW&TJn6R-c=kwN4{;uI;@DQ_UCd>oc_qX3Wk5+v?WCZzD zV{BM|qob^2s3iDEWgRfaiee9%2RKWF&CN2tmRQp|T*KwdmrJ-?)I8eMrYZ>YRK$4! zV}xgmd-IO4D0PFL}eGwl*Z?IRBbtY>gKmWnini-5y8|IULgnx$|qH3rIh0K5f zLO#plS%-W(8xQ&pa4EQEWn~!)3JZ?ca{ZPX{KJEc|19joMe!PH^uZayRwCxcx^J`s z7Zc+EyCV{w0ePK0d)CNevWsqjvCE@Js} zIdTQqH??|gSNb0%)Gx!gF?&&hwKZnLUgEK(r>1@zoonTH>eQ)~$QM{1S_(ga`9|j| zh&EH%Z?Vt#H_i@Vaj%}~O8&WX=T`Im(?(;F^ zVO+5OfZ8nL1N>o44s|9hM=~8gd{}?+;>BzE`T4&wSuAbG8o#Hf=J#uaA85U5)vCWR z-@g3Hl`B77y?XTm)2}?1BVA{CYGHPEb|LzDnKkzNEcWy7*<4Cyybk0!RO8>d-;V0U zn{Xe~n(0WpMT-{oNJ&ZQ4`Ojm50>w@%wiY6s{wVva+7`u(|Vj z=goaqBTfy4S5>-e{(m$j{_O#lM`}O(@WUrIZrnIFEiG-@zJ2@VGkS-`^)px=^3t+p z%MzY^^2reHZ+-c9|7bj1ZJQ_e8Et0HoY|Z4w~+a|!z@KFm-Yo55Usf*U&5L*%m02( zPfuUWa*jB@FWH3O`_I_OS2mB2j}O_ufB*X|e#xggZ}5j&6YK{fheF*l*5h!V1mYR2 z{URqujPudz)z&%)5Y~}z-n?1JVw)t6O}_6>=3_A?%_mQu+>6CrU(@~@_MowD{q)mM zN&6fUUW{YMMC_gt$0uU>kh9>7ci_fpe?zC!?PSl2#WU*xM|LL-cB(PfosMQ^uBWla z+C27Yzyo2LoMQgk$=ED460wa~GspTA$>GeIGhZ^fK8!y60X7q3-ZC{c^;I^`mDuk= z4J7ah%CkNK0$jm8)+`^A1=i3ok4O&NwrzWz+sfZd7clqyGBYzb-6|;o_Cu=qqj8pb zu8Cy6WL%yLIwBCs0{d(@!;R00ZG1h#TXUCjx=atXEN{ue{APYk+IRBj=RMd{fK-na z5Fq0)#s1SA2PO;u#?RF-r_SU6eL#I9WN_ogjZ3`7|DL;K8yk)rH!g;a_sx>h5~*&; zUwNi*d%|vZu)&}D3s_k2i`*4^DOlIQ{sVAb__>-4#P2KT7X2K1|BwOmpB0lPO^W3) zRej39XUv!}QF^_;9CIDM3eSJIgN*m=@G$59;p(%MNiV3*A8R3~1H$< zuXhP_OwJSjty2&fm6e~R3Hb$LK0S%`%dh;WM}7C zah#|vL(MwjZPjFe{bA?;yZ04t6YJ_1;8R;NeccQ`fWO9=IO849N6niR$73|A%b?62 zM+|~5!P-7#fU^N)?4&Io_xiQ#(wP=k+%)0d1sMP<1{qwqaA7z1jdh6+8h!rx=i|T! z&O0G|ff|8#?5hALDdT4bXF200#Ko1q*EPqXG^V@7jSJQc_an z^SK1ODcTI+xgdk>+qb{QW2D;ZeLL3I3iOY7S7Mflf6PntU&P)(2ShBCJr3L8&?eA) zsKzrF+2Cjk3S=2z%^h<=#G}e2*8u=mz_GRdwVVgdPM$ou5&g&B1b7s&&Y}zuhvZ~u z+u)B(Tn5#6Fag(Ae%mFRV2g!TV2OqK0Ngt4CTs?DphJgh8w}#}AdTk>t~4(;o}uVF z^cizoiB}C0u-}+#@Coqgu=SD*s!R@bpIdDiKn*Ogo5i*3;~+~ zdq`*YfWSX6*XUD1LPCU#`zFnGy7Rlxf9zor*4SV<;=rLx<5H5hLx4NEX;blisgjHrva9 z+XU=kVN4|6IVQZbU{A2eZ=DYcn*c)m3?9WA8rUApCCCQ#38VwyA3BWB0z<^)Ux9T< z2f2YK)5D(VGjQL*{LD5RtZoh1f7|yf*vp{GWRi59_!sfZM4LBlvbBrie7IF2%@gDa z^nMRfhhTppgHHThP02q8%0Bwp;d1@n)TvYB9N59e%wPT;{l$8m$fFwGS4}oiD(`nt z$^h6F!kcQf_VWo?7xIy}l|HhhRKnk4e912bbq=zT1L}NX^C@1DejXTT^@VH>e8l(Z zl+BmrDH0xmur@R{;Ek}h&T!DsLpAKISKs(eR85m479rrR|dACBz9TGB|YTpiBHK z^#Y&A8U*IRuwlcxDr(KVR;*Ydf%Ado#8@KkwQy{80LSU$=k>yWCujVpSt^t35IE3%V`E?fIygWKaf1(mE@8Yy482r)6W&ca3(pn)NshL)5b_oA55eEQV0V01cU3r8B@$mnha(px&1n z)-lDJ%kGLg66C^&Q=B!_iFD>T;&A>hA#pCDMo<|uih1O>-`ex{)x3tAe_M=Hspo0CLPAlC!^0|9jLbahlhu&@^70vROWDukm7L2hHBDD$Ka!#wO3x5 zB-t*KnUaWqivtPUe4QW`5>i4ake-2U4vZ@@K+;D+x7io(bn}J8Q`QWc?4b zM5x#g8=3Gcd@T0l5I@eDGpE0kb>RD1j8TfbFI-XYD3aRy^jvN9K1C(}kT>Ed*m!3R z{+H~3_Xyc;I3nG<*E8~A&^95v5?fPjt`{*D8x z2XI92MXof=TdXH{=kLXoY>Qx95jS8ji(*XFjpE%2jvDF&#kx${S3{5NWr1hHZXtG# ziHQkyVISIhv$Ub)e6>42B>L<&!hSnB|#>57oAiG#PtGax#Fx~M-6*UQf+ou z+j?9jLHDm;zi!IQ%lnmM^lNGj*gWilX8>=8d&s;yrd>{IKha<>sQyrtoy32XECV${ zyynOrVjqOg;lMc2d=d%r2G$Z|KX&Zcm|EZ=n(K7Bt#}S>68c(GeHhlw9JRIl{BWxM zs|`U8_`X_0u0ZQDR2$nvh}qyH5wl#pc=3Sno@iGZ=7_(AzfXbcMjh5aMay+Wz+$O2 z>^&go4|iC5TeBQ6hq3peY&gS-axto{1wkG-zW`&;cnPQj4y4hREn6ny8Q@E;=2ne> z1*CN&YE`_}Qk(-a-!+p`4(N-r-X67$lvB{yCkz}Y@y>K)Mjh}E8jcz9&B@7;CO7ul zqEzZW9T93@#Rh*#>mFoNpf@pfkO2txQmlDL%`)_hYTDs%QB%chlj?eYDRkyRmgh)@ zSnXZ1&Iso{i2ecRK2hH0OrL5qKY)?Ky997={2%vbzO(Xn`R!6*Sn2^6+koj-XVjjv z*uxC@)FMbb@3Uvm?xR@WzS9Q3(Qx9#iM^l)h|z&N=F_Y%eZ!go z>`%SO!3p1Z2KHi#i;Ja~xZxeY+{bzSLG>>kSUj@LBA+)?1vyYG3ca|~v4=dN=eQ@% z&|rEeEwHj2?HlInf{?TS&gZNv8{~f9tXZ?-C~rjDy?b{R_M0(Y${KuUd`Ahj_~03_ z9m}7pnD3Pi%({B@YR1Ba3;XkU-b?f6Xl~ptv|u)<+p%NE*1#TFcl$5|RTTS`B|6Ll@MBdBo zlOKzF!dagD+&ABRGyTYsBkwcWtOViT`}Xad&h-4bmtTH4lCROV`ZqXFptj9}^V5*$ zWcPAv%zxJ454L6haZQ+#Io|kNK2X47kq;QKSmc8T6#;7y%krF12tUvc@1v$b*<@nIks18f0g`{ z+g{r$TAvWmDs( z@xe?SIVE)*a_9k%#XUXaY~iTsYg#;W`t5PcCXK1wzJ2Gy_3_VE1U!@U!Mui{LofUK z#^v;TY-v+p{jLRpku5!2woD2g7}u;{v-Q{9hbDhldem@XneN7iza(tv82)3zwANFq zuI%m+KA_|D;+e%gGbhZOTmD`x{^)`h+!~ZV>gM~#up=hlrU4}@Ew`G+YRdcfY}38O z?}~Zx=w$bHf%n8#ZZ9#Ponc8^vSnMP+rg$9^BCQZb#AL3>+{OE4_^QJ(@)!#oZ0r* zzZRVOs&$JtZQ3+vZA`a+x-VF;pfAYBzq|jt9-6)9i_6^?Z_m%m%WK`LRo=?vAC%j*{vTt~oX8Shrs}ocAYqCjO?=40iuCdFHb-=Vq<^A8((x2kSlN z&Ha1fo7+Aek@9xMwN?Io|F$!A$Y+n|rlzJo&O(Q&jH8KOUS1i=pH+5ZE_MP-T^>1p z{CMc-z0-1LEW3WBLurTU_o@G;ME0aB#s-n@8+sLC{e1`CSuFFCEm& zc)8`gKAL{Ne09dFUHN-$HO293$4@VxH{ryFQ~%ZFh2AUo?Aa4~TldDGraQ9yW_B9X zd&rO>hO8aqEm2c0ADN%Aq;)5Y;oNJd+w=~6)6M7YE_#pN3wP)L%3^QNSI_SJV&I7l z1KWO=pECO)pC(OS`SNt@m&T889}(d@VZwy?L4*2_8`p9BjvY%^uU@iglQwz9igl@} zJ}j`>`rPKgkdTGvU-j-cWb1G(`{U!|(|hvdF4|U&0s;b>wQBV@y?*jz{rk7?+_@p+ zG%g{baX|a_aYLRDYdfXVQ1r(5%#=rWzV!2o?D0p}%xu})?M8;T=U1OR!aCP)$F;1F zd+Bdy&%JSW>zG67$BrF)G^Ev%9}KhO;@m<{-iz3eH$7TwhYz+~ ze6Q`>9U~(Ru_<2~@-sjAVZX(^B=?68a}Uh-=<)g`&rSaw+)4MAf9tmYh|UkvH0#sB zlDGd%ZufzoJ-@FaK4H?rykA#;#)d0(^!{E69sjW*d(_C0Yi8?n(nseX{dn&L*1aIj zlo>A!{yx0L@Gg2b36sCbS?%T-V=m7f^4k6?gZ`t4iT8f}^cO?lS9qgq!%R}l8XlE?v$2PN~F6arEAeh3n<;)CDIK7BB8X> zEuGS^=kkr~-DiL2eCNmcv9ELO$qHtTIpTTl`+nveV=So*fwu{%sgUS_{F_@)A#xrp zwq0)P8hKlefHv%eG_)Bcoi`*4&&bun7o3Gof8U6isyFfRF){lUVU1lr7tcHneuaVF zv^p;ND66IxS1C2g$L=+Z-X&^!`PFJW1F^arM&u^}J?`mtY@!nqBCXPI?7hESj;}Us z%Qx!qDL?FSZ2CQ(C7ROy?$6H)UaRjyLpCUWqq%eAL{|viy1`BexaYIRffx3_KL1Hp z{`idl)h)tojq%`@x4&y$*5xyWTx6j8)kb%F{m;6nWUA4Ggpe0ke|n-o?sP}f`A_D| zU3VMMT;U>@YaZh3$D1K1VBMwcXYEvH2DL<*WAyd7YZ}w z+V*}@Qc|k?PMzLojGd1Uz7F&CaymPzj7cjszYIGUun}>a1&ETnyR8~%I5?i*NZxT# zd2irpnF(4>4~WQ_Og06S;E%qpeZ^NU3LJd~&@NG-?$xYPJ4gSYsrP z^^^zs{`OMAqR{@yv|Zz;!=(=2$y9E0osz=B1;m7b_EWFIyk$PHT-N0ene6{Lg=Ef?N^1*kSu4U+(I-5684opP{XTwWn(xjiyyOnH37w6DhYDa(3W@ zH!>O;Yk<7G{MS(uBd^s0(30*(U_b@l2CtN}E`C@5U@~=Y+7~W2md0zXv-#~~j%yPs z3A=tMSmU&uobd#XIx7RgfeJ@|B@ls=yJ&GVoeH8*+!!)`4A5TO(UBG6DCT*+j#p|x zz^_J7wEi4SA%qxpDAKUvhzfYj;)uCzeLwcO*c~ml6&ac)|HNS!r7n3-2r^H7u#-Rr zgTuq3kk}?5_5cxBR zJZppG$qGyWY`oTEl_zV_oB<>h6brwm2YfFN2S7gl@ZkeZ-O+rC*I-u$nhP$11QNM0 zlq+M@>;7W)LvnKA)zX_LN5iLLUdP`T+dOlurJz}>Xc&jYZ&w`Olr2;TuJ(p$o}8TI z@R&eFISgAvhm)ArkGdYW^!z&~Zc)1S`G7_#4bY@jawI5K)A=<0j>@$wK0R(rKF)W; zq{z&P7l?iV?kVV9mP_s4{0cFobpk>{LYjYi*VfFwr*b2Wq;Pt+te+WrKWKgda*>gB zDu}?BVe7jd-=mI*<74Ni{$agUZ<;u8D0wVqr~~g@o=80_z_vK~93+a5tl~MG&W8XI z^S?P?2jBCyb$aEjhRy!B9_L5P)L?_GhGw%T_jLA)b_GIE%GsKTTxf}ITfI(bi8%}+ zhlUjS>}OQ!1w+HbWn)OW^Npv=wK2aq%qL<*h^Agk2cK>SVCM$kOYp*SzkmOJ4c4VP zvtepVN(8(XQj7!en$OsXqbpmFs5zQeUFld{t)wT5Rk?ltI`sGV3o*bv`xN4-?klt_ zbaHsMfC}u5ZagWAjwBeYb299)BqzYmz`($7>f^D~d_Bth_wVOG4aIbhfPetO!jd&H zfi~^kh8Z_L(Fh<$kVEHd>F$=w6!XRhn`v-uAlmZsf*53gk#FB_XjxcT@TAxQexM(K z1kuSPw+wk%`<4v`=td~-&MtMfWpD=LtW{e`tceD)1S=M_21bB-h>Ol}1Pm6eqpf#p+q z*}4OARuAvESjhM9Dr#5ry{Tr2_Thr~|HOw#IWfAzOHuT{(+gXMBM0 zTNpMg2Rr)!3<2pF6hI>narU#-Szu9atqodSH${+;%bdN?F<5yxr52@oos8POT<$<5 z_DmbKdi`nHs=;)w)>O#rIJdimlkw&*_(&XG>RF`Nv2?dxBdve{@v`3;Hdsr~lx)Yw z$HytTOu9uus(yoE{$#;IB{(<=1F=|C?kXuMN%Zf*?@Pg?Vfr_&w;RJrJF_*^V>yzX z&>KWVM0(J~ya0JXhQHzgB1_@{j=uJGu}XuMe+)gE-fN}~wrSAg^>|>bm8GSjs+!uE zc{8KvGiM}%$t>s{38xW7VnRag`}|U=mS_RTg-Fme$mHbY@INh^)mbuQ~)^|}J? ziLBU9`4N2O@bfWP@BaMxQzNgS&{gp6hugS#1b8X*V4t}Z$04^fA5GcP!<)DW@Z%9{Y1MZJtLASdfKKx?nCGB4|NEd1P-+ zR@S|Xm)F&qD~Ul@03{MCmXwc=2-Dpf=|h|JF&!CH(?yUtELUT*g$P*PGF8X9W059%Y?wIntpCdaC#J_MJrp4$zivJ21G}t7)8Y2o z>b}Q#tlM?|^Tk|)H4f9ArA~fKvI1TAhg)^LH9Z}|Hyw(}_(O^k42gO!8!Og1{^4j; zUQ(y*@IY&(L_Mbn3#f%A7*k2Z$|1dh>tAE*z)H%Z^XvghbD}FSF!|G`Z{_!%_>-IOREd03V&13pU*jmF7ZwcEuI8^z5V~jcw?9+C)J%SfEAHG^o@c{Ijr<=ZO6vV&Z~8xnhs$1 z?15`|(A@g08qhr+L{+cW*Vedff6}*~d?mM;t)|Q`C_veMyxHRvyO?^#%*KXH6G{-^ zqU35^G4Er8H|FOb^+CJj_~mg&lcvMVw~MVrpk8?n>iU&ILHn6@TRlC!8PM^ac+uuf zXfmjQDeN<_us2f`x=tMn!)M#$<}2Mn%f#27N(i&rq3sS9)dP=*V$%{-@7RQ)1V!Xy*smHK^qr|u^os0Pvc{t_g6Vy$rlth%b*c?mT=0H52-t%P zt__p`;=`$kv#StdGlIxF07~`_41;AJuh!!?U@%ztT2fe8nAg>6gv)9#%Gg&+^PBlF zW6dy078Y~@MitnAnTzj1wP72V&$*2TVG-%h#vbKwTQ!35pn^>F7O!oRHmz$YE(Jvl zsF~>m1azELt*or{Wn_APgH$4jV1VL`9mm#7o9v?b;gpeu5C-e*?X8lQmR{WCAmy{c zeR#NaLSNPW5cc>(fqG!)M*&gA&mk9TB_*ZIsv~>P5|||2iib^9<77vINlsG4GkHHh zF;py47^twd_7fCxq7O~$Em^CMIlGRUqer?^p>Kw z_eGGaa?1)2{^Df=DltxzPj0~VffVxvZJTx(ULzmMRpLYb3evLKGtH$rjptB*=j@I zdQdnn4`pSF`wB=r-kpicT-i^Thdt%Bf=Wmjo%u#Qq5Nhm<##YRDQrUE$((%u^^J}& zG8ndcH*D?vXh3WAJcM%5i>y7Z{)U4(7`6+ zw84;nC7Ohjs!@;aVu0z@%a=kyrk()-H1ScicVLST7AhqXlEk;w1wICdU2i01&W5n- z9#&dQ(Z_2;RaCfQX1Yn13EqEQATj-%xy7!(mKQ;RmrO%L`;uKdFMIf3C4-a2IV`JO5JsJM_^X2*8 zEY9{=*1DEaK-NPP^zO%xA6F|OI1{CsbTty&A0FaYriNeDrjFJkqtYg9pSHgWUuu)I zUqVJj&9@%U_F8+-#Fu6Wmh5ZHQ(oj=PGrN`t^uot92dHYiJP0-X(;RNDDW{F#D4VsfPjvNQ;Be_r@>&9p+zvv zB>0KbIPSuJR=EDB*VcFz;a27Cm^v(--)^OA{UQ3#WJv+2s_=g=O)ILYeZ}N#hwfQv zH~gL3Hfz*(Ip5I~1M4IB40PcdDguI}CQt_0$Lty-MksWbNXuBF1LyIQ4|;7N8<20> zU9-QgM}F~%?E~_S7P6-?$a7qQ4}S4){U5+sk5n>13>~3L1Ce+&eim&=qfF$(_&}X-JRcOr)48&xsgxo^4m?_g3X7~4!XecP|csXM3yM#9vdxLqL6@OE@!j25OEC2qg(B*8u z-Xd@H?@Q;mKmKK3qjVMTT83~!;Od1Zev1C(CjM(Ix%tmR_^rI-T{l#0ve3Q=9L!MT z){|pi%gqXxHb@ zgzJOx+Y9WQma}x3ftk*QWS8o=sVa=^mrK6Qj}N!*_eNjjgzZs3q5&HQ5y=F1sT5+4 zf+b$c;vazGPC6PI1Q1=N&bCH79x9ubd|td%9&-=~DYki^5}e3w5E;YLEzt!cKrUG4 zh)K0NRr>BaHAeSC>+zDEK{N=MtNTJ0UZu{j9q7(MVX`NupwPwOd79<9)DwnDLSI?o zG#yY<5L3HBn3stq!tnVuIlp6!YKFicjysS~Mb)y!Sax*wN4!@ATzbDFo8q6RvWd&+ zt;HQLMD|N*lEgJP3;CT4kmxl#=W+Ccwcz7-d(f09@qte+B)@2_`mbPp#%mWBZcukH z2Ao!i!i7mM!o;z(LTqo?&WgOe@$Ieu%9a(QtP}bBP%PrBk>yKDg3KX?u+;6N4j|1 zPV3`HdtcUydxb-IDssG_WK`uLJ9upIf+>bC`QHy7yXN;!&2!^pp6UCvfd zdab2aKh>6HsjwU>{HmF0`fi#h)-w@rp8p4tb_N5 zcYZf<20UC_(=#yq`I}Z$R75K3!M5+wCVRz_UABF3I0)-TqxOTnNZ~*q;|Fo)$Iqe{ z)X2EQfD|Fjgj8kf79S`DNnZDTTwK6&rPOMJ7TTTpZJ*ioia((QUUj*z91uvqG>1O% z((mwbuQcv5s>`UPT0h+!5%N6D1ONlPK;&L}F>8K`wePcK-C;g^GiA}B39SY`-ckn# z2fw@DS4v`B1&>E;%Q?GvmF(!t)fL{&l;cOMAo158)X~~s2}{4*AS1}zA#@@GZZ$?7 zONF-jYcU{yae`L3snzwJICT_j593?erv`cEhM(xSPHSw0&oi9?Dq@I-uoHcr?PRfD zomm+D=BuL*iHV5LVNA>#d7SRf*P#H562+^SOq9r z!9f-sH2_S)eOK#uZEbCxD-)<=pJ2olVl@oFUrFyx4Xt6}KMO`-_ z#cEl*iOw_Pf4*R zEm6xt9pI@cK7BpxdAc#2D&}23-pR?%t~yatO^bYw`{VJL`T5uPy{ubkv_HRvnr{q! zfY+Y`6P38Uv@}At@1d~tiB?am`QeMl*PfpUM!tRP9i$FqYgucYHS)!Z%SQb1ofSFm z0g(tFPyrRE-!o?B(t;~lJG*B|n}dOn&6>Ey-%efZ=$m{#8{69{(&B;qFUKyEA@Aja zm{4S9^V(GzDSLW)QY8Z=vi<+QejfOh+^Ib%qsftHPp$RO@jC*_lCkUeY{w4s^(cdJ zlmrI41@f`_pd9vxm7vHXLU@94&ryKXf`WpQ;ViGqMb8g8Ih-!HA5)l{a&w_%q?^rVwWzqV z>fwT!>fBfW^~Y^!cz8Ism=qt@E|10M!nBvKUNPyheG*wCKzl;by)~MFf)}{S*b^pH ze+3HQ_aHl@46`F6Ba@aRM0PM`>V{nuUZons-4WDSZq_X9AzwkG>bt%j;h6Z24iL(% z9nQoJNAsJCE@SjB#!^+Cckx_S!QX(p9NM zPX~*6(?_KYhULJweV~iyPAe2%bn($g62- zp(I~1gWe3Y0J3XL4!=ILfTZuJXp!@2wN;8)osvnmus(Xk zDAy+XYzWtu9GjfK7YvcG%&!O5FP8%c1(*E_XeMF=yZj&|POfNdMIFCt~#7Q^t1e3`Ima$avts zmivIk$Gwv2I&+2ZX}l#1LoY6Nr-fIWcsT=NIyn#A+@nY&KkHk0ZrIXNihLeibLu=% z5<^+Bq2~q3;c0Br8m+>0-s;$=-QMN=wvA{hC=(Of-b@t%g>T8l48bh)mi01UF=cc@3E!=F-9 zm+v^2&K{hCS7*O;R zIhcQD4i4hX-5&)CCC$yvis861p}ZWhXYqiPdbXJN=V6P){%?*;?N32`+d6n)oCwbU z)Q^&3`F&@pL$p{u$LNr6Yi>?&s>YbwqiwNdvp!4n6Co`vt*Jm7ecFBY(kRHR%{o?{ zWaNSl-7{5hDDC4){!YG|AJE06WyqEWqELBwc~0z$>yk!Ekpcq;MZG0~&sHw`VIR0OGqLY?)ewl#?>B>$yAC@!Dl0%Wp8 zJz~_V4XX``GtsT- zK2l9p)t`}#%^~@!f2qTl+w;&ME|g^t-xz*Fwe6_$O|^H!#Ds>!Tx}5Di^TzCT;(zGvpwFiw_ z7K}obm6e?@cD2WfEeBV6LQa0Z;Jo&GF!K4sKq2a(lD>R|2OO7^l2v}#+}@_6r9}i2 zUXRl**J7a;5fRw~Bdtyhg_c@GRG___wz3J`TcchZ9~2U@v#Y&S4GbtypHM^!yKSwM#A(mfQ}Yy$zXD1?p?!U2m$ zpoSOaVhSh)`PBpdteIYZ2{gwOu)vVJ8u|T)%!c@~6^4i@FxpFCAJH;WXs{ZswVSq6 z2sL`TiL$Y^Wj0%FsHm(QJiqVLfr5rs08&IVXiUCR zJ~(`;>)$@IdVzXYtEqzU-Eu_el72h&)y-Up_%W`)#)|b5zSN^M!#;b%2Uk{ z0AOotW_ndRV~08wT6k&&_~8ne3$J318^)bL{!&y^<7hfNU-CT?wtsOIYL7p~g-9Q! zjZ&ng&1vj0Cg?B+U8qxKJZpAY*XK5nBBl5cMAe3TkqB|Ku-MROA=sO(LF|1@if}yQ``<6)2&ZSy+NbtqA(DaT(muWpV46YIO1Dl z5n(f6hG50 z$ND6C0@{pAw0srkn{m(zjiDSIPdsl-hNac+nZDM&sf1M-wA3$*_Eo)ULbg{`y1Krm zOY}ooYnx&0B{st)cHKM?HUj{d0=55Vh60pO?*fz^M1Y2d1}7San22Z<^m+W!hePEz zd%_YASLQWuTy>MBWz&ND(JKD_YP7#vjiCNEEmml4p%_&<X!b@l4wso)V8lWDyVe28A3DHXrHp;1up%V zob3tS`*(RU!nnEG#T_3NUu}N-csrB@ms}>7m)aZ4pkH!1uXMNR$-Fnk%;<_^iRzti zum;=chwE8`+nH+?8Ei?@Cz!TWgRP%7M*7G0YtUUfd@q&bE_bI{gYa&YV;FIF+<;Q8 zvX@RLJ)qS}8;csF2floXFCRndLNe0nqFiMVYY>%R>w9@vpW-JUMqKj4?jek)+D1u< z6LGNurD7EVqK?b$-?u&2TcAUkO+A=U0jd5dz!WGJCq0Cz zNwDdBFBOx`v$fC;QJ zFwmo|d%T!iL=KZo>zcGyQBYBdF}4vWes_K2Z)XpAMHmKR<#IuiB5R#~Rjqzi`1nVu z2HfP=f=dha^A7L_cq?9wAeTHL<0~Z|$AZk5p?YBfCnqOa8*2N%o78dd`nG}3FV%3} zixDKhq~ogi{b5*`y^-jGR-~%FPK?$L>@a9&U|^8=;7e;=!5e}dF{A#Q5TQVEN7|2+ zqu&()c#wFf=qd*Ww7aL@0b)RF_)CdT0}C6Q3Ni3-cczY3KZN|??7!=+Z66u&>0l!7 zIk&|SZr3|EySfIOuuMUzh+k00t~R!(PudorWQ`nVSblK zX8aO0H8og#zw`n7^TWt*)+qP*PIjCj}tkArQWbRRl3a7$`vnT$%K8YG2*Y z=G^CijA=JrzDc6Cc+F1xOjnh@sKVbc+n}*ZjY3S;*0$`jT#_5H`<(Le?hJ?N_x>3e zRlIon6$@fvRPF_+3jwceY;4{z0Jv?B=X7<2 z=rcx9K>=PjsO02K_bZyKf(iuGZ5U26-46Vjr%TK)Y6uOU%_KRnlbf5nwH6|ffz70z zJvIC|o@`G)hN$hn`}Ov7s{<${U%q^q@Zm!c7=D6^xJ#uC#eQxi%W{Xs%tDZL@yM`B zL8h8da8+)UrAE}KhnMzBXA!MP^b2|Y2#d}Bw_jlQB$5!?R0@e``pcCtR?lBkw&C0Og~i2YprF6nOv!OM z-C(KiM!gj!}+CeI|}mdV$9SzpO` zu6o`TF?U-vtml{y;{I-6@|06iQE>=C#qJ%;6iynk0m^9+8+Tt!fl`<}L#5c} zHQ`_6n#!0-M}ti1*~1{JqNw7ZQ~mk#Cza0@|JRqd(eVB#Olm@WPrn4A|L))D4a4+W z4I|+){~FU44aJ3se$bk^kS`TlZv9o2Q`)%hPcn!z?}PLeJ1U>z^eZ`W^uW(X``PmE z#bc*{l_yWNHd1aue!hjhMvjC(SuPNjZy6jYmXjPBiY#{aoi|*?0{)b5EOWRqc1wZd z845R^Os&s_U1(_Nf=jicg0(v$d$sM6ihn*;$O5FXE-j(D5vM>dJ5tLcDn9`P6NIq- z{(d_^jjK%(6G*NGaEXa$ULN+R@meGA)*IoyPGV9Quy`5xc<&iQF8BoWfXvzkZHs|k zPE)9hT@1A{5c(X2L?j<3-3V%>mr!1zD3<*9xoma7H)C-YSD9fU{YN& z78F#~P6lASFSTebI(*#Io%dA8$f^P5O_L+LZsHh@?#EAAr!A?h%g^Md?9NqG{qtpP zrksf|rv0V;_yl_e%ui9|7VPB-Y|sam$!FuGuuQ|4#q_q9K=lS=ZX zCMzYsWa7ebzm}$;DC7zX7jO9lKt97>Y19wCAE&~IOq9v%M#5*w5vaPiUTxG0i7KZoSS2ozxgS|DJ@EuaTD@Z3hS z92>}z;nleB&FsunWjGRCfKi1R{P`?1vx$d4Cfg?<)w}mdX$AjxWI;YbpsXp4Xi%CL z3zw|+8$rji(uu2q?!K?U4&8ctCK315NoyeK>!36sG0|epx5afcD)SRn-#WrM3T$Fx z!mEW~KX!)*LC9lYZ;{dU;8!F324Bm$#Z0HQXModTQ{~O*A5)IViXXTI#I@gsB=VJS zyf0Of56s!eL#4i9LOu+UxFGdnDAbR>m6KA@By?P8rn#>4x!9HCc71CFbQiH|V4_K( zp`Z+V%r|=+q=(*LYH@+Pi^v-~O?nX9A0KWr-^3H$)H@K{Haim#eQ8jCrjP&DW_7Dr zOh*3Hq)u|MYbZ%FJKNBKc(vE8-)Q$CraQxn0>%MIy=MEA?#kr2)cyzW<}~)% z%xsyi_HxmS6y;Fkc*CxIy~FSTu_7#<{sO&#H3q5Xl@vePE7?)@T?xnKPIgFp0W(Hj zUEPP6Z%$?#Zv+WoU-a0fH`G88P^QrnsTj6?VPice`Ea#fYTVU1OVD68fYE-vmEoCp zOx~0cy=cSnl&7)0N%W(!oH@2kq!R_T>{cgoRl6VNDIrDC-02wxG7rhqr%#Jf06ts5 zs-dO+$|N8_;^*Wff)Oifo&DF39zzdF#kOGZ^?k4GH5mIF`5y3h9s4#;Sb8BedbGzW zW4I(~7Wkf1?=|KFxXNU4&;2g3AjXTqernIbl zQ7U%=Lroe^PMkYgKs|K-g94Q_s5;uyn?QAI_Up5)1VMnzq11H=1)>yRmF@-ivEAB3 zR;QnC;nR~H?-qv(c8yK!Zv=#VR4$wP?oOSc0R8@5rKc_dTp}YO0)V0BVU_H8=}3`aky2hU^pnAu%)4O- zRO(WWjvVr_WGFI`(9g3Uj|qaF9C2K)bKnJp1eBB;8l!mc=x;LB60{-kB3|~s4W%6N z);AcZppmUbXkZl=5DPAe}aUzR!DhcE;dJLP7EU2upUa2SIA=0j+%xgMgSg zyxOqM=X@z%;szplf1bn}za0DPsF4frTb?Fv2ys@5-IuGP+c@TFe}=GU%}LdxX4>Vv zE)_m~_J_kHVv#@W3rkBCUD?FM#9-El8a}o_J(wS)+zV4M$muJH>7ov}LU7yq{-OEy z{LgbmbcmER$$Zp3hJ4#I&Lw&TMrE?lJGXX7-n*~Ef#c2HMlWYC@1>rM!aczsrwUPj(|2VT=Uxl$>e_$1&)&?Y#tu9tMrL37fY(@tU(6@ ztzh8#X5hUzVaSp!_I_g9^C4|r#8bq}10X*=@wkXl9+l{qnFyOn5Dw$C z2-iP5w3_bdh*pb%Y;q?RHLP(QhOIVVe#3k48gvC1?i>;joicCu~V{p92%x8s74T$}M(2oa})s~{QH-S$S52c1#C7ar;rbZ1;j zR)iC336~c>WEGmi{Hh1W&$i_z^V57r5kTt0=+yf~Dd)rc_Sa|4`|DT5D$+VSpG>w% z5&~#TX=MApFaJQ~xT{LGuj2vql1q$EjKnOj(O18-Wj11Kvi zpDv^UcF6grec|P&59&D*v9^;&NTa0>h->2ta^e;TwQXEvk+`(XXNSD29^A`jZrvJO zTfZtq4;5H+BCjmOMY`VO2G`bdF#x!_{0v42Qnt3XAMg>&%2&s1jM33!wf&b1m6D_) z4RtPNKOFMp#=6NRIeru+7zc{S6t`<{`a4-w2A>7-vd;ddk1mUL zC?fV)$c{INxVhhTLiIxOr@XSJ79%JCko<_=hb|vhfvJLv;UYj2m+7#^m{sRuK1y2Ae^lBG0^UCIL*U4k8MTDZ;z)eVl4_PqIx+z<<@S_R2T_V_}JOn z6h(U)^4;K6#DOSr$H*NaOpf6=%K~GCdi;SuH zheo%?h!PAAqn5d?$0#U-oTYFN6kdJi%^&HOP;tbR_nBC$>@CNu-rbMp=itUuNG9-3 zu8?iR4G0^jr{yvg#99<^ZMw%r$ErXZ>vPo==U4rV{^Q4w;3i@sB6uh8_xuPB-$xGF z0bIbNVmh5gljggXtb#%tq2FHuyTMruy;OesmpnocCEOHPz}rQ9jh%po5!RdEer|4!sdbt|e;qn8;hlpy7D^>xXQp&>;j zR0~H(M+v7(PL%H8AYBRon0ukD?8s8~w-Ppw(!(sXs(t$CwA@MAb$5!{w8x4eX*zGD zyQfUC=Ieie)19UnR zr2r@hVY8cR@ZN<)EIKXqg>|^fFJ7F?ym4}QmN~b{beYz#e$!^CYx#6}<@HKDE0xr0 zN>p511zK)KF1f+xAZ2aCmL@2F7`9)%dez{y+oi3GotvAxQoevL(Qp)nX)-MHkSgvg zz+v2iMZo^~`kuXgiWAivnK?tQye)d%GClD)vkB;KIb;@`j>anbo3?;JuHwCd9 z3>E9KCIQg>I7hNdb!)OGs_O{m4m_w>)>DTjG)!OjROr^2Ewy{+vb3tm__J1T5O}t5 zZ@xG-TuA0&wh4^)0G#`;@RhRA%;~dic3i5rp3YRWGfcw=BcU^054r+TImPdh+x@Oj zQCbKfDT80LuC`3KjLau39kpKZ*Mi?lHWs7@b-A?P=ZvMQ74#ryku`tWA!PsCHb>pDm(|CLq7bR`BOyR=a1@D zAU+h5s>_3mkB<+!`qgV-Vh|ZH85tj!`jH|@K6&-N4t?0laH4PPlIT@O_9$_vl|yN`5??Dw?v4|;o+zhx?DZ$& z_Zp=LYJYFSlV*YFcZFcGD^PmMaUY7y=fFH#F79)_V~GkVBM_eO0XwLGAjqO+g$T6* zsT4RGT3Vs-;Sm!4WPuOYCD7gR#lvwD#MyEYue>bO1_V@2`Z%=736obQDdbs%^!SWx zrcYpu_2UCBxU`j6Y4{z4i!AL!Pf9-D0uVsVz{ibXt<9orXU1SFTNH;@y1zq`(PwXhOpOTXa z;e$MzECDH9?CysF5@QPx3yX%b9A+w?3UaTVn?w%;gU0OoMRM=9#3qVmWOTgxG`3Yu z_O&st#ly!B-)d;oa=geV#}AjFr_bt1o+c1&W#PGT+ zz`wu0-^=2!O9r4$WHD=5Adk(^b@BJ$cN2$EyIwcM4;=|a5qoX} zB%R-$@w)SDd;AQ&o0bZ|6-NL72U}ZPv`s3-y?)v4$KMCgb{I5cG(0#M5&i6FbW3i* z8IdS#Jr9uLM^_#$U6FYumALER*J9DU{_Nu$FIxuekE7V>?2!C#BhRr?(FZ-Js}0HF z<4ykV&-bAW{;`!|0+J5PWTwJZ_(OxY+pM!T8HKU0YN9>XCUNrC10 z4_FZ(T=2L-6Kmesawa%UMogfmex)3r=xQyJ+~z28M1)N@sP?$K>7HP zM^ZTdjW%5lxK-7BA_nhHQ%~0I)OGLi@duy>F!N&o`(RDXp({w?GT?>kRO!0_P!cTq zfcI}Xhsw(2Ii2TMNQSgvKYoj8+MAG#KO<;nA?&5=gG9dhXy9caZ+-%un$3ETOF>bY zk&D;VWBM|hhKC2=ex?!u($jX-iJ39Vh#T;>kzH0!CUqG;0$WMZUq?r03rF(KIYjgN z1whCXcn}T%u%DTknO&QVw-2{Rp7=om5l>A>h|uvW%I?zm3WLHh+tj7bNh@hF_`NUw z_{hdfK?NBJ-f?WISl;vu?&&qxK`%9v_i09z~!Qqj6z4a83w70DFD?Uq&rS;=X@Fhb@8^ z9V12^Lq@GGO;=C?1tZD@EG>Jk%G}S;7cBcf({0rt97;{dj6pHauA8Mik_GQg>bgIX_k4Tx-6K&s z10aq9B3G7>i&+;w{+GAEb$(zShg-emBS3!k?A)@^vQkGIf$Q6mj;6@0YLM#FkMjd! zpNapgFMxHg+Le-Kf-6vOku%dxb-{?ZoYeCb0dn>p~U=;abq$v6;CN7=+p)889ozO{{2A-~zLFffl^EBL(7?MJntD4YH{e{kA^-}UviUb8a|)141V(;tv&LU-DIE_OeTW(Y2C zls%$o{6RRz0D$De;^M;u(fLMu-IQz~68|L>dgoX4eq4CKURM7~V1opG81rJri;DQaY$n*vT!`wuun#|U$`_U35b>Q8H71gt?(dYX5WC~Yx zRGjL7)Sbb;hv?149#ad4u<$i~=3y5i6)+cz3?h%u&G{cgWjjq78AKAG-}*TU_igy= zJVy_16wky%+yaqIT~c%JdvB6|9*eX_U20r-Tgvq%e4^^(Rh*a$7eeec_AC-V6%ICDtXvG zgGiatgZ|KH+!YW=L`-aii%AZgA1=P>eIWmnAC!MP#(dwStr3MPZPvu|tz+?kW9Vy@ zGr5JpFzK!qfw!6VUx6SBQ?zJS8)BrbL~3P|hKZt8K9l zg|X`BXhbAdc1LhcTnvRh*an^JlT&{A*aLes&3P^4+<7g1Gldt)vW7_`hEijU0@>P) zoPTY7y)K{+b-{DlKk;_4!&fli_CT;?QTw3P8f&be zbyseWXWhyU! z;rWLB+_2T7cL+BbN!F)AYC(@6fn2(Ne$JIuLR_MbTiG`)h}@-)^^r0-@TWcM-0B_@ z&vdI}!i?E_`$>#nw%4djTqDCDp%ymz%HFXoDAX8r(En0ZQ&anEo#XGJQ~1#E5O{?F zH~>+Tlaoy&S$_L<(hzLyutmqDP&qQW2c`Q}4b8r>5!F|HXcgaRoS#B_U-fMwCmi#U zeR-ZV_wI+wRMi`jgI|qFf*Bj1siyUVE7qt_b7(LDSuv&r7xovD&MVzPS0LX05X!5I z5nj8ZWMN^^tG9R$JMkR38QFN*{EeL^bY(Sy`V)nu-_`L+Vj_Np;yq`$@?T?4uz8dp zueWosU76@;X(t-2)de}EaZ=r17oN*y2?hW$;h|7OZTeC&lFW(;z24~Ha}>#+pdEn{ zb>?+uqEwINwsaUZ4lLhlG@Yk~eofc~dzMn%e;e25Cx*wnI^&AZ1xAb^_q@8m`NwY0XTP7oEg7{W!s z+xhaWQj~m(>*e>X`xl=r51+b3UP-TC&Bm3&jp<8a}rYC4~3GeGX3Qin@>5^|%JxY6*4 zg|F`klUvY6bZtnDz@d&){`k!Mz>dhOWw_!5j7PzSKu5(U+bAMaCu|gL%8}ks(gGdj z@-P;JO1IZ#)msH1Ta!xo3C&c!iMU+y#Q|d*9d{g1q9%N<7tAkrcW_`seL}%3+zDEC zpV%p9inp!nV_je6AQ_rQtKaqMk@fe~lh$Dij86?EbLWalqo^{IP(Ezs!8r89mDiqM zT2^7}R8vzBR+>ZD_aE;rrge=igI`4+UJl10Afc{|3NCA1l1J{TbuN|O)yF4#wu6FI z@3Re_<5GK=ugj|Q%|q7thVYa6C!S| zaaRETa@VL;16Z^pW2);E%#vI6v+|i2h^jzuwPD+rQoHH$`1k5o78beww||+RJ(H1= z0@#S72Z@53Q=djPJFe`6;1LmpfhzLF5L2T?hNxSw`$Oovl5`;#S`b-_7mOA|e34%ONmRiUfydJ{<-hJbc z&@G0AQyNtz;CuJJx)8T%HkN^92s*9x;YbpeJ}A?4)oYfM={PKR`ZM(60ATG(LVw+# ztsvai2m-i5G9jMZTU!rwo*r|xreh)qSP&TT!G+2D+PyTRKQfWU|PNQwZMXq4?Nw78AXSS3hnbojVq zJ>>~~@x+y50%NvX!K$a+4XxZAsWqT0@z;StsByqGgHhnUyWDKW&p4GyKKRHN%C3i~ zrX?Rt&;zo6?6AP3cX+u-Nf#Tjq}2)v+mj%-2Ho_^*3cAa}61-fRFvX-pc7b?rcbWyOt{gRw#j z8v%Go5hn^vXI?W_0vMczt)E3`XjTK)l0eVpgpV8qO0eIV-b z=<(qwLp4L-e%7o`@mD_l`L*QTG14H)jv>Ds=X0ZL7m@hs%GZWBY&`CMNFCpy04X1Ag_;J)=uP8XF6TPSV}h44$)_U7j1 z3p`qAPLSqCG96vKQBraZQGEU za8uP&9lsZE1YO6)w6%h5?^iYx$6K>_a+ha*pX?g-Xf|gp^Kd?1GLN*|LueSCRad-E zA8NWD$hsbGDr!?0lD0W_bn^(}-5>8S*Mrcg5`N!b8n%0J$IsupUHrO_MFd1)YoMhB zzHOL44Wo}X7rWhW$hA$UE5kxUpq&jzH=xh$E-F3QV~K)yW!(%zuJ*K6zny7Y!}z?p z)+gufm@gi!-gj8e@Ko`I8Ui0e@a^T%au;=u-zm%N*RlRzcYHM|D3OjR;pjB*hqerZ zZv`?gvOJgO$A8~9od3%KV($3}XIDE&87%{@a$!oME$7MH3n03y>zBD7Ce9>5RdiUCD;l8f2lCAyj zbR^DoNhORrsi)ZP<;z62vn~)u#o+@u3FjZYk9#ke=7z9-Hn0HF+7&vn;%-~tA68aO zlsx2&jHpE14?`=zvjr(gafl@BRU(>ahFdi}b#ZZlcbTr#sd&TVxI0w_5>a!UMb6%( zJ;Rzo!(TFpoZO5-{P^)=V^q-`(f72x=MiiD?+Jo!B&VzP`D{w|%LUR@;5|_oGG7{j zO9(2q)l#cFD~^;1Mdc%dP&**!6B&{>I(2$_I%FO%u2Tk5K-R!E8+@h;h>0?burl)x z!q|FJk2cD_2%N!uxoBKc(#VNgE@U(m8YmP1Bi+cTD4D)+?BksRB)HUzO!yUh+{TS= z&~g%Kg+JQJnD>!-qPLU<^~45>shxp#{3(<^D!nh6ymu*h-ZJQR z!ZB3h>8yE!)XRa7_i^wkE=;u^-vNSYU12_@kMefFzBL*Fm?&r0V&w4f@H{mIg+Y?P z7a>jp8a7#I2pUf7G~zjz3gmL&w6!19zY)c%8LdPT{Jj-h?JqKn{@jWm5BG&(sPn-- zeag~{mhwGn&^@|wn|AjaUSqhrT90orp=Jo|(x_b3PWzjhN($nC7OTy-I51q^zq-1* zY-ngWlWPl1H)`wBq=3ONfdo%bM+^IrCk1X#7ON6?A-A)T^>Ws*|0WwzedvzFqjNr+ zQEggnm6dBy(a0{CWrPT@o(T= zTG2yue#bC3+fwZbpIm-ptx*i620#gNVejD~@cR!Fxm0oXmo82Kh)I7rSN5vJ@^xBT z#3qNLib_9$x)==rctWLQ%QKs?zLdzxo}HbYEHrN~1Y@<=UK%nsf}j#hV@&v0+k6hDyhqe7Pxis^$v{U zbm4O+Nv=j7kA%_v;>0uxzyE{+;0i5}TxSH{ofzselRkaQf{7T~e29>HnIs%=Cj=ig zrRJn7CI>k=?x@~-uy;9WiIRqrr8~>KvZ5l4@@tlL*47Wt^j~4us2!{}?utVvVC3oy zU>wUSmj1yP6Qf$di~*kwVZQ}F?^XEZLCP=yJ8bJ(rH2OE-W~Vh*n);x^OT5aTI&us zI5-%WnmQhYSK$w3SaithnL%dveb4bkdqAWBt<*g=+w-$&jGf z_oNnfh0laTDe_tOqNNqHigN$p z2Bs@?QCjY^c^<~{sh`l4q$2IV75Wt-+S&fP!77#C{?i6;rH=g{P&cJ4HM@kcpSedP zz*K|~0~O^^0SZx%%AF4iHL7~_8|+G1^v5#~ffojVeBUIBuG zgFmFE?tIWc`YEUQndry60m!RU%3fm~|V*w0Jr`6%pVph4Y-X;T^lh{y-Kh|NF)W0dQ`n3PI3<-wgknnwl!x66SX^ z#d3bQNDjso#L;ryV?Ko*xZ{`twNR6$-{vdLgE?4cj;D{65SQ|JybG|m#0&iuc zr4d9H1H0_Geqv$xT%9z|?(5btD0;4MbR}|IeJ54Bdi}Plun^gPrc(O%m$#arh)>av z$7A>k1_8$)9nmo`47^xnio?(hh2^K(X+DG4%0NWicSA3ieAWNnr5Fdam@c(@mq0D< zop{Bh%4!@=>&Y@%oI#Dya&mGK&#ZbsLG#>Yr5j=WC9gOay54A^Xgoh0-tC(BGj-;X~SvrEyoQ`<@xdfA#Kk-q;ctPglFXmOj{aYTS8a|b2Zpn4jKcE zIbiau57mYpQ3&x8@bP2sUtnkMed-=db)r*<>kmaISXgRk+JDS@9>HbS55bk8R~6G+ z-CnpxJ+UW_Mv=TfC$O9SUxy-@e!f&T0wYAUx@nF4m^ic&@uD*fW?S+nhMvCC#xka z-;SB_WgzgmZ{94D0P^uv9mm~4NPl7$b5J8jIHzZOji~?_1IqANmMHJ9Ca0WNpu0M{ zlE8c3sN&-vBPDTaWJ>{9k{{C3qnx_#iD#<~pKp(4nF?ey4qn?^JvIW7701RGPu~e- zV8dzS`fQuQt}9dLs|0mazVqFc3x$Lq>HW=x+nZO$tVi&X0BiS`%V?^aTy?n?JZ`;5 z(e5&kp3k+zC*c^@8Vh1PDJc-kb%_na=Tf5}}xB?f2!vucBudJ#s(;zoQ;KDR9u zHvP|vO^K@d8d1TurRb8w&*R7=V`B#%A1)=WhnWOzyLLSTLR1h03m2|V*6aLlJ>*t( z2~bDJG%YOXKXDj7`=gt?*<{%1heD?y5t1S3B+`x>)9S?YLt>PfAvD)%xigj5I&S|u z8Vso_b!(Ok?W+kvD9bboPK|7u7lALBJ-Rwp}TIM?E4U077K zI#*|okKMfDf7_GWlS3p5vgGhmtBvh zXIrEAX0eU8)5)6a(m6{z)tiLjFQe^xS}Ha?R=$P3!0mL;MKFQcxl=H;JBw81#a zKG4P~V|dL2@uRrEE6saQ5hEd}PJ+_mD@gyf4)Z)4Tbp@Ci>(lBYsYmJ<>agW+Km7=jSNK1?F5wizXb;(|>9 zfj<&nqv{6*#?qC?$=U#m*v})>=QnjO4}a?o3O0!WU{1hk$&a6gW>shXYpgFb`}xED zEicr$r_O}g%jt=i`(BJ%Pa{PVz9}0ng_tv79C*(U(noM)B;<8Y9aS-GZ-Z<$r_SR* zzx`}Xw7!SWr{DBgdIhW!p}+?*pYwedU$+LU(cWa1SE0|k<~MeJnV-HzVUdA=@*(JA zZ??~@Zperiq?C_N9TzjELWsURvW3QYSl>=+O6haGQlGx8J%x|Ctpho6HM3apQ{K^>D-bHI|%7vmv&& z=6b^f1pPYaRT)QJaZu#L0enGC6-7=Mn3Bz)kO=s-;iisDgZ%c_=bm!y3c{M#^%ld$ zng#L)Yv_;I;a4xrKL`Chg<5Pr1(+ou`^#OAfuQqKukKSgxd`w6oYISguoLmzuzuh6w5=_|!Ut<~#000UjdrQ}%6??t3!>ByQVg zAaKFwGbmx75KA0S`63Z`n9gq>4(??szXzfD_r=6>oVSU15AUe{DBJUkT-)T6 z`(JhLK0O{3mD+oss;A3yD4)7_m22s~R;bc@!y5Kc)4G&WHkbj@;*8_nC3%{?F}g}` zfUL42ww@*>^j?_h=;%`H=*WL*+eHZxKEp`o^;U+XB8+3_gX2`OG=zV$@m#fud%MUhQhBR&~HQl)*Nhv6xu@Ogy#PtTm^`Hjo>yvpL zEghUwpx#x{W-nKDAE6_6C&DCQ6V!osCmqer&1||z`wim~eQ}hc6mH#b*ECYtsSoJ_ zAgxc|h_FMEcj$?6F`{Z~xxQx#6R1nx^I1J!k86}`#g`%pN$9?L6ODpN9JzIQ3328d zUed|=poGrY(N3~|uE<>cgzOj{VO0pGcl@(H<+w8`%O7xlxVwG18jr0KF50@bEk*IZ|0c-s;`6uaos;)JpGA}*gx|K z^N}@uCj|+LkH>-EpeZb*r)OfKqv6JT5T{433#INbijRrGnwpvtLhGvHqMH^I60JKI ztP(j7#)X96KZH4pdE&jf6pEYs4STdaFiyzG*gI#3cZf(#Pxm1-Y`D9k2y8;?V#0$Z zAj=!IxH5SD+)%18;O~Yb3K;&%d4^zTqM6cS{p^x55igiamS#+nF8E>cvruWmh7Wv2 z#>R%l$H%`|L7LGIfTK*7sAux(;&QT_n3Oczg5gT#auIkHfGcPcL8%G?&Knjbqh~J>3RP2#43F@Fok0rbk$NF5P z@9c~VpJbebBqBYX%%Ib+C3@{hXT@6734n$o4RU99qyR^UopDcjQNbu}VCVxKSPh`U zPO8wY;Rx40*zPgjV_894;KeItdftO*k1sa}qO#-H!NEO7mDGgY@6UaGz2O~od^)HE z9T%KaJw<%eHKoy_^}%rZ-Q@JRoSB(|<{p3#VtLI`3^9}(Q)4Gz6I|cC%n1k*C zRlpt9s*aG?7h!r#b`aiAmpXhgla(zKDq8&-8yn$+v;%Grnh;c-|Aa-EEcQWlV&ZHy zCaHPjIry(ox+HhSp?oT<4o9Q&O5as!q#@EKCeSC;5?HbF>*wuTTU*83Ie`I#m&<|U z)@LW#IqIjjf9a2LP!MqwrJS|2rl`RHyv=^9RFk01cNIQmk^k-A_lZ(nxCk`3L7%PF zT7^~_<_nnC@<;}gjD37WB(66Iyu7`I#hY4NTkUSn|2$6EH8Q>%J@9P9>ROcr*wC2~ zkda8W4GiusnR5JG-&dqKQyia-OPYg3Sz1xyTUaEscPgYx$w(FNh6+^~CWvzzGCa0X zqeC__GP-iuRs#{x&HJ#$ZJPs>$Ct*n9NYXo&#q3ge5qfKAGxetzQdMsxbyglTWS9I za6e0ckDm^j$?<2%xvjrvu%xW4$zrQ}X=P>q!SALll`7$4R<`?b+0QIv&*fp-Z%inK zaqI%#5Fok6k-wx1#oa3(g3o;m7uf`cp?5$n7_;>5@9zipwSF&&=txCd{?az^sz)-J z7WnJ40r&yP0K^CsOave_-^&)gj5QnNJ1P=R>j*bgQbLD6e3_b^6@^&Dw{4l^yhB-& zjyY$>i#~|{{0X{kpwa?CXz%E#efwL$!os52&#A*`IpO2Si-GwD>&9BnvuRC4FNiPR zxSD$B$O0}UIgcJecrqXZ#N7NT$@%j2>(}DiR9wW2f?aJRBPx)_?CD^Gjn{?N9I>(T z{Skr7^(Tvb4ld0`Kl@Vji5@B|*&G&Ir#B6#oo#;oknZ!9*a(#B8E3uE%6^iZrwrUR zdcVSlAad2`=B^A_j(oZ|gaj#{htRk(c&M| zZE=>-4uVLod;9w8>}NStvP2qx&u(mQQ_r`1pYiW5#uDCjy*gS3aI|hBSP_nAw^6!D zq@b`Bu!!n+Yt+Vmd^`>tIakta-x^4Wh)h8qelm&Z@k%qN>8mS671#G5XN#SP-Tch2 zq5JpW--hBc6JoUA|NX7k>F3?FZQuCo_UY57kL>~XH_ypV1$$eojnOK;IpvDLo<86C zO}2~Nosp@Au2ox&A4)0m&iT4G>?yerkeNgo%+`E)@H?WtT`YBUi(`PfU$MI<=VFqq z(;B*9YEN0|PJ$|!6u&OCvGGsvsExSS{oPD4rZNUYO3OLz2YIW`W#BeEdo1toG&Tt$ zt{VCjAoJ?wOS2~wLdVjIii*j+D{m|j#sr$Z{JXgubx@rt-ipd~2pjScAayFBoeKD! zNlw7BX7rt*qPkHF0FZ+lJP=K?zUa9uCnY5n-yY!Ob0g`r(A?wePnWfRX4K_U8g|#0 z23+k~>Y@h&p>WU``Na0RUYaAtS2!{_(<_2JOD*D#@>ir=4YC$)oSXMYp~B?b*v+~Ffc zW~ks|hxYgP#|Zmf9UHH&ufOUCzQ4|S=QU=-2cPak$aw|O*VmWbn`&8nK%5gK40`V% z#xfkij+>a36&p(~NXy1nsZhht!g9^c%X@}Ax?^wI-WliPFTQ@k{+trh_YvsN55fav zbgB)6y+LL6$ZOUg3DNxko4~-ps0HIOG+M8_4$OHii!mMA5JPG6HyJLDf7aW4e4U(} z;FE96)tZKkQ2JK>dDpr;Tlu=7tF*K<+{a^S?`*}1g2Tv|7C5o#j>nhgf+dVgK8lI+ z^14+i7h&v=W@L%DWB6Vk%6WUY^l`KY*cvl-3oL*8ZuD`)g|(^;sa0?(8#g#Lm9)~R zgDfpAO@ot@gkhzRiv@*0 zs-Ab-9vjtSCJgBC?gOcoDB=mF3`jFE^5!J8Ui3UByEE8wk^{j@>VG0oIN7?tePsQR znmV_BX=871FYLN8G~Z}HYgE|n7^FSwl)Dl*6ncBmH@x=(dF3X+tIx^* ztgP&X@B3H4%&$-s6qIJ4i*jbX^GK{zOMYwj`*4h%>rROMZ1up}K(w#n&_(}y0_zkG zL!WTOu8)Yu<1k~K+n+{*&d8mzfOrP+)k|6kGA;!<`E3MT^6kxA=NPVRZWir4xss`< zm|Sf;Qd^%Yn}iQpWX2Ps3(0=Bbn$M2iIEZBnH%2WOg^4!v0`V)LBKOp%==VEO-=12 z1Pv#hB*q8F)eIqnVbeM2EZkxqN4hglas^k`*$DZ;o(8rETnZL!$n1o zIzrGLmC-j^`-Hz{>V^#GlC$b1+O!<+XkS%8b^f2FLFv zTs!g9k`FncK1t!@r@dtZpu+B{BHy z_Fy#fC2_N(qx#n`{e#2Bwl3et`^ynq=5f|rd5kN0#wn+;4uTqFzxTk6U(H5vBovky zbkjI%^g_SEN>yG(MI|vN>obpUyc|I^GF_rNU#rIfnevMlnmRh+8IK+4uacDbc$|x< zvFL@HcjbnBykg};uCBc385n3-ScYx$)jZMl&i&afEiDB-4;Q>mmplDG)<*lPPOb0# zF(vf6Q$xSPN5DeHyXtQ3g2iJ@X=-Yk9(7zA=_@NM+u7LckY*$KxKky#2*@SyqyrzPYzovHSHxG@0cHUFX6_yu7?zLt7iAN(Zw_C%Vn^XblXaZES2{ zJtk7VzPEG)u%;$KL`1|~oeKDkRQU6AFkX#}iRlMjjvEYVL&L-W9x#f~l+Db{e2OOF zd^kQCq&8;Z;CRSFKfB%(qeGG8+~=R{$|%x+XG|a)LRia4$dbk)0|1W;3kyu!<2jF& z@&##?FUzL#MG)k=^nSTGRW&papoSoTFZlvI@ROaL-NxSjxxGEB3S&|g5+^WZ!NdGf z8U7-~xVpKK5tqRZ{3tnP$3JD)I4MKs&p_M>U^=O)surJ~o<{Zd_U4?OojGZ8j``kN zprwouPf>>Vc$dgefP)L z%@S@zgD$0IWi5{*oLvhXY;0`HU4f5=sOObUg2D*m)LSpQQy|^!C1{m8xfZlY*@Rl^ zVkfe5r<)@LNl8fr1o-%jtRKGt;|PIA!{wl=Y^kiQT>Dw{qA8w2*tPBR=g&btPE_Z2 zJVpda0aWKzh!ZbNL71Q_B4TEKdc_l(TWGPulrr)WK3{7NDDugvsY!S}_M7YAQ#kRY zsT{svVG7mT1((CcHeEv_VB6A8;q<#o$Xv*W zO__;7O)%U$QXY+;+k`)U{MbD|KR-!gRE>%Ol}AiuBn0Ql6RM}Aq(W;h!8z>7hyY{K zu!ga*am}<{V3*r=+?V!tgEv}Q?~eW+{6^*4{PpJtBOo4lJl@2c+oVVXX8(B_R%qzT z2t~m6af$PzC7|8vdnz7$j*a7;ot=rHp`j08_N9AzdUm_P1qK5eLApr35O}{doSBU) zlb)WgB46-hVr~w!Nt=n;*;zpyZEbO|<|;Ya*{2O#TsQLu%>ERb2u>C}=PGd`qF_J2 z_LvK6R~w#ufy_nGg(e`ff*!<#f9^tgLKge=%iq6$)w0xPD<}WxA1$`cYU%5jJK5W> zZ!cxVcoGLMeTTKGI)CO3o#@FNM>0a}kOdOCTZ2?^8IJqACF<#+^f;eLEwFynM(mtt zN$8WB;4>{PvU%;Bw0lRa_ThHs=WTp9IO2IN|j`raJ3#duR&(?gNF zEfO96BehWIf2@__!hc$knfX7DBm+Qk&c*eg`xxLqttln-A8X7q|M5eN|FPEk7XEXi zHc0TFR@MPt0mk5`9PkqSPYF;5)WCHm@KYZAAHH-TA3ea&!va$W0N}sBN&Yjp$p87n zx&L$diU>dB74Qyl1#AIFz#2@=7H|M8!IT{VE5HdnCjZ|tTmT>V7XJ5b27Usd+{XjA zKL?L_3pfL&;PKvIZcM>7%YSLhfm>|>bFdr=|GCu-V1svE2ahxdIQ|`z3W$JdsDS&d z!DAf$rREHH|I3XvU<2k0_+M;;0^DFugaILd9pC};!VL%j(EsiApnx=Z1qbl^<$tH- z_HPY-q$QZX2l#36FK4m zZLo}d;BngE71{sg+u>gx-2RmSzNq}m_kXpa?7!{i|7y+|c=z8|{r@ii|Ixlm|JE%3 zbFahysD=NT#{W760JI=#Fb(zpY&+ZkOyj@u=lDO;`j3)H1FrwB_7*(C4P4j#caFfn zeXjtUf8}ugPfO(hEdI48@UOk#HmU=r=lZ{}U;v>1XZ>1$>pwen1NWQ$pXvi0xfc1T ztxHVO>#YOS!_w8w*2z(vmYai%7Ha8e?qp%>Xe~~wttHPcL<@C$XXfq#PDNgHc z=|(Flfgwi2&JKO<*NS! zX9rI)b#t?PYv$k$1uyC7CQj?_>L}u7Ze#h@)Q$b^f1So|?(|l~)a@;Y2RAMBt*N7} zm8IJ|o&T9X2@DJ<^xyThEFB!6I<{c;pq`dc3nxdWcTh)5OADx}#amlPa65Q)Cs(M0 zrH7>h)YRPE(#;K?5%BD{ZpPp>Ja|Ojxw^Z(Q*yL&`j1SB{MU~EZSHtz;R*fEq}(jc z-Cb?pdH=`u|GCH2(#0Jtg{6gttF4EvgQc~l+kYMOzdTIN3rq@LZz}(C{xARHw5D!K zjvh|-maeo=cU$Ryr4gsKGIemXq=j<+_eDAX_g59;{9oo-jPw6mE8uo93rlB9M+?v> z{UiUU;MvXSP8xtOcwgi+u2f_$pB;zp(Vy0;>mp8ow~VnE)R*AD_9o6}N>I(|^^E80Y^o?_!+)vy5V#rvJSU zv^H zspYxlrRBBd&E?(YL**0YbLA`LJLSjaSLHwjqyo2sv;tbeT)|Z#R3TNNSfNp&S7B0N zQ{i0URRODrtVpOxt;nq?t*EVNuIR29s+g#lt5~VnsW`5mAI9pmC#D&O0G(w zN~uc4N{vdrN|Q>PO6N+iN?2uNWkO|YWo~6@Wo>11Wq0LJtqCaa9RbNmVIUX;kS|nN-vHqgt=pq}rz1x!S85RvlTLP@P(xTU}aR zTismUT|HDiQ9W0^QoU1sTzypy)Ie%*Ye;LLHOw_!H9|E~HHtMFHF`BBH8wTQHC{Ea zn#h`jn$()yn$nuun&z7BnxUGBnz@>lnw^^CnyVVH4ORf47A{tDA-TA@q`A;s=3K5^ zpM(9b8dI;Q0_$TT<%KlPVRB;RW6VR z$-~Vf&4cDK=W*o;Yg<-zhI^Ahq>^K$b_^J?>&^Sbkf@+R`; z@>cS8@{aSa@_>9uK5jl~J~W>>pDSM|Un*ZQUn5^H-z48A-#OnaAC@1PpOBxLpPOHr zUz^{Y-<>~{KaoF|zmmU`f1H1n4-`NOa0^HapaskYTm?b}QU!_y8U=af3ZHk?Xy^3MQk;Mtcsl~a)rNyMt0X>Dn9X?N*R=|t&V=}PHN>2c{*DNqI}!!08%gO)Luag_;` zNtG#+`p1}G@K=}8A`&_vRdBFd({NHlf39Zf7oJY-|buAOHXW000317yuM<|1|9a(gD$Op10@% j(gD$Op10@%(g9FQ1qJ{B000620sy=K004I?0RR91vqe{c diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index 2903c27d7..f1ea13fa0 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -740,7 +740,7 @@ namespace Artemis.ViewModels.Profiles } _saving = false; - Execute.OnUIThread(() => UpdateLayerList(ProfileViewModel.SelectedLayer)); + //Execute.OnUIThread(() => UpdateLayerList(ProfileViewModel.SelectedLayer)); } } } \ No newline at end of file diff --git a/Artemis/UnrealTournament2Artemis/Artemis.uplugin b/Artemis/UnrealTournament2Artemis/Artemis.uplugin index 8ea2a6467..1e48f9cd3 100644 --- a/Artemis/UnrealTournament2Artemis/Artemis.uplugin +++ b/Artemis/UnrealTournament2Artemis/Artemis.uplugin @@ -2,10 +2,10 @@ "Version" : 1, "FileVersion": 3, "FriendlyName": "Artemis Plugin", - "VersionName": "1.0", + "VersionName": "1", "CreatedBy": "Robert Beekman", "CreatedByURL": "https://github.com/SpoinkyNL/Artemis", - "EngineVersion": "4.4.0", + "EngineVersion": "4.12.0", "Description": "Communicates with Artemis to let the main program know what's happening ingame", "Category": "UnrealTournament.Mod", "EnabledByDefault": true, diff --git a/Artemis/UnrealTournament2Artemis/Binaries/Win64/UE4-Artemis-Win64-Shipping.dll b/Artemis/UnrealTournament2Artemis/Binaries/Win64/UE4-Artemis-Win64-Shipping.dll index 87c719160e184aba087b46be0244f9a83eaf6dea..fad8730cbb315c580f07e8fbfff7a9006152c680 100644 GIT binary patch literal 199680 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 ^3Yteru6Mn3P&aLatr-59JJ?qvfH!DGAP$#jT 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 delta 64432 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 MHZ|RemoveField("Players"); } - + // Update player data // If character not found player must be spectating(?) if (!UTPC->GetUTCharacter()) @@ -132,7 +132,8 @@ void FArtemis::Tick(float DeltaTime) // Update HP and armor RootJson->SetStringField("State", "Alive"); PlayerJson->SetNumberField("Health", UTPC->GetUTCharacter()->Health); - PlayerJson->SetNumberField("Armor", UTPC->GetUTCharacter()->ArmorAmount); + // TODO: Crashes the game + // PlayerJson->SetNumberField("Armor", UTPC->GetUTCharacter()->GetArmorAmount()); // Update player powerups data TSharedRef InventoryJson(new FJsonObject()); @@ -146,6 +147,7 @@ void FArtemis::Tick(float DeltaTime) InventoryJson->SetBoolField("HasChestArmor", false); InventoryJson->SetBoolField("HasHelmet", false); + for (TInventoryIterator<> It(UTPC->GetUTCharacter()); It; ++It) { AUTInventory* InventoryItem = (*It); @@ -200,13 +202,14 @@ void FArtemis::Tick(float DeltaTime) WeaponJson->SetStringField("Name", "None"); } } + // Insert PlayerState JsonReport TSharedRef PlayerStateJson(new FJsonObject()); PlayerJson->SetObjectField("State", PlayerStateJson); if (UTPC->UTPlayerState) { UTPC->UTPlayerState->MakeJsonReport(PlayerStateJson); - } + } FJsonSerializer::Serialize(RootJson, Writer); WritePipe(Buffer); diff --git a/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj b/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj deleted file mode 100644 index b4cd9703f..000000000 --- a/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj +++ /dev/null @@ -1,165 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {3541864F-1662-4BD6-8328-2C87AE61D152} - Win32Proj - UnrealTournament2Artemis - 8.1 - - - - DynamicLibrary - true - v140 - Unicode - - - DynamicLibrary - false - v140 - true - Unicode - - - DynamicLibrary - true - v140 - Unicode - - - DynamicLibrary - false - v140 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;UNREALTOURNAMENT2ARTEMIS_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - - - Level3 - Disabled - _DEBUG;_WINDOWS;_USRDLL;UNREALTOURNAMENT2ARTEMIS_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UNREALTOURNAMENT2ARTEMIS_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - NDEBUG;_WINDOWS;_USRDLL;UNREALTOURNAMENT2ARTEMIS_EXPORTS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj.filters b/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj.filters deleted file mode 100644 index 256e298e2..000000000 --- a/Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - - \ No newline at end of file diff --git a/Artemis/UnrealTournament2Artemis/ut-plugin.zip b/Artemis/UnrealTournament2Artemis/ut-plugin.zip deleted file mode 100644 index c013a0f6fb0d0f8b34308b06240081a3f2c3ee82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75156 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

    ;OFG1%N187QnscCMWJAXs5A;0LS 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 From b2c09a96b55b0b4f78675818e3cf07c3fc8ec319 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Tue, 15 Nov 2016 23:14:08 +0100 Subject: [PATCH 49/49] Tiny UI fixes Layers can no longer be dragged/resized off of the canvas Added Qwertz option to dropdown box Added default profiles for Pro L Added default profiles for GTA V LUA DrawText returns resulting text width Fixed a null reference in LuaWrapper Save button now forces a profile save too Added profile save to debug log Bumped version number --- Artemis/Artemis/DAL/ProfileProvider.cs | 1 + .../CoolerMaster/MasterkeysProL.cs | 25 ++++++++------ .../Corsair/CorsairKeyboards.cs | 1 + .../DeviceProviders/KeyboardProvider.cs | 2 +- .../Artemis/DeviceProviders/Logitech/G810.cs | 12 +++++-- .../Artemis/DeviceProviders/Logitech/G910.cs | 16 +++++++-- .../DeviceProviders/Razer/BlackWidow.cs | 15 +++++++- .../WindowsProfile/WindowsProfileViewModel.cs | 10 ++++++ Artemis/Artemis/Modules/Games/WoW/WoWModel.cs | 2 +- .../Artemis/Profiles/Lua/LuaDrawWrapper.cs | 3 +- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 26 +++++++++++++- Artemis/Artemis/Profiles/ProfileModel.cs | 3 +- Artemis/Artemis/Properties/AssemblyInfo.cs | 4 +-- .../Resources/Keyboards/default-profiles.zip | Bin 272626 -> 323954 bytes .../ViewModels/Abstract/EffectViewModel.cs | 2 +- .../ViewModels/Abstract/GameViewModel.cs | 7 +++- .../Flyouts/FlyoutSettingsViewModel.cs | 1 + Artemis/Artemis/ViewModels/GamesViewModel.cs | 10 ++++-- .../Profiles/ProfileEditorViewModel.cs | 18 +++++++--- .../ViewModels/Profiles/ProfileViewModel.cs | 32 +++++++++++++----- 20 files changed, 148 insertions(+), 42 deletions(-) diff --git a/Artemis/Artemis/DAL/ProfileProvider.cs b/Artemis/Artemis/DAL/ProfileProvider.cs index d70c395f9..728a683d7 100644 --- a/Artemis/Artemis/DAL/ProfileProvider.cs +++ b/Artemis/Artemis/DAL/ProfileProvider.cs @@ -89,6 +89,7 @@ namespace Artemis.DAL } File.WriteAllText(path + $@"\{prof.Name}.json", json); + Logger.Debug("Saved profile {0}/{1}/{2}", prof.KeyboardSlug, prof.GameName, prof.Name); } } diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs index dc9873fdf..e2e95528f 100644 --- a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs @@ -3,16 +3,18 @@ using System.Linq; using System.Threading; using System.Windows; using System.Windows.Forms; +using Artemis.DAL; using Artemis.DeviceProviders.CoolerMaster.Utilities; using Artemis.DeviceProviders.Logitech.Utilities; using Artemis.Properties; +using Artemis.Settings; using Artemis.Utilities; namespace Artemis.DeviceProviders.CoolerMaster { public class MasterkeysProL : KeyboardProvider { - private bool _hasControl; + private GeneralSettings _generalSettings; public MasterkeysProL() { @@ -27,16 +29,13 @@ namespace Artemis.DeviceProviders.CoolerMaster Width = 22; PreviewSettings = new PreviewSettings(670, 189, new Thickness(-2, -5, 0, 0), Resources.masterkeys_pro_l); + _generalSettings = SettingsProvider.Load(); } public override void Disable() { - if (_hasControl) - { - CmSdk.EnableLedControl(false); - Thread.Sleep(500); - } - _hasControl = false; + CmSdk.EnableLedControl(false); + Thread.Sleep(500); } public override bool CanEnable() @@ -50,8 +49,6 @@ namespace Artemis.DeviceProviders.CoolerMaster public override void Enable() { CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); - - _hasControl = true; CmSdk.EnableLedControl(true); } @@ -80,7 +77,15 @@ namespace Artemis.DeviceProviders.CoolerMaster public override KeyMatch? GetKeyPosition(Keys keyCode) { - return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + switch (_generalSettings.Layout) + { + case "Qwerty": + return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + case "Qwertz": + return KeyMap.QwertzLayout.FirstOrDefault(k => k.KeyCode == keyCode); + default: + return KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs index 48a21af99..a1840dcbe 100644 --- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs +++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs @@ -83,6 +83,7 @@ namespace Artemis.DeviceProviders.Corsair } Logger.Debug("Corsair SDK reported device as: {0}", _keyboard.DeviceInfo.Model); + _keyboard.Brush = _keyboardBrush ?? (_keyboardBrush = new ImageBrush()); } diff --git a/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs b/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs index b4cf7f1e4..afa83b09c 100644 --- a/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs +++ b/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs @@ -39,7 +39,7 @@ namespace Artemis.DeviceProviders /// public Bitmap KeyboardBitmap(int scale) => new Bitmap(Width*scale, Height*scale); - public Rect KeyboardRectangle(int scale) => new Rect(new Size(Width*scale, Height*scale)); + public Rect KeyboardRectangle(int scale = 4) => new Rect(new Size(Width*scale, Height*scale)); ///

    /// Runs CanEnable asynchronously multiple times until successful, cancelled or max tries reached diff --git a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs index 2b3c1a509..e51e0b9a5 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs @@ -28,9 +28,15 @@ namespace Artemis.DeviceProviders.Logitech public override KeyMatch? GetKeyPosition(Keys keyCode) { - return _generalSettings.Layout == "Qwerty" - ? KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode) - : KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + switch (_generalSettings.Layout) + { + case "Qwerty": + return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + case "Qwertz": + return KeyMap.QwertzLayout.FirstOrDefault(k => k.KeyCode == keyCode); + default: + return KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/Logitech/G910.cs b/Artemis/Artemis/DeviceProviders/Logitech/G910.cs index 126eefcbf..d79aca306 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/G910.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/G910.cs @@ -30,9 +30,19 @@ namespace Artemis.DeviceProviders.Logitech public override KeyMatch? GetKeyPosition(Keys keyCode) { - var value = _generalSettings.Layout == "Qwerty" - ? KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode) - : KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + KeyMatch value; + switch (_generalSettings.Layout) + { + case "Qwerty": + value = KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + break; + case "Qwertz": + value = KeyMap.QwertzLayout.FirstOrDefault(k => k.KeyCode == keyCode); + break; + default: + value = KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + break; + } // Adjust the distance by 1 on both x and y for the G910 return new KeyMatch(value.KeyCode, value.X + 1, value.Y + 1); diff --git a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs index bb934550e..4814c32bb 100644 --- a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs +++ b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs @@ -2,9 +2,11 @@ using System.Linq; using System.Windows; using System.Windows.Forms; +using Artemis.DAL; using Artemis.DeviceProviders.Logitech.Utilities; using Artemis.DeviceProviders.Razer.Utilities; using Artemis.Properties; +using Artemis.Settings; using Corale.Colore.Core; using Corale.Colore.Razer; using Constants = Corale.Colore.Razer.Keyboard.Constants; @@ -13,6 +15,8 @@ namespace Artemis.DeviceProviders.Razer { public class BlackWidow : KeyboardProvider { + private GeneralSettings _generalSettings; + public BlackWidow() { Name = "Razer BlackWidow Chroma"; @@ -24,6 +28,7 @@ namespace Artemis.DeviceProviders.Razer Height = Constants.MaxRows; Width = Constants.MaxColumns; PreviewSettings = new PreviewSettings(665, 175, new Thickness(0, -15, 0, 0), Resources.blackwidow); + _generalSettings = SettingsProvider.Load(); } public override bool CanEnable() @@ -56,7 +61,15 @@ namespace Artemis.DeviceProviders.Razer public override KeyMatch? GetKeyPosition(Keys keyCode) { // TODO: Needs it's own keymap or a way to get it from the Chroma SDK - return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + switch (_generalSettings.Layout) + { + case "Qwerty": + return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + case "Qwertz": + return KeyMap.QwertzLayout.FirstOrDefault(k => k.KeyCode == keyCode); + default: + return KeyMap.AzertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileViewModel.cs b/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileViewModel.cs index 15bfb1467..e39b96325 100644 --- a/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileViewModel.cs +++ b/Artemis/Artemis/Modules/Effects/WindowsProfile/WindowsProfileViewModel.cs @@ -27,6 +27,9 @@ namespace Artemis.Modules.Effects.WindowsProfile }; ProfileEditor = kernel.Get(args); ProfileEditor.PropertyChanged += ProfileUpdater; + + EffectModel.Profile = ProfileEditor.SelectedProfile; + ProfilePreviewModel.Profile = ProfileEditor.SelectedProfile; } public ProfileEditorViewModel ProfileEditor { get; set; } @@ -36,6 +39,7 @@ namespace Artemis.Modules.Effects.WindowsProfile { if ((e.PropertyName != "SelectedProfile") && IsActive) return; + EffectModel.Profile = ProfileEditor.SelectedProfile; ProfilePreviewModel.Profile = ProfileEditor.SelectedProfile; @@ -47,6 +51,12 @@ namespace Artemis.Modules.Effects.WindowsProfile EffectSettings.Save(); } + public override void SaveSettings() + { + ProfileEditor.SaveSelectedProfile(); + base.SaveSettings(); + } + protected override void OnActivate() { base.OnActivate(); diff --git a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs index c0c50cd2e..3386027dd 100644 --- a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs +++ b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs @@ -25,7 +25,7 @@ namespace Artemis.Modules.Games.WoW ProcessName = "Wow-64"; Scale = 4; - // Currently WoW is locked behind a hidden trigger (obviously not that hidden if you're reading this) + // Currently WoW is locked behind a hidden trigger (obviously not that hidden since you're reading this) // It is using memory reading and lets first try to contact Blizzard var settings = SettingsProvider.Load(); Enabled = (settings.GamestatePort == 62575) && Settings.Enabled; diff --git a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs index c99081dbf..86af7bb83 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaDrawWrapper.cs @@ -54,7 +54,7 @@ namespace Artemis.Profiles.Lua _ctx.DrawRectangle(luaBrush.Brush, new Pen(), new Rect(x, y, width, height)); } - public void DrawText(LuaBrush luaBrush, double x, double y, string text, int fontSize) + public double DrawText(LuaBrush luaBrush, double x, double y, string text, int fontSize) { x *= 4; y *= 4; @@ -65,6 +65,7 @@ namespace Artemis.Profiles.Lua fontSize, luaBrush.Brush); _ctx.DrawText(formatted, new Point(x, y)); + return formatted.Width/4; } } } \ No newline at end of file diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index a28201a6f..2b4e5f315 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -94,8 +94,11 @@ namespace Artemis.Profiles.Lua // Clear old fields/properties KeyboardProvider = null; ProfileModel = null; + LuaProfileWrapper = null; + LuaBrushWrapper = null; LuaKeyboardWrapper?.Dispose(); LuaKeyboardWrapper = null; + LuaMouseWrapper = null; try { @@ -108,8 +111,29 @@ namespace Artemis.Profiles.Lua } catch (NullReferenceException) { - // Can be missing if the user script screwed up the globals + // TODO: Ask MoonSharp folks why this is happening } + + if (LuaEventsWrapper != null) + { + lock (LuaEventsWrapper.InvokeLock) + { + lock (LuaScript) + { + LuaScript.DoString(""); + } + } + } + else + { + lock (LuaScript) + { + LuaScript.DoString(""); + } + } + + + LuaEventsWrapper = null; } } diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index 68df6c62f..84ebaac4d 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -172,8 +172,7 @@ namespace Artemis.Profiles public void Deactivate() { - if (Equals(LuaWrapper.ProfileModel, this)) - LuaWrapper.Clear(); + LuaWrapper.Clear(); } public LayerModel AddLayer(LayerModel afterLayer) diff --git a/Artemis/Artemis/Properties/AssemblyInfo.cs b/Artemis/Artemis/Properties/AssemblyInfo.cs index 26544a55b..c5d110a63 100644 --- a/Artemis/Artemis/Properties/AssemblyInfo.cs +++ b/Artemis/Artemis/Properties/AssemblyInfo.cs @@ -53,8 +53,8 @@ using System.Windows; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.4.0.0")] -[assembly: AssemblyFileVersion("1.4.0.0")] +[assembly: AssemblyVersion("1.5.0.0")] +[assembly: AssemblyFileVersion("1.5.0.0")] [assembly: InternalsVisibleTo("Artemis.Tests")] [assembly: InternalsVisibleTo("Artemis.Explorables")] diff --git a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip index ac8cd394bacf55c66462ba145d6a3001d9ed0771..669be9f1bf503f745f5aae650183f227e20d56fd 100644 GIT binary patch delta 49816 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 delta 42 ucmezLNchu5frb{w7N#xC@7`~Jyo}|8g$OGf0}#vr!VeY<3~$~u19(args); ProfileEditor.PropertyChanged += ProfileUpdater; + + GameModel.Profile = ProfileEditor.SelectedProfile; } [Inject] @@ -67,9 +70,11 @@ namespace Artemis.ViewModels.Abstract public void SaveSettings() { GameSettings?.Save(); + ProfileEditor.SaveSelectedProfile(); + if (!GameEnabled) return; - + // Restart the game if it's currently running to apply settings. MainManager.EffectManager.ChangeEffect(GameModel, MainManager.LoopManager); } diff --git a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs index 61d9ba4d7..215b23bde 100644 --- a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs +++ b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs @@ -89,6 +89,7 @@ namespace Artemis.ViewModels.Flyouts public BindableCollection Layouts => new BindableCollection { "Qwerty", + "Qwertz", "Azerty" }; diff --git a/Artemis/Artemis/ViewModels/GamesViewModel.cs b/Artemis/Artemis/ViewModels/GamesViewModel.cs index d1a219f54..6aac8e4e5 100644 --- a/Artemis/Artemis/ViewModels/GamesViewModel.cs +++ b/Artemis/Artemis/ViewModels/GamesViewModel.cs @@ -1,20 +1,26 @@ using System.Linq; +using Artemis.DAL; using Artemis.Managers; using Artemis.Modules.Effects.ProfilePreview; +using Artemis.Settings; using Artemis.ViewModels.Abstract; namespace Artemis.ViewModels { public sealed class GamesViewModel : BaseViewModel { - private IOrderedEnumerable _vms; + private readonly IOrderedEnumerable _vms; public GamesViewModel(GameViewModel[] gameViewModels, ProfileManager profileManager, ProfilePreviewModel profilePreviewModel) { DisplayName = "Games"; - _vms = gameViewModels.OrderBy(g => g.DisplayName); + // Currently WoW is locked behind a hidden trigger (obviously not that hidden since you're reading this) + // It is using memory reading and lets first try to contact Blizzard + _vms = SettingsProvider.Load().GamestatePort == 62575 + ? gameViewModels.OrderBy(g => g.DisplayName) + : gameViewModels.Where(g => g.DisplayName != "WoW").OrderBy(g => g.DisplayName); profileManager.ProfilePreviewModel = profilePreviewModel; profileManager.GameViewModels.AddRange(_vms); diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index f1ea13fa0..02576c557 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -121,9 +121,15 @@ namespace Artemis.ViewModels.Profiles get { return _selectedProfile; } set { - if (Equals(value, _selectedProfile)) return; + if (Equals(value, _selectedProfile)) + return; + + // Deactivate old profile _selectedProfile?.Deactivate(); + // Update the value _selectedProfile = value; + // Activate new profile + _selectedProfile?.Activate(_deviceManager.ActiveKeyboard); NotifyOfPropertyChange(() => SelectedProfile); NotifyOfPropertyChange(() => SelectedProfileName); } @@ -232,6 +238,7 @@ namespace Artemis.ViewModels.Profiles { ProfileViewModel.Deactivate(); SelectedProfile?.Deactivate(); + _saveTimer.Stop(); } /// @@ -726,7 +733,12 @@ namespace Artemis.ViewModels.Profiles private void ProfileSaveHandler(object sender, ElapsedEventArgs e) { - if (_saving || (SelectedProfile == null)) + SaveSelectedProfile(); + } + + public void SaveSelectedProfile() + { + if (_saving || (SelectedProfile == null) || _deviceManager.ChangingKeyboard) return; _saving = true; @@ -739,8 +751,6 @@ namespace Artemis.ViewModels.Profiles // ignored } _saving = false; - - //Execute.OnUIThread(() => UpdateLayerList(ProfileViewModel.SelectedLayer)); } } } \ No newline at end of file diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs index 13028c138..fe7fdc0c5 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileViewModel.cs @@ -55,7 +55,7 @@ namespace Artemis.ViewModels.Profiles _blurProgress = _blurProgress + 0.025; BlurRadius = (Math.Sin(_blurProgress*Math.PI) + 1)*10 + 10; - if (SelectedProfile == null || _deviceManager.ActiveKeyboard == null || (!ShowAll && SelectedLayer == null)) + if (SelectedProfile == null || _deviceManager.ActiveKeyboard == null) { var preview = new DrawingImage(); preview.Freeze(); @@ -321,17 +321,31 @@ namespace Artemis.ViewModels.Profiles // If no setup or reset was done, handle the actual dragging action if (_resizing) { - draggingProps.Width = (int) Math.Round(x - draggingProps.X); - draggingProps.Height = (int) Math.Round(y - draggingProps.Y); - if (draggingProps.Width < 1) - draggingProps.Width = 1; - if (draggingProps.Height < 1) - draggingProps.Height = 1; + var newWidth = Math.Round(x - draggingProps.X); + var newHeight = Math.Round(y - draggingProps.Y); + + // Ensure the layer doesn't leave the canvas + if (newWidth < 1 || draggingProps.X + newWidth <= 0) + newWidth = draggingProps.Width; + if (newHeight < 1 || draggingProps.Y + newHeight <= 0) + newHeight = draggingProps.Height; + + draggingProps.Width = newWidth; + draggingProps.Height = newHeight; } else { - draggingProps.X = (int) Math.Round(x - _draggingLayerOffset.Value.X); - draggingProps.Y = (int) Math.Round(y - _draggingLayerOffset.Value.Y); + var newX = Math.Round(x - _draggingLayerOffset.Value.X); + var newY = Math.Round(y - _draggingLayerOffset.Value.Y); + + // Ensure the layer doesn't leave the canvas + if (newX >= SelectedProfile.Width || newX + draggingProps.Width <= 0) + newX = draggingProps.X; + if (newY >= SelectedProfile.Height || newY + draggingProps.Height <= 0) + newY = draggingProps.Y; + + draggingProps.X = newX; + draggingProps.Y = newY; } }
  • C^1;Lv26F(09VnI0YVqOL86uS#% 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 diff --git a/Artemis/LogiLed2Artemis/LogiLed2Artemis.def b/Artemis/LogiLed2Artemis/LogiLed2Artemis.def index ef38be3f1..890fbfc44 100644 --- a/Artemis/LogiLed2Artemis/LogiLed2Artemis.def +++ b/Artemis/LogiLed2Artemis/LogiLed2Artemis.def @@ -1,27 +1,27 @@ -// Original work by VRocker https://github.com/VRocker/LogiLed2Corsair -// I'm mainly a C# developer, and these modification aren't a piece of art, but it suits our needs. - -// The MIT License (MIT) -// -// Copyright (c) 2015 VRocker -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. +; Original work by VRocker https://github.com/VRocker/LogiLed2Corsair +; I'm mainly a C# developer, and these modification aren't a piece of art, but it suits our needs. +; +; The MIT License (MIT) +; +; Copyright (c) 2015 VRocker +; +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is +; furnished to do so, subject to the following conditions: +; +; The above copyright notice and this permission notice shall be included in all +; copies or substantial portions of the Software. +; +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +; SOFTWARE. LIBRARY LogiLed2Artemis.dll diff --git a/Artemis/LogiLed2Artemis/main.cpp b/Artemis/LogiLed2Artemis/main.cpp index 23e25b587..8181302bf 100644 --- a/Artemis/LogiLed2Artemis/main.cpp +++ b/Artemis/LogiLed2Artemis/main.cpp @@ -37,29 +37,40 @@ using namespace std; static bool g_hasInitialised = false; static bool mustLog = false; +static int throttle = 0; const char* game = ""; +const char* GetGame() +{ + CHAR divisionFind[] = ("Division"); + CHAR gtaFind[] = ("GTA"); + CHAR szPath[MAX_PATH]; + + GetModuleFileNameA(NULL, szPath, MAX_PATH); + char *output; + + output = strstr(szPath, divisionFind); + if (output) + return "division"; + output = strstr(szPath, gtaFind); + if (output) + return "gta"; + + return "bf1"; +}; + BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID) { if (fdwReason == DLL_PROCESS_ATTACH) - { - // Get the process that loaded the DLL - TCHAR divisionFind[] = _T("Division"); - TCHAR gtaFind[] = _T("GTA"); - TCHAR szPath[MAX_PATH]; - GetModuleFileName(NULL, szPath, MAX_PATH); - - if (_tcscmp(szPath, divisionFind) != 0) - game = "division"; - else if (_tcscmp(szPath, gtaFind) != 0) - game = "gta"; + { + game = GetGame(); if (mustLog) { ofstream myfile; myfile.open("log.txt", ios::out | ios::app); - myfile << "Main called, DLL loaded into " << szPath << "\n"; + myfile << "Main called, DLL loaded into " << game << "\n"; myfile.close(); } } @@ -120,6 +131,16 @@ void Transmit(const char* msg) // LogiLedSetLighting appears to have an undocumented extra argument bool LogiLedSetLighting(int redPercentage, int greenPercentage, int bluePercentage, int custom = 0) { + // GTA goes mental on the SetLighting calls, lets only send one in every 20 + if (game == "gta") + { + throttle++; + if (throttle > 20) + throttle = 0; + else + return true; + } + if (mustLog) { ofstream myfile; From 479ed0300add743b8a6ee25bf2c47265bce4c78a Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 14 Nov 2016 12:36:55 +0100 Subject: [PATCH 44/49] Fixed a crash on Bubbles and Overlay views --- Artemis/Artemis/Resources/lua-placeholder.lua | 9 ++++++--- Artemis/Artemis/ViewModels/ShellViewModel.cs | 6 ++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Artemis/Artemis/Resources/lua-placeholder.lua b/Artemis/Artemis/Resources/lua-placeholder.lua index 697a08bdc..87b7a962a 100644 --- a/Artemis/Artemis/Resources/lua-placeholder.lua +++ b/Artemis/Artemis/Resources/lua-placeholder.lua @@ -5,7 +5,7 @@ -- This is a default script to be executed by Artemis. -- You do not need to use this if you don't want to script. The default profiles -- should provide you with a lot of functionality out of the box. --- However, if you wan't to change the way profiles work, this is the ideal way +-- However, if you want to change the way profiles work, this is the ideal way -- go about it. -- For docs and examples, see wiki: https://github.com/SpoinkyNL/Artemis/wiki/LUA @@ -15,7 +15,9 @@ -- This event is raised after every profile update, before drawing. function updateHandler(profile, eventArgs) - -- In this example we only want to update once per frame when the keyboard is updated + -- In this example we only want to update once per frame when the keyboard is + -- updated. If you don't do this the updateHandler will trigger on every + -- device's update. if eventArgs.DeviceType != "keyboard" then return end @@ -25,7 +27,8 @@ end -- This event is raised after every profile draw, after updating. function drawHandler(profile, eventArgs) - -- In this example we only want to draw to the keyboard + -- In this example we only want to draw to the keyboard. Each device has it's + -- own drawing event if eventArgs.DeviceType != "keyboard" then return end diff --git a/Artemis/Artemis/ViewModels/ShellViewModel.cs b/Artemis/Artemis/ViewModels/ShellViewModel.cs index de8d7c5de..163fdb432 100644 --- a/Artemis/Artemis/ViewModels/ShellViewModel.cs +++ b/Artemis/Artemis/ViewModels/ShellViewModel.cs @@ -141,6 +141,12 @@ namespace Artemis.ViewModels CheckDuplicateInstances(); Updater.CheckChangelog(MetroDialogService); + // Run this on the UI thread to avoid having to use dispatchers in VMs + Execute.OnUIThread(ActivateViews); + } + + private void ActivateViews() + { var vms = _kernel.GetAll().ToList(); Items.Clear(); Items.AddRange(vms); From 928fb675ab978e5fae1947ea5b3edbf9125e0e8a Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 14 Nov 2016 12:44:14 +0100 Subject: [PATCH 45/49] Restored missing statements in LuaWrapper --- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index 284a74c94..c5aed5edd 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -99,6 +99,8 @@ namespace Artemis.Profiles.Lua try { + LuaScript.Globals.Clear(); + LuaScript.Registry.Clear(); LuaScript.Registry.RegisterConstants(); LuaScript.Registry.RegisterCoreModules(CoreModules.Preset_SoftSandbox); LuaScript.Globals.RegisterConstants(); From ae26ac2e18d62b77d897e36fd114661c110d5ea4 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 14 Nov 2016 20:44:01 +0100 Subject: [PATCH 46/49] Profile editor layer list updates periodically Profile editor profile dropdown updates properly Profile editor rename duplication check works properly --- Artemis/Artemis/Profiles/Lua/LuaWrapper.cs | 23 +++++++----- .../Profiles/ProfileEditorViewModel.cs | 35 ++++++++++++------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs index c5aed5edd..a28201a6f 100644 --- a/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs +++ b/Artemis/Artemis/Profiles/Lua/LuaWrapper.cs @@ -110,7 +110,6 @@ namespace Artemis.Profiles.Lua { // Can be missing if the user script screwed up the globals } - } } @@ -156,18 +155,24 @@ namespace Artemis.Profiles.Lua if (args.ChangeType != WatcherChangeTypes.Changed) return; - using (var fs = new FileStream(args.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + if (ProfileModel == null) + return; + + lock (ProfileModel) { - using (var sr = new StreamReader(fs)) + using (var fs = new FileStream(args.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { - ProfileModel.LuaScript = sr.ReadToEnd(); + using (var sr = new StreamReader(fs)) + { + ProfileModel.LuaScript = sr.ReadToEnd(); + } } + + ProfileProvider.AddOrUpdate(ProfileModel); + + if (KeyboardProvider != null) + SetupLua(ProfileModel, KeyboardProvider); } - - ProfileProvider.AddOrUpdate(ProfileModel); - - if (KeyboardProvider != null) - SetupLua(ProfileModel, KeyboardProvider); } #endregion diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index 17b0f8d1e..2903c27d7 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -1,6 +1,6 @@ using System; +using System.Collections.ObjectModel; using System.ComponentModel; -using System.Dynamic; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -25,6 +25,7 @@ using GongSolutions.Wpf.DragDrop; using MahApps.Metro.Controls.Dialogs; using Ninject; using Ninject.Parameters; +using NuGet; using DragDropEffects = System.Windows.DragDropEffects; using IDropTarget = GongSolutions.Wpf.DragDrop.IDropTarget; using MouseEventArgs = System.Windows.Input.MouseEventArgs; @@ -39,8 +40,8 @@ namespace Artemis.ViewModels.Profiles private readonly EffectModel _gameModel; private readonly Timer _saveTimer; private ImageSource _keyboardPreview; - private BindableCollection _layers; - private BindableCollection _profileNames; + private ObservableCollection _layers; + private ObservableCollection _profileNames; private bool _saving; private ProfileModel _selectedProfile; @@ -51,8 +52,8 @@ namespace Artemis.ViewModels.Profiles _deviceManager = deviceManager; _gameModel = gameModel; - ProfileNames = new BindableCollection(); - Layers = new BindableCollection(); + ProfileNames = new ObservableCollection(); + Layers = new ObservableCollection(); ProfileViewModel = profileViewModel; DialogService = dialogService; WindowService = windowService; @@ -80,7 +81,7 @@ namespace Artemis.ViewModels.Profiles public bool EditorEnabled => (SelectedProfile != null) && !SelectedProfile.IsDefault && (_deviceManager.ActiveKeyboard != null); - public BindableCollection ProfileNames + public ObservableCollection ProfileNames { get { return _profileNames; } set @@ -91,7 +92,7 @@ namespace Artemis.ViewModels.Profiles } } - public BindableCollection Layers + public ObservableCollection Layers { get { return _layers; } set @@ -124,6 +125,7 @@ namespace Artemis.ViewModels.Profiles _selectedProfile?.Deactivate(); _selectedProfile = value; NotifyOfPropertyChange(() => SelectedProfile); + NotifyOfPropertyChange(() => SelectedProfileName); } } @@ -519,21 +521,28 @@ namespace Artemis.ViewModels.Profiles if (SelectedProfile == null) return; + var oldName = SelectedProfile.Name; var name = await DialogService.ShowInputDialog("Rename profile", "Please enter a unique new profile name"); // Null when the user cancelled if (string.IsNullOrEmpty(name) || (name.Length < 2)) return; + SelectedProfile.Name = name; + // Verify the name while (!ProfileProvider.IsProfileUnique(SelectedProfile)) { - name = - await DialogService.ShowInputDialog("Name already in use", "Please enter a unique new profile name"); + name = await DialogService + .ShowInputDialog("Name already in use", "Please enter a unique new profile name"); // Null when the user cancelled if (string.IsNullOrEmpty(name) || (name.Length < 2)) + { + SelectedProfile.Name = oldName; return; + } + SelectedProfile.Name = name; } var profile = SelectedProfile; @@ -560,8 +569,8 @@ namespace Artemis.ViewModels.Profiles // Verify the name while (!ProfileProvider.IsProfileUnique(newProfile)) { - newProfile.Name = - await DialogService.ShowInputDialog("Name already in use", "Please enter a unique profile name"); + newProfile.Name = await DialogService + .ShowInputDialog("Name already in use", "Please enter a unique profile name"); // Null when the user cancelled if (string.IsNullOrEmpty(newProfile.Name)) @@ -717,7 +726,7 @@ namespace Artemis.ViewModels.Profiles private void ProfileSaveHandler(object sender, ElapsedEventArgs e) { - if (_saving || (SelectedProfile == null) || !IsActive) + if (_saving || (SelectedProfile == null)) return; _saving = true; @@ -730,6 +739,8 @@ namespace Artemis.ViewModels.Profiles // ignored } _saving = false; + + Execute.OnUIThread(() => UpdateLayerList(ProfileViewModel.SelectedLayer)); } } } \ No newline at end of file From 2789e5c0e5adc4b2eeab5e9f29397afa0b80c81e Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Mon, 14 Nov 2016 22:57:54 +0100 Subject: [PATCH 47/49] Added Qwertz-keymap --- .../Logitech/Utilities/KeyMap.cs | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/KeyMap.cs b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/KeyMap.cs index 1c4264e0e..140b16380 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/KeyMap.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/KeyMap.cs @@ -8,6 +8,9 @@ namespace Artemis.DeviceProviders.Logitech.Utilities static KeyMap() { // There are several keyboard layouts + + #region Qwerty + QwertyLayout = new List { // Row 1 @@ -129,6 +132,135 @@ namespace Artemis.DeviceProviders.Logitech.Utilities new KeyMatch(Keys.Decimal, 19, 5) }; + #endregion + + #region Qwertz + + QwertzLayout = new List + { + // Row 1 + new KeyMatch(Keys.Escape, 0, 0), + new KeyMatch(Keys.F1, 2, 0), + new KeyMatch(Keys.F2, 3, 0), + new KeyMatch(Keys.F3, 4, 0), + new KeyMatch(Keys.F4, 5, 0), + new KeyMatch(Keys.F5, 6, 0), + new KeyMatch(Keys.F6, 7, 0), + new KeyMatch(Keys.F7, 8, 0), + new KeyMatch(Keys.F8, 9, 0), + new KeyMatch(Keys.F9, 11, 0), + new KeyMatch(Keys.F10, 12, 0), // returns 'None' + new KeyMatch(Keys.F11, 13, 0), + new KeyMatch(Keys.F12, 14, 0), + new KeyMatch(Keys.PrintScreen, 15, 0), + new KeyMatch(Keys.Scroll, 16, 0), + new KeyMatch(Keys.Pause, 17, 0), + + // Row 2 + new KeyMatch(Keys.Oem5, 0, 1), + new KeyMatch(Keys.D1, 1, 1), + new KeyMatch(Keys.D2, 2, 1), + new KeyMatch(Keys.D3, 3, 1), + new KeyMatch(Keys.D4, 4, 1), + new KeyMatch(Keys.D5, 5, 1), + new KeyMatch(Keys.D6, 6, 1), + new KeyMatch(Keys.D7, 7, 1), + new KeyMatch(Keys.D8, 8, 1), + new KeyMatch(Keys.D9, 9, 1), + new KeyMatch(Keys.D0, 10, 1), + new KeyMatch(Keys.OemOpenBrackets, 11, 1), + new KeyMatch(Keys.Oem6, 12, 1), + new KeyMatch(Keys.Back, 13, 1), + new KeyMatch(Keys.Insert, 14, 1), + new KeyMatch(Keys.Home, 15, 1), + new KeyMatch(Keys.PageUp, 16, 1), + new KeyMatch(Keys.NumLock, 17, 1), + new KeyMatch(Keys.Divide, 18, 1), + new KeyMatch(Keys.Multiply, 19, 1), + new KeyMatch(Keys.Subtract, 20, 1), + + // Row 3 + new KeyMatch(Keys.Tab, 0, 2), + new KeyMatch(Keys.Q, 1, 2), + new KeyMatch(Keys.W, 2, 2), + new KeyMatch(Keys.E, 3, 2), + new KeyMatch(Keys.R, 5, 2), + new KeyMatch(Keys.T, 6, 2), + new KeyMatch(Keys.Z, 7, 2), + new KeyMatch(Keys.U, 8, 2), + new KeyMatch(Keys.I, 9, 2), + new KeyMatch(Keys.O, 10, 2), + new KeyMatch(Keys.P, 11, 2), + new KeyMatch(Keys.Oem1, 12, 2), + new KeyMatch(Keys.Oemplus, 13, 2), + new KeyMatch(Keys.Delete, 14, 2), + new KeyMatch(Keys.End, 15, 2), + new KeyMatch(Keys.Next, 16, 2), + new KeyMatch(Keys.NumPad7, 17, 2), + new KeyMatch(Keys.NumPad8, 18, 2), + new KeyMatch(Keys.NumPad9, 19, 2), + new KeyMatch(Keys.Add, 20, 2), + + // Row 4 + new KeyMatch(Keys.Capital, 0, 3), + new KeyMatch(Keys.A, 1, 3), + new KeyMatch(Keys.S, 3, 3), + new KeyMatch(Keys.D, 4, 3), + new KeyMatch(Keys.F, 5, 3), + new KeyMatch(Keys.G, 6, 3), + new KeyMatch(Keys.H, 7, 3), + new KeyMatch(Keys.J, 8, 3), + new KeyMatch(Keys.K, 9, 3), + new KeyMatch(Keys.L, 10, 3), + new KeyMatch(Keys.Oemtilde, 11, 3), + new KeyMatch(Keys.Oem7, 12, 3), + new KeyMatch(Keys.OemQuestion, 13, 3), + new KeyMatch(Keys.Return, 14, 3), + new KeyMatch(Keys.NumPad4, 17, 3), + new KeyMatch(Keys.NumPad5, 18, 3), + new KeyMatch(Keys.NumPad6, 19, 3), + + // Row 5 + new KeyMatch(Keys.LShiftKey, 1, 4), + new KeyMatch(Keys.OemBackslash, 2, 4), + new KeyMatch(Keys.Y, 2, 4), + new KeyMatch(Keys.X, 3, 4), + new KeyMatch(Keys.C, 4, 4), + new KeyMatch(Keys.V, 5, 4), + new KeyMatch(Keys.B, 6, 4), + new KeyMatch(Keys.N, 7, 4), + new KeyMatch(Keys.M, 8, 4), + new KeyMatch(Keys.Oemcomma, 9, 4), + new KeyMatch(Keys.OemPeriod, 10, 4), + new KeyMatch(Keys.OemMinus, 11, 4), + new KeyMatch(Keys.RShiftKey, 13, 4), + new KeyMatch(Keys.Up, 15, 4), + new KeyMatch(Keys.NumPad1, 17, 4), + new KeyMatch(Keys.NumPad2, 18, 4), + new KeyMatch(Keys.NumPad3, 19, 4), + // Both returns return "Return" (Yes...) + // new OrionKey(System.Windows.Forms.Keys.Return, 20, 4), + + // Row 6 + new KeyMatch(Keys.LControlKey, 0, 5), + new KeyMatch(Keys.LWin, 1, 5), + new KeyMatch(Keys.Menu, 3, 5), // returns 'None' + new KeyMatch(Keys.Space, 6, 5), + new KeyMatch(Keys.RMenu, 11, 5), + new KeyMatch(Keys.RWin, 12, 5), + new KeyMatch(Keys.Apps, 13, 5), + new KeyMatch(Keys.RControlKey, 14, 5), + new KeyMatch(Keys.Left, 15, 5), + new KeyMatch(Keys.Down, 16, 5), + new KeyMatch(Keys.Right, 17, 5), + new KeyMatch(Keys.NumPad0, 18, 5), + new KeyMatch(Keys.Decimal, 19, 5) + }; + + #endregion + + #region Azerty + AzertyLayout = new List { // Row 1 @@ -249,9 +381,12 @@ namespace Artemis.DeviceProviders.Logitech.Utilities new KeyMatch(Keys.NumPad0, 18, 5), new KeyMatch(Keys.Decimal, 19, 5) }; + + #endregion } public static List QwertyLayout { get; set; } + public static List QwertzLayout { get; set; } public static List AzertyLayout { get; set; } } } \ No newline at end of file From a0bd147b2312aaa3e483de80e9b03731043a0070 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 14 Nov 2016 23:09:30 +0100 Subject: [PATCH 48/49] Updated UT plugin --- Artemis/Artemis.sln | 30 ---- .../UnrealTournament/Resources/ut-plugin.zip | Bin 76617 -> 84528 bytes .../Profiles/ProfileEditorViewModel.cs | 2 +- .../UnrealTournament2Artemis/Artemis.uplugin | 4 +- .../Win64/UE4-Artemis-Win64-Shipping.dll | Bin 164352 -> 199680 bytes .../Binaries/Win64/UE4-Win64-Shipping.modules | 4 +- .../Source/Private/Artemis.cpp | 11 +- .../UnrealTournament2Artemis.vcxproj | 165 ------------------ .../UnrealTournament2Artemis.vcxproj.filters | 45 ----- .../UnrealTournament2Artemis/ut-plugin.zip | Bin 75156 -> 0 bytes 10 files changed, 12 insertions(+), 249 deletions(-) delete mode 100644 Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj delete mode 100644 Artemis/UnrealTournament2Artemis/UnrealTournament2Artemis.vcxproj.filters delete mode 100644 Artemis/UnrealTournament2Artemis/ut-plugin.zip diff --git a/Artemis/Artemis.sln b/Artemis/Artemis.sln index 7fe9f29c7..180e87f3f 100644 --- a/Artemis/Artemis.sln +++ b/Artemis/Artemis.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis", "Artemis\Artemis. EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Razer2Artemis", "Razer2Artemis\Razer2Artemis.vcxproj", "{39711909-C1D5-46CE-A9EA-2D561692EA47}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnrealTournament2Artemis", "UnrealTournament2Artemis\UnrealTournament2Artemis.vcxproj", "{3541864F-1662-4BD6-8328-2C87AE61D152}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ColorBox", "ColorBox\ColorBox.csproj", "{40085232-ACED-4CBE-945B-90BA8153C151}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LogiLed2Artemis", "LogiLed2Artemis\LogiLed2Artemis.vcxproj", "{D2EDB8F3-F0CB-4670-B472-0B46D5800D2C}" @@ -90,34 +88,6 @@ Global {39711909-C1D5-46CE-A9EA-2D561692EA47}.SingleImage|x64.Build.0 = Release|x64 {39711909-C1D5-46CE-A9EA-2D561692EA47}.SingleImage|x86.ActiveCfg = Release|Win32 {39711909-C1D5-46CE-A9EA-2D561692EA47}.SingleImage|x86.Build.0 = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|Any CPU.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|Any CPU.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|x64.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|x64.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|x86.ActiveCfg = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.CD_ROM|x86.Build.0 = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Debug|x64.ActiveCfg = Debug|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Debug|x64.Build.0 = Debug|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Debug|x86.ActiveCfg = Debug|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Debug|x86.Build.0 = Debug|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|Any CPU.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|Any CPU.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|x64.ActiveCfg = Debug|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|x64.Build.0 = Debug|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|x86.ActiveCfg = Debug|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.DVD-5|x86.Build.0 = Debug|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Release|Any CPU.ActiveCfg = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Release|x64.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Release|x64.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Release|x86.ActiveCfg = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.Release|x86.Build.0 = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|Any CPU.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|Any CPU.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|x64.ActiveCfg = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|x64.Build.0 = Release|x64 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|x86.ActiveCfg = Release|Win32 - {3541864F-1662-4BD6-8328-2C87AE61D152}.SingleImage|x86.Build.0 = Release|Win32 {40085232-ACED-4CBE-945B-90BA8153C151}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.CD_ROM|Any CPU.Build.0 = Release|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.CD_ROM|x64.ActiveCfg = Release|Any CPU diff --git a/Artemis/Artemis/Modules/Games/UnrealTournament/Resources/ut-plugin.zip b/Artemis/Artemis/Modules/Games/UnrealTournament/Resources/ut-plugin.zip index 68f048c55dc25ea8e9fbc67fdfd295d4b6a91bc8..80d8f3fbcfb9093dbb0c338147c0444600692e8f 100644 GIT binary patch literal 84528 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