diff --git a/src/Ryujinx/DiscordIntegrationModule.cs b/src/Ryujinx/DiscordIntegrationModule.cs index ee00f2c0d..2b462c27f 100644 --- a/src/Ryujinx/DiscordIntegrationModule.cs +++ b/src/Ryujinx/DiscordIntegrationModule.cs @@ -1,4 +1,5 @@ using DiscordRPC; +using Gommon; using Humanizer; using Humanizer.Localisation; using Ryujinx.Ava.Utilities.AppLibrary; @@ -75,11 +76,23 @@ namespace Ryujinx.Ava _discordClient = new DiscordRpcClient(ApplicationId); _discordClient.Initialize(); - _discordClient.SetPresence(_discordPresenceMain); + + Use(TitleIDs.CurrentApplication); } } } + public static void Use(Optional titleId) + { + if (titleId.TryGet(out string tid)) + SwitchToPlayingState( + ApplicationLibrary.LoadAndSaveMetaData(tid), + Switch.Shared.Processes.ActiveApplication + ); + else + SwitchToMainState(); + } + private static void SwitchToPlayingState(ApplicationMetadata appMeta, ProcessResult procRes) { _discordClient?.SetPresence(new RichPresence