Discord Presence: Fix a crash when no valid program is loaded (#741)

* Discord Presence: Fix a crash when no valid program is loaded
This commit is contained in:
Thomas Guillemard 2019-08-19 22:28:01 +02:00 committed by GitHub
parent a731ab3a2a
commit 16aa2cfd62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,7 +37,7 @@ namespace Ryujinx
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
if (device.System.State.DiscordIntegrationEnabled == true) if (device.System.State.DiscordIntegrationEnabled)
{ {
DiscordClient = new DiscordRpcClient("568815339807309834"); DiscordClient = new DiscordRpcClient("568815339807309834");
DiscordPresence = new RichPresence DiscordPresence = new RichPresence
@ -108,15 +108,33 @@ namespace Ryujinx
Logger.PrintWarning(LogClass.Application, "Please specify the folder with the NSOs/IStorage or a NSO/NRO."); Logger.PrintWarning(LogClass.Application, "Please specify the folder with the NSOs/IStorage or a NSO/NRO.");
} }
if (device.System.State.DiscordIntegrationEnabled == true) if (device.System.State.DiscordIntegrationEnabled)
{ {
if (File.ReadAllLines(Path.Combine(ApplicationDirectory, "RPsupported.dat")).Contains(device.System.TitleID)) if (File.ReadAllLines(Path.Combine(ApplicationDirectory, "RPsupported.dat")).Contains(device.System.TitleID))
{ {
DiscordPresence.Assets.LargeImageKey = device.System.TitleID; DiscordPresence.Assets.LargeImageKey = device.System.TitleID;
} }
DiscordPresence.Details = $"Playing {device.System.TitleName}"; string state = device.System.TitleID;
DiscordPresence.State = device.System.TitleID.ToUpper();
if (state == null)
{
state = "Ryujinx";
}
else
{
state = state.ToUpper();
}
string details = "Idling";
if (device.System.TitleName != null)
{
details = $"Playing {device.System.TitleName}";
}
DiscordPresence.Details = details;
DiscordPresence.State = state;
DiscordPresence.Assets.LargeImageText = device.System.TitleName; DiscordPresence.Assets.LargeImageText = device.System.TitleName;
DiscordPresence.Assets.SmallImageKey = "ryujinx"; DiscordPresence.Assets.SmallImageKey = "ryujinx";
DiscordPresence.Assets.SmallImageText = "Ryujinx is an emulator for the Nintendo Switch"; DiscordPresence.Assets.SmallImageText = "Ryujinx is an emulator for the Nintendo Switch";