diff --git a/Artemis/Artemis/App.config b/Artemis/Artemis/App.config
index 207d705fc..054e00c87 100644
--- a/Artemis/Artemis/App.config
+++ b/Artemis/Artemis/App.config
@@ -198,6 +198,9 @@
True
+
+ 51364
+
diff --git a/Artemis/Artemis/Models/GameModel.cs b/Artemis/Artemis/Models/GameModel.cs
index b1addf204..8a30ac30f 100644
--- a/Artemis/Artemis/Models/GameModel.cs
+++ b/Artemis/Artemis/Models/GameModel.cs
@@ -2,7 +2,7 @@
{
public abstract class GameModel : EffectModel
{
- public bool Enabled;
+ public abstract bool Enabled();
public string ProcessName;
protected GameModel(MainModel mainModel) : base(mainModel)
diff --git a/Artemis/Artemis/Models/MainModel.cs b/Artemis/Artemis/Models/MainModel.cs
index 28cf42823..f1760c8f7 100644
--- a/Artemis/Artemis/Models/MainModel.cs
+++ b/Artemis/Artemis/Models/MainModel.cs
@@ -107,7 +107,7 @@ namespace Artemis.Models
// Game models are only used if they are enabled
var gameModel = effectModel as GameModel;
if (gameModel != null)
- if (!gameModel.Enabled)
+ if (!gameModel.Enabled())
return;
if (ActiveEffect != null && effectModel.Name == ActiveEffect.Name)
diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
index f6d059424..64f6447a0 100644
--- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
+++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeModel.cs
@@ -14,11 +14,11 @@ namespace Artemis.Modules.Games.CounterStrike
{
public class CounterStrikeModel : GameModel
{
- private readonly CounterStrikeSettings _counterStrikeSettings;
+ private readonly CounterStrikeSettings _settings;
- public CounterStrikeModel(MainModel mainModel, CounterStrikeSettings counterStrikeSettings) : base(mainModel)
+ public CounterStrikeModel(MainModel mainModel, CounterStrikeSettings settings) : base(mainModel)
{
- _counterStrikeSettings = counterStrikeSettings;
+ _settings = settings;
Name = "CounterStrike";
ProcessName = "csgo";
Scale = 4;
@@ -34,6 +34,11 @@ namespace Artemis.Modules.Games.CounterStrike
public int Scale { get; set; }
+ public override bool Enabled()
+ {
+ return _settings.Enabled;
+ }
+
public override void Dispose()
{
MainModel.GameStateWebServer.GameDataReceived -= HandleGameData;
@@ -42,9 +47,12 @@ namespace Artemis.Modules.Games.CounterStrike
public override void Enable()
{
// TODO: Size stuff
- AmmoRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 0, new List(), LinearGradientMode.Horizontal);
- TeamRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 1 * Scale, new List(), LinearGradientMode.Horizontal);
- EventRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 1 * Scale, new List(), LinearGradientMode.Horizontal);
+ AmmoRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 0, new List(),
+ LinearGradientMode.Horizontal) {Height = Scale};
+ TeamRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, Scale, new List(),
+ LinearGradientMode.Horizontal) {Height = (MainModel.ActiveKeyboard.Height*Scale) - Scale};
+ EventRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, Scale, new List(),
+ LinearGradientMode.Horizontal) {Height = (MainModel.ActiveKeyboard.Height*Scale) - Scale};
MainModel.GameStateWebServer.GameDataReceived += HandleGameData;
}
@@ -53,15 +61,15 @@ namespace Artemis.Modules.Games.CounterStrike
if (CsJson == null)
return;
- if (_counterStrikeSettings.AmmoEnabled)
+ if (_settings.AmmoEnabled)
UpdateAmmo();
- if (_counterStrikeSettings.TeamColorEnabled)
+ if (_settings.TeamColorEnabled)
UpdateTeam();
- if (_counterStrikeSettings.LowHpEnabled)
+ if (_settings.LowHpEnabled)
UpdateHealth();
- if (_counterStrikeSettings.FlashEnabled)
+ if (_settings.FlashEnabled)
UpdateFlash();
- if (_counterStrikeSettings.SmokeEnabled)
+ if (_settings.SmokeEnabled)
UpdateSmoke();
}
@@ -145,8 +153,8 @@ namespace Artemis.Modules.Games.CounterStrike
AmmoRect.Width = ((int) Math.Floor((16/100.00)*ammoPercentage))*Scale;
AmmoRect.Colors = new List
{
- ColorHelpers.ToDrawingColor(_counterStrikeSettings.AmmoMainColor),
- ColorHelpers.ToDrawingColor(_counterStrikeSettings.AmmoSecondaryColor)
+ ColorHelpers.ToDrawingColor(_settings.AmmoMainColor),
+ ColorHelpers.ToDrawingColor(_settings.AmmoSecondaryColor)
};
// Low ammo indicator
@@ -158,7 +166,7 @@ namespace Artemis.Modules.Games.CounterStrike
public override Bitmap GenerateBitmap()
{
- var bitmap = new Bitmap(21*Scale, 6*Scale);
+ var bitmap = MainModel.ActiveKeyboard.KeyboardBitmap(Scale);
using (var g = Graphics.FromImage(bitmap))
{
diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs
index 2cc2f3519..75be4ac51 100644
--- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs
+++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeSettings.cs
@@ -10,6 +10,7 @@ namespace Artemis.Modules.Games.CounterStrike
Load();
}
+ public bool Enabled { get; set; }
public string GameDirectory { get; set; }
public bool AmmoEnabled { get; set; }
@@ -23,6 +24,7 @@ namespace Artemis.Modules.Games.CounterStrike
public override sealed void Load()
{
+ Enabled = CounterStrike.Default.Enabled;
GameDirectory = CounterStrike.Default.GameDirectory;
AmmoEnabled = CounterStrike.Default.AmmoEnabled;
@@ -37,6 +39,7 @@ namespace Artemis.Modules.Games.CounterStrike
public override sealed void Save()
{
+ CounterStrike.Default.Enabled = Enabled;
CounterStrike.Default.GameDirectory = GameDirectory;
CounterStrike.Default.AmmoEnabled = AmmoEnabled;
@@ -53,6 +56,7 @@ namespace Artemis.Modules.Games.CounterStrike
public override sealed void ToDefault()
{
+ Enabled = true;
GameDirectory = string.Empty;
AmmoEnabled = true;
diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
index 7f6c345ec..8d19978cb 100644
--- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
+++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
@@ -29,11 +29,15 @@ namespace Artemis.Modules.Games.RocketLeague
Name = "RocketLeague";
ProcessName = "RocketLeague";
Scale = 4;
- Enabled = settings.Enabled;
_settings = settings;
}
+ public override bool Enabled()
+ {
+ return _settings.Enabled;
+ }
+
public int Scale { get; set; }
public override void Dispose()
diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
index c49593c5a..f748637a9 100644
--- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
+++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs
@@ -25,12 +25,14 @@ namespace Artemis.Modules.Games.Witcher3
Name = "Witcher3";
ProcessName = "witcher3";
Scale = 4;
-
- Enabled = settings.Enabled;
}
public int Scale { get; set; }
+ public override bool Enabled()
+ {
+ return true;
+ }
public override void Dispose()
{
_process = null;
diff --git a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
index dfea1fecf..b41ce66f1 100644
--- a/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
+++ b/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayModel.cs
@@ -10,8 +10,6 @@ namespace Artemis.Modules.Overlays.VolumeDisplay
{
public class VolumeDisplayModel : OverlayModel
{
- private bool _enabled;
-
public VolumeDisplayModel(MainModel mainModel, VolumeDisplaySettings settings) : base(mainModel)
{
Settings = settings;
diff --git a/Artemis/Artemis/Settings/General.Designer.cs b/Artemis/Artemis/Settings/General.Designer.cs
index 3ec435f37..702cf4be1 100644
--- a/Artemis/Artemis/Settings/General.Designer.cs
+++ b/Artemis/Artemis/Settings/General.Designer.cs
@@ -58,5 +58,17 @@ namespace Artemis.Settings {
this["EnablePointersUpdate"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("51364")]
+ public int GamestatePort {
+ get {
+ return ((int)(this["GamestatePort"]));
+ }
+ set {
+ this["GamestatePort"] = value;
+ }
+ }
}
}
diff --git a/Artemis/Artemis/Settings/General.settings b/Artemis/Artemis/Settings/General.settings
index 1c3e60be8..10865a712 100644
--- a/Artemis/Artemis/Settings/General.settings
+++ b/Artemis/Artemis/Settings/General.settings
@@ -11,5 +11,8 @@
True
+
+ 51364
+
\ No newline at end of file
diff --git a/Artemis/Artemis/Views/Flyouts/FlyoutSettingsView.xaml.cs b/Artemis/Artemis/Views/Flyouts/FlyoutSettingsView.xaml.cs
new file mode 100644
index 000000000..f6e9b718f
--- /dev/null
+++ b/Artemis/Artemis/Views/Flyouts/FlyoutSettingsView.xaml.cs
@@ -0,0 +1,15 @@
+using System.Windows.Controls;
+
+namespace Artemis.Views.Flyouts
+{
+ ///
+ /// Interaction logic for FlyoutSettingsView.xaml
+ ///
+ public partial class FlyoutSettingsView : UserControl
+ {
+ public FlyoutSettingsView()
+ {
+ InitializeComponent();
+ }
+ }
+}
\ No newline at end of file