diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index ab3dc22e3..c02195ac9 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -10460,7 +10460,7 @@ "it_IT": "Finestra di input", "ja_JP": "入力ダイアログ", "ko_KR": "대화 상자 입력", - "no_NO": "", + "no_NO": "Dialogboksen Inndata", "pl_PL": "Okno Dialogowe Wprowadzania", "pt_BR": "Diálogo de texto", "ru_RU": "Диалоговое окно ввода", @@ -22760,7 +22760,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "이 호환성 목록에는 오래된 항목이 포함되어 있을 수 있습니다.\n\"게임 내\" 상태에서 게임을 테스트하는 것을 반대하지 마십시오.", - "no_NO": "", + "no_NO": "Denne kompatibilitetslisten kan inneholde oppføringer som er tomme for data.\nVær ikke imot å teste spill i statusen «Ingame».", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22785,7 +22785,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "호환성 항목 검색...", - "no_NO": "", + "no_NO": "Søk i kompatibilitetsoppføringer...", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22810,7 +22810,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "호환성 목록 열기", - "no_NO": "", + "no_NO": "Åpne kompatibilitetslisten", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22835,7 +22835,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "보유 게임만 표시", - "no_NO": "", + "no_NO": "Vis bare eide spill", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22860,7 +22860,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "플레이 가능", - "no_NO": "", + "no_NO": "Spillbar", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22910,7 +22910,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "메뉴", - "no_NO": "", + "no_NO": "Menyer", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22935,7 +22935,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "부츠", - "no_NO": "", + "no_NO": "Starter", "pl_PL": "", "pt_BR": "", "ru_RU": "", @@ -22960,7 +22960,7 @@ "it_IT": "", "ja_JP": "", "ko_KR": "없음", - "no_NO": "", + "no_NO": "Ingenting", "pl_PL": "", "pt_BR": "", "ru_RU": "", diff --git a/src/Ryujinx/DiscordIntegrationModule.cs b/src/Ryujinx/DiscordIntegrationModule.cs index ee00f2c0d..040d61ecf 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; @@ -45,16 +46,7 @@ namespace Ryujinx.Ava }; ConfigurationState.Instance.EnableDiscordIntegration.Event += Update; - TitleIDs.CurrentApplication.Event += (_, e) => - { - if (e.NewValue) - SwitchToPlayingState( - ApplicationLibrary.LoadAndSaveMetaData(e.NewValue), - Switch.Shared.Processes.ActiveApplication - ); - else - SwitchToMainState(); - }; + TitleIDs.CurrentApplication.Event += (_, e) => Use(e.NewValue); } private static void Update(object sender, ReactiveEventArgs evnt) @@ -75,11 +67,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