rail_cmd.c
changeset 3319 16c0f06829a5
parent 3286 5177aab0ec21
child 3333 5feb21487332
equal deleted inserted replaced
3318:15ec70e8e6cb 3319:16c0f06829a5
     9 #include "road_map.h"
     9 #include "road_map.h"
    10 #include "table/sprites.h"
    10 #include "table/sprites.h"
    11 #include "table/strings.h"
    11 #include "table/strings.h"
    12 #include "map.h"
    12 #include "map.h"
    13 #include "tile.h"
    13 #include "tile.h"
       
    14 #include "town_map.h"
    14 #include "tunnel_map.h"
    15 #include "tunnel_map.h"
    15 #include "vehicle.h"
    16 #include "vehicle.h"
    16 #include "viewport.h"
    17 #include "viewport.h"
    17 #include "command.h"
    18 #include "command.h"
    18 #include "pathfind.h"
    19 #include "pathfind.h"
   319 			if (GetRoadType(tile) == ROAD_NORMAL && (
   320 			if (GetRoadType(tile) == ROAD_NORMAL && (
   320 						(track == TRACK_X && GetRoadBits(tile) == ROAD_Y) ||
   321 						(track == TRACK_X && GetRoadBits(tile) == ROAD_Y) ||
   321 						(track == TRACK_Y && GetRoadBits(tile) == ROAD_X)
   322 						(track == TRACK_Y && GetRoadBits(tile) == ROAD_X)
   322 					)) {
   323 					)) {
   323 				if (flags & DC_EXEC) {
   324 				if (flags & DC_EXEC) {
   324 					MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, _m[tile].m2);
   325 					MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_X ? AXIS_Y : AXIS_X), p1, GetTownIndex(tile));
   325 				}
   326 				}
   326 				break;
   327 				break;
   327 			}
   328 			}
   328 
   329 
   329 			if (IsLevelCrossing(tile) && GetCrossingRailBits(tile) == trackbit) {
   330 			if (IsLevelCrossing(tile) && GetCrossingRailBits(tile) == trackbit) {
   394 					!EnsureNoVehicle(tile)) {
   395 					!EnsureNoVehicle(tile)) {
   395 				return CMD_ERROR;
   396 				return CMD_ERROR;
   396 			}
   397 			}
   397 
   398 
   398 			if (flags & DC_EXEC) {
   399 			if (flags & DC_EXEC) {
   399 				MakeRoadNormal(tile, GetCrossingRoadOwner(tile), GetCrossingRoadBits(tile), _m[tile].m2);
   400 				MakeRoadNormal(tile, GetCrossingRoadOwner(tile), GetCrossingRoadBits(tile), GetTownIndex(tile));
   400 			}
   401 			}
   401 			break;
   402 			break;
   402 		}
   403 		}
   403 
   404 
   404 		case MP_RAILWAY: {
   405 		case MP_RAILWAY: {