diff --git a/src/citymania/cm_commands_gui.cpp b/src/citymania/cm_commands_gui.cpp index 0a9ba0ff87..e34d5e33cb 100644 --- a/src/citymania/cm_commands_gui.cpp +++ b/src/citymania/cm_commands_gui.cpp @@ -209,12 +209,11 @@ enum LastServerWidgets { }; enum ServerButtonsWidgets { - AC_SERVERS, - AC_SERVERS1, WID_SB_SELECT_NICE, WID_SB_SELECT_BTPRO, WID_SB_SELECT_CITYMANIA, WID_SB_SELECT_NONE, + AC_SERVERS, }; enum ServerButtonsQueryWidgets {}; @@ -676,7 +675,7 @@ class CommunityServerManager: public HTTPCallback { CommunityServerManager() {} void initiateServerSequence(const std::string &uri) { - + this->cursor = this->buf; this->buf_last = lastof(buf); NetworkHTTPSocketHandler::Connect(uri, this); @@ -709,7 +708,7 @@ class CommunityServerManager: public HTTPCallback { void OnReceiveData(std::unique_ptr data, size_t length) override { - + //extern void ShowSelectGameWindow(); //size_t i = length; @@ -732,7 +731,7 @@ class CommunityServerManager: public HTTPCallback { //NetworkServerSendChat(STR_XI_CONNECT_FINISH, INVALID_STRING_ID, WL_ERROR); NetworkClientSendChatToServer("*** data received"); } - + } private: @@ -923,7 +922,7 @@ struct LoginWindow : Window { this->DisableWidget(LWW_ADMIN_LOGOUT); this->DisableWidget(LWW_ADMIN_PW); } - + } void DrawWidget(const Rect &r, WidgetID widget) const override @@ -1024,8 +1023,8 @@ struct LoginWindow : Window { switch(this->query_widget){ case LQW_USER_NAME: { switch (_community) { - case 1: SetLoginItem(NICE_LOGIN, str); break; - case 2: SetLoginItem(BTPRO_LOGIN, str); break; + case 1: SetLoginItem(NICE_LOGIN, str); break; + case 2: SetLoginItem(BTPRO_LOGIN, str); break; case 3: SetLoginItem(NOVAPOLIS_LOGIN, str); break; } break; @@ -1049,8 +1048,8 @@ struct LoginWindow : Window { SetLoginItem(NICE_PW, second_pass); break; } - case 2: SetLoginItem(BTPRO_PW, str); break; - case 3: SetLoginItem(NOVAPOLIS_PW, str); break; + case 2: SetLoginItem(BTPRO_PW, str); break; + case 3: SetLoginItem(NOVAPOLIS_PW, str); break; } break; } @@ -1144,7 +1143,7 @@ struct AdminCompanyButtonsWindow : Window { case ACB_COMPANY_KNOWN: NetworkClientSendChatToServer(fmt::format("!known {}",_company)); MarkWholeScreenDirty(); - break; + break; case ACB_COMPANY_RESET_KNOWN: NetworkClientSendChatToServer(fmt::format("!resetknown {}",_company)); MarkWholeScreenDirty(); @@ -1209,13 +1208,13 @@ struct AdminCompanyButtonsWindow : Window { MarkWholeScreenDirty(); break; case ACBQ_COMPANY_NEWSTICKET: { - std::string buffer = GetString(STR_COMPANY_NAME); + std::string buffer = GetString(STR_COMPANY_NAME); NetworkClientSendChatToServer(fmt::format("!news {}: {}", buffer, str)); MarkWholeScreenDirty(); break; } case ACBQ_COMPANY_NEWSTICKET_COMP: { - std::string buffer = GetString(STR_COMPANY_NAME); + std::string buffer = GetString(STR_COMPANY_NAME); NetworkClientSendChatToServer(fmt::format("!news {} {}", this->window_number, str)); MarkWholeScreenDirty(); break; @@ -1294,26 +1293,26 @@ struct ServerButtonsWindow : Window { virtual void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) { switch (widget) { - case WID_SB_SELECT_NICE: + case WID_SB_SELECT_NICE: SetServerItem(COMMUNITY, "1"); GetCommunityServerListText(); break; - case WID_SB_SELECT_BTPRO: + case WID_SB_SELECT_BTPRO: SetServerItem(COMMUNITY, "2"); GetCommunityServerListText(); break; - case WID_SB_SELECT_CITYMANIA: + case WID_SB_SELECT_CITYMANIA: SetServerItem(COMMUNITY, "3"); //GetCommunityServerListText(); break; default: - if (widget >= AC_SERVERS1) { + if (widget >= AC_SERVERS) { /*get info of server from network.cpp and join*/ - if (GetCommunityServer(widget - AC_SERVERS1 + 1,false)) { + if (GetCommunityServer(widget - AC_SERVERS + 1,false)) { if (_ctrl_pressed) { NetworkClientConnectGame(fmt::format("{}:{}", _cc_address, _cc_porti), COMPANY_NEW_COMPANY); } else { - NetworkClientConnectGame(fmt::format("{}:{}", _cc_address, _cc_porti), COMPANY_SPECTATOR); + NetworkClientConnectGame(fmt::format("{}:{}", _cc_address, _cc_porti), COMPANY_SPECTATOR); } } } else ShowErrorMessage(CM_STR_SB_SERVER_DISABLED, INVALID_STRING_ID, WL_ERROR); @@ -1342,7 +1341,7 @@ struct ServerButtonsWindow : Window { } size_t posname = _server_list_text.find(name); std::string sname = _server_list_text.substr(posname + 8, _server_list_text.find(";", posname + 8) - posname - 8); - + if (number > _servercount) _cc_name = "-"; else @@ -1354,17 +1353,13 @@ struct ServerButtonsWindow : Window { std::string name; switch (widget) { - case AC_SERVERS: - // do nothing - break; - /* default: - if(widget >= AC_SERVERS1){ - if(widget - AC_SERVERS1 + 1 < 10){ - name = fmt::format("NAME0{}",widget - AC_SERVERS1 +1); + if(widget >= AC_SERVERS){ + if(widget - AC_SERVERS + 1 < 10){ + name = fmt::format("NAME0{}",widget - AC_SERVERS +1); } else { - name = fmt::format("NAME{}",widget - AC_SERVERS1 +1); + name = fmt::format("NAME{}",widget - AC_SERVERS +1); } size_t posname = _server_list_text.find(name); std::string sname = _server_list_text.substr(posname + 8, _server_list_text.find(";", posname + 8) - posname - 8); @@ -1374,20 +1369,19 @@ struct ServerButtonsWindow : Window { DrawString(r.left, r.right, r.top + 3, CM_STR_SB_NETWORK_DIRECT_JOIN_GAME, TC_FROMSTRING, SA_CENTER); } break; - */ } } }; /* fix me */ -NWidgetBase *MakeServerButtons(int *biggest_index) +std::unique_ptr MakeServerButtons() { - std::int8_t _community = stoi(GetServerItem(COMMUNITY)); - NWidgetVertical *ver = new NWidgetVertical; + std::int8_t _community = stoi(GetServerItem(COMMUNITY)); + auto ver = std::make_unique(); if(_community == 0 || _server_list_text.empty()){ - NWidgetBackground *leaf = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, AC_SERVERS, NULL); - //ver->Add(leaf); + auto leaf = std::make_unique(WWT_PANEL, COLOUR_GREY, AC_SERVERS); + ver->Add(std::move(leaf)); return ver; } @@ -1400,30 +1394,30 @@ NWidgetBase *MakeServerButtons(int *biggest_index) active++; } - NWidgetHorizontal *hor = new NWidgetHorizontal; + auto hor = std::make_unique(); int i1 = 0, i2 = 0; for (int i = 0; i < s_max; i++) { if ((aactive[i] == 0) && (_community == 1)) continue; //hide button if disabled - for n-ice only i2++; if ((i1 == 5) || (i1 == 10) || (i1 == 15) || (i1 == 20) || (i1 == 25) || (i1 == 30) || (i1 == 35) || (i1 == 40) || (i1 == 45) || (i1 == 50)) { i2=0; - NWidgetSpacer *spce = new NWidgetSpacer(3, 0); + auto spce = std::make_unique(3, 0); spce->SetFill(1, 0); - //hor->Add(spce); - //ver->Add(hor); - NWidgetSpacer *spc = new NWidgetSpacer(0, 4); + hor->Add(std::move(spce)); + ver->Add(std::move(hor)); + auto spc = std::make_unique(0, 4); spc->SetFill(1, 0); - //ver->Add(spc); - //hor = new NWidgetHorizontal(); + ver->Add(std::move(spc)); + hor = std::make_unique(); } - NWidgetSpacer *spce = new NWidgetSpacer(3, 0); + auto spce = std::make_unique(3, 0); spce->SetFill(1, 0); - //hor->Add(spce); - NWidgetBackground *leaf = new NWidgetBackground(WWT_PANEL, COLOUR_ORANGE, AC_SERVERS1 + i, NULL); + hor->Add(std::move(spce)); + auto leaf = std::make_unique(WWT_PANEL, COLOUR_ORANGE, AC_SERVERS + i); if(aactive[i] == 0) leaf->SetDisabled(true); leaf->SetDataTip(CM_STR_SB_NETWORK_DIRECT_JOIN_GAME, CM_STR_SB_NETWORK_DIRECT_JOIN_GAME_TOOLTIP); leaf->SetMinimalSize(90, 15); - //hor->Add(leaf); + hor->Add(std::move(leaf)); i1++; } @@ -1433,11 +1427,10 @@ NWidgetBase *MakeServerButtons(int *biggest_index) if (i2==2) i2=189; if (i2==3) i2=96; if (i2==4) i2=3; - NWidgetSpacer *spce = new NWidgetSpacer(i2, 0); + auto spce = std::make_unique(i2, 0); spce->SetFill(1, 0); - //hor->Add(spce); - //ver->Add(hor); - *biggest_index = AC_SERVERS1 - 1 + active; + hor->Add(std::move(spce)); + ver->Add(std::move(hor)); return ver; } @@ -1538,7 +1531,7 @@ static const NWidgetPart _nested_admin_window_widgets[] = { EndContainer(), EndContainer(), }; - + static const NWidgetPart _nested_admin_company_window_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CAPTION,COLOUR_END, ACB_COMPANY_CAPTION), @@ -1601,10 +1594,9 @@ static const NWidgetPart _nested_server_buttons_window_widgets[] = { NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_SB_SELECT_CITYMANIA), SetMinimalSize(134, 13), SetDataTip(CM_STR_SB_SELECT_CITYMANIA, 0), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 3), - /* fix me */ - //NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), - //NWidgetFunction(MakeServerButtons), - //EndContainer(), + NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), + NWidgetFunction(MakeServerButtons), + EndContainer(), EndContainer(), }; @@ -1638,7 +1630,7 @@ static WindowDesc _last_server_desc(__FILE__, __LINE__, static WindowDesc _server_buttons_desc(__FILE__, __LINE__, WDP_AUTO, NULL, 0, 0, CM_WC_SERVER_BUTTONS, WC_NONE, - WDF_CONSTRUCTION, + WDF_CONSTRUCTION, std::begin(_nested_server_buttons_window_widgets), std::end(_nested_server_buttons_window_widgets) );