diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 065d941fb..3cf6424bb 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -153,7 +153,7 @@ False - ..\..\..\CUE.NET\bin\CUE.NET.dll + lib\CUE.NET.dll ..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.dll diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs index 63c656c24..d8802317e 100644 --- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs +++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs @@ -45,38 +45,38 @@ namespace Artemis.DeviceProviders.Corsair if (bitmap.Width != bitmap.Height) throw new ArgumentException("Bitmap must be a perfect square"); - var yStep = (double) bitmap.Width/5; - var xStep = (double) bitmap.Width/7; + var yStep = (double) bitmap.Width/4; + var xStep = (double) bitmap.Width/6; // This approach will break if any mousemats with different LED amounts are released, for now it will do. using (bitmap) { - var ledIndex = 1; + var ledIndex = 0; // Color each LED according to one of the pixels foreach (var corsairLed in CueSDK.MousematSDK.Leds.OrderBy(l => l.ToString())) { Color col; // Left side - if (ledIndex < 6) + if (ledIndex < 5) { - col = ledIndex != 5 - ? bitmap.GetPixel(0, (int) (ledIndex*yStep + yStep/2)) + col = ledIndex == 0 + ? bitmap.GetPixel(0, (int) (ledIndex*yStep)) : bitmap.GetPixel(0, (int) (ledIndex*yStep) - 1); } // Bottom - else if (ledIndex < 11) + else if (ledIndex < 10) { - // Start at index 2 because the corner belongs to the left side + // Start at index 1 because the corner belongs to the left side var zoneIndex = ledIndex - 4; - col = bitmap.GetPixel((int) (zoneIndex*xStep + xStep/2), 0); + col = bitmap.GetPixel((int) (zoneIndex*xStep), 39); } // Right side else { var zoneIndex = ledIndex - 10; - col = zoneIndex != 5 - ? bitmap.GetPixel(0, bitmap.Height - ((int) (zoneIndex*yStep + yStep/2))) - : bitmap.GetPixel(0, bitmap.Height - ((int) (zoneIndex*yStep) - 1)); + col = zoneIndex == 4 + ? bitmap.GetPixel(39, 40 - (int) (zoneIndex*yStep)) + : bitmap.GetPixel(39, 39 - (int) (zoneIndex*yStep)); } corsairLed.Color = col; diff --git a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs index 16ceebc01..546d47426 100644 --- a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs +++ b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs @@ -6,6 +6,7 @@ using Artemis.Managers; using Artemis.Models; using Artemis.Modules.Games.WoW.Data; using Artemis.Profiles.Layers.Models; +using Artemis.Settings; using Artemis.Utilities.Memory; using Process.NET; @@ -22,7 +23,12 @@ namespace Artemis.Modules.Games.WoW Name = "WoW"; ProcessName = "Wow-64"; Scale = 4; - Enabled = Settings.Enabled; + + // Currently WoW is locked behind a hidden trigger (obviously not that hidden if 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; + Initialized = false; // TODO: Retrieve from GitHub diff --git a/Artemis/Artemis/ViewModels/GamesViewModel.cs b/Artemis/Artemis/ViewModels/GamesViewModel.cs index f575a80ed..69bfe4c75 100644 --- a/Artemis/Artemis/ViewModels/GamesViewModel.cs +++ b/Artemis/Artemis/ViewModels/GamesViewModel.cs @@ -1,6 +1,9 @@ using System.Linq; +using Artemis.DAL; using Artemis.Managers; using Artemis.Modules.Effects.ProfilePreview; +using Artemis.Modules.Games.WoW; +using Artemis.Settings; using Artemis.ViewModels.Abstract; namespace Artemis.ViewModels @@ -23,8 +26,14 @@ namespace Artemis.ViewModels { base.OnActivate(); + var settings = SettingsProvider.Load(); foreach (var gameViewModel in _gameViewModels.OrderBy(g => g.DisplayName)) + { + if (settings.GamestatePort != 62575 && gameViewModel is WoWViewModel) + continue; + ActivateItem(gameViewModel); + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/lib/CUE.NET.dll b/Artemis/Artemis/lib/CUE.NET.dll new file mode 100644 index 000000000..4eb84292a Binary files /dev/null and b/Artemis/Artemis/lib/CUE.NET.dll differ