From 20ed61a87937d35ad001359de94395586a2d2306 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 20 Jul 2018 12:24:05 +0300 Subject: [PATCH] Version string sent to GameAnalytics includes the name and hash of the exe (makes it easier to identify events/errors from modded games), added stack trace to a ragdoll error message --- .../Source/Characters/Animation/Ragdoll.cs | 2 +- Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs index 273a83788..3456f0ccf 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs @@ -28,7 +28,7 @@ namespace Barotrauma GameAnalyticsManager.AddErrorEventOnce( "Ragdoll.Limbs:AccessRemoved", GameAnalyticsSDK.Net.EGAErrorSeverity.Error, - "Attempted to access a potentially removed ragdoll. Character: " + character.Name + ", id: " + character.ID + ", removed: " + character.Removed + ", ragdoll removed: " + !list.Contains(this)); + "Attempted to access a potentially removed ragdoll. Character: " + character.Name + ", id: " + character.ID + ", removed: " + character.Removed + ", ragdoll removed: " + !list.Contains(this) + "\n" + Environment.StackTrace); return new Limb[0]; } diff --git a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs index 28eb2d335..36cc8fbe1 100644 --- a/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs +++ b/Barotrauma/BarotraumaShared/Source/GameAnalyticsManager.cs @@ -17,7 +17,6 @@ namespace Barotrauma #if DEBUG GameAnalytics.SetEnabledInfoLog(true); #endif - GameAnalytics.ConfigureBuild(GameMain.Version.ToString()); string exePath = Assembly.GetEntryAssembly().Location; string exeName = null; @@ -36,9 +35,13 @@ namespace Barotrauma DebugConsole.ThrowError("Error while calculating MD5 hash for the executable \"" + exePath + "\"", e); } + GameAnalytics.ConfigureBuild(GameMain.Version.ToString() + + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName) + ":" + + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash)); + GameAnalytics.AddDesignEvent("Executable:" + (string.IsNullOrEmpty(exeName) ? "Unknown" : exeName) + ":" - + ((exeHash == null) ? "Unknown" : exeHash.ShortHash)); + + ((exeHash?.ShortHash == null) ? "Unknown" : exeHash.ShortHash)); GameAnalytics.ConfigureAvailableCustomDimensions01("singleplayer", "multiplayer", "editor"); GameAnalytics.Initialize("a3a073c20982de7c15d21e840e149122", "9010ad9a671233b8d9610d76cec8c897d9ff3ba7");