diff --git a/Artemis/Artemis/Modules/Abstract/ModuleModel.cs b/Artemis/Artemis/Modules/Abstract/ModuleModel.cs index 9a8bf6599..809865cc5 100644 --- a/Artemis/Artemis/Modules/Abstract/ModuleModel.cs +++ b/Artemis/Artemis/Modules/Abstract/ModuleModel.cs @@ -205,6 +205,10 @@ namespace Artemis.Modules.Abstract _lastTrace = DateTime.Now; var dmJson = JsonConvert.SerializeObject(DataModel, Formatting.Indented); Logger.Trace("Effect datamodel as JSON: \r\n{0}", dmJson); + + if (layers == null) + return; + Logger.Trace("Effect {0} has to render {1} layers", Name, layers.Count); foreach (var renderLayer in layers) Logger.Trace("- Layer name: {0}, layer type: {1}", renderLayer.Name, renderLayer.LayerType); diff --git a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs index d15fd4882..bb45aab72 100644 --- a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs +++ b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2DataModel.cs @@ -17,10 +17,17 @@ namespace Artemis.Modules.Games.EurotruckSimulator2 UserData.RegisterType(); } + public TruckSimulatorGameName GameName { get; set; } public IEts2Game Game { get; set; } public IEts2Job Job { get; set; } public IEts2Navigation Navigation { get; set; } public IEts2Trailer Trailer { get; set; } - public IEts2Truck Truck { get; set; } + public IEts2Truck Truck { get; set; } + + public enum TruckSimulatorGameName + { + EuroTruckSimulator2, + AmericanTruckSimulator + } } } \ No newline at end of file diff --git a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs index 3c7b18606..b8a38ff02 100644 --- a/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs +++ b/Artemis/Artemis/Modules/Games/EurotruckSimulator2/EurotruckSimulator2Model.cs @@ -7,6 +7,8 @@ using Artemis.Modules.Games.EurotruckSimulator2.Data; using Artemis.Properties; using Artemis.Services; using Artemis.Utilities; +using Artemis.Utilities.Memory; +using static Artemis.Modules.Games.EurotruckSimulator2.EurotruckSimulator2DataModel; namespace Artemis.Modules.Games.EurotruckSimulator2 { @@ -35,9 +37,18 @@ namespace Artemis.Modules.Games.EurotruckSimulator2 public override void Update() { + var etsProcess = MemoryHelpers.GetProcessIfRunning("eurotrucks2"); + var atsProcess = MemoryHelpers.GetProcessIfRunning("amtrucks"); + if (etsProcess == null && atsProcess == null) + return; + var dataModel = (EurotruckSimulator2DataModel) DataModel; var telemetryData = Ets2TelemetryDataReader.Instance.Read(); + dataModel.GameName = etsProcess != null + ? TruckSimulatorGameName.EuroTruckSimulator2 + : TruckSimulatorGameName.AmericanTruckSimulator; + dataModel.Game = telemetryData.Game; dataModel.Job = telemetryData.Job; dataModel.Navigation = telemetryData.Navigation; @@ -64,10 +75,10 @@ namespace Artemis.Modules.Games.EurotruckSimulator2 public void FindAtsGameDir() { - // Demo is also supported but resides in a different directory, the full game can also be 64-bits + // Demo is also supported but resides in a different directory, the full game can also be 32-bits (I think) var dir = GeneralHelpers.FindSteamGame(@"\American Truck Simulator\bin\win_x64\amtrucks.exe") ?? GeneralHelpers.FindSteamGame(@"\American Truck Simulator\bin\win_x86\amtrucks.exe") ?? - GeneralHelpers.FindSteamGame(@"\American Truck Simulator Demo\bin\win_x86\amtrucks.exe"); + GeneralHelpers.FindSteamGame(@"\American Truck Simulator Demo\bin\win_x64\amtrucks.exe"); if (string.IsNullOrEmpty(dir)) return; diff --git a/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs index 113006d04..b307e44c3 100644 --- a/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/LayerConditionViewModel.cs @@ -226,6 +226,7 @@ namespace Artemis.ViewModels.Profiles } else if (SelectedDataModelProp.EnumValues != null) { + Enums.Clear(); Enums.AddRange(SelectedDataModelProp.EnumValues); EnumValueIsVisible = true; }