rail_cmd.c
changeset 3208 768144ca6380
parent 3191 d273bda0f5d4
child 3220 149ce8c6ba10
equal deleted inserted replaced
3207:a06b4a8b573c 3208:768144ca6380
   425 
   425 
   426 			SetClearUnderBridge(tile);
   426 			SetClearUnderBridge(tile);
   427 			break;
   427 			break;
   428 
   428 
   429 		case MP_STREET: {
   429 		case MP_STREET: {
       
   430 			uint town;
   430 			if (!IsLevelCrossing(tile)) return CMD_ERROR;
   431 			if (!IsLevelCrossing(tile)) return CMD_ERROR;
   431 
   432 
   432 			/* This is a crossing, let's check if the direction is correct */
   433 			/* This is a crossing, let's check if the direction is correct */
   433 			if (GetCrossingRailBits(tile) != trackbit) return CMD_ERROR;
   434 			if (GetCrossingRailBits(tile) != trackbit) return CMD_ERROR;
   434 
   435 
   435 			if (!(flags & DC_EXEC))
   436 			if (!(flags & DC_EXEC))
   436 				return _price.remove_rail;
   437 				return _price.remove_rail;
   437 
   438 
   438 			MakeRoadNormal(tile, _m[tile].m3, GetCrossingRoadBits(tile), 0);
   439 			town = (_m[tile].m3 == OWNER_TOWN) ? _m[tile].m2 : 0;
       
   440 			MakeRoadNormal(tile, _m[tile].m3, GetCrossingRoadBits(tile), town);
   439 			break;
   441 			break;
   440 		}
   442 		}
   441 
   443 
   442 		case MP_RAILWAY:
   444 		case MP_RAILWAY:
   443 			if (!IsPlainRailTile(tile))
   445 			if (!IsPlainRailTile(tile))