summaryrefslogtreecommitdiff
path: root/src/tunnelbridge_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r--src/tunnelbridge_cmd.cpp26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp
index 6d52328cb..b710b8312 100644
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -195,8 +195,6 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u
{
RailType railtype = INVALID_RAILTYPE;
RoadTypes roadtypes = ROADTYPES_NONE;
- CommandCost cost(EXPENSES_CONSTRUCTION);
- Owner owner;
/* unpack parameters */
BridgeType bridge_type = GB(p2, 0, 8);
@@ -266,6 +264,8 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u
if (z_start != z_end) return_cmd_error(STR_ERROR_BRIDGEHEADS_NOT_SAME_HEIGHT);
+ CommandCost cost(EXPENSES_CONSTRUCTION);
+ Owner owner;
if (IsBridgeTile(tile_start) && IsBridgeTile(tile_end) &&
GetOtherBridgeEnd(tile_start) == tile_end &&
GetTunnelBridgeTransportType(tile_start) == transport_type) {
@@ -481,7 +481,6 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u
CommandCost CmdBuildTunnel(TileIndex start_tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
{
TransportType transport_type = (TransportType)GB(p1, 9, 1);
- CommandCost cost(EXPENSES_CONSTRUCTION);
_build_tunnel_endtile = 0;
if (transport_type == TRANSPORT_RAIL) {
@@ -524,6 +523,7 @@ CommandCost CmdBuildTunnel(TileIndex start_tile, DoCommandFlag flags, uint32 p1,
/* Number of tiles at which the cost increase coefficient per tile is halved */
int tiles_bump = 25;
+ CommandCost cost(EXPENSES_CONSTRUCTION);
Slope end_tileh;
for (;;) {
end_tile += delta;
@@ -640,14 +640,11 @@ static inline CommandCost CheckAllowRemoveTunnelBridge(TileIndex tile)
*/
static CommandCost DoClearTunnel(TileIndex tile, DoCommandFlag flags)
{
- Town *t = NULL;
- TileIndex endtile;
-
CommandCost ret = CheckAllowRemoveTunnelBridge(tile);
ret.SetGlobalErrorMessage();
if (ret.Failed()) return ret;
- endtile = GetOtherTunnelEnd(tile);
+ TileIndex endtile = GetOtherTunnelEnd(tile);
ret = TunnelBridgeIsFree(tile, endtile);
ret.SetGlobalErrorMessage();
@@ -655,6 +652,7 @@ static CommandCost DoClearTunnel(TileIndex tile, DoCommandFlag flags)
_build_tunnel_endtile = endtile;
+ Town *t = NULL;
if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) {
t = ClosestTownFromTile(tile, UINT_MAX); // town penalty rating
@@ -711,24 +709,20 @@ static CommandCost DoClearTunnel(TileIndex tile, DoCommandFlag flags)
*/
static CommandCost DoClearBridge(TileIndex tile, DoCommandFlag flags)
{
- DiagDirection direction;
- TileIndexDiff delta;
- TileIndex endtile;
- Town *t = NULL;
-
CommandCost ret = CheckAllowRemoveTunnelBridge(tile);
ret.SetGlobalErrorMessage();
if (ret.Failed()) return ret;
- endtile = GetOtherBridgeEnd(tile);
+ TileIndex endtile = GetOtherBridgeEnd(tile);
ret = TunnelBridgeIsFree(tile, endtile);
ret.SetGlobalErrorMessage();
if (ret.Failed()) return ret;
- direction = GetTunnelBridgeDirection(tile);
- delta = TileOffsByDiagDir(direction);
+ DiagDirection direction = GetTunnelBridgeDirection(tile);
+ TileIndexDiff delta = TileOffsByDiagDir(direction);
+ Town *t = NULL;
if (IsTileOwner(tile, OWNER_TOWN) && _game_mode != GM_EDITOR) {
t = ClosestTownFromTile(tile, UINT_MAX); // town penalty rating
@@ -925,7 +919,6 @@ static void DrawBridgeTramBits(int x, int y, byte z, int offset, bool overlay, b
*/
static void DrawTile_TunnelBridge(TileInfo *ti)
{
- SpriteID image;
TransportType transport_type = GetTunnelBridgeTransportType(ti->tile);
DiagDirection tunnelbridge_direction = GetTunnelBridgeDirection(ti->tile);
@@ -951,6 +944,7 @@ static void DrawTile_TunnelBridge(TileInfo *ti)
bool catenary = false;
+ SpriteID image;
if (transport_type == TRANSPORT_RAIL) {
image = GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.tunnel;
} else {