Call GameLobbyJoinRequested_t if a lobby exists when joining with rich presence.
parent
8785ae568c
commit
3f06dd8576
|
@ -787,7 +787,7 @@ void Steam_Overlay::RunCallbacks()
|
||||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
|
|
||||||
friend_info->second.window_state &= ~window_state_lobby_invite;
|
friend_info->second.window_state &= ~window_state_lobby_invite;
|
||||||
} else
|
} else {
|
||||||
// The user got a rich presence invite and accepted it
|
// The user got a rich presence invite and accepted it
|
||||||
if (friend_info->second.window_state & window_state_rich_invite)
|
if (friend_info->second.window_state & window_state_rich_invite)
|
||||||
{
|
{
|
||||||
|
@ -805,6 +805,18 @@ void Steam_Overlay::RunCallbacks()
|
||||||
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Not sure about this but it fixes sonic racing transformed invites
|
||||||
|
FriendGameInfo_t friend_game_info = {};
|
||||||
|
steamFriends->GetFriendGamePlayed(friend_id, &friend_game_info);
|
||||||
|
uint64 lobby_id = friend_game_info.m_steamIDLobby.ConvertToUint64();
|
||||||
|
if (lobby_id) {
|
||||||
|
GameLobbyJoinRequested_t data;
|
||||||
|
data.m_steamIDLobby.SetFromUint64(lobby_id);
|
||||||
|
data.m_steamIDFriend.SetFromUint64(friend_id);
|
||||||
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
friend_info->second.window_state &= ~window_state_join;
|
friend_info->second.window_state &= ~window_state_join;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue