diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index 31e395823d..c8cf15c6df 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -1378,7 +1378,7 @@ private: void FilterUpdateCounts() { - if (!_FILTER_ALL || strlen(_filter_string) > 0) + if (!_FILTER_ALL || _filter_string[0] != '\0') { const auto& selectionFlags = _objectSelectionFlags; std::fill(std::begin(_filter_object_counts), std::end(_filter_object_counts), 0); diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index 8ac22a7988..90a3fee19c 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -901,7 +901,7 @@ static void WindowLoadsavePopulateList( LoadSaveListItem newListItem; newListItem.path = Path::Combine(absoluteDirectory, subDir); - newListItem.name = subDir; + newListItem.name = std::move(subDir); newListItem.type = TYPE_DIRECTORY; newListItem.loaded = false; diff --git a/src/openrct2-ui/windows/ServerList.cpp b/src/openrct2-ui/windows/ServerList.cpp index e3aaf03af6..9f339d60d7 100644 --- a/src/openrct2-ui/windows/ServerList.cpp +++ b/src/openrct2-ui/windows/ServerList.cpp @@ -315,12 +315,12 @@ static void WindowServerListTextinput(rct_window* w, rct_widgetindex widgetIndex return; std::fill_n(_playerName, sizeof(_playerName), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_playerName, text, sizeof(_playerName)); } - if (strlen(_playerName) > 0) + if (_playerName[0] != '\0') { gConfigNetwork.player_name = _playerName; config_save_default(); diff --git a/src/openrct2-ui/windows/ServerStart.cpp b/src/openrct2-ui/windows/ServerStart.cpp index 268dac3de3..2bece6f983 100644 --- a/src/openrct2-ui/windows/ServerStart.cpp +++ b/src/openrct2-ui/windows/ServerStart.cpp @@ -226,7 +226,7 @@ static void WindowServerStartTextinput(rct_window* w, rct_widgetindex widgetInde return; std::fill_n(_port, sizeof(_port), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_port, text, sizeof(_port)); } @@ -241,12 +241,12 @@ static void WindowServerStartTextinput(rct_window* w, rct_widgetindex widgetInde return; std::fill_n(_name, sizeof(_name), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_name, text, sizeof(_name)); } - if (strlen(_name) > 0) + if (_name[0] != '\0') { gConfigNetwork.server_name = _name; config_save_default(); @@ -259,12 +259,12 @@ static void WindowServerStartTextinput(rct_window* w, rct_widgetindex widgetInde return; std::fill_n(_description, sizeof(_description), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_description, text, sizeof(_description)); } - if (strlen(_description) > 0) + if (_description[0] != '\0') { gConfigNetwork.server_description = _description; config_save_default(); @@ -277,12 +277,12 @@ static void WindowServerStartTextinput(rct_window* w, rct_widgetindex widgetInde return; std::fill_n(_greeting, sizeof(_greeting), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_greeting, text, sizeof(_greeting)); } - if (strlen(_greeting) > 0) + if (_greeting[0] != '\0') { gConfigNetwork.server_greeting = _greeting; config_save_default(); @@ -295,7 +295,7 @@ static void WindowServerStartTextinput(rct_window* w, rct_widgetindex widgetInde return; std::fill_n(_password, sizeof(_password), 0x00); - if (strlen(text) > 0) + if (text[0] != '\0') { safe_strcpy(_password, text, sizeof(_password)); } diff --git a/src/openrct2/cmdline/UriHandler.cpp b/src/openrct2/cmdline/UriHandler.cpp index 9d1f21e368..ab70322626 100644 --- a/src/openrct2/cmdline/UriHandler.cpp +++ b/src/openrct2/cmdline/UriHandler.cpp @@ -64,7 +64,7 @@ static exitcode_t HandleUriJoin(const std::vector& args) { // Set the network start configuration gNetworkStart = NETWORK_MODE_CLIENT; - gNetworkStartHost = hostname; + gNetworkStartHost = std::move(hostname); gNetworkStartPort = port; return EXITCODE_CONTINUE; } @@ -88,7 +88,7 @@ static bool TryParseHostnamePort( port = std::stoi(hostnamePort.substr(colonIndex + 1)); } *outPort = port; - *outHostname = hostname; + *outHostname = std::move(hostname); return true; } catch (const std::exception&) diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 8e4982f02e..9065ba4b01 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -405,7 +405,7 @@ namespace Config playerName = String::Trim(playerName); auto model = &gConfigNetwork; - model->player_name = playerName; + model->player_name = std::move(playerName); model->default_port = reader->GetInt32("default_port", NETWORK_DEFAULT_PORT); model->listen_address = reader->GetString("listen_address", ""); model->default_password = reader->GetString("default_password", ""); diff --git a/src/openrct2/config/IniReader.cpp b/src/openrct2/config/IniReader.cpp index 4dbc09a06d..9590ff3465 100644 --- a/src/openrct2/config/IniReader.cpp +++ b/src/openrct2/config/IniReader.cpp @@ -313,7 +313,7 @@ private: value = UnquoteValue(value); value = UnescapeValue(value); - _values[key] = value; + _values[key] = std::move(value); } std::string TrimComment(const std::string& s) diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index 7f8450e26e..8c360cf387 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -164,7 +164,7 @@ template<> struct DataSerializerTraits_t len = ByteSwapBE(len); if (len == 0) { - res = ""; + res.clear(); return; } auto str = stream->ReadArray(len); diff --git a/src/openrct2/core/FileIndex.hpp b/src/openrct2/core/FileIndex.hpp index 0d01da1e42..d654f40ec0 100644 --- a/src/openrct2/core/FileIndex.hpp +++ b/src/openrct2/core/FileIndex.hpp @@ -204,7 +204,7 @@ private: JobPool jobPool; std::mutex printLock; // For verbose prints. - std::list> containers; + std::vector> containers; size_t stepSize = 100; // Handpicked, seems to work well with 4/8 cores. diff --git a/src/openrct2/core/Http.WinHttp.cpp b/src/openrct2/core/Http.WinHttp.cpp index b76df5f420..d7881f43b3 100644 --- a/src/openrct2/core/Http.WinHttp.cpp +++ b/src/openrct2/core/Http.WinHttp.cpp @@ -90,7 +90,7 @@ namespace Http { auto key = String::ToUtf8(wKey); auto value = String::ToUtf8(wValue); - headers[key] = value; + headers[key] = std::move(value); } wKey.clear(); wValue.clear(); diff --git a/src/openrct2/drawing/Text.h b/src/openrct2/drawing/Text.h index 13d5b1d8cb..6737540b36 100644 --- a/src/openrct2/drawing/Text.h +++ b/src/openrct2/drawing/Text.h @@ -37,9 +37,7 @@ struct TextPaint TextUnderline UnderlineText = TextUnderline::Off; TextAlignment Alignment = TextAlignment::LEFT; - TextPaint() - { - } + TextPaint() = default; TextPaint(colour_t colour) : Colour(colour) { diff --git a/src/openrct2/interface/Chat.cpp b/src/openrct2/interface/Chat.cpp index f42769453f..4227eb3a63 100644 --- a/src/openrct2/interface/Chat.cpp +++ b/src/openrct2/interface/Chat.cpp @@ -114,7 +114,7 @@ void chat_draw(rct_drawpixelinfo* dpi, uint8_t chatBackgroundColor) for (int32_t i = 0; i < CHAT_HISTORY_SIZE; i++) { - if (strlen(chat_history_get(i)) == 0) + if (chat_history_get(i)[0] == '\0') { continue; } @@ -238,7 +238,7 @@ void chat_input(ChatInput input) switch (input) { case ChatInput::Send: - if (strlen(_chatCurrentLine) > 0) + if (_chatCurrentLine[0] != '\0') { network_send_chat(_chatCurrentLine); } diff --git a/src/openrct2/localisation/LanguagePack.cpp b/src/openrct2/localisation/LanguagePack.cpp index 539871f761..350f92bb3a 100644 --- a/src/openrct2/localisation/LanguagePack.cpp +++ b/src/openrct2/localisation/LanguagePack.cpp @@ -114,7 +114,7 @@ public: } // Clean up the parsing work data - _currentGroup = std::string(); + _currentGroup.clear(); _currentObjectOverride = nullptr; _currentScenarioOverride = nullptr; } @@ -133,7 +133,7 @@ public: { if (_strings.size() > static_cast(stringId)) { - _strings[stringId] = std::string(); + _strings[stringId].clear(); } } @@ -566,7 +566,7 @@ private: } else { - _currentScenarioOverride->strings[stringId] = s; + _currentScenarioOverride->strings[stringId] = std::move(s); } } } diff --git a/src/openrct2/localisation/LocalisationService.cpp b/src/openrct2/localisation/LocalisationService.cpp index 9b43783803..58f57ba9d3 100644 --- a/src/openrct2/localisation/LocalisationService.cpp +++ b/src/openrct2/localisation/LocalisationService.cpp @@ -37,9 +37,7 @@ LocalisationService::LocalisationService(const std::shared_ptr -NetworkKey::NetworkKey() -{ -} -NetworkKey::~NetworkKey() -{ -} +NetworkKey::NetworkKey() = default; +NetworkKey::~NetworkKey() = default; void NetworkKey::Unload() { diff --git a/src/openrct2/network/ServerList.cpp b/src/openrct2/network/ServerList.cpp index fc5de05871..4881d52f5a 100644 --- a/src/openrct2/network/ServerList.cpp +++ b/src/openrct2/network/ServerList.cpp @@ -174,7 +174,7 @@ std::vector ServerList::ReadFavourites() const serverInfo.Name = fs.ReadStdString(); serverInfo.RequiresPassword = false; serverInfo.Description = fs.ReadStdString(); - serverInfo.Version = ""; + serverInfo.Version.clear(); serverInfo.Favourite = true; serverInfo.Players = 0; serverInfo.MaxPlayers = 0; @@ -340,7 +340,7 @@ std::future> ServerList::FetchOnlineServerListAsync } Http::Request request; - request.url = masterServerUrl; + request.url = std::move(masterServerUrl); request.method = Http::Method::GET; request.header["Accept"] = "application/json"; Http::DoAsync(request, [p](Http::Response& response) -> void { diff --git a/src/openrct2/network/Socket.cpp b/src/openrct2/network/Socket.cpp index 51dcb2516b..7dbae0fa29 100644 --- a/src/openrct2/network/Socket.cpp +++ b/src/openrct2/network/Socket.cpp @@ -257,6 +257,14 @@ private: public: TcpSocket() noexcept = default; + explicit TcpSocket(SOCKET socket, std::string hostName, std::string ipAddress) noexcept + : _status(SocketStatus::Connected) + , _socket(socket) + , _ipAddress(std::move(ipAddress)) + , _hostName(std::move(hostName)) + { + } + ~TcpSocket() override { if (_connectFuture.valid()) @@ -388,11 +396,11 @@ public: if (rc == 0) { - tcpSocket = std::unique_ptr(new TcpSocket(socket, hostName, ipAddress)); + tcpSocket = std::make_unique(socket, hostName, ipAddress); } else { - tcpSocket = std::unique_ptr(new TcpSocket(socket, "", ipAddress)); + tcpSocket = std::make_unique(socket, "", ipAddress); } } } @@ -622,14 +630,6 @@ public: } private: - explicit TcpSocket(SOCKET socket, std::string hostName, std::string ipAddress) noexcept - : _status(SocketStatus::Connected) - , _socket(socket) - , _ipAddress(std::move(ipAddress)) - , _hostName(std::move(hostName)) - { - } - void CloseSocket() { if (_socket != INVALID_SOCKET) diff --git a/src/openrct2/object/StringTable.cpp b/src/openrct2/object/StringTable.cpp index bee8045746..1cd0cf295b 100644 --- a/src/openrct2/object/StringTable.cpp +++ b/src/openrct2/object/StringTable.cpp @@ -67,7 +67,7 @@ void StringTable::Read(IReadObjectContext* context, OpenRCT2::IStream* stream, O StringTableEntry entry{}; entry.Id = id; entry.LanguageId = languageId; - entry.Text = stringAsUtf8; + entry.Text = std::move(stringAsUtf8); _strings.push_back(std::move(entry)); } } diff --git a/src/openrct2/park/ParkFile.cpp b/src/openrct2/park/ParkFile.cpp index 2c20b50b57..70fdff0604 100644 --- a/src/openrct2/park/ParkFile.cpp +++ b/src/openrct2/park/ParkFile.cpp @@ -1810,7 +1810,7 @@ namespace OpenRCT2 } else { - value = ""; + value.clear(); } } } diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 689dff2a95..8c3ba56a58 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -2105,12 +2105,12 @@ namespace RCT1 std::string userString = GetUserString(_s4.park_name_string_index); if (!userString.empty()) { - parkName = userString; + parkName = std::move(userString); } } auto& park = GetContext()->GetGameState()->GetPark(); - park.Name = parkName; + park.Name = std::move(parkName); } void ImportParkFlags() @@ -2313,8 +2313,8 @@ namespace RCT1 } } - gScenarioName = name; - gScenarioDetails = details; + gScenarioName = std::move(name); + gScenarioDetails = std::move(details); } void ImportScenarioObjective() diff --git a/src/openrct2/ride/TrackDesignRepository.cpp b/src/openrct2/ride/TrackDesignRepository.cpp index e8c450b506..65afd046a5 100644 --- a/src/openrct2/ride/TrackDesignRepository.cpp +++ b/src/openrct2/ride/TrackDesignRepository.cpp @@ -250,7 +250,7 @@ public: item->Name = newName; item->Path = newPath; SortItems(); - result = newPath; + result = std::move(newPath); } } } diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index cfeb5505ec..ffae1f169f 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -79,7 +79,7 @@ namespace OpenRCT2::Scripting _backupPlugin = _execInfo._plugin; _backupIsGameStateMutable = _execInfo._isGameStateMutable; - _execInfo._plugin = plugin; + _execInfo._plugin = std::move(plugin); _execInfo._isGameStateMutable = isGameStateMutable; } PluginScope(const PluginScope&) = delete; diff --git a/src/openrct2/scripting/bindings/game/ScConfiguration.hpp b/src/openrct2/scripting/bindings/game/ScConfiguration.hpp index 9a70c2762d..a51f623c15 100644 --- a/src/openrct2/scripting/bindings/game/ScConfiguration.hpp +++ b/src/openrct2/scripting/bindings/game/ScConfiguration.hpp @@ -113,7 +113,7 @@ namespace OpenRCT2::Scripting } else { - store = subStore; + store = std::move(subStore); } end = remainder.empty(); } while (!end); diff --git a/src/openrct2/scripting/bindings/ride/ScRide.cpp b/src/openrct2/scripting/bindings/ride/ScRide.cpp index bf4b1d578c..a69c3a59b3 100644 --- a/src/openrct2/scripting/bindings/ride/ScRide.cpp +++ b/src/openrct2/scripting/bindings/ride/ScRide.cpp @@ -80,7 +80,7 @@ namespace OpenRCT2::Scripting auto ride = GetRide(); if (ride != nullptr) { - ride->custom_name = value; + ride->custom_name = std::move(value); } } diff --git a/src/openrct2/scripting/bindings/world/ScPark.cpp b/src/openrct2/scripting/bindings/world/ScPark.cpp index 1d07f262e7..a5703e95f5 100644 --- a/src/openrct2/scripting/bindings/world/ScPark.cpp +++ b/src/openrct2/scripting/bindings/world/ScPark.cpp @@ -272,7 +272,7 @@ namespace OpenRCT2::Scripting auto& park = GetContext()->GetGameState()->GetPark(); if (park.Name != value) { - park.Name = value; + park.Name = std::move(value); gfx_invalidate_screen(); } } diff --git a/src/openrct2/title/TitleScreen.cpp b/src/openrct2/title/TitleScreen.cpp index 7131969c9e..5051a23271 100644 --- a/src/openrct2/title/TitleScreen.cpp +++ b/src/openrct2/title/TitleScreen.cpp @@ -123,7 +123,7 @@ void TitleScreen::Load() gScreenFlags = SCREEN_FLAGS_TITLE_DEMO; gScreenAge = 0; - gCurrentLoadedPath = ""; + gCurrentLoadedPath.clear(); #ifndef DISABLE_NETWORK GetContext()->GetNetwork().Close(); diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index c196a10d82..847adbe501 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -303,7 +303,7 @@ void Park::Initialise() finance_reset_history(); award_reset(); - gScenarioName = ""; + gScenarioName.clear(); gScenarioDetails = String::ToStd(language_get_string(STR_NO_DETAILS_YET)); }