diff --git a/Artemis/Artemis/App.config b/Artemis/Artemis/App.config index 1476d2e14..154bc2f17 100644 --- a/Artemis/Artemis/App.config +++ b/Artemis/Artemis/App.config @@ -4,6 +4,7 @@ +
@@ -28,6 +29,26 @@ + + + 4 + + + 21 + + + True + + + 3 + + + #FF0000FF + + + #FF1E90FF + + diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index 552c528a1..fd981c2bd 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -221,8 +221,8 @@ - - + + diff --git a/Artemis/Artemis/Models/MainModel.cs b/Artemis/Artemis/Models/MainModel.cs index eea2f2674..3f10dc754 100644 --- a/Artemis/Artemis/Models/MainModel.cs +++ b/Artemis/Artemis/Models/MainModel.cs @@ -7,7 +7,7 @@ using System.Threading; using Artemis.Events; using Artemis.KeyboardProviders; using Artemis.Settings; -using Artemis.Utilities.GameSense; +using Artemis.Utilities.GameState; using Artemis.Utilities.Memory; using Caliburn.Micro; @@ -22,7 +22,7 @@ namespace Artemis.Models { EffectModels = new List(); KeyboardProviders = ProviderHelper.GetKeyboardProviders(); - GameSenseWebServer = new GameSenseWebServer(); + GameStateWebServer = new GameStateWebServer(); Events = events; Fps = 25; @@ -38,7 +38,7 @@ namespace Artemis.Models public KeyboardProvider ActiveKeyboard { get; set; } public List KeyboardProviders { get; set; } - public GameSenseWebServer GameSenseWebServer { get; set; } + public GameStateWebServer GameStateWebServer { get; set; } public IEventAggregator Events { get; set; } public int Fps { get; set; } public bool Enabled { get; set; } @@ -50,7 +50,7 @@ namespace Artemis.Models LoadLastKeyboard(); // Start the webserver - GameSenseWebServer.Start(); + GameStateWebServer.Start(); // Load last non-game effect and enable LoadLastEffect(); diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.Designer.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.Designer.cs index 1e2e4c35e..99a9b8ff1 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.Designer.cs +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.Designer.cs @@ -49,13 +49,13 @@ namespace Artemis.Modules.Effects.AudioVisualizer { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("1")] - public int Spread { + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FromBottom { get { - return ((int)(this["Spread"])); + return ((bool)(this["FromBottom"])); } set { - this["Spread"] = value; + this["FromBottom"] = value; } } diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.settings b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.settings index 99aab0a35..c1a1916ce 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.settings +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualization.settings @@ -1,7 +1,5 @@  - - + @@ -10,8 +8,8 @@ 21 - - 1 + + True 3 diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs index 5bb730c61..f16dcbb09 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerModel.cs @@ -18,6 +18,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer private readonly SampleAggregator _sampleAggregator = new SampleAggregator(FftLength); private bool _generating; private IWaveIn _waveIn; + private bool _previousFromBottom; public AudioVisualizerModel(AudioVisualizerSettings settings) { @@ -96,6 +97,9 @@ namespace Artemis.Modules.Effects.AudioVisualizer // Clear the rectangle cache on Bars settings change if (SoundRectangles.Count != Settings.Bars) SoundRectangles.Clear(); + if (Settings.FromBottom != _previousFromBottom) + SoundRectangles.Clear(); + _previousFromBottom = Settings.FromBottom; // Parse spectrum data for (var i = 0; i < Settings.Bars; i++) @@ -123,6 +127,9 @@ namespace Artemis.Modules.Effects.AudioVisualizer // Apply Bars setting SoundRectangles[i].X = (int) Math.Ceiling((double) Lines/Settings.Bars)*i; SoundRectangles[i].Width = (int) Math.Ceiling((double) Lines/Settings.Bars); + + if (Settings.FromBottom) + SoundRectangles[i].Y = (Scale*8) - SoundRectangles[i].Height; } _generating = false; } @@ -144,6 +151,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer foreach (var soundRectangle in SoundRectangles) soundRectangle.Draw(g); } + _generating = false; return bitmap; } diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerSettings.cs b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerSettings.cs index 98778c6d4..ae12499c2 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerSettings.cs +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerSettings.cs @@ -13,7 +13,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer public int Sensitivity { get; set; } public int Bars { get; set; } - public int Spread { get; set; } + public bool FromBottom { get; set; } public int FadeSpeed { get; set; } public Color MainColor { get; set; } public Color SecondaryColor { get; set; } @@ -22,7 +22,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer { Sensitivity = AudioVisualization.Default.Sensitivity; Bars = AudioVisualization.Default.Bars; - Spread = AudioVisualization.Default.Spread; + FromBottom = AudioVisualization.Default.FromBottom; FadeSpeed = AudioVisualization.Default.FadeSpeed; MainColor = AudioVisualization.Default.MainColor; SecondaryColor = AudioVisualization.Default.SecondaryColor; @@ -32,7 +32,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer { AudioVisualization.Default.Sensitivity = Sensitivity; AudioVisualization.Default.Bars = Bars; - AudioVisualization.Default.Spread = Spread; + AudioVisualization.Default.FromBottom = FromBottom; AudioVisualization.Default.FadeSpeed = FadeSpeed; AudioVisualization.Default.MainColor = MainColor; AudioVisualization.Default.SecondaryColor = SecondaryColor; @@ -44,7 +44,7 @@ namespace Artemis.Modules.Effects.AudioVisualizer { Sensitivity = 4; Bars = 21; - Spread = 1; + FromBottom = true; FadeSpeed = 3; MainColor = Color.FromArgb(255, 0, 0, 255); SecondaryColor = Color.FromArgb(255, 30, 144, 255); diff --git a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerView.xaml b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerView.xaml index 652434ca0..9c4e0fc28 100644 --- a/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerView.xaml +++ b/Artemis/Artemis/Modules/Effects/AudioVisualizer/AudioVisualizerView.xaml @@ -85,6 +85,14 @@ SmallChange="7" IsSnapToTickEnabled="True" /> + + + (); - if (health > 25) + if (health > 25 || health < 1) return; TeamRect.Colors = new List {Color.Red, Color.DarkOrange, Color.Red, Color.DarkOrange}; @@ -120,7 +119,7 @@ namespace Artemis.Modules.Games.CounterStrike return; var t1 = Color.FromArgb(255, 255, 129, 0); - var t2 = Color.FromArgb(255, 255, 89, 0); + var t2 = Color.FromArgb(255, 255, 170, 125); var ct1 = Color.FromArgb(255, 203, 238, 255); var ct2 = Color.FromArgb(255, 0, 173, 255); diff --git a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs index 018040e87..c1c19f3c2 100644 --- a/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs +++ b/Artemis/Artemis/Modules/Games/CounterStrike/CounterStrikeViewModel.cs @@ -59,7 +59,7 @@ namespace Artemis.Modules.Games.CounterStrike return; if (Directory.Exists(CounterStrikeSettings.GameDirectory + "/csgo/cfg")) { - var cfgFile = Properties.Resources.gamestateConfigFileCsGo.Replace("{{port}}", MainModel.GameSenseWebServer.Port.ToString()); + var cfgFile = Properties.Resources.gamestateConfigFileCsGo.Replace("{{port}}", MainModel.GameStateWebServer.Port.ToString()); File.WriteAllText(CounterStrikeSettings.GameDirectory + "/csgo/cfg/gamestate_integration_artemis.cfg", cfgFile); return; } diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs index 4e7565afe..7c6a16161 100644 --- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs +++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs @@ -12,6 +12,7 @@ namespace Artemis.Modules.Games.Witcher3 { public class Witcher3Model : GameModel { + // TODO: Update for 1.12 public Witcher3Model(RocketLeagueSettings settings) { Name = "Witcher3"; @@ -19,8 +20,7 @@ namespace Artemis.Modules.Games.Witcher3 Scale = 4; Settings = settings; - SignRect = new KeyboardRectangle(Scale, 0, 0, 84, 24, new List {Color.Blue, Color.Red}, - LinearGradientMode.Horizontal) + SignRect = new KeyboardRectangle(Scale, 0, 0, 84, 24, new List(), LinearGradientMode.Horizontal) { Rotate = true, LoopSpeed = 0.5 @@ -69,19 +69,43 @@ namespace Artemis.Modules.Games.Witcher3 { case 0: // Aard - SignRect.Colors = new List {Color.DeepSkyBlue, Color.Blue, Color.DeepSkyBlue, Color.Blue}; + SignRect.Colors = new List + { + Color.DeepSkyBlue, + Color.Blue, + Color.DeepSkyBlue, + Color.Blue + }; break; case 1: // Yrden - SignRect.Colors = new List {Color.Purple, Color.DeepPink, Color.Purple, Color.DeepPink}; + SignRect.Colors = new List + { + Color.Purple, + Color.DeepPink, + Color.Purple, + Color.DeepPink + }; break; case 2: // Igni - SignRect.Colors = new List {Color.DarkOrange, Color.Red, Color.DarkOrange, Color.Red}; + SignRect.Colors = new List + { + Color.DarkOrange, + Color.Red, + Color.DarkOrange, + Color.Red + }; break; case 3: // Quen - SignRect.Colors = new List {Color.DarkOrange, Color.Yellow, Color.DarkOrange, Color.Yellow}; + SignRect.Colors = new List + { + Color.DarkOrange, + Color.Yellow, + Color.DarkOrange, + Color.Yellow + }; break; case 4: // Axii diff --git a/Artemis/Artemis/Resources/gamestateConfigFileCsGo.txt b/Artemis/Artemis/Resources/gamestateConfigFileCsGo.txt index b2366a29c..4b91a40f9 100644 --- a/Artemis/Artemis/Resources/gamestateConfigFileCsGo.txt +++ b/Artemis/Artemis/Resources/gamestateConfigFileCsGo.txt @@ -1,6 +1,6 @@ "Artemis" { - "uri" "127.0.0.1:{{port}}/csgo_game_event" + "uri" "http://127.0.0.1:{{port}}/csgo_game_event" "timeout" "5.0" "buffer" "0.1" "throttle" "0.1" diff --git a/Artemis/Artemis/Utilities/GameSense/GameDataReceivedEventArgs.cs b/Artemis/Artemis/Utilities/GameState/GameDataReceivedEventArgs.cs similarity index 85% rename from Artemis/Artemis/Utilities/GameSense/GameDataReceivedEventArgs.cs rename to Artemis/Artemis/Utilities/GameState/GameDataReceivedEventArgs.cs index cd73324f6..9352fe3ee 100644 --- a/Artemis/Artemis/Utilities/GameSense/GameDataReceivedEventArgs.cs +++ b/Artemis/Artemis/Utilities/GameState/GameDataReceivedEventArgs.cs @@ -1,6 +1,6 @@ using System; -namespace Artemis.Utilities.GameSense +namespace Artemis.Utilities.GameState { public class GameDataReceivedEventArgs : EventArgs { diff --git a/Artemis/Artemis/Utilities/GameSense/GameSenseWebServer.cs b/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs similarity index 95% rename from Artemis/Artemis/Utilities/GameSense/GameSenseWebServer.cs rename to Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs index 65f55dd57..ab197f934 100644 --- a/Artemis/Artemis/Utilities/GameSense/GameSenseWebServer.cs +++ b/Artemis/Artemis/Utilities/GameState/GameStateWebServer.cs @@ -6,16 +6,16 @@ using System.Text; using System.Threading; using Newtonsoft.Json; -namespace Artemis.Utilities.GameSense +namespace Artemis.Utilities.GameState { - public class GameSenseWebServer + public class GameStateWebServer { public delegate void GameDataReceivedEventHandler( object sender, GameDataReceivedEventArgs gameDataReceivedEventArgs); private readonly HttpListener _listener = new HttpListener(); - public GameSenseWebServer() + public GameStateWebServer() { Start(); } @@ -81,7 +81,7 @@ namespace Artemis.Utilities.GameSense if (!Directory.Exists(path)) Directory.CreateDirectory(path); - var content = "{\"address\":\"localhost:" + Port + "\"}"; + var content = "{\"address\":\"127.0.0.1:" + Port + "\"}"; File.WriteAllText(path + @"\coreProps.json", content); }