mirror of https://github.com/OpenRCT2/OpenRCT2.git
Increase Sprite size to 0x200
This should allow for major refactoring of the sprite classes
This commit is contained in:
parent
b1e8caa575
commit
4e796ec92d
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include "Map.h"
|
||||
#include "SpriteBase.h"
|
||||
|
||||
struct JumpingFountain : rct_sprite_generic
|
||||
struct JumpingFountain : SpriteGeneric
|
||||
{
|
||||
uint8_t NumTicksAlive;
|
||||
uint8_t FountainFlags;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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<rct_string_id, money32> 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
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue