diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj
index 7bfc60802..f68851e2e 100644
--- a/Artemis/Artemis/Artemis.csproj
+++ b/Artemis/Artemis/Artemis.csproj
@@ -324,9 +324,9 @@
-
-
-
+
+
+
@@ -344,7 +344,7 @@
-
+
diff --git a/Artemis/Artemis/ArtemisBootstrapper.cs b/Artemis/Artemis/ArtemisBootstrapper.cs
index 7073c0662..30f3b2d3c 100644
--- a/Artemis/Artemis/ArtemisBootstrapper.cs
+++ b/Artemis/Artemis/ArtemisBootstrapper.cs
@@ -8,6 +8,7 @@ using Artemis.InjectionModules;
using Artemis.Settings;
using Artemis.Utilities;
using Artemis.Utilities.Converters;
+using Artemis.Utilities.DataReaders;
using Artemis.ViewModels;
using Caliburn.Micro;
using Newtonsoft.Json;
@@ -23,6 +24,8 @@ namespace Artemis
{
// Start logging before anything else
Logging.SetupLogging(SettingsProvider.Load().LogLevel);
+ // Restore DDLs before interacting with any SDKs
+ DllManager.RestoreLogitechDll();
Initialize();
BindSpecialValues();
diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadsets.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadset.cs
similarity index 95%
rename from Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadsets.cs
rename to Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadset.cs
index 7a727f095..f30936674 100644
--- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadsets.cs
+++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairHeadset.cs
@@ -8,9 +8,9 @@ using Ninject.Extensions.Logging;
namespace Artemis.DeviceProviders.Corsair
{
- internal class CorsairHeadsets : DeviceProvider
+ internal class CorsairHeadset : DeviceProvider
{
- public CorsairHeadsets(ILogger logger)
+ public CorsairHeadset(ILogger logger)
{
Logger = logger;
Type = DeviceType.Headset;
diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
similarity index 96%
rename from Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs
rename to Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
index 530bc88b4..4494b793d 100644
--- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboards.cs
+++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
@@ -10,19 +10,18 @@ using CUE.NET;
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;
namespace Artemis.DeviceProviders.Corsair
{
- public class CorsairKeyboards : KeyboardProvider
+ public class CorsairKeyboard : KeyboardProvider
{
- private CorsairKeyboard _keyboard;
+ private CUE.NET.Devices.Keyboard.CorsairKeyboard _keyboard;
private ImageBrush _keyboardBrush;
- public CorsairKeyboards(ILogger logger)
+ public CorsairKeyboard(ILogger logger)
{
Logger = logger;
Name = "Corsair RGB Keyboards";
@@ -83,7 +82,6 @@ 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/Corsair/CorsairMice.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMouse.cs
similarity index 96%
rename from Artemis/Artemis/DeviceProviders/Corsair/CorsairMice.cs
rename to Artemis/Artemis/DeviceProviders/Corsair/CorsairMouse.cs
index 06ba59735..e153be07e 100644
--- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairMice.cs
+++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMouse.cs
@@ -8,9 +8,9 @@ using Ninject.Extensions.Logging;
namespace Artemis.DeviceProviders.Corsair
{
- internal class CorsairMice : DeviceProvider
+ internal class CorsairMouse : DeviceProvider
{
- public CorsairMice(ILogger logger)
+ public CorsairMouse(ILogger logger)
{
Logger = logger;
Type = DeviceType.Mouse;
diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemat.cs
similarity index 94%
rename from Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs
rename to Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemat.cs
index 1a24cdd83..badf7b4e4 100644
--- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemats.cs
+++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairMousemat.cs
@@ -4,14 +4,13 @@ using System.Linq;
using System.Threading;
using CUE.NET;
using CUE.NET.Devices.Generic.Enums;
-using CUE.NET.Devices.Mousemat.Enums;
using Ninject.Extensions.Logging;
namespace Artemis.DeviceProviders.Corsair
{
- internal class CorsairMousemats : DeviceProvider
+ internal class CorsairMousemat : DeviceProvider
{
- public CorsairMousemats(ILogger logger)
+ public CorsairMousemat(ILogger logger)
{
Logger = logger;
Type = DeviceType.Mousemat;
@@ -40,7 +39,7 @@ namespace Artemis.DeviceProviders.Corsair
public override void UpdateDevice(Bitmap bitmap)
{
- if (!CanUse || bitmap == null)
+ if (!CanUse || (bitmap == null))
return;
if (bitmap.Width != bitmap.Height)
throw new ArgumentException("Bitmap must be a perfect square");
diff --git a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs
index 80491a1b1..d31ec3ee0 100644
--- a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs
+++ b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs
@@ -1,6 +1,5 @@
using System.Drawing;
using System.Threading;
-using System.Windows;
using Artemis.DeviceProviders.Logitech.Utilities;
using Artemis.Utilities.DataReaders;
using Microsoft.Win32;
@@ -23,8 +22,17 @@ namespace Artemis.DeviceProviders.Logitech
return false;
}
- if (DllManager.RestoreLogitechDll())
- RestoreDll();
+ if (DllManager.DllPlaced())
+ {
+ CantEnableText =
+ "Artemis couldn't enable your Logitech keyboard, because the required files are not in place.\n\n" +
+ "This happens when you run The Division or GTA and shut down Artemis before shutting down The Division\n" +
+ "Artemis tries to fix this automatically on startup but because the files may have been in use it failed.\n\n" +
+ "To try again, restart Artemis or check out the FAQ.";
+
+ return false;
+ }
+
int majorNum = 0, minorNum = 0, buildNum = 0;
LogitechGSDK.LogiLedInit();
@@ -42,15 +50,6 @@ namespace Artemis.DeviceProviders.Logitech
return version >= 88115;
}
- private void RestoreDll()
- {
- MessageBox.Show(
- "Artemis couldn't enable your Logitech keyboard, because the required files are not in place.\n\n" +
- "This happens when you run The Division and shut down Artemis before shutting down The Division\n" +
- "It can be fixed automatically by clicking OK, but to avoid this message in the future please\n" +
- "shut down The Division before shutting down Artemis.");
- }
-
public override void Enable()
{
// Initialize the SDK
diff --git a/Artemis/Artemis/InjectionModules/DeviceModules.cs b/Artemis/Artemis/InjectionModules/DeviceModules.cs
index bc49d77bc..46839dd26 100644
--- a/Artemis/Artemis/InjectionModules/DeviceModules.cs
+++ b/Artemis/Artemis/InjectionModules/DeviceModules.cs
@@ -12,7 +12,7 @@ namespace Artemis.InjectionModules
public override void Load()
{
// Keyboards
- Bind().To().InSingletonScope();
+ Bind().To().InSingletonScope();
Bind().To().InSingletonScope();
Bind().To().InSingletonScope();
Bind().To().InSingletonScope();
@@ -20,13 +20,13 @@ namespace Artemis.InjectionModules
Bind().To().InSingletonScope();
// Mice
- Bind().To().InSingletonScope();
+ Bind().To().InSingletonScope();
// Headsets
- Bind().To().InSingletonScope();
+ Bind().To().InSingletonScope();
// Mousemats
- Bind().To().InSingletonScope();
+ Bind().To().InSingletonScope();
// Other
Bind().To().InSingletonScope();
diff --git a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs
index 9ee65ab2f..53cee288d 100644
--- a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs
+++ b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs
@@ -28,6 +28,7 @@ namespace Artemis.Profiles.Layers.Models
[JsonIgnore]
public ImageSource LayerImage => LayerType.DrawThumbnail(this);
+
[JsonIgnore]
public TweenModel TweenModel { get; set; }
@@ -176,7 +177,13 @@ namespace Artemis.Profiles.Layers.Models
Width = 1,
X = 0,
Y = 0,
- Opacity = 1
+ Opacity = 1,
+ HeightEaseTime = 0,
+ HeightEase = "Linear",
+ WidthEaseTime = 0,
+ WidthEase = "Linear",
+ OpacityEaseTime = 0,
+ OpacityEase = "Linear"
}
};
}
@@ -236,7 +243,7 @@ namespace Artemis.Profiles.Layers.Models
if (height < 0)
height = 0;
- return new Rect(X * scale, Y * scale, width * scale, height * scale);
+ return new Rect(X*scale, Y*scale, width*scale, height*scale);
}
///
diff --git a/Artemis/Artemis/Properties/AssemblyInfo.cs b/Artemis/Artemis/Properties/AssemblyInfo.cs
index e104e5cf9..b8b3bc15f 100644
--- a/Artemis/Artemis/Properties/AssemblyInfo.cs
+++ b/Artemis/Artemis/Properties/AssemblyInfo.cs
@@ -53,7 +53,7 @@ using System.Windows;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.5.0.4")]
-[assembly: AssemblyFileVersion("1.5.0.4")]
+[assembly: AssemblyVersion("1.6.0.0")]
+[assembly: AssemblyFileVersion("1.6.0.0")]
[assembly: InternalsVisibleTo("Artemis.Explorables")]
diff --git a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip
index a06bf1330..c31d8020a 100644
Binary files a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip and b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip differ
diff --git a/Artemis/Artemis/Utilities/DataReaders/DllManager.cs b/Artemis/Artemis/Utilities/DataReaders/DllManager.cs
index bc64062a4..e803449c6 100644
--- a/Artemis/Artemis/Utilities/DataReaders/DllManager.cs
+++ b/Artemis/Artemis/Utilities/DataReaders/DllManager.cs
@@ -33,7 +33,7 @@ namespace Artemis.Utilities.DataReaders
public static bool RestoreLogitechDll()
{
- if (!File.Exists(LogitechPath + @"\LogitechLed.dll") || !File.Exists(LogitechPath + @"\artemis.txt"))
+ if (!DllPlaced())
return false;
try