Browse Source

Removed ability to try and join incompatible ZeroTier games (#5648)

pull/5658/head
DakkJaniels 3 years ago committed by GitHub
parent
commit
e5d96b2242
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      Source/DiabloUI/selgame.cpp

16
Source/DiabloUI/selgame.cpp

@ -612,6 +612,9 @@ void selgame_Password_Select(int /*value*/)
SDL_ClearError();
if (selgame_selectedGame > 1) {
bool allowJoin = true;
if (selgame_selectedGame > 2)
allowJoin = IsGameCompatible(Gamelist[selgame_selectedGame - 3].gameData);
if (provider == SELCONN_ZT) {
for (unsigned int i = 0; i < (sizeof(selgame_Ip) / sizeof(selgame_Ip[0])); i++) {
selgame_Ip[i] = (selgame_Ip[i] >= 'A' && selgame_Ip[i] <= 'Z') ? selgame_Ip[i] + 'a' - 'A' : selgame_Ip[i];
@ -620,7 +623,7 @@ void selgame_Password_Select(int /*value*/)
} else {
strcpy(sgOptions.Network.szPreviousHost, selgame_Ip);
}
if (SNetJoinGame(selgame_Ip, gamePassword, gdwPlayerId)) {
if (allowJoin && SNetJoinGame(selgame_Ip, gamePassword, gdwPlayerId)) {
if (!IsGameCompatibleWithErrorMessage(*m_game_data)) {
InitGameInfo();
selgame_GameSelection_Select(1);
@ -632,12 +635,19 @@ void selgame_Password_Select(int /*value*/)
} else {
InitGameInfo();
selgame_Free();
std::string error = SDL_GetError();
std::string error;
if (!allowJoin)
error = GetErrorMessageIncompatibility(Gamelist[selgame_selectedGame - 3].gameData);
else
error = SDL_GetError();
if (error.empty())
error = "Unknown network error";
UiSelOkDialog(_("Multi Player Game").data(), error.c_str(), false);
selgame_Init();
selgame_Password_Init(selgame_selectedGame);
if (selgame_selectedGame == 2)
selgame_Password_Init(selgame_selectedGame);
else
UiInitGameSelectionList("");
}
return;
}

Loading…
Cancel
Save