fix: broadcast rich presence for unowned games to friends#144
fix: broadcast rich presence for unowned games to friends#144Peron4TheWin wants to merge 1 commit into
Conversation
|
thanks,but I don't really want to rely on the SpaceWar approach directly, because it may cause SpaceWar playtime to be displayed or recorded, which is not ideal.I may implement a better workaround for this later. |
Yeah this approach counts time toward spacewar, the only other option i know is displaying it as non steam game "Playing non-steam game XXXXX" which also removes the broken picture error Could be a config in the files if anything between the 3 modes |
|
Instead of the spacewar approach, could it be focused to displaying a demo of the same game when possible? it would fix picture error, also helps with broadcast rich presence, sometimes even co-op. I don't know how crafty that would be, but it sounds a lot of work for this feature as a possible workaround. |
Steam's server drops CMsgClientPersonaState buddy broadcasts for appids
the account doesn't own. This means friends never see the user playing
an unlocked (addappid'd) game — they only see "Online".
The existing OnlineFix::HandleSend already rewrites -onlinefix games
(appid 480) to include game_extra_info for the correct title. This
patch adds a fallback: when no onlinefix entry exists but the Rich
Presence module is tracking an unowned game via g_PlayingAppId, the
topmost game entry in the outbound CMsgClientGamesPlayed is rewritten
to appid 480 (SpaceWar, owned by every account) with game_extra_info
set to the real localized name.
The server sees 480 (owned), broadcasts the persona state, and friends
see the correct game title from game_extra_info. The rewrite is
isolated to the outbound network packet only, no local state affected.