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