From 2d6c602ef54cd84b6287a3b8af16bfc40183c761 Mon Sep 17 00:00:00 2001 From: obligaron Date: Sat, 5 Feb 2022 20:55:42 +0100 Subject: [PATCH] Show public games only on zero tier --- Source/DiabloUI/selgame.cpp | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/Source/DiabloUI/selgame.cpp b/Source/DiabloUI/selgame.cpp index 47fab4b5c..71418e43b 100644 --- a/Source/DiabloUI/selgame.cpp +++ b/Source/DiabloUI/selgame.cpp @@ -104,18 +104,20 @@ void selgame_GameSelection_Init() vecSelGameDlgItems.push_back(std::make_unique(_("Create Public Game"), 1, UiFlags::ColorUiGold)); vecSelGameDlgItems.push_back(std::make_unique(_("Join Game"), 2, UiFlags::ColorUiGold)); - vecSelGameDlgItems.push_back(std::make_unique("", -1, UiFlags::ElementDisabled)); - vecSelGameDlgItems.push_back(std::make_unique(_("Public Games"), -1, UiFlags::ElementDisabled | UiFlags::ColorWhitegold)); - - if (Gamelist.empty()) { - // We expect the game list is recevied after 3 seconds - if (firstPublicGameInfoRequestSend == 0 || (SDL_GetTicks() - firstPublicGameInfoRequestSend) < 2000) - vecSelGameDlgItems.push_back(std::make_unique(_("Loading..."), -1, UiFlags::ElementDisabled | UiFlags::ColorUiSilver)); - else - vecSelGameDlgItems.push_back(std::make_unique(_("None"), -1, UiFlags::ElementDisabled | UiFlags::ColorUiSilver)); - } else { - for (unsigned i = 0; i < Gamelist.size(); i++) { - vecSelGameDlgItems.push_back(std::make_unique(Gamelist[i].c_str(), i + 3, UiFlags::ColorUiGold)); + if (provider == SELCONN_ZT) { + vecSelGameDlgItems.push_back(std::make_unique("", -1, UiFlags::ElementDisabled)); + vecSelGameDlgItems.push_back(std::make_unique(_("Public Games"), -1, UiFlags::ElementDisabled | UiFlags::ColorWhitegold)); + + if (Gamelist.empty()) { + // We expect the game list to be received after 3 seconds + if (firstPublicGameInfoRequestSend == 0 || (SDL_GetTicks() - firstPublicGameInfoRequestSend) < 2000) + vecSelGameDlgItems.push_back(std::make_unique(_("Loading..."), -1, UiFlags::ElementDisabled | UiFlags::ColorUiSilver)); + else + vecSelGameDlgItems.push_back(std::make_unique(_("None"), -1, UiFlags::ElementDisabled | UiFlags::ColorUiSilver)); + } else { + for (unsigned i = 0; i < Gamelist.size(); i++) { + vecSelGameDlgItems.push_back(std::make_unique(Gamelist[i].c_str(), i + 3, UiFlags::ColorUiGold)); + } } } @@ -587,7 +589,8 @@ bool UiSelectGame(GameData *gameData, int *playerId) while (!selgame_endMenu) { UiClearScreen(); UiPollAndRender(); - RefreshGameList(); + if (provider == SELCONN_ZT) + RefreshGameList(); } selgame_Free();