summaryrefslogtreecommitdiff
path: root/src/effectvehicle.cpp
diff options
context:
space:
mode:
authorMatt Kimber <github@mattkimber.org.uk>2021-01-03 13:32:58 +0000
committerPatric Stout <github@truebrain.nl>2021-01-05 11:42:25 +0100
commit9b28b15e677e0de64fde270f4223daeb401cfcac (patch)
tree879ebd9b98d9ce4e8a45dd38b9033f3da9349080 /src/effectvehicle.cpp
parenteeb88e87d8c7b62e0bac94ede44cceee987b8d09 (diff)
downloadopenttd-9b28b15e677e0de64fde270f4223daeb401cfcac.tar.xz
Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods
Diffstat (limited to 'src/effectvehicle.cpp')
-rw-r--r--src/effectvehicle.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp
index 82054acc6..d92999a66 100644
--- a/src/effectvehicle.cpp
+++ b/src/effectvehicle.cpp
@@ -28,8 +28,8 @@
*/
static bool IncrementSprite(EffectVehicle *v, SpriteID last)
{
- if (v->sprite_seq.seq[0].sprite != last) {
- v->sprite_seq.seq[0].sprite++;
+ if (v->sprite_cache.sprite_seq.seq[0].sprite != last) {
+ v->sprite_cache.sprite_seq.seq[0].sprite++;
return true;
} else {
return false;
@@ -39,7 +39,7 @@ static bool IncrementSprite(EffectVehicle *v, SpriteID last)
static void ChimneySmokeInit(EffectVehicle *v)
{
uint32 r = Random();
- v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3));
+ v->sprite_cache.sprite_seq.Set(SPR_CHIMNEY_SMOKE_0 + GB(r, 0, 3));
v->progress = GB(r, 16, 3);
}
@@ -55,7 +55,7 @@ static bool ChimneySmokeTick(EffectVehicle *v)
}
if (!IncrementSprite(v, SPR_CHIMNEY_SMOKE_7)) {
- v->sprite_seq.Set(SPR_CHIMNEY_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_CHIMNEY_SMOKE_0);
}
v->progress = 7;
v->UpdatePositionAndViewport();
@@ -66,7 +66,7 @@ static bool ChimneySmokeTick(EffectVehicle *v)
static void SteamSmokeInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_STEAM_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_STEAM_SMOKE_0);
v->progress = 12;
}
@@ -96,7 +96,7 @@ static bool SteamSmokeTick(EffectVehicle *v)
static void DieselSmokeInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_DIESEL_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_DIESEL_SMOKE_0);
v->progress = 0;
}
@@ -120,7 +120,7 @@ static bool DieselSmokeTick(EffectVehicle *v)
static void ElectricSparkInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_ELECTRIC_SPARK_0);
+ v->sprite_cache.sprite_seq.Set(SPR_ELECTRIC_SPARK_0);
v->progress = 1;
}
@@ -143,7 +143,7 @@ static bool ElectricSparkTick(EffectVehicle *v)
static void SmokeInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_SMOKE_0);
v->progress = 12;
}
@@ -173,7 +173,7 @@ static bool SmokeTick(EffectVehicle *v)
static void ExplosionLargeInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_EXPLOSION_LARGE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_EXPLOSION_LARGE_0);
v->progress = 0;
}
@@ -193,7 +193,7 @@ static bool ExplosionLargeTick(EffectVehicle *v)
static void BreakdownSmokeInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
v->progress = 0;
}
@@ -202,7 +202,7 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
v->progress++;
if ((v->progress & 7) == 0) {
if (!IncrementSprite(v, SPR_BREAKDOWN_SMOKE_3)) {
- v->sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_BREAKDOWN_SMOKE_0);
}
v->UpdatePositionAndViewport();
}
@@ -218,7 +218,7 @@ static bool BreakdownSmokeTick(EffectVehicle *v)
static void ExplosionSmallInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_EXPLOSION_SMALL_0);
+ v->sprite_cache.sprite_seq.Set(SPR_EXPLOSION_SMALL_0);
v->progress = 0;
}
@@ -238,7 +238,7 @@ static bool ExplosionSmallTick(EffectVehicle *v)
static void BulldozerInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_BULLDOZER_NE);
+ v->sprite_cache.sprite_seq.Set(SPR_BULLDOZER_NE);
v->progress = 0;
v->animation_state = 0;
v->animation_substate = 0;
@@ -289,7 +289,7 @@ static bool BulldozerTick(EffectVehicle *v)
if ((v->progress & 7) == 0) {
const BulldozerMovement *b = &_bulldozer_movement[v->animation_state];
- v->sprite_seq.Set(SPR_BULLDOZER_NE + b->image);
+ v->sprite_cache.sprite_seq.Set(SPR_BULLDOZER_NE + b->image);
v->x_pos += _inc_by_dir[b->direction].x;
v->y_pos += _inc_by_dir[b->direction].y;
@@ -311,7 +311,7 @@ static bool BulldozerTick(EffectVehicle *v)
static void BubbleInit(EffectVehicle *v)
{
- v->sprite_seq.Set(SPR_BUBBLE_GENERATE_0);
+ v->sprite_cache.sprite_seq.Set(SPR_BUBBLE_GENERATE_0);
v->spritenum = 0;
v->progress = 0;
}
@@ -474,8 +474,8 @@ static bool BubbleTick(EffectVehicle *v)
if ((v->progress & 3) != 0) return true;
if (v->spritenum == 0) {
- v->sprite_seq.seq[0].sprite++;
- if (v->sprite_seq.seq[0].sprite < SPR_BUBBLE_GENERATE_3) {
+ v->sprite_cache.sprite_seq.seq[0].sprite++;
+ if (v->sprite_cache.sprite_seq.seq[0].sprite < SPR_BUBBLE_GENERATE_3) {
v->UpdatePositionAndViewport();
return true;
}
@@ -520,7 +520,7 @@ static bool BubbleTick(EffectVehicle *v)
v->x_pos += b->x;
v->y_pos += b->y;
v->z_pos += b->z;
- v->sprite_seq.Set(SPR_BUBBLE_0 + b->image);
+ v->sprite_cache.sprite_seq.Set(SPR_BUBBLE_0 + b->image);
v->UpdatePositionAndViewport();