road_cmd.c
changeset 3269 62fb247bf94b
parent 3267 feff95208a9f
child 3272 b3e2d8e19937
equal deleted inserted replaced
3268:d61a35c2028c 3269:62fb247bf94b
   332 			if (!HASBIT(M(14) | M(13) | M(11) | M(10) | M(7) | M(5) | M(0), ti.tileh)) {
   332 			if (!HASBIT(M(14) | M(13) | M(11) | M(10) | M(7) | M(5) | M(0), ti.tileh)) {
   333 				return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
   333 				return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
   334 			}
   334 			}
   335 #undef M
   335 #undef M
   336 
   336 
   337 			if (ti.map5 == 2) {
   337 			if (GetRailTileType(tile) != RAIL_TYPE_NORMAL) goto do_clear;
   338 				if (pieces & ROAD_Y) goto do_clear;
   338 			switch (GetTrackBits(tile)) {
   339 				roaddir = AXIS_X;
   339 				case TRACK_BIT_X:
   340 			} else if (ti.map5 == 1) {
   340 					if (pieces & ROAD_X) goto do_clear;
   341 				if (pieces & ROAD_X) goto do_clear;
   341 					roaddir = AXIS_Y;
   342 				roaddir = AXIS_Y;
   342 					break;
   343 			} else {
   343 
   344 				goto do_clear;
   344 				case TRACK_BIT_Y:
       
   345 					if (pieces & ROAD_Y) goto do_clear;
       
   346 					roaddir = AXIS_X;
       
   347 					break;
       
   348 
       
   349 				default: goto do_clear;
   345 			}
   350 			}
   346 
   351 
   347 			if (flags & DC_EXEC) {
   352 			if (flags & DC_EXEC) {
   348 				MakeRoadCrossing(tile, _current_player, GetTileOwner(tile), roaddir, GetRailType(tile), p2);
   353 				MakeRoadCrossing(tile, _current_player, GetTileOwner(tile), roaddir, GetRailType(tile), p2);
   349 				MarkTileDirtyByTile(tile);
   354 				MarkTileDirtyByTile(tile);