diff --git a/src/disaster_cmd.cpp b/src/disaster_cmd.cpp --- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -200,7 +200,6 @@ static void SetDisasterVehiclePos(Vehicl */ static void DisasterTick_Zeppeliner(Vehicle *v) { - GetNewVehiclePosResult gp; Station *st; int x, y; byte z; @@ -211,7 +210,7 @@ static void DisasterTick_Zeppeliner(Vehi if (v->current_order.dest < 2) { if (HASBIT(v->tick_counter, 0)) return; - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); @@ -308,7 +307,6 @@ static void DisasterTick_Zeppeliner(Vehi */ static void DisasterTick_Ufo(Vehicle *v) { - GetNewVehiclePosResult gp; Vehicle *u; uint dist; byte z; @@ -321,7 +319,7 @@ static void DisasterTick_Ufo(Vehicle *v) int y = TileY(v->dest_tile) * TILE_SIZE; if (delta(x, v->x_pos) + delta(y, v->y_pos) >= TILE_SIZE) { v->direction = GetDirectionTowards(v, x, y); - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); return; } @@ -356,7 +354,7 @@ static void DisasterTick_Ufo(Vehicle *v) } v->direction = GetDirectionTowards(v, u->x_pos, u->y_pos); - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); z = v->z_pos; if (dist <= TILE_SIZE && z > u->z_pos) z--; @@ -406,13 +404,11 @@ static void DestructIndustry(Industry *i */ static void DisasterTick_Airplane(Vehicle *v) { - GetNewVehiclePosResult gp; - v->tick_counter++; v->u.disaster.image_override = (v->current_order.dest == 1 && HASBIT(v->tick_counter, 2)) ? SPR_F_15_FIRING : 0; - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); if (gp.x < (-10 * TILE_SIZE)) { @@ -481,13 +477,11 @@ static void DisasterTick_Airplane(Vehicl */ static void DisasterTick_Helicopter(Vehicle *v) { - GetNewVehiclePosResult gp; - v->tick_counter++; v->u.disaster.image_override = (v->current_order.dest == 1 && HASBIT(v->tick_counter, 2)) ? SPR_AH_64A_FIRING : 0; - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); if (gp.x > (int)MapSizeX() * TILE_SIZE + 9 * TILE_SIZE - 1) { @@ -568,7 +562,6 @@ static void DisasterTick_Helicopter_Roto */ static void DisasterTick_Big_Ufo(Vehicle *v) { - GetNewVehiclePosResult gp; byte z; Vehicle *u, *w; Town *t; @@ -583,7 +576,7 @@ static void DisasterTick_Big_Ufo(Vehicle if (delta(v->x_pos, x) + delta(v->y_pos, y) >= 8) { v->direction = GetDirectionTowards(v, x, y); - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); return; } @@ -632,7 +625,7 @@ static void DisasterTick_Big_Ufo(Vehicle int y = TileY(v->dest_tile) * TILE_SIZE; if (delta(x, v->x_pos) + delta(y, v->y_pos) >= TILE_SIZE) { v->direction = GetDirectionTowards(v, x, y); - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); return; } @@ -665,13 +658,12 @@ static void DisasterTick_Big_Ufo(Vehicle */ static void DisasterTick_Big_Ufo_Destroyer(Vehicle *v) { - GetNewVehiclePosResult gp; Vehicle *u; int i; v->tick_counter++; - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); if (gp.x > (int)MapSizeX() * TILE_SIZE + 9 * TILE_SIZE - 1) { @@ -711,7 +703,6 @@ static void DisasterTick_Big_Ufo_Destroy */ static void DisasterTick_Submarine(Vehicle *v) { - GetNewVehiclePosResult gp; TileIndex tile; v->tick_counter++; @@ -731,7 +722,7 @@ static void DisasterTick_Submarine(Vehic TrackdirBits r = (TrackdirBits)GetTileTrackStatus(tile, TRANSPORT_WATER); if (TrackdirBitsToTrackBits(r) == TRACK_BIT_ALL && !CHANCE16(1, 90)) { - GetNewVehiclePos(v, &gp); + GetNewVehiclePosResult gp = GetNewVehiclePos(v); SetDisasterVehiclePos(v, gp.x, gp.y, v->z_pos); return; }