mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-12-28 03:14:15 +08:00
more debug messages in matchmaking
This commit is contained in:
parent
5417e0e4c2
commit
c193a8d4ce
@ -913,7 +913,7 @@ const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||
if (result != lobby->values().end()) ret = result->second.c_str();
|
||||
}
|
||||
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyData returned %s\n", ret);
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyData returned '%s'\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -924,11 +924,10 @@ const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||
// other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback
|
||||
bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyData %llu %s %s\n", steamIDLobby.ConvertToUint64(), pchKey, pchValue);
|
||||
if (!pchKey) return false;
|
||||
char empty_string[] = "";
|
||||
if (!pchValue) pchValue = empty_string;
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyData [%llu] '%s'='%s'\n", steamIDLobby.ConvertToUint64(), pchKey, pchValue);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
if (!pchKey) return false;
|
||||
if (!pchValue) pchValue = "";
|
||||
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
if (!lobby || lobby->deleted()) {
|
||||
@ -957,8 +956,9 @@ bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchVal
|
||||
// returns the number of metadata keys set on the specified lobby
|
||||
int GetLobbyDataCount( CSteamID steamIDLobby )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataCount\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataCount %llu\n", steamIDLobby.ConvertToUint64());
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
int size = 0;
|
||||
if (lobby) size = lobby->values().size();
|
||||
@ -971,21 +971,26 @@ int GetLobbyDataCount( CSteamID steamIDLobby )
|
||||
// returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount())
|
||||
bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex %llu [%i] key size=%i, value size=%i\n", steamIDLobby.ConvertToUint64(), iLobbyData, cchKeyBufferSize, cchValueBufferSize);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
bool ret = false;
|
||||
|
||||
if (lobby && lobby->values().size() > iLobbyData && iLobbyData >= 0) {
|
||||
auto lobby_data = lobby->values().begin();
|
||||
for (int i = 0; i < iLobbyData; ++i) ++lobby_data;
|
||||
if (cchKeyBufferSize) strncpy(pchKey, lobby_data->first.c_str(), cchKeyBufferSize - 1);
|
||||
pchKey[cchKeyBufferSize - 1] = 0;
|
||||
if (pchKey && cchKeyBufferSize > 0) {
|
||||
strncpy(pchKey, lobby_data->first.c_str(), cchKeyBufferSize - 1);
|
||||
pchKey[cchKeyBufferSize - 1] = 0;
|
||||
}
|
||||
|
||||
if (cchValueBufferSize) strncpy(pchValue, lobby_data->second.c_str(), cchValueBufferSize - 1);
|
||||
pchValue[cchValueBufferSize - 1] = 0;
|
||||
if (pchValue && cchValueBufferSize > 0) {
|
||||
strncpy(pchValue, lobby_data->second.c_str(), cchValueBufferSize - 1);
|
||||
pchValue[cchValueBufferSize - 1] = 0;
|
||||
}
|
||||
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex ret %s %s\n", pchKey, pchValue);
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyDataByIndex ret '%s'='%s'\n", pchKey, pchValue);
|
||||
ret = true;
|
||||
}
|
||||
|
||||
@ -997,7 +1002,7 @@ bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, i
|
||||
// removes a metadata key from the lobby
|
||||
bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::DeleteLobbyData\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::DeleteLobbyData '%s'\n", pchKey);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||
@ -1014,9 +1019,10 @@ bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey )
|
||||
// Gets per-user metadata for someone in this lobby
|
||||
const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData %s %llu %llu\n", pchKey, steamIDLobby.ConvertToUint64(), steamIDUser.ConvertToUint64());
|
||||
if (!pchKey) return "";
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData '%s' %llu %llu\n", pchKey, steamIDLobby.ConvertToUint64(), steamIDUser.ConvertToUint64());
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
if (!pchKey) return "";
|
||||
|
||||
struct Lobby_Member *member = get_lobby_member(get_lobby(steamIDLobby), steamIDUser);
|
||||
const char *ret = "";
|
||||
if (member) {
|
||||
@ -1035,14 +1041,14 @@ const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, con
|
||||
}
|
||||
}
|
||||
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData res %s\n", ret);
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberData res '%s'\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Sets per-user metadata (for the local user implicitly)
|
||||
void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberData %s %s\n", pchKey, pchValue);
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberData %llu '%s'='%s'\n", steamIDLobby.ConvertToUint64(), pchKey, pchValue);
|
||||
if (!pchKey) return;
|
||||
char empty_string[] = "";
|
||||
if (!pchValue) pchValue = empty_string;
|
||||
@ -1092,7 +1098,7 @@ void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *
|
||||
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
||||
bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::SendLobbyChatMsg %i\n", cubMsgBody);
|
||||
PRINT_DEBUG("Steam_MatchMaking::SendLobbyChatMsg %llu %i\n", steamIDLobby.ConvertToUint64(), cubMsgBody);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
if (!lobby || lobby->deleted()) return false;
|
||||
@ -1138,9 +1144,10 @@ int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CS
|
||||
// if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
|
||||
bool RequestLobbyData( CSteamID steamIDLobby )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::RequestLobbyData\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::RequestLobbyData %llu\n", steamIDLobby.ConvertToUint64());
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
struct Data_Requested requested;
|
||||
|
||||
struct Data_Requested requested{};
|
||||
requested.lobby_id = steamIDLobby;
|
||||
requested.requested = std::chrono::high_resolution_clock::now();
|
||||
data_requested.push_back(requested);
|
||||
@ -1152,7 +1159,10 @@ bool RequestLobbyData( CSteamID steamIDLobby )
|
||||
// either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect
|
||||
void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyGameServer %llu %llu %hhu.%hhu.%hhu.%hhu:%hu\n", steamIDLobby.ConvertToUint64(), steamIDGameServer.ConvertToUint64(), ((unsigned char *)&unGameServerIP)[3], ((unsigned char *)&unGameServerIP)[2], ((unsigned char *)&unGameServerIP)[1], ((unsigned char *)&unGameServerIP)[0], unGameServerPort);
|
||||
PRINT_DEBUG(
|
||||
"Steam_MatchMaking::SetLobbyGameServer %llu %llu %hhu.%hhu.%hhu.%hhu:%hu\n",
|
||||
steamIDLobby.ConvertToUint64(), steamIDGameServer.ConvertToUint64(), ((unsigned char *)&unGameServerIP)[3], ((unsigned char *)&unGameServerIP)[2], ((unsigned char *)&unGameServerIP)[1], ((unsigned char *)&unGameServerIP)[0], unGameServerPort
|
||||
);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
if (lobby) {
|
||||
@ -1198,7 +1208,7 @@ bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16
|
||||
// set the limit on the # of users who can join the lobby
|
||||
bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberLimit\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::SetLobbyMemberLimit %llu %i\n", steamIDLobby.ConvertToUint64(), cMaxMembers);
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
if (!lobby || lobby->owner() != settings->get_local_steam_id().ConvertToUint64() || lobby->deleted()) {
|
||||
@ -1215,7 +1225,7 @@ bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers )
|
||||
// returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined
|
||||
int GetLobbyMemberLimit( CSteamID steamIDLobby )
|
||||
{
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberLimit\n");
|
||||
PRINT_DEBUG("Steam_MatchMaking::GetLobbyMemberLimit %llu\n", steamIDLobby.ConvertToUint64());
|
||||
std::lock_guard<std::recursive_mutex> lock(global_mutex);
|
||||
Lobby *lobby = get_lobby(steamIDLobby);
|
||||
int limit = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user