diff --git a/dll/net.proto b/dll/net.proto index 18595ca8..4a1beefc 100644 --- a/dll/net.proto +++ b/dll/net.proto @@ -287,9 +287,10 @@ message Leaderboards_Messages { } Types type = 1; - LeaderboardInfo leaderboard_info = 2; + uint32 appid = 2; + LeaderboardInfo leaderboard_info = 3; oneof data_messages { - UserScoreEntry user_score_entry = 3; + UserScoreEntry user_score_entry = 4; } } diff --git a/dll/steam_user_stats.cpp b/dll/steam_user_stats.cpp index d4f88d56..ee858667 100644 --- a/dll/steam_user_stats.cpp +++ b/dll/steam_user_stats.cpp @@ -288,6 +288,7 @@ void Steam_User_Stats::send_my_leaderboard_score(const Steam_Leaderboard &board, auto board_msg = new Leaderboards_Messages(); if (want_scores_back) board_msg->set_type(Leaderboards_Messages::UpdateUserScoreMutual); else board_msg->set_type(Leaderboards_Messages::UpdateUserScore); + board_msg->set_appid(settings->get_local_game_id().AppID()); board_msg->set_allocated_leaderboard_info(board_info_msg); board_msg->set_allocated_user_score_entry(score_entry_msg); @@ -309,6 +310,7 @@ void Steam_User_Stats::request_user_leaderboard_entry(const Steam_Leaderboard &b auto board_msg = new Leaderboards_Messages(); board_msg->set_type(Leaderboards_Messages::RequestUserScore); + board_msg->set_appid(settings->get_local_game_id().AppID()); board_msg->set_allocated_leaderboard_info(board_info_msg); auto common_msg = new Common_Message(); @@ -1863,6 +1865,7 @@ void Steam_User_Stats::network_callback_leaderboards(Common_Message *msg) { // network->sendToAll() sends to current user also if (msg->source_id() == settings->get_local_steam_id().ConvertToUint64()) return; + if (settings->get_local_game_id().AppID() != msg->leaderboards_messages().appid()) return; if (!msg->leaderboards_messages().has_leaderboard_info()) { PRINT_DEBUG("Steam_User_Stats::network_callback_leaderboards error empty leaderboard msg\n");