From b0a8ebc8088cf0c74a44be5a6326efa08b0eb490 Mon Sep 17 00:00:00 2001 From: skdltmxn Date: Sat, 9 Jan 2021 05:59:55 +0900 Subject: [PATCH] Refactor to use push_back more efficient (#13726) --- src/openrct2-ui/audio/AudioContext.cpp | 3 +-- src/openrct2-ui/interface/Theme.cpp | 2 +- src/openrct2-ui/scripting/CustomMenu.cpp | 3 +-- src/openrct2-ui/windows/Changelog.cpp | 9 ++++----- src/openrct2-ui/windows/LoadSave.cpp | 6 +++--- src/openrct2-ui/windows/Ride.cpp | 8 +++----- src/openrct2/GameStateSnapshots.cpp | 2 +- .../actions/PlaceParkEntranceAction.cpp | 5 +---- src/openrct2/core/DataSerialiserTraits.h | 4 ++-- src/openrct2/core/FileIndex.hpp | 4 ++-- src/openrct2/core/FileScanner.cpp | 9 +++------ src/openrct2/core/JobPool.cpp | 2 +- src/openrct2/localisation/LanguagePack.cpp | 4 ++-- src/openrct2/management/Research.cpp | 20 +++++++++---------- src/openrct2/management/Research.h | 2 +- src/openrct2/network/NetworkBase.cpp | 4 ++-- src/openrct2/network/NetworkGroup.cpp | 2 +- src/openrct2/network/ServerList.cpp | 4 ++-- src/openrct2/object/ImageTable.cpp | 6 +++--- src/openrct2/object/LargeSceneryObject.cpp | 4 ++-- src/openrct2/object/ObjectRepository.cpp | 2 +- src/openrct2/object/RideObject.cpp | 10 ++++------ src/openrct2/object/SceneryGroupObject.cpp | 7 +++---- src/openrct2/object/SmallSceneryObject.cpp | 2 +- src/openrct2/object/StringTable.cpp | 4 ++-- src/openrct2/platform/Platform.Linux.cpp | 3 +-- src/openrct2/rct2/S6Importer.cpp | 4 ++-- src/openrct2/rct2/T6Importer.cpp | 2 +- src/openrct2/ride/TrackDesignRepository.cpp | 2 +- src/openrct2/ride/TrackDesignSave.cpp | 2 +- src/openrct2/scenario/ScenarioRepository.cpp | 2 +- src/openrct2/scripting/HookEngine.cpp | 3 +-- src/openrct2/scripting/ScNetwork.hpp | 3 +-- src/openrct2/title/TitleSequence.cpp | 4 ++-- src/openrct2/title/TitleSequenceManager.cpp | 2 +- src/openrct2/world/Sprite.cpp | 2 +- test/tests/ReplayTests.cpp | 2 +- 37 files changed, 71 insertions(+), 88 deletions(-) diff --git a/src/openrct2-ui/audio/AudioContext.cpp b/src/openrct2-ui/audio/AudioContext.cpp index b89a02fd44..a6b907ae63 100644 --- a/src/openrct2-ui/audio/AudioContext.cpp +++ b/src/openrct2-ui/audio/AudioContext.cpp @@ -50,8 +50,7 @@ namespace OpenRCT2::Audio int32_t numDevices = SDL_GetNumAudioDevices(SDL_FALSE); for (int32_t i = 0; i < numDevices; i++) { - std::string deviceName = String::ToStd(SDL_GetAudioDeviceName(i, SDL_FALSE)); - devices.push_back(deviceName); + devices.emplace_back(String::ToStd(SDL_GetAudioDeviceName(i, SDL_FALSE))); } return devices; } diff --git a/src/openrct2-ui/interface/Theme.cpp b/src/openrct2-ui/interface/Theme.cpp index debad2e272..4b92da7a45 100644 --- a/src/openrct2-ui/interface/Theme.cpp +++ b/src/openrct2-ui/interface/Theme.cpp @@ -283,7 +283,7 @@ json_t UIThemeWindowEntry::ToJson() const for (uint8_t i = 0; i < wtDesc->NumColours; i++) { colour_t colour = Theme.Colours[i]; - jsonColours.push_back(colour); + jsonColours.emplace_back(colour); } json_t jsonEntry = { diff --git a/src/openrct2-ui/scripting/CustomMenu.cpp b/src/openrct2-ui/scripting/CustomMenu.cpp index 3c12f038f8..078ba9d653 100644 --- a/src/openrct2-ui/scripting/CustomMenu.cpp +++ b/src/openrct2-ui/scripting/CustomMenu.cpp @@ -150,11 +150,10 @@ namespace OpenRCT2::Scripting } while (!(el++)->IsLastForTile()); } } - auto eventArgs = obj.Take(); auto& scriptEngine = GetContext()->GetScriptEngine(); std::vector args; - args.push_back(eventArgs); + args.emplace_back(obj.Take()); scriptEngine.ExecutePluginCall(Owner, dukHandler, args, false); } } diff --git a/src/openrct2-ui/windows/Changelog.cpp b/src/openrct2-ui/windows/Changelog.cpp index dbb0f0bf40..d37f0a0eaa 100644 --- a/src/openrct2-ui/windows/Changelog.cpp +++ b/src/openrct2-ui/windows/Changelog.cpp @@ -235,8 +235,7 @@ static void window_changelog_process_changelog_text(const std::string& text) std::string::size_type prev = 0; while ((pos = text.find("\n", prev)) != std::string::npos) { - std::string line = text.substr(prev, pos - prev); - _changelogLines.push_back(line); + _changelogLines.push_back(text.substr(prev, pos - prev)); prev = pos + 1; } @@ -245,7 +244,7 @@ static void window_changelog_process_changelog_text(const std::string& text) gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM; _changelogLongestLineWidth = 0; - for (auto line : _changelogLines) + for (const auto& line : _changelogLines) { auto width = gfx_get_string_width(line.c_str()); _changelogLongestLineWidth = std::max(width, _changelogLongestLineWidth); @@ -261,8 +260,8 @@ static void window_new_version_process_info() const char* version_info_ptr = _newVersionInfo->name.c_str(); format_string(version_info, 256, STR_NEW_RELEASE_VERSION_INFO, &version_info_ptr); - _changelogLines.push_back(version_info); - _changelogLines.push_back(""); + _changelogLines.emplace_back(version_info); + _changelogLines.emplace_back(""); window_changelog_process_changelog_text(_newVersionInfo->changelog); } diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index e764c72dee..072d3e2e48 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -847,7 +847,7 @@ static void window_loadsave_populate_list(rct_window* w, int32_t includeNewItem, newListItem.name = newListItem.path; newListItem.type = TYPE_DIRECTORY; - _listItems.push_back(newListItem); + _listItems.push_back(std::move(newListItem)); } } } @@ -900,7 +900,7 @@ static void window_loadsave_populate_list(rct_window* w, int32_t includeNewItem, newListItem.type = TYPE_DIRECTORY; newListItem.loaded = false; - _listItems.push_back(newListItem); + _listItems.push_back(std::move(newListItem)); } // List all files with the wanted extensions @@ -940,7 +940,7 @@ static void window_loadsave_populate_list(rct_window* w, int32_t includeNewItem, newListItem.name = Path::GetFileName(newListItem.path); } - _listItems.push_back(newListItem); + _listItems.push_back(std::move(newListItem)); } extToken = strtok(nullptr, ";"); diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 1ec11bb3d6..7657e52a48 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2025,8 +2025,7 @@ static void populate_ride_type_dropdown() for (uint8_t i = 0; i < RIDE_TYPE_COUNT; i++) { auto name = get_ride_type_name_for_dropdown(i); - RideTypeLabel label = { i, name, ls.GetString(name) }; - RideDropdownData.push_back(label); + RideDropdownData.push_back({ i, name, ls.GetString(name) }); } std::sort(RideDropdownData.begin(), RideDropdownData.end(), [](auto& a, auto& b) { @@ -2118,9 +2117,8 @@ static void populate_vehicle_type_dropdown(Ride* ride) if (!ride_entry_is_invented(rideEntryIndex) && !gCheatsIgnoreResearchStatus) continue; - VehicleTypeLabel label = { rideEntryIndex, currentRideEntry->naming.Name, - ls.GetString(currentRideEntry->naming.Name) }; - VehicleDropdownData.push_back(label); + VehicleDropdownData.push_back( + { rideEntryIndex, currentRideEntry->naming.Name, ls.GetString(currentRideEntry->naming.Name) }); } } diff --git a/src/openrct2/GameStateSnapshots.cpp b/src/openrct2/GameStateSnapshots.cpp index 39353eb20d..65dfc2e32b 100644 --- a/src/openrct2/GameStateSnapshots.cpp +++ b/src/openrct2/GameStateSnapshots.cpp @@ -588,7 +588,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots } } - res.spriteChanges.push_back(changeData); + res.spriteChanges.push_back(std::move(changeData)); } return res; diff --git a/src/openrct2/actions/PlaceParkEntranceAction.cpp b/src/openrct2/actions/PlaceParkEntranceAction.cpp index 2bdd53b522..9472879212 100644 --- a/src/openrct2/actions/PlaceParkEntranceAction.cpp +++ b/src/openrct2/actions/PlaceParkEntranceAction.cpp @@ -111,10 +111,7 @@ GameActions::Result::Ptr PlaceParkEntranceAction::Execute() const uint32_t flags = GetFlags(); - CoordsXYZD parkEntrance; - parkEntrance = _loc; - - gParkEntrances.push_back(parkEntrance); + gParkEntrances.push_back(_loc); auto zLow = _loc.z; auto zHigh = zLow + ParkEntranceHeight; diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index 20f4894c57..a1d72710a3 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -423,9 +423,9 @@ template struct DataSerializerTraits_t> DataSerializerTraits<_Ty> s; for (auto i = 0; i < len; ++i) { - _Ty sub; + _Ty sub{}; s.decode(stream, sub); - val.push_back(sub); + val.push_back(std::move(sub)); } } static void log(OpenRCT2::IStream* stream, const std::vector<_Ty>& val) diff --git a/src/openrct2/core/FileIndex.hpp b/src/openrct2/core/FileIndex.hpp index f536536692..5a62ccdeff 100644 --- a/src/openrct2/core/FileIndex.hpp +++ b/src/openrct2/core/FileIndex.hpp @@ -152,14 +152,14 @@ private: auto fileInfo = scanner->GetFileInfo(); auto path = std::string(scanner->GetPath()); - files.push_back(path); - stats.TotalFiles++; stats.TotalFileSize += fileInfo->Size; stats.FileDateModifiedChecksum ^= static_cast(fileInfo->LastModified >> 32) ^ static_cast(fileInfo->LastModified & 0xFFFFFFFF); stats.FileDateModifiedChecksum = ror32(stats.FileDateModifiedChecksum, 5); stats.PathChecksum += GetPathChecksum(path); + + files.push_back(std::move(path)); } delete scanner; } diff --git a/src/openrct2/core/FileScanner.cpp b/src/openrct2/core/FileScanner.cpp index a8105c8332..56a435c986 100644 --- a/src/openrct2/core/FileScanner.cpp +++ b/src/openrct2/core/FileScanner.cpp @@ -201,8 +201,7 @@ private: size_t length = static_cast(ch - start); if (length > 0) { - std::string newPattern = std::string(start, length); - patterns.push_back(newPattern); + patterns.emplace_back(start, length); } start = ch + 1; } @@ -237,8 +236,7 @@ public: { if (lstrcmpW(findData.cFileName, L".") != 0 && lstrcmpW(findData.cFileName, L"..") != 0) { - DirectoryChild child = CreateChild(&findData); - children.push_back(child); + children.push_back(CreateChild(&findData)); } } while (FindNextFileW(hFile, &findData)); FindClose(hFile); @@ -289,8 +287,7 @@ public: const struct dirent* node = namelist[i]; if (!String::Equals(node->d_name, ".") && !String::Equals(node->d_name, "..")) { - DirectoryChild child = CreateChild(path.c_str(), node); - children.push_back(child); + children.push_back(CreateChild(path.c_str(), node)); } free(namelist[i]); } diff --git a/src/openrct2/core/JobPool.cpp b/src/openrct2/core/JobPool.cpp index 6dd3e5f7fc..b8172b7e2c 100644 --- a/src/openrct2/core/JobPool.cpp +++ b/src/openrct2/core/JobPool.cpp @@ -116,7 +116,7 @@ void JobPool::ProcessQueue() lock.lock(); - _completed.push_back(taskData); + _completed.push_back(std::move(taskData)); _processing--; _condComplete.notify_one(); diff --git a/src/openrct2/localisation/LanguagePack.cpp b/src/openrct2/localisation/LanguagePack.cpp index ca0dfe7a31..ffe0fa589f 100644 --- a/src/openrct2/localisation/LanguagePack.cpp +++ b/src/openrct2/localisation/LanguagePack.cpp @@ -404,7 +404,7 @@ private: log_warning("Maximum number of localised object strings exceeded."); } - _objectOverrides.push_back(ObjectOverride()); + _objectOverrides.emplace_back(); _currentObjectOverride = &_objectOverrides[_objectOverrides.size() - 1]; std::copy_n(_currentGroup.c_str(), 8, _currentObjectOverride->name); } @@ -448,7 +448,7 @@ private: log_warning("Maximum number of scenario strings exceeded."); } - _scenarioOverrides.push_back(ScenarioOverride()); + _scenarioOverrides.emplace_back(); _currentScenarioOverride = &_scenarioOverrides[_scenarioOverrides.size() - 1]; _currentScenarioOverride->filename = std::string(sb.GetBuffer()); } diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 6e0e937168..ec8affcb6d 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -177,7 +177,7 @@ static void research_next_design() gResearchProgressStage = RESEARCH_STAGE_DESIGNING; gResearchItemsUninvented.erase(it); - gResearchItemsInvented.push_back(researchItem); + gResearchItemsInvented.push_back(std::move(researchItem)); research_invalidate_related_windows(); } @@ -389,16 +389,16 @@ void research_reset_current_item() * * rct2: 0x006857FA */ -static void research_insert_unresearched(ResearchItem item) +static void research_insert_unresearched(ResearchItem&& item) { - gResearchItemsUninvented.push_back(item); + gResearchItemsUninvented.push_back(std::move(item)); } /** * * rct2: 0x00685826 */ -static void research_insert_researched(ResearchItem item) +static void research_insert_researched(ResearchItem&& item) { // First check to make sure that entry is not already accounted for if (item.Exists()) @@ -406,7 +406,7 @@ static void research_insert_researched(ResearchItem item) return; } - gResearchItemsInvented.push_back(item); + gResearchItemsInvented.push_back(std::move(item)); } /** @@ -435,15 +435,15 @@ void research_remove(ResearchItem* researchItem) } } -void research_insert(ResearchItem item, bool researched) +void research_insert(ResearchItem&& item, bool researched) { if (researched) { - research_insert_researched(item); + research_insert_researched(std::move(item)); } else { - research_insert_unresearched(item); + research_insert_unresearched(std::move(item)); } } @@ -494,7 +494,7 @@ bool research_insert_ride_entry(uint8_t rideType, ObjectEntryIndex entryIndex, R if (rideType != RIDE_TYPE_NULL && entryIndex != OBJECT_ENTRY_INDEX_NULL) { auto tmpItem = ResearchItem(Research::EntryType::Ride, entryIndex, rideType, category, 0); - research_insert(tmpItem, researched); + research_insert(std::move(tmpItem), researched); return true; } @@ -520,7 +520,7 @@ bool research_insert_scenery_group_entry(ObjectEntryIndex entryIndex, bool resea { auto tmpItem = ResearchItem( Research::EntryType::Scenery, entryIndex, RIDE_TYPE_NULL, ResearchCategory::SceneryGroup, 0); - research_insert(tmpItem, researched); + research_insert(std::move(tmpItem), researched); return true; } return false; diff --git a/src/openrct2/management/Research.h b/src/openrct2/management/Research.h index 0ecef94450..c3a730bb4c 100644 --- a/src/openrct2/management/Research.h +++ b/src/openrct2/management/Research.h @@ -174,7 +174,7 @@ void research_reset_current_item(); void research_populate_list_random(); void research_finish_item(ResearchItem* researchItem); -void research_insert(ResearchItem item, bool researched); +void research_insert(ResearchItem&& item, bool researched); void research_remove(ResearchItem* researchItem); bool research_insert_ride_entry(uint8_t rideType, ObjectEntryIndex entryIndex, ResearchCategory category, bool researched); diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 9b6fd08408..0686e70060 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -2340,7 +2340,7 @@ void NetworkBase::Client_Handle_OBJECTS_LIST(NetworkConnection& connection, Netw if (object == nullptr) { log_verbose("Requesting object %s with checksum %x from server", objectName, checksum); - _missingObjects.push_back(objectName); + _missingObjects.emplace_back(objectName); } else if (object->ObjectEntry.checksum != checksum || object->ObjectEntry.flags != flags) { @@ -3048,7 +3048,7 @@ void NetworkBase::Client_Handle_PLAYERLIST([[maybe_unused]] NetworkConnection& c NetworkPlayer tempplayer; tempplayer.Read(packet); - pending.players.push_back(tempplayer); + pending.players.push_back(std::move(tempplayer)); } } diff --git a/src/openrct2/network/NetworkGroup.cpp b/src/openrct2/network/NetworkGroup.cpp index 5a1ea10d9c..50b7eb343e 100644 --- a/src/openrct2/network/NetworkGroup.cpp +++ b/src/openrct2/network/NetworkGroup.cpp @@ -57,7 +57,7 @@ json_t NetworkGroup::ToJson() const { if (CanPerformAction(static_cast(i))) { - actionsArray.push_back(NetworkActions::Actions[i].PermissionName); + actionsArray.emplace_back(NetworkActions::Actions[i].PermissionName); } } jsonGroup["permissions"] = actionsArray; diff --git a/src/openrct2/network/ServerList.cpp b/src/openrct2/network/ServerList.cpp index 1ab2a0e7c6..45fa0ffff1 100644 --- a/src/openrct2/network/ServerList.cpp +++ b/src/openrct2/network/ServerList.cpp @@ -279,7 +279,7 @@ std::future> ServerList::FetchLocalServerListAsync( if (entry.has_value()) { (*entry).Local = true; - entries.push_back(*entry); + entries.push_back(std::move(*entry)); } } } @@ -383,7 +383,7 @@ std::future> ServerList::FetchOnlineServerListAsync auto entry = ServerListEntry::FromJson(jServer); if (entry.has_value()) { - entries.push_back(*entry); + entries.push_back(std::move(*entry)); } } } diff --git a/src/openrct2/object/ImageTable.cpp b/src/openrct2/object/ImageTable.cpp index d73d1b28d4..0c70da90cc 100644 --- a/src/openrct2/object/ImageTable.cpp +++ b/src/openrct2/object/ImageTable.cpp @@ -332,7 +332,7 @@ void ImageTable::Read(IReadObjectContext* context, OpenRCT2::IStream* stream) std::vector newEntries; for (uint32_t i = 0; i < numImages; i++) { - rct_g1_element g1Element; + rct_g1_element g1Element{}; uintptr_t imageDataOffset = static_cast(stream->ReadValue()); g1Element.offset = reinterpret_cast(imageDataBase + imageDataOffset); @@ -344,7 +344,7 @@ void ImageTable::Read(IReadObjectContext* context, OpenRCT2::IStream* stream) g1Element.flags = stream->ReadValue(); g1Element.zoomed_offset = stream->ReadValue(); - newEntries.push_back(g1Element); + newEntries.push_back(std::move(g1Element)); } // Read g1 element data @@ -445,5 +445,5 @@ void ImageTable::AddImage(const rct_g1_element* g1) newg1.offset = new uint8_t[length]; std::copy_n(g1->offset, length, newg1.offset); } - _entries.push_back(newg1); + _entries.push_back(std::move(newg1)); } diff --git a/src/openrct2/object/LargeSceneryObject.cpp b/src/openrct2/object/LargeSceneryObject.cpp index 4137191ae2..47d3a3cc52 100644 --- a/src/openrct2/object/LargeSceneryObject.cpp +++ b/src/openrct2/object/LargeSceneryObject.cpp @@ -115,7 +115,7 @@ std::vector LargeSceneryObject::ReadTiles(OpenRCT2::IStr { stream->Seek(-2, OpenRCT2::STREAM_SEEK_CURRENT); auto tile = stream->ReadValue(); - tiles.push_back(tile); + tiles.push_back(std::move(tile)); } tiles.push_back({ -1, -1, -1, 255, 0xFFFF }); return tiles; @@ -196,7 +196,7 @@ std::vector LargeSceneryObject::ReadJsonTiles(json_t& jT auto walls = Json::GetNumber(jTile["walls"]); tile.flags |= (walls & 0xFF) << 8; - tiles.push_back(tile); + tiles.push_back(std::move(tile)); } } diff --git a/src/openrct2/object/ObjectRepository.cpp b/src/openrct2/object/ObjectRepository.cpp index 5b6ad4e929..395adef96d 100644 --- a/src/openrct2/object/ObjectRepository.cpp +++ b/src/openrct2/object/ObjectRepository.cpp @@ -420,7 +420,7 @@ private: size_t index = _items.size(); auto copy = item; copy.Id = index; - _items.push_back(copy); + _items.push_back(std::move(copy)); if (!item.Identifier.empty()) { _newItemMap[item.Identifier] = index; diff --git a/src/openrct2/object/RideObject.cpp b/src/openrct2/object/RideObject.cpp index 33f003ca22..dab1f77045 100644 --- a/src/openrct2/object/RideObject.cpp +++ b/src/openrct2/object/RideObject.cpp @@ -152,7 +152,7 @@ void RideObject::ReadLegacy(IReadObjectContext* context, IStream* stream) entry[2].y = stream->ReadValue(); stream->ReadValue(); // Skip blanks - _peepLoadingWaypoints[i].push_back(entry); + _peepLoadingWaypoints[i].push_back(std::move(entry)); } } else @@ -695,15 +695,13 @@ std::vector RideObject::ReadJsonCars(json_t& jCars) { if (jCar.is_object()) { - auto car = ReadJsonCar(jCar); - cars.push_back(car); + cars.push_back(ReadJsonCar(jCar)); } } } else if (jCars.is_object()) { - auto car = ReadJsonCar(jCars); - cars.push_back(car); + cars.push_back(ReadJsonCar(jCars)); } return cars; @@ -777,7 +775,7 @@ rct_ride_entry_vehicle RideObject::ReadJsonCar(json_t& jCar) } } - car.peep_loading_waypoints.push_back(entry); + car.peep_loading_waypoints.push_back(std::move(entry)); } } } diff --git a/src/openrct2/object/SceneryGroupObject.cpp b/src/openrct2/object/SceneryGroupObject.cpp index a9f63c57a4..20deaaa397 100644 --- a/src/openrct2/object/SceneryGroupObject.cpp +++ b/src/openrct2/object/SceneryGroupObject.cpp @@ -105,7 +105,7 @@ std::vector SceneryGroupObject::ReadItems(IStream* stream { stream->Seek(-1, STREAM_SEEK_CURRENT); auto entry = stream->ReadValue(); - items.push_back(ObjectEntryDescriptor(entry)); + items.emplace_back(entry); } return items; } @@ -170,10 +170,9 @@ std::vector SceneryGroupObject::ReadJsonEntries(json_t& j { std::vector entries; - for (auto& jEntry : jEntries) + for (const auto& jEntry : jEntries) { - auto entry = ObjectEntryDescriptor(Json::GetString(jEntry)); - entries.push_back(entry); + entries.emplace_back(Json::GetString(jEntry)); } return entries; } diff --git a/src/openrct2/object/SmallSceneryObject.cpp b/src/openrct2/object/SmallSceneryObject.cpp index 497e7e2ba4..bc57d6c534 100644 --- a/src/openrct2/object/SmallSceneryObject.cpp +++ b/src/openrct2/object/SmallSceneryObject.cpp @@ -311,7 +311,7 @@ std::vector SmallSceneryObject::ReadJsonFrameOffsets(json_t& jFrameOffs { std::vector offsets; - for (auto& jOffset : jFrameOffsets) + for (const auto& jOffset : jFrameOffsets) { offsets.push_back(Json::GetNumber(jOffset)); } diff --git a/src/openrct2/object/StringTable.cpp b/src/openrct2/object/StringTable.cpp index 82dd2a75bd..bee8045746 100644 --- a/src/openrct2/object/StringTable.cpp +++ b/src/openrct2/object/StringTable.cpp @@ -68,7 +68,7 @@ void StringTable::Read(IReadObjectContext* context, OpenRCT2::IStream* stream, O entry.Id = id; entry.LanguageId = languageId; entry.Text = stringAsUtf8; - _strings.push_back(entry); + _strings.push_back(std::move(entry)); } } } @@ -149,7 +149,7 @@ void StringTable::SetString(ObjectStringID id, uint8_t language, const std::stri entry.Id = id; entry.LanguageId = language; entry.Text = text; - _strings.push_back(entry); + _strings.push_back(std::move(entry)); } void StringTable::Sort() diff --git a/src/openrct2/platform/Platform.Linux.cpp b/src/openrct2/platform/Platform.Linux.cpp index b04f80b2e7..9daa8980cc 100644 --- a/src/openrct2/platform/Platform.Linux.cpp +++ b/src/openrct2/platform/Platform.Linux.cpp @@ -90,8 +90,7 @@ namespace Platform // exeDir should come first to allow installing into build dir std::vector prefixes; auto exePath = Platform::GetCurrentExecutablePath(); - auto exeDirectory = Path::GetDirectory(exePath); - prefixes.push_back(exeDirectory); + prefixes.push_back(Path::GetDirectory(exePath)); prefixes.push_back(GetCurrentWorkingDirectory()); prefixes.push_back("/"); static const char* SearchLocations[] = { diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index bacd7058c7..1b08ed6726 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -927,9 +927,9 @@ public: } if (invented) - gResearchItemsInvented.push_back(ResearchItem(researchItem)); + gResearchItemsInvented.emplace_back(researchItem); else - gResearchItemsUninvented.push_back(ResearchItem(researchItem)); + gResearchItemsUninvented.emplace_back(researchItem); } } diff --git a/src/openrct2/rct2/T6Importer.cpp b/src/openrct2/rct2/T6Importer.cpp index 48574efde9..744b7a5e79 100644 --- a/src/openrct2/rct2/T6Importer.cpp +++ b/src/openrct2/rct2/T6Importer.cpp @@ -202,7 +202,7 @@ public: sceneryElement.flags = t6SceneryElement.flags; sceneryElement.primary_colour = t6SceneryElement.primary_colour; sceneryElement.secondary_colour = t6SceneryElement.secondary_colour; - td->scenery_elements.push_back(sceneryElement); + td->scenery_elements.push_back(std::move(sceneryElement)); } td->name = _name; diff --git a/src/openrct2/ride/TrackDesignRepository.cpp b/src/openrct2/ride/TrackDesignRepository.cpp index 0b15b0ea71..4b16da4b24 100644 --- a/src/openrct2/ride/TrackDesignRepository.cpp +++ b/src/openrct2/ride/TrackDesignRepository.cpp @@ -271,7 +271,7 @@ public: auto td = _fileIndex.Create(language, newPath); if (std::get<0>(td)) { - _items.push_back(std::get<1>(td)); + _items.push_back(std::move(std::get<1>(td))); SortItems(); result = path; } diff --git a/src/openrct2/ride/TrackDesignSave.cpp b/src/openrct2/ride/TrackDesignSave.cpp index 71644ae98c..3a8a7b2ef3 100644 --- a/src/openrct2/ride/TrackDesignSave.cpp +++ b/src/openrct2/ride/TrackDesignSave.cpp @@ -205,7 +205,7 @@ static void track_design_save_push_tile_element_desc( item.primary_colour = primaryColour; item.secondary_colour = secondaryColour; - _trackSavedTileElementsDesc.push_back(item); + _trackSavedTileElementsDesc.push_back(std::move(item)); } static void track_design_save_add_scenery(const CoordsXY& loc, SmallSceneryElement* sceneryElement) diff --git a/src/openrct2/scenario/ScenarioRepository.cpp b/src/openrct2/scenario/ScenarioRepository.cpp index e16234003f..27abf48eb3 100644 --- a/src/openrct2/scenario/ScenarioRepository.cpp +++ b/src/openrct2/scenario/ScenarioRepository.cpp @@ -344,7 +344,7 @@ public: // Reload scenarios from index _scenarios.clear(); auto scenarios = _fileIndex.LoadOrBuild(language); - for (auto scenario : scenarios) + for (const auto& scenario : scenarios) { AddScenario(scenario); } diff --git a/src/openrct2/scripting/HookEngine.cpp b/src/openrct2/scripting/HookEngine.cpp index fde3968bf1..33b6dde3b2 100644 --- a/src/openrct2/scripting/HookEngine.cpp +++ b/src/openrct2/scripting/HookEngine.cpp @@ -48,8 +48,7 @@ uint32_t HookEngine::Subscribe(HOOK_TYPE type, std::shared_ptr owner, co { auto& hookList = GetHookList(type); auto cookie = _nextCookie++; - Hook hook(cookie, owner, function); - hookList.Hooks.push_back(hook); + hookList.Hooks.emplace_back(cookie, owner, function); return cookie; } diff --git a/src/openrct2/scripting/ScNetwork.hpp b/src/openrct2/scripting/ScNetwork.hpp index bd183c6549..9497eaf600 100644 --- a/src/openrct2/scripting/ScNetwork.hpp +++ b/src/openrct2/scripting/ScNetwork.hpp @@ -71,8 +71,7 @@ namespace OpenRCT2::Scripting { if (network_can_perform_action(index, static_cast(permissionIndex))) { - auto p = TransformPermissionKeyToJS(action.PermissionName); - result.push_back(p); + result.push_back(TransformPermissionKeyToJS(action.PermissionName)); } permissionIndex++; } diff --git a/src/openrct2/title/TitleSequence.cpp b/src/openrct2/title/TitleSequence.cpp index e049424dfd..aad7a85bbb 100644 --- a/src/openrct2/title/TitleSequence.cpp +++ b/src/openrct2/title/TitleSequence.cpp @@ -311,7 +311,7 @@ static std::vector GetSaves(IZipArchive* zip) auto ext = Path::GetExtension(name); if (String::Equals(ext, ".sv6", true) || String::Equals(ext, ".sc6", true)) { - saves.push_back(name); + saves.push_back(std::move(name)); } } return saves; @@ -395,7 +395,7 @@ static std::vector LegacyScriptRead(const std::vector& sc } if (command.Type != TitleScript::Undefined) { - commands.push_back(command); + commands.push_back(std::move(command)); } } while (fs.GetPosition() < fs.GetLength()); return commands; diff --git a/src/openrct2/title/TitleSequenceManager.cpp b/src/openrct2/title/TitleSequenceManager.cpp index 04218121a2..02c8c381f0 100644 --- a/src/openrct2/title/TitleSequenceManager.cpp +++ b/src/openrct2/title/TitleSequenceManager.cpp @@ -249,7 +249,7 @@ namespace TitleSequenceManager return; } - _items.push_back(item); + _items.push_back(std::move(item)); } static std::string GetNameFromSequencePath(const std::string& path) diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 7f3cd2acdd..35976e6e11 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -918,7 +918,7 @@ void EntityTweener::PopulateEntities(EntityListId id) { for (auto ent : EntityList(id)) { - Entities.push_back(&(*ent)); + Entities.push_back(ent); PrePos.emplace_back(ent->x, ent->y, ent->z); } } diff --git a/test/tests/ReplayTests.cpp b/test/tests/ReplayTests.cpp index 653aa97657..81d6026719 100644 --- a/test/tests/ReplayTests.cpp +++ b/test/tests/ReplayTests.cpp @@ -59,7 +59,7 @@ static std::vector GetReplayFiles() ReplayTestData test; test.name = sanitizeTestName(scanner->GetFileInfo()->Name); test.filePath = scanner->GetPath(); - res.push_back(test); + res.push_back(std::move(test)); } return res; }