diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 283ef0beaa..8dc8095c8a 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -1649,7 +1649,7 @@ private: if (sprite.unknown.sprite_identifier == SPRITE_IDENTIFIER_MISC) { rct1_unk_sprite* src = &sprite.unknown; - rct_sprite_generic* dst = (rct_sprite_generic*)create_sprite(SPRITE_IDENTIFIER_MISC); + SpriteGeneric* dst = (SpriteGeneric*)create_sprite(SPRITE_IDENTIFIER_MISC); dst->sprite_identifier = src->sprite_identifier; dst->type = src->type; dst->flags = src->flags; diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 0bb6c52047..5bd69ad677 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -1245,7 +1245,7 @@ void S6Exporter::ExportSpriteMisc(RCT12SpriteBase* cdst, const rct_sprite_common case SPRITE_MISC_CRASH_SPLASH: { auto src = (const RCT12SpriteParticle*)csrc; - auto dst = (rct_sprite_generic*)cdst; + auto dst = (SpriteGeneric*)cdst; dst->frame = src->frame; break; } diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 3addd92c75..8c0718b5eb 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1529,7 +1529,7 @@ public: case SPRITE_MISC_CRASH_SPLASH: { auto src = (const RCT12SpriteParticle*)csrc; - auto dst = (rct_sprite_generic*)cdst; + auto dst = (SpriteGeneric*)cdst; dst->frame = src->frame; break; } diff --git a/src/openrct2/world/Duck.cpp b/src/openrct2/world/Duck.cpp index 2ca268fe12..0168c547f1 100644 --- a/src/openrct2/world/Duck.cpp +++ b/src/openrct2/world/Duck.cpp @@ -377,7 +377,7 @@ void duck_remove_all() for (uint16_t spriteIndex = gSpriteListHead[SPRITE_LIST_MISC]; spriteIndex != SPRITE_INDEX_NULL; spriteIndex = nextSpriteIndex) { - rct_sprite_generic* sprite = &(get_sprite(spriteIndex)->generic); + SpriteGeneric* sprite = &(get_sprite(spriteIndex)->generic); nextSpriteIndex = sprite->next; if (sprite->type == SPRITE_MISC_DUCK) { diff --git a/src/openrct2/world/Fountain.h b/src/openrct2/world/Fountain.h index 6b650ce034..fa9771dafa 100644 --- a/src/openrct2/world/Fountain.h +++ b/src/openrct2/world/Fountain.h @@ -13,7 +13,7 @@ #include "Map.h" #include "SpriteBase.h" -struct JumpingFountain : rct_sprite_generic +struct JumpingFountain : SpriteGeneric { uint8_t NumTicksAlive; uint8_t FountainFlags; diff --git a/src/openrct2/world/Particle.cpp b/src/openrct2/world/Particle.cpp index 0c94f33d2e..e9d365f344 100644 --- a/src/openrct2/world/Particle.cpp +++ b/src/openrct2/world/Particle.cpp @@ -114,7 +114,7 @@ void crashed_vehicle_particle_update(rct_crashed_vehicle_particle* particle) */ void crash_splash_create(int32_t x, int32_t y, int32_t z) { - rct_sprite_generic* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; + SpriteGeneric* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; if (sprite != nullptr) { sprite->sprite_width = 33; diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 8bdc22e1dc..44efba8b55 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -303,7 +303,7 @@ rct_sprite_checksum sprite_checksum() #endif // DISABLE_NETWORK -static void sprite_reset(rct_sprite_generic* sprite) +static void sprite_reset(SpriteGeneric* sprite) { // Need to retain how the sprite is linked in lists uint8_t llto = sprite->linked_list_index; @@ -329,7 +329,7 @@ static void sprite_reset(rct_sprite_generic* sprite) */ void sprite_clear_all_unused() { - rct_sprite_generic* sprite; + SpriteGeneric* sprite; uint16_t spriteIndex, nextSpriteIndex; spriteIndex = gSpriteListHead[SPRITE_LIST_FREE]; @@ -398,7 +398,7 @@ rct_sprite* create_sprite(SPRITE_IDENTIFIER spriteIdentifier) } } - rct_sprite_generic* sprite = &(get_sprite(gSpriteListHead[SPRITE_LIST_FREE]))->generic; + SpriteGeneric* sprite = &(get_sprite(gSpriteListHead[SPRITE_LIST_FREE]))->generic; move_sprite_to_list((rct_sprite*)sprite, linkedListIndex); @@ -428,7 +428,7 @@ rct_sprite* create_sprite(SPRITE_IDENTIFIER spriteIdentifier) */ void move_sprite_to_list(rct_sprite* sprite, SPRITE_LIST newListIndex) { - rct_sprite_generic* unkSprite = &sprite->generic; + SpriteGeneric* unkSprite = &sprite->generic; int32_t oldListIndex = unkSprite->linked_list_index; // No need to move if the sprite is already in the desired list @@ -501,7 +501,7 @@ static void sprite_steam_particle_update(rct_steam_particle* steam) */ void sprite_misc_explosion_cloud_create(int32_t x, int32_t y, int32_t z) { - rct_sprite_generic* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; + SpriteGeneric* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; if (sprite != nullptr) { sprite->sprite_width = 44; @@ -534,7 +534,7 @@ static void sprite_misc_explosion_cloud_update(rct_sprite* sprite) */ void sprite_misc_explosion_flare_create(int32_t x, int32_t y, int32_t z) { - rct_sprite_generic* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; + SpriteGeneric* sprite = &create_sprite(SPRITE_IDENTIFIER_MISC)->generic; if (sprite != nullptr) { sprite->sprite_width = 25; diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index a94c4f8317..71e8913bc7 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -44,7 +44,7 @@ struct rct_litter : rct_sprite_common uint32_t creationTick; }; -struct rct_balloon : rct_sprite_generic +struct rct_balloon : SpriteGeneric { uint16_t popped; uint8_t time_to_move; @@ -55,7 +55,7 @@ struct rct_balloon : rct_sprite_generic void Press(); }; -struct rct_duck : rct_sprite_generic +struct rct_duck : SpriteGeneric { int16_t target_x; int16_t target_y; @@ -87,7 +87,7 @@ struct rct_money_effect : rct_sprite_common std::pair GetStringId() const; }; -struct rct_crashed_vehicle_particle : rct_sprite_generic +struct rct_crashed_vehicle_particle : SpriteGeneric { uint16_t time_to_live; uint8_t colour[2]; @@ -100,11 +100,11 @@ struct rct_crashed_vehicle_particle : rct_sprite_generic int32_t acceleration_z; }; -struct rct_crash_splash : rct_sprite_generic +struct rct_crash_splash : SpriteGeneric { }; -struct rct_steam_particle : rct_sprite_generic +struct rct_steam_particle : SpriteGeneric { uint16_t time_to_move; }; @@ -112,12 +112,12 @@ struct rct_steam_particle : rct_sprite_generic #pragma pack(push, 1) /** * Sprite structure. - * size: 0x0100 + * size: 0x0200 */ union rct_sprite { - uint8_t pad_00[0x100]; - rct_sprite_generic generic; + uint8_t pad_00[0x200]; + SpriteGeneric generic; Peep peep; rct_litter litter; rct_vehicle vehicle; @@ -138,7 +138,7 @@ union rct_sprite rct_money_effect* AsMoneyEffect(); Peep* AsPeep(); }; -assert_struct_size(rct_sprite, 0x100); +assert_struct_size(rct_sprite, 0x200); struct rct_sprite_checksum { diff --git a/src/openrct2/world/SpriteBase.h b/src/openrct2/world/SpriteBase.h index 44f9737c26..71c02ac3fc 100644 --- a/src/openrct2/world/SpriteBase.h +++ b/src/openrct2/world/SpriteBase.h @@ -31,7 +31,7 @@ struct rct_sprite_common uint8_t sprite_direction; }; -struct rct_sprite_generic : rct_sprite_common +struct SpriteGeneric : rct_sprite_common { uint16_t frame; };