diff options
author | rubidium <rubidium@openttd.org> | 2009-03-11 20:43:14 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-03-11 20:43:14 +0000 |
commit | 655b0ccc2ec4cba709a35f4a5fff9f0858a24aa3 (patch) | |
tree | fab12a7368299932db664475d5c9f6318d508de3 /src/effectvehicle.cpp | |
parent | 48c8cdfd8470163d7b9a64fbba7f9b27b5499009 (diff) | |
download | openttd-655b0ccc2ec4cba709a35f4a5fff9f0858a24aa3.tar.xz |
(svn r15676) -Codechange: remove the need for BeginVehicleMove and merge VehiclePositionChanged and EndVehicleMove.
Diffstat (limited to 'src/effectvehicle.cpp')
-rw-r--r-- | src/effectvehicle.cpp | 61 |
1 files changed, 14 insertions, 47 deletions
diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index ad73b5664..1b168daec 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -25,8 +25,6 @@ static void ChimneySmokeTick(Vehicle *v) if (v->progress > 0) { v->progress--; } else { - BeginVehicleMove(v); - TileIndex tile = TileVirtXY(v->x_pos, v->y_pos); if (!IsTileType(tile, MP_INDUSTRY)) { delete v; @@ -39,8 +37,7 @@ static void ChimneySmokeTick(Vehicle *v) v->cur_image = SPR_CHIMNEY_SMOKE_0; } v->progress = 7; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } } @@ -54,8 +51,6 @@ static void SteamSmokeTick(Vehicle *v) { bool moved = false; - BeginVehicleMove(v); - v->progress++; if ((v->progress & 7) == 0) { @@ -73,10 +68,7 @@ static void SteamSmokeTick(Vehicle *v) moved = true; } - if (moved) { - VehiclePositionChanged(v); - EndVehicleMove(v); - } + if (moved) VehicleMove(v, true); } static void DieselSmokeInit(Vehicle *v) @@ -90,16 +82,12 @@ static void DieselSmokeTick(Vehicle *v) v->progress++; if ((v->progress & 3) == 0) { - BeginVehicleMove(v); v->z_pos++; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } else if ((v->progress & 7) == 1) { - BeginVehicleMove(v); if (v->cur_image != SPR_DIESEL_SMOKE_5) { v->cur_image++; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } else { delete v; } @@ -118,11 +106,9 @@ static void ElectricSparkTick(Vehicle *v) v->progress++; } else { v->progress = 0; - BeginVehicleMove(v); if (v->cur_image != SPR_ELECTRIC_SPARK_5) { v->cur_image++; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } else { delete v; } @@ -139,8 +125,6 @@ static void SmokeTick(Vehicle *v) { bool moved = false; - BeginVehicleMove(v); - v->progress++; if ((v->progress & 3) == 0) { @@ -158,10 +142,7 @@ static void SmokeTick(Vehicle *v) moved = true; } - if (moved) { - VehiclePositionChanged(v); - EndVehicleMove(v); - } + if (moved) VehicleMove(v, true); } static void ExplosionLargeInit(Vehicle *v) @@ -174,11 +155,9 @@ static void ExplosionLargeTick(Vehicle *v) { v->progress++; if ((v->progress & 3) == 0) { - BeginVehicleMove(v); if (v->cur_image != SPR_EXPLOSION_LARGE_F) { v->cur_image++; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } else { delete v; } @@ -195,14 +174,12 @@ static void BreakdownSmokeTick(Vehicle *v) { v->progress++; if ((v->progress & 7) == 0) { - BeginVehicleMove(v); if (v->cur_image != SPR_BREAKDOWN_SMOKE_3) { v->cur_image++; } else { v->cur_image = SPR_BREAKDOWN_SMOKE_0; } - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } v->u.effect.animation_state--; @@ -221,11 +198,9 @@ static void ExplosionSmallTick(Vehicle *v) { v->progress++; if ((v->progress & 3) == 0) { - BeginVehicleMove(v); if (v->cur_image != SPR_EXPLOSION_SMALL_B) { v->cur_image++; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } else { delete v; } @@ -285,8 +260,6 @@ static void BulldozerTick(Vehicle *v) if ((v->progress & 7) == 0) { const BulldozerMovement *b = &_bulldozer_movement[v->u.effect.animation_state]; - BeginVehicleMove(v); - v->cur_image = SPR_BULLDOZER_NE + b->image; v->x_pos += _inc_by_dir[b->direction].x; @@ -301,8 +274,7 @@ static void BulldozerTick(Vehicle *v) return; } } - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } } @@ -470,13 +442,10 @@ static void BubbleTick(Vehicle *v) v->progress++; if ((v->progress & 3) != 0) return; - BeginVehicleMove(v); - if (v->spritenum == 0) { v->cur_image++; if (v->cur_image < SPR_BUBBLE_GENERATE_3) { - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); return; } if (v->u.effect.animation_substate != 0) { @@ -522,8 +491,7 @@ static void BubbleTick(Vehicle *v) v->z_pos += b->z; v->cur_image = SPR_BUBBLE_0 + b->image; - VehiclePositionChanged(v); - EndVehicleMove(v); + VehicleMove(v, true); } @@ -572,9 +540,8 @@ Vehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicleType type) _effect_init_procs[type](v); - VehiclePositionChanged(v); - BeginVehicleMove(v); - EndVehicleMove(v); + VehicleMove(v, false); + MarkSingleVehicleDirty(v); return v; } |