UI: Add Discord RPC games and other changes

- UI: Add Discord RPC games
- UI: RPC: Only show hours at maximum for play time
- UI: Reset RPC state when AppHost stops
- UI: RPC: show game version when hovering large image asset.
- UI: Improve Discord RPC for select games & show play time in place of title ID.
This commit is contained in:
Evan Husted
2024-11-19 23:37:01 -06:00
committed by KeatonTheBot
parent ead7e0cfc9
commit 2501da9460
4 changed files with 177 additions and 41 deletions
+7 -8
View File
@@ -558,6 +558,7 @@ namespace Ryujinx.Ava
public void Stop()
{
_isActive = false;
DiscordIntegrationModule.SwitchToMainState();
}
private void Exit()
@@ -571,6 +572,7 @@ namespace Ryujinx.Ava
_isStopped = true;
_isActive = false;
DiscordIntegrationModule.SwitchToMainState();
}
public void DisposeContext()
@@ -845,12 +847,11 @@ namespace Ryujinx.Ava
return false;
}
DiscordIntegrationModule.SwitchToPlayingState(Device.Processes.ActiveApplication.ProgramIdText, Device.Processes.ActiveApplication.Name);
ApplicationMetadata appMeta = ApplicationLibrary.LoadAndSaveMetaData(Device.Processes.ActiveApplication.ProgramIdText,
appMetadata => appMetadata.UpdatePreGame()
);
ApplicationLibrary.LoadAndSaveMetaData(Device.Processes.ActiveApplication.ProgramIdText, appMetadata =>
{
appMetadata.UpdatePreGame();
});
DiscordIntegrationModule.SwitchToPlayingState(appMeta, Device.Processes.ActiveApplication);
return true;
}
@@ -1009,10 +1010,8 @@ namespace Ryujinx.Ava
private void MainLoop()
{
while (_isActive)
while (UpdateFrame())
{
UpdateFrame();
// Polling becomes expensive if it's not slept.
Thread.Sleep(1);
}