Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/application/StarP2PNetworkingService_pc.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-08-03 18:51:19 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2024-08-03 18:51:19 +1000
commit20de634a06c0053aad4b1a0017cae4ed023b6e94 (patch)
treeac4903dde869091aacf03a151811f8a4c0d84f5a /source/application/StarP2PNetworkingService_pc.cpp
parentbef86811c9a08711b45523193b2ac7c13850f8c6 (diff)
Improve Discord activity info
requested by Omeruin!
Diffstat (limited to 'source/application/StarP2PNetworkingService_pc.cpp')
-rw-r--r--source/application/StarP2PNetworkingService_pc.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/source/application/StarP2PNetworkingService_pc.cpp b/source/application/StarP2PNetworkingService_pc.cpp
index 2d20415..0e13dee 100644
--- a/source/application/StarP2PNetworkingService_pc.cpp
+++ b/source/application/StarP2PNetworkingService_pc.cpp
@@ -81,7 +81,11 @@ void PcP2PNetworkingService::setJoinRemote(HostAddressWithPort location) {
setJoinLocation(JoinRemote(location));
}
-void Star::PcP2PNetworkingService::setActivityData([[maybe_unused]] String const& title, [[maybe_unused]] Maybe<pair<uint16_t, uint16_t>> party) {
+void Star::PcP2PNetworkingService::setActivityData(
+ [[maybe_unused]] const char* title,
+ [[maybe_unused]] const char* details,
+ [[maybe_unused]] int64_t startTime,
+ [[maybe_unused]] Maybe<pair<uint16_t, uint16_t>> party) {
#ifdef STAR_ENABLE_DISCORD_INTEGRATION
MutexLocker discordLocker(m_state->discordMutex);
#endif
@@ -92,19 +96,25 @@ void Star::PcP2PNetworkingService::setActivityData([[maybe_unused]] String const
if (m_discordUpdatingActivity)
return;
- if (title != m_discordActivityTitle || party != m_discordPartySize || m_discordForceUpdateActivity) {
+ if (title != m_discordActivityTitle
+ || details != m_discordActivityDetails
+ || startTime != m_discordActivityStartTime || party != m_discordPartySize || m_discordForceUpdateActivity) {
m_discordForceUpdateActivity = false;
m_discordPartySize = party;
m_discordActivityTitle = title;
+ m_discordActivityDetails = details;
+ m_discordActivityStartTime = startTime;
discord::Activity activity = {};
activity.SetType(discord::ActivityType::Playing);
activity.SetName("Starbound");
- activity.SetState(title.utf8Ptr());
-
- if (auto p = party) {
- activity.GetParty().GetSize().SetCurrentSize(p->first);
- activity.GetParty().GetSize().SetMaxSize(p->second);
+ activity.SetState(title);
+ activity.SetDetails(details);
+ activity.GetTimestamps().SetStart(startTime);
+ if (party) {
+ auto& size = activity.GetParty().GetSize();
+ size.SetCurrentSize(party->first);
+ size.SetMaxSize(party->second);
}
if (auto lobby = m_discordServerLobby)