summaryrefslogtreecommitdiff
path: root/src/SMAPI/Program.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-04-25 13:29:08 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-04-25 13:29:08 -0400
commit05369f2b317c8e32ff4dec3ffe7aaf06d38d1c32 (patch)
treedc7030827bad1c5fa954ff4c115c61128d7cca90 /src/SMAPI/Program.cs
parent0134f0b28d355766a17b1c9da89b8173f978d195 (diff)
downloadSMAPI-05369f2b317c8e32ff4dec3ffe7aaf06d38d1c32.tar.gz
SMAPI-05369f2b317c8e32ff4dec3ffe7aaf06d38d1c32.tar.bz2
SMAPI-05369f2b317c8e32ff4dec3ffe7aaf06d38d1c32.zip
add friendly error when game can't load audio (#472)
Diffstat (limited to 'src/SMAPI/Program.cs')
-rw-r--r--src/SMAPI/Program.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/SMAPI/Program.cs b/src/SMAPI/Program.cs
index f1152d82..eda85866 100644
--- a/src/SMAPI/Program.cs
+++ b/src/SMAPI/Program.cs
@@ -259,6 +259,12 @@ namespace StardewModdingAPI
StardewValley.Program.releaseBuild = true; // game's debug logic interferes with SMAPI opening the game window
this.GameInstance.Run();
}
+ catch (InvalidOperationException ex) when (ex.Source == "Microsoft.Xna.Framework.Xact" && ex.StackTrace.Contains("Microsoft.Xna.Framework.Audio.AudioEngine..ctor"))
+ {
+ this.Monitor.Log("The game couldn't load audio. Do you have speakers or headphones plugged in?", LogLevel.Error);
+ this.Monitor.Log($"Technical details: {ex.GetLogSummary()}", LogLevel.Trace);
+ this.PressAnyKeyToExit();
+ }
catch (Exception ex)
{
this.Monitor.Log($"The game failed unexpectedly: {ex.GetLogSummary()}", LogLevel.Error);