discord rpc: Change how info is displayed
Some checks are pending
citra-build / source (push) Waiting to run
citra-build / linux-x86_64 (appimage) (push) Waiting to run
citra-build / linux-x86_64 (appimage-wayland) (push) Waiting to run
citra-build / linux-x86_64 (gcc-nopch) (push) Waiting to run
citra-build / linux-arm64 (clang) (push) Waiting to run
citra-build / linux-arm64 (gcc-nopch) (push) Waiting to run
citra-build / macos (push) Waiting to run
citra-build / windows (msvc) (push) Waiting to run
citra-build / windows (msys2) (push) Waiting to run
citra-build / android (googleplay) (push) Waiting to run
citra-build / android (vanilla) (push) Waiting to run
citra-build / docker (push) Waiting to run
citra-format / clang-format (push) Waiting to run
citra-libretro / android (push) Waiting to run
citra-libretro / linux (push) Waiting to run
citra-libretro / windows (push) Waiting to run
citra-libretro / macos (arm64) (push) Waiting to run
citra-libretro / macos (x86_64) (push) Waiting to run
citra-libretro / ios (push) Waiting to run
citra-libretro / tvos (push) Waiting to run
citra-transifex / transifex (push) Waiting to run

This commit is contained in:
PabloMK7 2026-04-13 13:41:37 +02:00
parent 4dbe0fd497
commit 727377c012

View file

@ -34,9 +34,17 @@ void DiscordImpl::Update(bool is_powered_on) {
s64 start_time = std::chrono::duration_cast<std::chrono::seconds>(
std::chrono::system_clock::now().time_since_epoch())
.count();
auto truncate = [](const std::string& str, std::size_t maxLen = 128) -> std::string {
if (str.length() <= maxLen) {
return str;
}
return str.substr(0, maxLen - 3) + "...";
};
std::string title;
if (is_powered_on) {
system.GetAppLoader().ReadTitle(title);
title = truncate("Playing: " + title);
}
DiscordRichPresence presence{};
@ -44,9 +52,6 @@ void DiscordImpl::Update(bool is_powered_on) {
presence.largeImageText = "An open source emulator for the Nintendo 3DS";
if (is_powered_on) {
presence.state = title.c_str();
presence.details = "Currently in game";
} else {
presence.details = "Not in game";
}
presence.startTimestamp = start_time;
Discord_UpdatePresence(&presence);