diff --git a/src/openrct2/Editor.cpp b/src/openrct2/Editor.cpp index 5976d7e031..11a55f0e15 100644 --- a/src/openrct2/Editor.cpp +++ b/src/openrct2/Editor.cpp @@ -34,6 +34,7 @@ #include "util/Util.h" #include "windows/Intent.h" #include "world/Climate.h" +#include "world/EntityList.h" #include "world/Entrance.h" #include "world/Footpath.h" #include "world/Park.h" @@ -310,13 +311,13 @@ namespace Editor ride_init_all(); // - for (int32_t i = 0; i < MAX_ENTITIES; i++) + for (auto* guest : EntityList()) { - auto peep = GetEntity(i); - if (peep != nullptr) - { - peep->SetName({}); - } + guest->SetName({}); + } + for (auto* staff : EntityList()) + { + staff->SetName({}); } reset_sprite_list(); diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 3008675078..c7bb455dc3 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -1580,49 +1580,43 @@ static int32_t cc_mp_desync(InteractiveConsole& console, const arguments_t& argv desyncType = atoi(argv[0].c_str()); } - std::vector peeps; + std::vector guests; - for (int i = 0; i < MAX_ENTITIES; i++) + for (auto* guest : EntityList()) { - auto* sprite = GetEntity(i); - if (sprite == nullptr || sprite->Type == EntityType::Null) - continue; - - auto peep = sprite->As(); - if (peep != nullptr) - peeps.push_back(peep); + guests.push_back(guest); } switch (desyncType) { - case 0: // Peep t-shirts. + case 0: // Guest t-shirts. { - if (peeps.empty()) + if (guests.empty()) { - console.WriteFormatLine("No peeps"); + console.WriteFormatLine("No guests"); } else { - auto* peep = peeps[0]; - if (peeps.size() > 1) - peep = peeps[util_rand() % peeps.size() - 1]; - peep->TshirtColour = util_rand() & 0xFF; - peep->Invalidate(); + auto* guest = guests[0]; + if (guests.size() > 1) + guest = guests[util_rand() % guests.size() - 1]; + guest->TshirtColour = util_rand() & 0xFF; + guest->Invalidate(); } break; } - case 1: // Remove random peep. + case 1: // Remove random guest. { - if (peeps.empty()) + if (guests.empty()) { - console.WriteFormatLine("No peep removed"); + console.WriteFormatLine("No guest removed"); } else { - auto* peep = peeps[0]; - if (peeps.size() > 1) - peep = peeps[util_rand() % peeps.size() - 1]; - peep->Remove(); + auto* guest = guests[0]; + if (guests.size() > 1) + guest = guests[util_rand() % guests.size() - 1]; + guest->Remove(); } break; } @@ -1810,7 +1804,7 @@ static constexpr const console_command console_command_table[] = { { "replay_start", cc_replay_start, "Starts a replay", "replay_start "}, { "replay_stop", cc_replay_stop, "Stops the replay", "replay_stop"}, { "replay_normalise", cc_replay_normalise, "Normalises the replay to remove all gaps", "replay_normalise "}, - { "mp_desync", cc_mp_desync, "Forces a multiplayer desync", "cc_mp_desync [desync_type, 0 = Random t-shirt color on random peep, 1 = Remove random peep ]"}, + { "mp_desync", cc_mp_desync, "Forces a multiplayer desync", "cc_mp_desync [desync_type, 0 = Random t-shirt color on random guest, 1 = Remove random guest ]"}, }; // clang-format on diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index f8dfd2cdd4..09af260a4b 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -1360,13 +1360,9 @@ private: ImportPeep(peep, srcPeep); } } - for (size_t i = 0; i < MAX_ENTITIES; i++) + for (auto* vehicle : EntityList()) { - auto vehicle = GetEntity(i); - if (vehicle != nullptr) - { - FixVehiclePeepLinks(vehicle, spriteIndexMap); - } + FixVehiclePeepLinks(vehicle, spriteIndexMap); } for (auto& ride : GetRideManager()) @@ -1374,12 +1370,11 @@ private: FixRidePeepLinks(&ride, spriteIndexMap); } + for (auto peep : EntityList()) { - for (auto peep : EntityList()) - { - FixPeepNextInQueue(peep, spriteIndexMap); - } + FixPeepNextInQueue(peep, spriteIndexMap); } + // Fix the news items in advance for (auto i = 0; i < News::MaxItems; i++) {