From 3199029168ff67ccc4ee5289e4f10eb879cd5bdb Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 29 May 2021 07:47:49 +0100 Subject: [PATCH 1/6] Split off EntityTweener into seperate file --- src/openrct2/Context.cpp | 1 + src/openrct2/ReplayManager.cpp | 1 + src/openrct2/libopenrct2.vcxproj | 2 + src/openrct2/network/NetworkBase.cpp | 1 + src/openrct2/peep/Peep.cpp | 1 + src/openrct2/rct2/S6Importer.cpp | 1 + src/openrct2/world/EntityTweener.cpp | 120 +++++++++++++++++++++++++++ src/openrct2/world/EntityTweener.h | 31 +++++++ src/openrct2/world/Sprite.cpp | 107 +----------------------- src/openrct2/world/Sprite.h | 21 ----- test/tests/PlayTests.cpp | 1 + test/tests/S6ImportExportTests.cpp | 1 + 12 files changed, 161 insertions(+), 127 deletions(-) create mode 100644 src/openrct2/world/EntityTweener.cpp create mode 100644 src/openrct2/world/EntityTweener.h diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index fe376141b1..6ac59f67a2 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -63,6 +63,7 @@ #include "ui/UiContext.h" #include "ui/WindowManager.h" #include "util/Util.h" +#include "world/EntityTweener.h" #include "world/Park.h" #include "world/Sprite.h" diff --git a/src/openrct2/ReplayManager.cpp b/src/openrct2/ReplayManager.cpp index 81c6746bd8..e3022c3190 100644 --- a/src/openrct2/ReplayManager.cpp +++ b/src/openrct2/ReplayManager.cpp @@ -29,6 +29,7 @@ #include "object/ObjectManager.h" #include "object/ObjectRepository.h" #include "rct2/S6Exporter.h" +#include "world/EntityTweener.h" #include "world/Park.h" #include "world/Sprite.h" #include "zlib.h" diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj index c1ec236294..709f91c421 100644 --- a/src/openrct2/libopenrct2.vcxproj +++ b/src/openrct2/libopenrct2.vcxproj @@ -443,6 +443,7 @@ + @@ -865,6 +866,7 @@ + diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 67513a98ac..d78195f95f 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -25,6 +25,7 @@ #include "../ui/WindowManager.h" #include "../util/SawyerCoding.h" #include "../world/EntityList.h" +#include "../world/EntityTweener.h" #include "../world/Location.hpp" #include "../world/Sprite.h" #include "network.h" diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index 251ea87d72..8015ae0898 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -36,6 +36,7 @@ #include "../windows/Intent.h" #include "../world/Balloon.h" #include "../world/Climate.h" +#include "../world/EntityTweener.h" #include "../world/Entrance.h" #include "../world/Footpath.h" #include "../world/LargeScenery.h" diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 2cf402ad0a..27fea354e6 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -54,6 +54,7 @@ #include "../world/Climate.h" #include "../world/Duck.h" #include "../world/EntityList.h" +#include "../world/EntityTweener.h" #include "../world/Entrance.h" #include "../world/Fountain.h" #include "../world/Litter.h" diff --git a/src/openrct2/world/EntityTweener.cpp b/src/openrct2/world/EntityTweener.cpp new file mode 100644 index 0000000000..21de93d9a3 --- /dev/null +++ b/src/openrct2/world/EntityTweener.cpp @@ -0,0 +1,120 @@ +/***************************************************************************** + * Copyright (c) 2014-2021 OpenRCT2 developers + * + * For a complete list of all authors, please refer to contributors.md + * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 + * + * OpenRCT2 is licensed under the GNU General Public License version 3. + *****************************************************************************/ +#include "EntityTweener.h" + +#include "../peep/Peep.h" +#include "../ride/Vehicle.h" +#include "EntityList.h" +#include "Sprite.h" + +void EntityTweener::PopulateEntities() +{ + for (auto ent : EntityList()) + { + Entities.push_back(ent); + PrePos.emplace_back(ent->x, ent->y, ent->z); + } + for (auto ent : EntityList()) + { + Entities.push_back(ent); + PrePos.emplace_back(ent->x, ent->y, ent->z); + } + for (auto ent : EntityList()) + { + Entities.push_back(ent); + PrePos.emplace_back(ent->x, ent->y, ent->z); + } +} + +void EntityTweener::PreTick() +{ + Restore(); + Reset(); + PopulateEntities(); +} + +void EntityTweener::PostTick() +{ + for (auto* ent : Entities) + { + if (ent == nullptr) + { + // Sprite was removed, add a dummy position to keep the index aligned. + PostPos.emplace_back(0, 0, 0); + } + else + { + PostPos.emplace_back(ent->x, ent->y, ent->z); + } + } +} + +void EntityTweener::RemoveEntity(SpriteBase* entity) +{ + if (!entity->Is() && !entity->Is()) + { + // Only peeps and vehicles are tweened, bail if type is incorrect. + return; + } + + auto it = std::find(Entities.begin(), Entities.end(), entity); + if (it != Entities.end()) + *it = nullptr; +} + +void EntityTweener::Tween(float alpha) +{ + const float inv = (1.0f - alpha); + for (size_t i = 0; i < Entities.size(); ++i) + { + auto* ent = Entities[i]; + if (ent == nullptr) + continue; + + auto& posA = PrePos[i]; + auto& posB = PostPos[i]; + + if (posA == posB) + continue; + + sprite_set_coordinates( + { static_cast(std::round(posB.x * alpha + posA.x * inv)), + static_cast(std::round(posB.y * alpha + posA.y * inv)), + static_cast(std::round(posB.z * alpha + posA.z * inv)) }, + ent); + ent->Invalidate(); + } +} + +void EntityTweener::Restore() +{ + for (size_t i = 0; i < Entities.size(); ++i) + { + auto* ent = Entities[i]; + if (ent == nullptr) + continue; + + sprite_set_coordinates(PostPos[i], ent); + ent->Invalidate(); + } +} + +void EntityTweener::Reset() +{ + Entities.clear(); + PrePos.clear(); + PostPos.clear(); +} + +static EntityTweener tweener; + +EntityTweener& EntityTweener::Get() +{ + return tweener; +} diff --git a/src/openrct2/world/EntityTweener.h b/src/openrct2/world/EntityTweener.h new file mode 100644 index 0000000000..1e3d734185 --- /dev/null +++ b/src/openrct2/world/EntityTweener.h @@ -0,0 +1,31 @@ +/***************************************************************************** + * Copyright (c) 2014-2021 OpenRCT2 developers + * + * For a complete list of all authors, please refer to contributors.md + * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 + * + * OpenRCT2 is licensed under the GNU General Public License version 3. + *****************************************************************************/ + +#include "SpriteBase.h" +#include + +class EntityTweener +{ + std::vector Entities; + std::vector PrePos; + std::vector PostPos; + +private: + void PopulateEntities(); + +public: + static EntityTweener& Get(); + + void PreTick(); + void PostTick(); + void RemoveEntity(SpriteBase* entity); + void Tween(float alpha); + void Restore(); + void Reset(); +}; diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index a5a7083e14..4aad4b1632 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -26,6 +26,7 @@ #include "../scenario/Scenario.h" #include "Balloon.h" #include "Duck.h" +#include "EntityTweener.h" #include "Fountain.h" #include "MoneyEffect.h" #include "Particle.h" @@ -808,112 +809,6 @@ uint16_t remove_floating_sprites() return removed; } -void EntityTweener::PopulateEntities() -{ - for (auto ent : EntityList()) - { - Entities.push_back(ent); - PrePos.emplace_back(ent->x, ent->y, ent->z); - } - for (auto ent : EntityList()) - { - Entities.push_back(ent); - PrePos.emplace_back(ent->x, ent->y, ent->z); - } - for (auto ent : EntityList()) - { - Entities.push_back(ent); - PrePos.emplace_back(ent->x, ent->y, ent->z); - } -} - -void EntityTweener::PreTick() -{ - Restore(); - Reset(); - PopulateEntities(); -} - -void EntityTweener::PostTick() -{ - for (auto* ent : Entities) - { - if (ent == nullptr) - { - // Sprite was removed, add a dummy position to keep the index aligned. - PostPos.emplace_back(0, 0, 0); - } - else - { - PostPos.emplace_back(ent->x, ent->y, ent->z); - } - } -} - -void EntityTweener::RemoveEntity(SpriteBase* entity) -{ - if (!entity->Is() && !entity->Is()) - { - // Only peeps and vehicles are tweened, bail if type is incorrect. - return; - } - - auto it = std::find(Entities.begin(), Entities.end(), entity); - if (it != Entities.end()) - *it = nullptr; -} - -void EntityTweener::Tween(float alpha) -{ - const float inv = (1.0f - alpha); - for (size_t i = 0; i < Entities.size(); ++i) - { - auto* ent = Entities[i]; - if (ent == nullptr) - continue; - - auto& posA = PrePos[i]; - auto& posB = PostPos[i]; - - if (posA == posB) - continue; - - sprite_set_coordinates( - { static_cast(std::round(posB.x * alpha + posA.x * inv)), - static_cast(std::round(posB.y * alpha + posA.y * inv)), - static_cast(std::round(posB.z * alpha + posA.z * inv)) }, - ent); - ent->Invalidate(); - } -} - -void EntityTweener::Restore() -{ - for (size_t i = 0; i < Entities.size(); ++i) - { - auto* ent = Entities[i]; - if (ent == nullptr) - continue; - - sprite_set_coordinates(PostPos[i], ent); - ent->Invalidate(); - } -} - -void EntityTweener::Reset() -{ - Entities.clear(); - PrePos.clear(); - PostPos.clear(); -} - -static EntityTweener tweener; - -EntityTweener& EntityTweener::Get() -{ - return tweener; -} - void sprite_set_flashing(SpriteBase* sprite, bool flashing) { assert(sprite->sprite_index < MAX_ENTITIES); diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index ccf3d80ead..873bbd6791 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -14,7 +14,6 @@ #include "SpriteBase.h" #include -#include class DataSerialiser; @@ -97,24 +96,4 @@ rct_sprite_checksum sprite_checksum(); void sprite_set_flashing(SpriteBase* sprite, bool flashing); bool sprite_get_flashing(SpriteBase* sprite); -class EntityTweener -{ - std::vector Entities; - std::vector PrePos; - std::vector PostPos; - -private: - void PopulateEntities(); - -public: - static EntityTweener& Get(); - - void PreTick(); - void PostTick(); - void RemoveEntity(SpriteBase* entity); - void Tween(float alpha); - void Restore(); - void Reset(); -}; - #endif diff --git a/test/tests/PlayTests.cpp b/test/tests/PlayTests.cpp index bc203938d5..3b41fb0bfb 100644 --- a/test/tests/PlayTests.cpp +++ b/test/tests/PlayTests.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/test/tests/S6ImportExportTests.cpp b/test/tests/S6ImportExportTests.cpp index 678e4d40e4..7044adfa16 100644 --- a/test/tests/S6ImportExportTests.cpp +++ b/test/tests/S6ImportExportTests.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include From 63bcb3c3e5b7a19465c62bafbc0bfee83493a966 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 29 May 2021 08:07:32 +0100 Subject: [PATCH 2/6] Move particle structs to particle files --- src/openrct2/peep/Guest.cpp | 5 +- src/openrct2/ride/Vehicle.cpp | 32 ++------- src/openrct2/world/EntityTweener.h | 3 + src/openrct2/world/Particle.cpp | 105 +++++++++++++++++++++++++++++ src/openrct2/world/Particle.h | 26 +++++++ src/openrct2/world/Sprite.cpp | 82 ---------------------- src/openrct2/world/Sprite.h | 27 -------- 7 files changed, 142 insertions(+), 138 deletions(-) diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index 6263d7d383..545af5f76b 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -38,6 +38,7 @@ #include "../world/Map.h" #include "../world/MoneyEffect.h" #include "../world/Park.h" +#include "../world/Particle.h" #include "../world/Scenery.h" #include "../world/Sprite.h" #include "../world/Surface.h" @@ -894,8 +895,8 @@ void Guest::Tick128UpdateGuest(int32_t index) { OpenRCT2::Audio::Play3D(OpenRCT2::Audio::SoundId::Crash, { x, y, z }); - sprite_misc_explosion_cloud_create({ x, y, z + 16 }); - sprite_misc_explosion_flare_create({ x, y, z + 16 }); + ExplosionCloud::Create({ x, y, z + 16 }); + ExplosionFlare::Create({ x, y, z + 16 }); Remove(); return; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 0be76252fd..40a9917764 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -3600,7 +3600,7 @@ void Vehicle::UpdateCollisionSetup() OpenRCT2::Audio::Play3D(OpenRCT2::Audio::SoundId::Crash, { train->x, train->y, train->z }); - sprite_misc_explosion_cloud_create({ train->x, train->y, train->z }); + ExplosionCloud::Create({ train->x, train->y, train->z }); for (int32_t i = 0; i < 10; i++) { @@ -5358,8 +5358,8 @@ void Vehicle::CrashOnLand() sub_state = 2; OpenRCT2::Audio::Play3D(OpenRCT2::Audio::SoundId::Crash, { x, y, z }); - sprite_misc_explosion_cloud_create({ x, y, z }); - sprite_misc_explosion_flare_create({ x, y, z }); + ExplosionCloud::Create({ x, y, z }); + ExplosionFlare::Create({ x, y, z }); uint8_t numParticles = std::min(sprite_width, static_cast(7)); @@ -5459,7 +5459,7 @@ void Vehicle::UpdateCrash() { int32_t xOffset = (scenario_rand() & 2) - 1; int32_t yOffset = (scenario_rand() & 2) - 1; - sprite_misc_explosion_cloud_create({ curVehicle->x + xOffset, curVehicle->y + yOffset, curVehicle->z }); + ExplosionCloud::Create({ curVehicle->x + xOffset, curVehicle->y + yOffset, curVehicle->z }); } } if (curVehicle->var_C8 + 7281 > 0xFFFF) @@ -7225,28 +7225,6 @@ void Vehicle::UpdateSpinningCar() Invalidate(); } -/** - * - * rct2: 0x006734B2 - */ -static void steam_particle_create(const CoordsXYZ& coords) -{ - auto surfaceElement = map_get_surface_element_at(coords); - if (surfaceElement != nullptr && coords.z > surfaceElement->GetBaseZ()) - { - SteamParticle* steam = CreateEntity(); - if (steam == nullptr) - return; - - steam->sprite_width = 20; - steam->sprite_height_negative = 18; - steam->sprite_height_positive = 16; - steam->frame = 256; - steam->time_to_move = 0; - steam->MoveTo(coords); - } -} - /** * * rct2: 0x006D63D4 @@ -7298,7 +7276,7 @@ void Vehicle::UpdateAdditionalAnimation() }(); int32_t directionIndex = sprite_direction >> 1; auto offset = SteamParticleOffsets[typeIndex][directionIndex]; - steam_particle_create({ x + offset.x, y + offset.y, z + offset.z }); + SteamParticle::Create({ x + offset.x, y + offset.y, z + offset.z }); } } } diff --git a/src/openrct2/world/EntityTweener.h b/src/openrct2/world/EntityTweener.h index 1e3d734185..7e6dfaf843 100644 --- a/src/openrct2/world/EntityTweener.h +++ b/src/openrct2/world/EntityTweener.h @@ -7,7 +7,10 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ +#pragma once + #include "SpriteBase.h" + #include class EntityTweener diff --git a/src/openrct2/world/Particle.cpp b/src/openrct2/world/Particle.cpp index 965797e4e3..80d94b8765 100644 --- a/src/openrct2/world/Particle.cpp +++ b/src/openrct2/world/Particle.cpp @@ -143,3 +143,108 @@ void CrashSplashParticle::Update() sprite_remove(this); } } + +/** + * + * rct2: 0x006734B2 + */ +void SteamParticle::Create(const CoordsXYZ& coords) +{ + auto surfaceElement = map_get_surface_element_at(coords); + if (surfaceElement != nullptr && coords.z > surfaceElement->GetBaseZ()) + { + SteamParticle* steam = CreateEntity(); + if (steam == nullptr) + return; + + steam->sprite_width = 20; + steam->sprite_height_negative = 18; + steam->sprite_height_positive = 16; + steam->frame = 256; + steam->time_to_move = 0; + steam->MoveTo(coords); + } +} + +/** + * + * rct2: 0x00673200 + */ +void SteamParticle::Update() +{ + // Move up 1 z every 3 ticks (Starts after 4 ticks) + Invalidate(); + time_to_move++; + if (time_to_move >= 4) + { + time_to_move = 1; + MoveTo({ x, y, z + 1 }); + } + frame += 64; + if (frame >= (56 * 64)) + { + sprite_remove(this); + } +} + +/** + * + * rct2: 0x0067363D + */ +void ExplosionCloud::Create(const CoordsXYZ& cloudPos) +{ + auto* entity = CreateEntity(); + if (entity != nullptr) + { + entity->sprite_width = 44; + entity->sprite_height_negative = 32; + entity->sprite_height_positive = 34; + entity->MoveTo(cloudPos + CoordsXYZ{ 0, 0, 4 }); + entity->frame = 0; + } +} + +/** + * + * rct2: 0x00673385 + */ +void ExplosionCloud::Update() +{ + Invalidate(); + frame += 128; + if (frame >= (36 * 128)) + { + sprite_remove(this); + } +} + +/** + * + * rct2: 0x0067366B + */ +void ExplosionFlare::Create(const CoordsXYZ& flarePos) +{ + auto* entity = CreateEntity(); + if (entity != nullptr) + { + entity->sprite_width = 25; + entity->sprite_height_negative = 85; + entity->sprite_height_positive = 8; + entity->MoveTo(flarePos + CoordsXYZ{ 0, 0, 4 }); + entity->frame = 0; + } +} + +/** + * + * rct2: 0x006733B4 + */ +void ExplosionFlare::Update() +{ + Invalidate(); + frame += 64; + if (frame >= (124 * 64)) + { + sprite_remove(this); + } +} diff --git a/src/openrct2/world/Particle.h b/src/openrct2/world/Particle.h index fd764c2ad3..53ba024785 100644 --- a/src/openrct2/world/Particle.h +++ b/src/openrct2/world/Particle.h @@ -39,3 +39,29 @@ struct CrashSplashParticle : MiscEntity void Update(); void Serialise(DataSerialiser& stream); }; + +struct ExplosionFlare : MiscEntity +{ + static constexpr auto cEntityType = EntityType::ExplosionFlare; + static void Create(const CoordsXYZ& flarePos); + void Update(); + void Serialise(DataSerialiser& stream); +}; + +struct ExplosionCloud : MiscEntity +{ + static constexpr auto cEntityType = EntityType::ExplosionCloud; + static void Create(const CoordsXYZ& cloudPos); + void Update(); + void Serialise(DataSerialiser& stream); +}; + +struct SteamParticle : MiscEntity +{ + static constexpr auto cEntityType = EntityType::SteamParticle; + uint16_t time_to_move; + + static void Create(const CoordsXYZ& coords); + void Update(); + void Serialise(DataSerialiser& stream); +}; diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 4aad4b1632..94e02ff18c 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -445,88 +445,6 @@ SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type) PrepareNewEntity(entity, type); return entity; } -/** - * - * rct2: 0x00673200 - */ -void SteamParticle::Update() -{ - // Move up 1 z every 3 ticks (Starts after 4 ticks) - Invalidate(); - time_to_move++; - if (time_to_move >= 4) - { - time_to_move = 1; - MoveTo({ x, y, z + 1 }); - } - frame += 64; - if (frame >= (56 * 64)) - { - sprite_remove(this); - } -} - -/** - * - * rct2: 0x0067363D - */ -void sprite_misc_explosion_cloud_create(const CoordsXYZ& cloudPos) -{ - auto* sprite = CreateEntity(); - if (sprite != nullptr) - { - sprite->sprite_width = 44; - sprite->sprite_height_negative = 32; - sprite->sprite_height_positive = 34; - sprite->MoveTo(cloudPos + CoordsXYZ{ 0, 0, 4 }); - sprite->frame = 0; - } -} - -/** - * - * rct2: 0x00673385 - */ -void ExplosionCloud::Update() -{ - Invalidate(); - frame += 128; - if (frame >= (36 * 128)) - { - sprite_remove(this); - } -} - -/** - * - * rct2: 0x0067366B - */ -void sprite_misc_explosion_flare_create(const CoordsXYZ& flarePos) -{ - MiscEntity* sprite = CreateEntity(); - if (sprite != nullptr) - { - sprite->sprite_width = 25; - sprite->sprite_height_negative = 85; - sprite->sprite_height_positive = 8; - sprite->MoveTo(flarePos + CoordsXYZ{ 0, 0, 4 }); - sprite->frame = 0; - } -} - -/** - * - * rct2: 0x006733B4 - */ -void ExplosionFlare::Update() -{ - Invalidate(); - frame += 64; - if (frame >= (124 * 64)) - { - sprite_remove(this); - } -} template void MiscUpdateAllType() { diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index 873bbd6791..d2879ba0ac 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -15,31 +15,6 @@ #include -class DataSerialiser; - -struct ExplosionFlare : MiscEntity -{ - static constexpr auto cEntityType = EntityType::ExplosionFlare; - void Update(); - void Serialise(DataSerialiser& stream); -}; - -struct ExplosionCloud : MiscEntity -{ - static constexpr auto cEntityType = EntityType::ExplosionCloud; - void Update(); - void Serialise(DataSerialiser& stream); -}; - -struct SteamParticle : MiscEntity -{ - static constexpr auto cEntityType = EntityType::SteamParticle; - uint16_t time_to_move; - - void Update(); - void Serialise(DataSerialiser& stream); -}; - #pragma pack(push, 1) /** * Sprite structure. @@ -88,8 +63,6 @@ void sprite_misc_update_all(); void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite); void sprite_remove(SpriteBase* sprite); uint16_t remove_floating_sprites(); -void sprite_misc_explosion_cloud_create(const CoordsXYZ& cloudPos); -void sprite_misc_explosion_flare_create(const CoordsXYZ& flarePos); rct_sprite_checksum sprite_checksum(); From ee981e62e1af78ad74cd2616074bc5d88ba3eafe Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 29 May 2021 08:18:23 +0100 Subject: [PATCH 3/6] Move CreateEntity funcs to Entity header. Remove dead enum --- src/openrct2/world/Entity.h | 14 ++++++++++++++ src/openrct2/world/MoneyEffect.cpp | 1 + src/openrct2/world/Sprite.cpp | 10 +++++----- src/openrct2/world/Sprite.h | 20 -------------------- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/openrct2/world/Entity.h b/src/openrct2/world/Entity.h index 2259d47bcd..e2e6fd7cd4 100644 --- a/src/openrct2/world/Entity.h +++ b/src/openrct2/world/Entity.h @@ -27,3 +27,17 @@ template T* TryGetEntity(size_t sprite_idx) auto spr = try_get_sprite(sprite_idx); return spr != nullptr ? spr->As() : nullptr; } + +SpriteBase* CreateEntity(EntityType type); +template T* CreateEntity() +{ + return static_cast(CreateEntity(T::cEntityType)); +} + +// Use only with imports that must happen at a specified index +SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type); +// Use only with imports that must happen at a specified index +template T* CreateEntityAt(const uint16_t index) +{ + return static_cast(CreateEntityAt(index, T::cEntityType)); +} diff --git a/src/openrct2/world/MoneyEffect.cpp b/src/openrct2/world/MoneyEffect.cpp index 6d85aa32e2..4ff854a571 100644 --- a/src/openrct2/world/MoneyEffect.cpp +++ b/src/openrct2/world/MoneyEffect.cpp @@ -14,6 +14,7 @@ #include "../interface/Window.h" #include "../localisation/Localisation.h" #include "../network/network.h" +#include "Entity.h" #include "Map.h" #include "Sprite.h" diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 94e02ff18c..54fb0d5db8 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -394,7 +394,7 @@ static void PrepareNewEntity(SpriteBase* base, const EntityType type) SpriteSpatialInsert(base, { LOCATION_NULL, 0 }); } -rct_sprite* create_sprite(EntityType type) +SpriteBase* CreateEntity(EntityType type) { if (_freeIdList.size() == 0) { @@ -414,16 +414,16 @@ rct_sprite* create_sprite(EntityType type) } } - auto* sprite = GetEntity(_freeIdList.back()); - if (sprite == nullptr) + auto* entity = GetEntity(_freeIdList.back()); + if (entity == nullptr) { return nullptr; } _freeIdList.pop_back(); - PrepareNewEntity(sprite, type); + PrepareNewEntity(entity, type); - return reinterpret_cast(sprite); + return entity; } SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type) diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index d2879ba0ac..a8c6c5c969 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -36,26 +36,6 @@ struct rct_sprite_checksum #pragma pack(pop) -enum -{ - SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE = 1 << 7, - SPRITE_FLAGS_PEEP_VISIBLE = 1 << 8, // Peep is eligible to show in summarized guest list window (is inside park?) - SPRITE_FLAGS_PEEP_FLASHING = 1 << 9, // Deprecated: Use sprite_set_flashing/sprite_get_flashing instead. -}; - -rct_sprite* create_sprite(EntityType type); -template T* CreateEntity() -{ - return reinterpret_cast(create_sprite(T::cEntityType)); -} - -// Use only with imports that must happen at a specified index -SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type); -// Use only with imports that must happen at a specified index -template T* CreateEntityAt(const uint16_t index) -{ - return static_cast(CreateEntityAt(index, T::cEntityType)); -} void reset_sprite_list(); void reset_sprite_spatial_index(); void sprite_clear_all_unused(); From 98f9f2490908e864e548ddc0fdee0ee16698e671 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 29 May 2021 08:54:33 +0100 Subject: [PATCH 4/6] Remove sprite.h includes where possible --- src/openrct2-ui/input/MouseInput.cpp | 1 - src/openrct2-ui/scripting/CustomMenu.cpp | 1 - src/openrct2-ui/scripting/CustomWindow.cpp | 1 - src/openrct2-ui/windows/EditorMain.cpp | 1 - src/openrct2-ui/windows/Main.cpp | 1 - src/openrct2-ui/windows/Ride.cpp | 1 - src/openrct2/Cheats.cpp | 1 - src/openrct2/actions/BannerSetNameAction.cpp | 1 - src/openrct2/actions/LandBuyRightsAction.cpp | 1 - src/openrct2/actions/LandLowerAction.cpp | 1 - src/openrct2/actions/LandRaiseAction.cpp | 1 - src/openrct2/actions/LandSetHeightAction.cpp | 1 - src/openrct2/actions/LandSetRightsAction.cpp | 1 - src/openrct2/actions/LandSmoothAction.cpp | 1 - .../actions/LargeSceneryRemoveAction.cpp | 1 - .../actions/PlaceParkEntranceAction.cpp | 1 - src/openrct2/actions/RideDemolishAction.cpp | 1 - .../actions/RideEntranceExitPlaceAction.cpp | 1 - .../actions/RideSetColourSchemeAction.cpp | 1 - src/openrct2/actions/RideSetPriceAction.cpp | 1 - src/openrct2/actions/RideSetStatusAction.cpp | 1 - src/openrct2/actions/SignSetStyleAction.cpp | 1 - .../actions/SmallSceneryPlaceAction.cpp | 1 - .../actions/SmallSceneryRemoveAction.cpp | 1 - .../actions/SmallScenerySetColourAction.cpp | 1 - src/openrct2/actions/StaffSetColourAction.cpp | 1 - src/openrct2/interface/Viewport.cpp | 1 - src/openrct2/interface/Window.cpp | 1 - src/openrct2/management/Finance.cpp | 1 - src/openrct2/paint/sprite/Paint.Misc.cpp | 1 - src/openrct2/paint/sprite/Paint.Peep.cpp | 1 - src/openrct2/paint/sprite/Paint.Sprite.cpp | 1 - .../paint/tile_element/Paint.TileElement.cpp | 1 - src/openrct2/ride/CableLift.cpp | 1 - src/openrct2/ride/ShopItem.cpp | 1 - src/openrct2/ride/Station.cpp | 1 - src/openrct2/ride/TrackPaint.cpp | 1 - .../coaster/AirPoweredVerticalCoaster.cpp | 1 - .../ride/coaster/BobsleighCoaster.cpp | 1 - .../ride/coaster/BolligerMabillardTrack.cpp | 1 - .../ride/coaster/CompactInvertedCoaster.cpp | 1 - .../ride/coaster/CorkscrewRollerCoaster.cpp | 1 - .../ride/coaster/FlyingRollerCoaster.cpp | 1 - src/openrct2/ride/coaster/GigaCoaster.cpp | 1 - .../ride/coaster/HeartlineTwisterCoaster.cpp | 1 - src/openrct2/ride/coaster/HybridCoaster.cpp | 1 - .../ride/coaster/InvertedHairpinCoaster.cpp | 1 - .../ride/coaster/InvertedImpulseCoaster.cpp | 1 - .../ride/coaster/InvertedRollerCoaster.cpp | 1 - .../ride/coaster/JuniorRollerCoaster.cpp | 1 - .../ride/coaster/LayDownRollerCoaster.cpp | 1 - .../ride/coaster/LimLaunchedRollerCoaster.cpp | 1 - .../ride/coaster/LoopingRollerCoaster.cpp | 1 - src/openrct2/ride/coaster/MineRide.cpp | 1 - .../ride/coaster/MineTrainCoaster.cpp | 1 - .../ride/coaster/MiniRollerCoaster.cpp | 1 - .../ride/coaster/MiniSuspendedCoaster.cpp | 1 - .../coaster/MultiDimensionRollerCoaster.cpp | 1 - .../ride/coaster/ReverseFreefallCoaster.cpp | 1 - .../coaster/SideFrictionRollerCoaster.cpp | 1 - .../ride/coaster/SingleRailRollerCoaster.cpp | 1 - .../ride/coaster/StandUpRollerCoaster.cpp | 1 - src/openrct2/ride/coaster/Steeplechase.cpp | 1 - .../ride/coaster/SuspendedSwingingCoaster.cpp | 1 - .../ride/coaster/TwisterRollerCoaster.cpp | 1 - src/openrct2/ride/coaster/WildMouse.cpp | 1 - .../ride/coaster/WoodenRollerCoaster.cpp | 1 - src/openrct2/ride/coaster/WoodenWildMouse.cpp | 1 - src/openrct2/ride/thrill/LaunchedFreefall.cpp | 1 - src/openrct2/ride/water/DingySlide.cpp | 1 - src/openrct2/ride/water/LogFlume.cpp | 1 - src/openrct2/ride/water/RiverRapids.cpp | 1 - src/openrct2/scenario/Scenario.cpp | 1 - src/openrct2/windows/_legacy.cpp | 1 - src/openrct2/world/Entity.cpp | 1 - src/openrct2/world/Entrance.cpp | 1 - src/openrct2/world/MapAnimation.cpp | 1 - src/openrct2/world/Sprite.cpp | 19 ------------------- src/openrct2/world/Sprite.h | 1 - 79 files changed, 97 deletions(-) diff --git a/src/openrct2-ui/input/MouseInput.cpp b/src/openrct2-ui/input/MouseInput.cpp index fbcef9ac90..d4c15a7b31 100644 --- a/src/openrct2-ui/input/MouseInput.cpp +++ b/src/openrct2-ui/input/MouseInput.cpp @@ -31,7 +31,6 @@ #include #include #include -#include struct RCTMouseData { diff --git a/src/openrct2-ui/scripting/CustomMenu.cpp b/src/openrct2-ui/scripting/CustomMenu.cpp index 21483a8051..3e1e673096 100644 --- a/src/openrct2-ui/scripting/CustomMenu.cpp +++ b/src/openrct2-ui/scripting/CustomMenu.cpp @@ -14,7 +14,6 @@ # include # include # include -# include using namespace OpenRCT2; using namespace OpenRCT2::Ui; diff --git a/src/openrct2-ui/scripting/CustomWindow.cpp b/src/openrct2-ui/scripting/CustomWindow.cpp index 4525eda422..e760b19247 100644 --- a/src/openrct2-ui/scripting/CustomWindow.cpp +++ b/src/openrct2-ui/scripting/CustomWindow.cpp @@ -26,7 +26,6 @@ # include # include # include -# include # include # include # include diff --git a/src/openrct2-ui/windows/EditorMain.cpp b/src/openrct2-ui/windows/EditorMain.cpp index b7f22b4a62..2df57c7f7a 100644 --- a/src/openrct2-ui/windows/EditorMain.cpp +++ b/src/openrct2-ui/windows/EditorMain.cpp @@ -13,7 +13,6 @@ #include #include #include -#include static void window_editor_main_paint(rct_window* w, rct_drawpixelinfo* dpi); diff --git a/src/openrct2-ui/windows/Main.cpp b/src/openrct2-ui/windows/Main.cpp index 7e698b6750..a31f96226b 100644 --- a/src/openrct2-ui/windows/Main.cpp +++ b/src/openrct2-ui/windows/Main.cpp @@ -13,7 +13,6 @@ #include #include #include -#include // clang-format off static rct_widget window_main_widgets[] = { diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 672cb70aa5..ccacfad46e 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -55,7 +55,6 @@ #include #include #include -#include #include using namespace OpenRCT2; diff --git a/src/openrct2/Cheats.cpp b/src/openrct2/Cheats.cpp index e8458acf61..96d747d240 100644 --- a/src/openrct2/Cheats.cpp +++ b/src/openrct2/Cheats.cpp @@ -24,7 +24,6 @@ #include "world/Map.h" #include "world/Park.h" #include "world/Scenery.h" -#include "world/Sprite.h" #include "world/Surface.h" using namespace OpenRCT2; diff --git a/src/openrct2/actions/BannerSetNameAction.cpp b/src/openrct2/actions/BannerSetNameAction.cpp index 773dd1dc1d..8d4c088267 100644 --- a/src/openrct2/actions/BannerSetNameAction.cpp +++ b/src/openrct2/actions/BannerSetNameAction.cpp @@ -17,7 +17,6 @@ #include "../ui/UiContext.h" #include "../windows/Intent.h" #include "../world/Banner.h" -#include "../world/Sprite.h" #include "GameAction.h" BannerSetNameAction::BannerSetNameAction(BannerIndex bannerIndex, const std::string& name) diff --git a/src/openrct2/actions/LandBuyRightsAction.cpp b/src/openrct2/actions/LandBuyRightsAction.cpp index 9590ce9b61..46096f3886 100644 --- a/src/openrct2/actions/LandBuyRightsAction.cpp +++ b/src/openrct2/actions/LandBuyRightsAction.cpp @@ -22,7 +22,6 @@ #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" LandBuyRightsAction::LandBuyRightsAction(const MapRange& range, LandBuyRightSetting setting) diff --git a/src/openrct2/actions/LandLowerAction.cpp b/src/openrct2/actions/LandLowerAction.cpp index 8d1e558063..53cbb4b901 100644 --- a/src/openrct2/actions/LandLowerAction.cpp +++ b/src/openrct2/actions/LandLowerAction.cpp @@ -21,7 +21,6 @@ #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" LandLowerAction::LandLowerAction(const CoordsXY& coords, MapRange range, uint8_t selectionType) diff --git a/src/openrct2/actions/LandRaiseAction.cpp b/src/openrct2/actions/LandRaiseAction.cpp index 4808860903..05c33c6045 100644 --- a/src/openrct2/actions/LandRaiseAction.cpp +++ b/src/openrct2/actions/LandRaiseAction.cpp @@ -22,7 +22,6 @@ #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" LandRaiseAction::LandRaiseAction(const CoordsXY& coords, MapRange range, uint8_t selectionType) diff --git a/src/openrct2/actions/LandSetHeightAction.cpp b/src/openrct2/actions/LandSetHeightAction.cpp index 0287891163..a88b76edda 100644 --- a/src/openrct2/actions/LandSetHeightAction.cpp +++ b/src/openrct2/actions/LandSetHeightAction.cpp @@ -20,7 +20,6 @@ #include "../world/Park.h" #include "../world/Scenery.h" #include "../world/SmallScenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" #include "../world/TileElementsView.h" diff --git a/src/openrct2/actions/LandSetRightsAction.cpp b/src/openrct2/actions/LandSetRightsAction.cpp index 4f82ebec6d..3510399c91 100644 --- a/src/openrct2/actions/LandSetRightsAction.cpp +++ b/src/openrct2/actions/LandSetRightsAction.cpp @@ -22,7 +22,6 @@ #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" #include "../world/TileElementsView.h" diff --git a/src/openrct2/actions/LandSmoothAction.cpp b/src/openrct2/actions/LandSmoothAction.cpp index ed9215afe5..656949a681 100644 --- a/src/openrct2/actions/LandSmoothAction.cpp +++ b/src/openrct2/actions/LandSmoothAction.cpp @@ -23,7 +23,6 @@ #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" LandSmoothAction::LandSmoothAction(const CoordsXY& coords, MapRange range, uint8_t selectionType, bool isLowering) diff --git a/src/openrct2/actions/LargeSceneryRemoveAction.cpp b/src/openrct2/actions/LargeSceneryRemoveAction.cpp index f440474beb..6c8ad22fb7 100644 --- a/src/openrct2/actions/LargeSceneryRemoveAction.cpp +++ b/src/openrct2/actions/LargeSceneryRemoveAction.cpp @@ -20,7 +20,6 @@ #include "../ride/Ride.h" #include "../world/Park.h" #include "../world/SmallScenery.h" -#include "../world/Sprite.h" #include "../world/TileElementsView.h" using namespace OpenRCT2; diff --git a/src/openrct2/actions/PlaceParkEntranceAction.cpp b/src/openrct2/actions/PlaceParkEntranceAction.cpp index 5bb1ac7110..4a4220937e 100644 --- a/src/openrct2/actions/PlaceParkEntranceAction.cpp +++ b/src/openrct2/actions/PlaceParkEntranceAction.cpp @@ -18,7 +18,6 @@ #include "../world/Footpath.h" #include "../world/MapAnimation.h" #include "../world/Park.h" -#include "../world/Sprite.h" #include "../world/Surface.h" PlaceParkEntranceAction::PlaceParkEntranceAction(const CoordsXYZD& location, ObjectEntryIndex pathType) diff --git a/src/openrct2/actions/RideDemolishAction.cpp b/src/openrct2/actions/RideDemolishAction.cpp index b5b7dc8013..d6c2d5d149 100644 --- a/src/openrct2/actions/RideDemolishAction.cpp +++ b/src/openrct2/actions/RideDemolishAction.cpp @@ -24,7 +24,6 @@ #include "../world/Banner.h" #include "../world/EntityList.h" #include "../world/Park.h" -#include "../world/Sprite.h" #include "MazeSetTrackAction.h" #include "TrackRemoveAction.h" diff --git a/src/openrct2/actions/RideEntranceExitPlaceAction.cpp b/src/openrct2/actions/RideEntranceExitPlaceAction.cpp index bdea025199..5cefc1f8b1 100644 --- a/src/openrct2/actions/RideEntranceExitPlaceAction.cpp +++ b/src/openrct2/actions/RideEntranceExitPlaceAction.cpp @@ -14,7 +14,6 @@ #include "../ride/Ride.h" #include "../ride/Station.h" #include "../world/MapAnimation.h" -#include "../world/Sprite.h" RideEntranceExitPlaceAction::RideEntranceExitPlaceAction( const CoordsXY& loc, Direction direction, ride_id_t rideIndex, StationIndex stationNum, bool isExit) diff --git a/src/openrct2/actions/RideSetColourSchemeAction.cpp b/src/openrct2/actions/RideSetColourSchemeAction.cpp index 6ba9d0c4ab..8e245cc3df 100644 --- a/src/openrct2/actions/RideSetColourSchemeAction.cpp +++ b/src/openrct2/actions/RideSetColourSchemeAction.cpp @@ -18,7 +18,6 @@ #include "../management/Finance.h" #include "../ride/Ride.h" #include "../world/Park.h" -#include "../world/Sprite.h" RideSetColourSchemeAction::RideSetColourSchemeAction( const CoordsXYZD& location, track_type_t trackType, uint16_t newColourScheme) diff --git a/src/openrct2/actions/RideSetPriceAction.cpp b/src/openrct2/actions/RideSetPriceAction.cpp index bf65f3c7cc..374bd4d9a0 100644 --- a/src/openrct2/actions/RideSetPriceAction.cpp +++ b/src/openrct2/actions/RideSetPriceAction.cpp @@ -20,7 +20,6 @@ #include "../ride/RideData.h" #include "../ride/ShopItem.h" #include "../world/Park.h" -#include "../world/Sprite.h" RideSetPriceAction::RideSetPriceAction(ride_id_t rideIndex, money16 price, bool primaryPrice) : _rideIndex(rideIndex) diff --git a/src/openrct2/actions/RideSetStatusAction.cpp b/src/openrct2/actions/RideSetStatusAction.cpp index 49112eea39..baeb92a9c9 100644 --- a/src/openrct2/actions/RideSetStatusAction.cpp +++ b/src/openrct2/actions/RideSetStatusAction.cpp @@ -20,7 +20,6 @@ #include "../ui/UiContext.h" #include "../ui/WindowManager.h" #include "../world/Park.h" -#include "../world/Sprite.h" static rct_string_id _StatusErrorTitles[] = { STR_CANT_CLOSE, diff --git a/src/openrct2/actions/SignSetStyleAction.cpp b/src/openrct2/actions/SignSetStyleAction.cpp index e16f2cfddc..eb2e0525c7 100644 --- a/src/openrct2/actions/SignSetStyleAction.cpp +++ b/src/openrct2/actions/SignSetStyleAction.cpp @@ -17,7 +17,6 @@ #include "../windows/Intent.h" #include "../world/Banner.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" SignSetStyleAction::SignSetStyleAction(BannerIndex bannerIndex, uint8_t mainColour, uint8_t textColour, bool isLarge) : _bannerIndex(bannerIndex) diff --git a/src/openrct2/actions/SmallSceneryPlaceAction.cpp b/src/openrct2/actions/SmallSceneryPlaceAction.cpp index e8701443de..33babf8b1c 100644 --- a/src/openrct2/actions/SmallSceneryPlaceAction.cpp +++ b/src/openrct2/actions/SmallSceneryPlaceAction.cpp @@ -22,7 +22,6 @@ #include "../world/MapAnimation.h" #include "../world/Park.h" #include "../world/SmallScenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" #include "../world/TileElement.h" #include "GameAction.h" diff --git a/src/openrct2/actions/SmallSceneryRemoveAction.cpp b/src/openrct2/actions/SmallSceneryRemoveAction.cpp index e692fa9630..816fcf6e5f 100644 --- a/src/openrct2/actions/SmallSceneryRemoveAction.cpp +++ b/src/openrct2/actions/SmallSceneryRemoveAction.cpp @@ -20,7 +20,6 @@ #include "../ride/Ride.h" #include "../world/Park.h" #include "../world/SmallScenery.h" -#include "../world/Sprite.h" #include "../world/TileElementsView.h" #include "GameAction.h" #include "SmallSceneryPlaceAction.h" diff --git a/src/openrct2/actions/SmallScenerySetColourAction.cpp b/src/openrct2/actions/SmallScenerySetColourAction.cpp index 6f80a882b6..ca77c3081a 100644 --- a/src/openrct2/actions/SmallScenerySetColourAction.cpp +++ b/src/openrct2/actions/SmallScenerySetColourAction.cpp @@ -22,7 +22,6 @@ #include "../world/MapAnimation.h" #include "../world/Park.h" #include "../world/SmallScenery.h" -#include "../world/Sprite.h" #include "../world/Surface.h" #include "../world/TileElement.h" diff --git a/src/openrct2/actions/StaffSetColourAction.cpp b/src/openrct2/actions/StaffSetColourAction.cpp index 786754219a..d3f3f830ba 100644 --- a/src/openrct2/actions/StaffSetColourAction.cpp +++ b/src/openrct2/actions/StaffSetColourAction.cpp @@ -18,7 +18,6 @@ #include "../ui/WindowManager.h" #include "../windows/Intent.h" #include "../world/EntityList.h" -#include "../world/Sprite.h" StaffSetColourAction::StaffSetColourAction(StaffType staffType, uint8_t colour) : _staffType(static_cast(staffType)) diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 6ab3f5817d..6fde1dba5a 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -28,7 +28,6 @@ #include "../world/Climate.h" #include "../world/EntityList.h" #include "../world/Map.h" -#include "../world/Sprite.h" #include "Colour.h" #include "Window.h" #include "Window_internal.h" diff --git a/src/openrct2/interface/Window.cpp b/src/openrct2/interface/Window.cpp index 5ec6b896e4..d12d1b5318 100644 --- a/src/openrct2/interface/Window.cpp +++ b/src/openrct2/interface/Window.cpp @@ -28,7 +28,6 @@ #include "../ui/UiContext.h" #include "../ui/WindowManager.h" #include "../world/Map.h" -#include "../world/Sprite.h" #include "Viewport.h" #include "Widget.h" #include "Window_internal.h" diff --git a/src/openrct2/management/Finance.cpp b/src/openrct2/management/Finance.cpp index 2081230b2d..3db17b9ccd 100644 --- a/src/openrct2/management/Finance.cpp +++ b/src/openrct2/management/Finance.cpp @@ -22,7 +22,6 @@ #include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Park.h" -#include "../world/Sprite.h" // Monthly research funding costs const money32 research_cost_table[RESEARCH_FUNDING_COUNT] = { diff --git a/src/openrct2/paint/sprite/Paint.Misc.cpp b/src/openrct2/paint/sprite/Paint.Misc.cpp index 41f02a2fb8..b4d33e60c7 100644 --- a/src/openrct2/paint/sprite/Paint.Misc.cpp +++ b/src/openrct2/paint/sprite/Paint.Misc.cpp @@ -15,7 +15,6 @@ #include "../../world/Fountain.h" #include "../../world/MoneyEffect.h" #include "../../world/Particle.h" -#include "../../world/Sprite.h" #include "../Paint.h" #include "Paint.Sprite.h" diff --git a/src/openrct2/paint/sprite/Paint.Peep.cpp b/src/openrct2/paint/sprite/Paint.Peep.cpp index 5d29fc2d50..b5b095d8bf 100644 --- a/src/openrct2/paint/sprite/Paint.Peep.cpp +++ b/src/openrct2/paint/sprite/Paint.Peep.cpp @@ -11,7 +11,6 @@ #include "../../drawing/LightFX.h" #include "../../interface/Viewport.h" #include "../../peep/Peep.h" -#include "../../world/Sprite.h" #include "../Paint.h" #include "Paint.Sprite.h" diff --git a/src/openrct2/paint/sprite/Paint.Sprite.cpp b/src/openrct2/paint/sprite/Paint.Sprite.cpp index 497f3fdf90..2db53b9db1 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.cpp +++ b/src/openrct2/paint/sprite/Paint.Sprite.cpp @@ -26,7 +26,6 @@ #include "../../world/MoneyEffect.h" #include "../../world/Park.h" #include "../../world/Particle.h" -#include "../../world/Sprite.h" #include "../Paint.h" /** diff --git a/src/openrct2/paint/tile_element/Paint.TileElement.cpp b/src/openrct2/paint/tile_element/Paint.TileElement.cpp index e0dddc72c5..6175fec4ea 100644 --- a/src/openrct2/paint/tile_element/Paint.TileElement.cpp +++ b/src/openrct2/paint/tile_element/Paint.TileElement.cpp @@ -23,7 +23,6 @@ #include "../../world/Entrance.h" #include "../../world/Footpath.h" #include "../../world/Scenery.h" -#include "../../world/Sprite.h" #include "../../world/Surface.h" #include "../Paint.h" #include "../Supports.h" diff --git a/src/openrct2/ride/CableLift.cpp b/src/openrct2/ride/CableLift.cpp index 5e4c0e142c..913f395a80 100644 --- a/src/openrct2/ride/CableLift.cpp +++ b/src/openrct2/ride/CableLift.cpp @@ -13,7 +13,6 @@ #include "../rct12/RCT12.h" #include "../util/Util.h" #include "../world/EntityList.h" -#include "../world/Sprite.h" #include "Ride.h" #include "RideData.h" #include "Track.h" diff --git a/src/openrct2/ride/ShopItem.cpp b/src/openrct2/ride/ShopItem.cpp index 75847803f0..21ddf7ff89 100644 --- a/src/openrct2/ride/ShopItem.cpp +++ b/src/openrct2/ride/ShopItem.cpp @@ -13,7 +13,6 @@ #include "../localisation/StringIds.h" #include "../peep/Peep.h" #include "../sprites.h" -#include "../world/Sprite.h" ShopItem& operator++(ShopItem& d, int) { diff --git a/src/openrct2/ride/Station.cpp b/src/openrct2/ride/Station.cpp index 0f22ffd2af..570611d26a 100644 --- a/src/openrct2/ride/Station.cpp +++ b/src/openrct2/ride/Station.cpp @@ -13,7 +13,6 @@ #include "../peep/Peep.h" #include "../scenario/Scenario.h" #include "../world/Location.hpp" -#include "../world/Sprite.h" #include "Track.h" #include "Vehicle.h" diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index baac794594..ab071b9044 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -21,7 +21,6 @@ #include "../scenario/Scenario.h" #include "../sprites.h" #include "../world/Map.h" -#include "../world/Sprite.h" #include "RideData.h" #include "Station.h" #include "TrackData.h" diff --git a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp index 17c8bac9a4..c9c3d11574 100644 --- a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp +++ b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/BobsleighCoaster.cpp b/src/openrct2/ride/coaster/BobsleighCoaster.cpp index a258888a53..07f7d83ba4 100644 --- a/src/openrct2/ride/coaster/BobsleighCoaster.cpp +++ b/src/openrct2/ride/coaster/BobsleighCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp b/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp index f852630983..55bdd29ef7 100644 --- a/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp +++ b/src/openrct2/ride/coaster/BolligerMabillardTrack.cpp @@ -16,7 +16,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp b/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp index faa52ea5b5..96c6c68aad 100644 --- a/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp +++ b/src/openrct2/ride/coaster/CompactInvertedCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp b/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp index c079619ae4..f3bd5c62e2 100644 --- a/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/CorkscrewRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp index 20d69d6735..df2a5b8c97 100644 --- a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/GigaCoaster.cpp b/src/openrct2/ride/coaster/GigaCoaster.cpp index 4e85abbab7..45a1ca2843 100644 --- a/src/openrct2/ride/coaster/GigaCoaster.cpp +++ b/src/openrct2/ride/coaster/GigaCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp index 7dfde2aa92..2164a1ace9 100644 --- a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp +++ b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/HybridCoaster.cpp b/src/openrct2/ride/coaster/HybridCoaster.cpp index e598dc6dc2..5b332640ff 100644 --- a/src/openrct2/ride/coaster/HybridCoaster.cpp +++ b/src/openrct2/ride/coaster/HybridCoaster.cpp @@ -20,7 +20,6 @@ #include "../../paint/Supports.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp b/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp index 120e70afdf..3890fb9aa5 100644 --- a/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedHairpinCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp b/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp index 02e5fcbfbd..0b92ceea7c 100644 --- a/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedImpulseCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp index da28e95172..e1fc2654d1 100644 --- a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index e38622147e..feb8a99dbc 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -17,7 +17,6 @@ #include "../../paint/Supports.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp index 10dd20eb72..2c44019139 100644 --- a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp index 488ac119c4..9eaf612ef5 100644 --- a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index 509679e03f..dfebe07764 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/MineRide.cpp b/src/openrct2/ride/coaster/MineRide.cpp index a5d84a3371..a86f9c5226 100644 --- a/src/openrct2/ride/coaster/MineRide.cpp +++ b/src/openrct2/ride/coaster/MineRide.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/MineTrainCoaster.cpp b/src/openrct2/ride/coaster/MineTrainCoaster.cpp index 5df9ae7a44..698824fda3 100644 --- a/src/openrct2/ride/coaster/MineTrainCoaster.cpp +++ b/src/openrct2/ride/coaster/MineTrainCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/MiniRollerCoaster.cpp b/src/openrct2/ride/coaster/MiniRollerCoaster.cpp index 98459ad290..9a4f4d1648 100644 --- a/src/openrct2/ride/coaster/MiniRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/MiniRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp b/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp index c835db3741..70050350c3 100644 --- a/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp +++ b/src/openrct2/ride/coaster/MiniSuspendedCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp index d14a20b706..30b5c07847 100644 --- a/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/MultiDimensionRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp index 763336958b..fb860fb3c0 100644 --- a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp index 4efbe19574..b01962c004 100644 --- a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp index df74d5aaa0..363c90fa93 100644 --- a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp @@ -20,7 +20,6 @@ #include "../../paint/Supports.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp b/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp index 3ca77c6125..e4a419055d 100644 --- a/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/StandUpRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/Steeplechase.cpp b/src/openrct2/ride/coaster/Steeplechase.cpp index bc6612f750..bf05e574f2 100644 --- a/src/openrct2/ride/coaster/Steeplechase.cpp +++ b/src/openrct2/ride/coaster/Steeplechase.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp b/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp index 6d359c22bd..e304d1a82b 100644 --- a/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp +++ b/src/openrct2/ride/coaster/SuspendedSwingingCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp b/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp index 5a47b1cdac..a9453b8903 100644 --- a/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/TwisterRollerCoaster.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/WildMouse.cpp b/src/openrct2/ride/coaster/WildMouse.cpp index a65d4737fa..406a3b7ca8 100644 --- a/src/openrct2/ride/coaster/WildMouse.cpp +++ b/src/openrct2/ride/coaster/WildMouse.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index f7c74c023d..1e41d69211 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -16,7 +16,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index a3780942b3..def3934974 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -14,7 +14,6 @@ #include "../../paint/tile_element/Paint.TileElement.h" #include "../../sprites.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../RideData.h" #include "../TrackData.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index 151388ccae..0b0ca3deac 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -12,7 +12,6 @@ #include "../../interface/Viewport.h" #include "../../paint/Paint.h" #include "../../paint/Supports.h" -#include "../../world/Sprite.h" #include "../Track.h" #include "../TrackPaint.h" #include "../Vehicle.h" diff --git a/src/openrct2/ride/water/DingySlide.cpp b/src/openrct2/ride/water/DingySlide.cpp index e14dffa480..6695bdb73e 100644 --- a/src/openrct2/ride/water/DingySlide.cpp +++ b/src/openrct2/ride/water/DingySlide.cpp @@ -10,7 +10,6 @@ #include "../../interface/Viewport.h" #include "../../paint/Paint.h" #include "../../paint/Supports.h" -#include "../../world/Sprite.h" #include "../Track.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/water/LogFlume.cpp b/src/openrct2/ride/water/LogFlume.cpp index 9c381a1741..12cdfffb84 100644 --- a/src/openrct2/ride/water/LogFlume.cpp +++ b/src/openrct2/ride/water/LogFlume.cpp @@ -10,7 +10,6 @@ #include "../../interface/Viewport.h" #include "../../paint/Paint.h" #include "../../paint/Supports.h" -#include "../../world/Sprite.h" #include "../Track.h" #include "../TrackPaint.h" diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index 9b53f5f916..183c8d605b 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -14,7 +14,6 @@ #include "../../paint/Supports.h" #include "../../scenario/Scenario.h" #include "../../world/Map.h" -#include "../../world/Sprite.h" #include "../Track.h" #include "../TrackPaint.h" #include "../Vehicle.h" diff --git a/src/openrct2/scenario/Scenario.cpp b/src/openrct2/scenario/Scenario.cpp index 5d3c9fd792..09b547eed6 100644 --- a/src/openrct2/scenario/Scenario.cpp +++ b/src/openrct2/scenario/Scenario.cpp @@ -45,7 +45,6 @@ #include "../world/Map.h" #include "../world/Park.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "../world/Water.h" #include "ScenarioRepository.h" #include "ScenarioSources.h" diff --git a/src/openrct2/windows/_legacy.cpp b/src/openrct2/windows/_legacy.cpp index f5f32ec940..3116c22498 100644 --- a/src/openrct2/windows/_legacy.cpp +++ b/src/openrct2/windows/_legacy.cpp @@ -22,7 +22,6 @@ #include "../ride/TrackData.h" #include "../world/Banner.h" #include "../world/Scenery.h" -#include "../world/Sprite.h" #include "Intent.h" #include diff --git a/src/openrct2/world/Entity.cpp b/src/openrct2/world/Entity.cpp index 9cfbb36752..3d3624dd4e 100644 --- a/src/openrct2/world/Entity.cpp +++ b/src/openrct2/world/Entity.cpp @@ -17,7 +17,6 @@ #include "Fountain.h" #include "MoneyEffect.h" #include "Particle.h" -#include "Sprite.h" static void EntityBaseSerialise(SpriteBase& base, DataSerialiser& stream) { diff --git a/src/openrct2/world/Entrance.cpp b/src/openrct2/world/Entrance.cpp index b5fbc0b81f..73b3e17c08 100644 --- a/src/openrct2/world/Entrance.cpp +++ b/src/openrct2/world/Entrance.cpp @@ -24,7 +24,6 @@ #include "Map.h" #include "MapAnimation.h" #include "Park.h" -#include "Sprite.h" #include diff --git a/src/openrct2/world/MapAnimation.cpp b/src/openrct2/world/MapAnimation.cpp index 0b42120af5..9a2047f218 100644 --- a/src/openrct2/world/MapAnimation.cpp +++ b/src/openrct2/world/MapAnimation.cpp @@ -25,7 +25,6 @@ #include "Map.h" #include "Scenery.h" #include "SmallScenery.h" -#include "Sprite.h" using map_animation_invalidate_event_handler = bool (*)(const CoordsXYZ& loc); diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 54fb0d5db8..4d021290f7 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -319,25 +319,6 @@ static void sprite_reset(SpriteBase* sprite) sprite->Type = EntityType::Null; } -/** - * Clears all the unused sprite memory to zero. Probably so that it can be compressed better when saving. - * rct2: 0x0069EBA4 - */ -void sprite_clear_all_unused() -{ - for (auto index : _freeIdList) - { - auto* entity = GetEntity(index); - if (entity == nullptr) - { - continue; - } - sprite_reset(entity); - - _spriteFlashingList[entity->sprite_index] = false; - } -} - static constexpr uint16_t MAX_MISC_SPRITES = 300; static void AddToEntityList(SpriteBase* entity) { diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index a8c6c5c969..6ac0545b30 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -38,7 +38,6 @@ struct rct_sprite_checksum void reset_sprite_list(); void reset_sprite_spatial_index(); -void sprite_clear_all_unused(); void sprite_misc_update_all(); void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite); void sprite_remove(SpriteBase* sprite); From cff87c7d72e15f1261a23b383843d5d168414cf7 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 29 May 2021 10:27:09 +0100 Subject: [PATCH 5/6] Include correct headers --- src/openrct2/world/EntityTweener.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/openrct2/world/EntityTweener.cpp b/src/openrct2/world/EntityTweener.cpp index 21de93d9a3..aa77dd5a05 100644 --- a/src/openrct2/world/EntityTweener.cpp +++ b/src/openrct2/world/EntityTweener.cpp @@ -13,6 +13,8 @@ #include "EntityList.h" #include "Sprite.h" +#include + void EntityTweener::PopulateEntities() { for (auto ent : EntityList()) From 80ac0b93f7f5d10a999bf208b75e7067201065b0 Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 31 May 2021 17:29:31 +0300 Subject: [PATCH 6/6] Add files to xcode project --- OpenRCT2.xcodeproj/project.pbxproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OpenRCT2.xcodeproj/project.pbxproj b/OpenRCT2.xcodeproj/project.pbxproj index eee378d2f2..850add3ef0 100644 --- a/OpenRCT2.xcodeproj/project.pbxproj +++ b/OpenRCT2.xcodeproj/project.pbxproj @@ -764,6 +764,8 @@ F7D774AC1EC6741D00BE6EBC /* language in CopyFiles */ = {isa = PBXBuildFile; fileRef = D4EC48E41C2637710024B507 /* language */; }; F7D774AD1EC6741D00BE6EBC /* shaders in CopyFiles */ = {isa = PBXBuildFile; fileRef = D43407E11D0E14CE00C2B3D4 /* shaders */; }; F7D774AE1EC6741D00BE6EBC /* sequence in CopyFiles */ = {isa = PBXBuildFile; fileRef = D4EC48E51C2637710024B507 /* sequence */; }; + E73A781EBC3C440A99D59821 /* EntityTweener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0EB0D1DF6CC74E4190301D84 /* EntityTweener.cpp */; }; + F42186C5840D4196981ADD16 /* EntityTweener.h in Headers */ = {isa = PBXBuildFile; fileRef = 091352A950004312BAB18717 /* EntityTweener.h */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -1830,6 +1832,8 @@ F7CB864C1EEDA1A80030C877 /* WindowManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindowManager.h; sourceTree = ""; }; F7D7747E1EC61E5100BE6EBC /* UiContext.macOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UiContext.macOS.mm; sourceTree = ""; usesTabs = 0; }; F7D774841EC66CD700BE6EBC /* OpenRCT2-cli */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "OpenRCT2-cli"; sourceTree = BUILT_PRODUCTS_DIR; }; + 0EB0D1DF6CC74E4190301D84 /* EntityTweener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EntityTweener.cpp; path = src/openrct2/world/EntityTweener.cpp; sourceTree = SOURCE_ROOT; }; + 091352A950004312BAB18717 /* EntityTweener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EntityTweener.h; path = src/openrct2/world/EntityTweener.h; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -3116,6 +3120,8 @@ 4C7B54402007646A00A52E21 /* Wall.cpp */, 4C7B54412007646A00A52E21 /* Wall.h */, 4C7B54422007646A00A52E21 /* Water.h */, + 0EB0D1DF6CC74E4190301D84 /* EntityTweener.cpp */, + 091352A950004312BAB18717 /* EntityTweener.h */, ); path = world; sourceTree = ""; @@ -3458,6 +3464,7 @@ 66A10ECE257F1DF800DD651A /* BannerSetNameAction.h in Headers */, 2ADE2F342244191E002598AF /* VirtualFloor.h in Headers */, 66A10F8B257F1E1800DD651A /* LandSmoothAction.h in Headers */, + F42186C5840D4196981ADD16 /* EntityTweener.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4261,6 +4268,7 @@ C68878F020289B9B0084B384 /* CorkscrewRollerCoaster.cpp in Sources */, 66A10FD1257F1E3000DD651A /* WaterRaiseAction.cpp in Sources */, C688791820289B9B0084B384 /* MonorailCycles.cpp in Sources */, + E73A781EBC3C440A99D59821 /* EntityTweener.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };