equal
deleted
inserted
replaced
352 if (GetRoadType(tile) == ROAD_NORMAL && ( |
352 if (GetRoadType(tile) == ROAD_NORMAL && ( |
353 (track == TRACK_DIAG1 && m5 == ROAD_Y) || |
353 (track == TRACK_DIAG1 && m5 == ROAD_Y) || |
354 (track == TRACK_DIAG2 && m5 == ROAD_X) // correct direction? |
354 (track == TRACK_DIAG2 && m5 == ROAD_X) // correct direction? |
355 )) { |
355 )) { |
356 if (flags & DC_EXEC) { |
356 if (flags & DC_EXEC) { |
357 _m[tile].m3 = GetTileOwner(tile); |
357 MakeRoadCrossing(tile, GetTileOwner(tile), _current_player, (track == TRACK_DIAG1 ? AXIS_Y : AXIS_X), p1, _m[tile].m2); |
358 SetTileOwner(tile, _current_player); |
|
359 _m[tile].m4 = p1; |
|
360 _m[tile].m5 = 0x10 | (track == TRACK_DIAG1 ? 0x08 : 0x00); // level crossing |
|
361 } |
358 } |
362 break; |
359 break; |
363 } |
360 } |
364 |
361 |
365 if (IsLevelCrossing(tile) && (m5 & 0x08 ? TRACK_DIAG1 : TRACK_DIAG2) == track) |
362 if (IsLevelCrossing(tile) && (m5 & 0x08 ? TRACK_DIAG1 : TRACK_DIAG2) == track) |
458 } |
455 } |
459 |
456 |
460 if (!(flags & DC_EXEC)) |
457 if (!(flags & DC_EXEC)) |
461 return _price.remove_rail; |
458 return _price.remove_rail; |
462 |
459 |
463 SetTileOwner(tile, _m[tile].m3); |
460 MakeRoadNormal(tile, _m[tile].m3, bits, 0); |
464 _m[tile].m2 = 0; |
|
465 _m[tile].m5 = (ROAD_NORMAL << 4) | bits; |
|
466 break; |
461 break; |
467 } |
462 } |
468 |
463 |
469 case MP_RAILWAY: |
464 case MP_RAILWAY: |
470 if (!IsPlainRailTile(tile)) |
465 if (!IsPlainRailTile(tile)) |