mirror of https://github.com/OpenTTD/OpenTTD
(svn r12179) -Codechange: use GetCrossingRailTrack() and GetCrossingRailAxis() to improve code readability
parent
c7a8080c3a
commit
509b3a3247
|
@ -2393,7 +2393,7 @@ bool AfterLoadGame()
|
|||
if (!GetPlayer(o)->is_active) {
|
||||
/* remove leftover rail piece from crossing (from very old savegames) */
|
||||
_current_player = o;
|
||||
DoCommand(t, 0, AxisToTrack(OtherAxis(GetCrossingRoadAxis(t))), DC_EXEC | DC_BANKRUPT, CMD_REMOVE_SINGLE_RAIL);
|
||||
DoCommand(t, 0, GetCrossingRailTrack(t), DC_EXEC | DC_BANKRUPT, CMD_REMOVE_SINGLE_RAIL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1313,7 +1313,7 @@ CommandCost CmdConvertRail(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|||
|
||||
default: // MP_STATION, MP_ROAD
|
||||
if (flags & DC_EXEC) {
|
||||
Track track = (tt == MP_STATION) ? GetRailStationTrack(tile) : AxisToTrack(OtherAxis(GetCrossingRoadAxis(tile)));
|
||||
Track track = ((tt == MP_STATION) ? GetRailStationTrack(tile) : GetCrossingRailTrack(tile));
|
||||
YapfNotifyTrackLayoutChange(tile, track);
|
||||
}
|
||||
|
||||
|
|
|
@ -1448,7 +1448,7 @@ static void ChangeTileOwner_Road(TileIndex tile, PlayerID old_player, PlayerID n
|
|||
if (IsLevelCrossing(tile)) {
|
||||
if (GetTileOwner(tile) == old_player) {
|
||||
if (new_player == PLAYER_SPECTATOR) {
|
||||
DoCommand(tile, 0, AxisToTrack(OtherAxis(GetCrossingRoadAxis(tile))), DC_EXEC | DC_BANKRUPT, CMD_REMOVE_SINGLE_RAIL);
|
||||
DoCommand(tile, 0, GetCrossingRailTrack(tile), DC_EXEC | DC_BANKRUPT, CMD_REMOVE_SINGLE_RAIL);
|
||||
} else {
|
||||
SetTileOwner(tile, new_player);
|
||||
}
|
||||
|
|
|
@ -206,14 +206,25 @@ static inline Axis GetCrossingRoadAxis(TileIndex t)
|
|||
return (Axis)GB(_m[t].m4, 6, 1);
|
||||
}
|
||||
|
||||
static inline Axis GetCrossingRailAxis(TileIndex t)
|
||||
{
|
||||
assert(IsLevelCrossing(t));
|
||||
return OtherAxis((Axis)GetCrossingRoadAxis(t));
|
||||
}
|
||||
|
||||
static inline RoadBits GetCrossingRoadBits(TileIndex tile)
|
||||
{
|
||||
return GetCrossingRoadAxis(tile) == AXIS_X ? ROAD_X : ROAD_Y;
|
||||
}
|
||||
|
||||
static inline Track GetCrossingRailTrack(TileIndex tile)
|
||||
{
|
||||
return AxisToTrack(GetCrossingRailAxis(tile));
|
||||
}
|
||||
|
||||
static inline TrackBits GetCrossingRailBits(TileIndex tile)
|
||||
{
|
||||
return AxisToTrackBits(OtherAxis(GetCrossingRoadAxis(tile)));
|
||||
return AxisToTrackBits(GetCrossingRailAxis(tile));
|
||||
}
|
||||
|
||||
static inline bool IsCrossingBarred(TileIndex t)
|
||||
|
|
|
@ -1667,7 +1667,7 @@ static Vehicle *TrainApproachingCrossing(TileIndex tile)
|
|||
{
|
||||
assert(IsLevelCrossingTile(tile));
|
||||
|
||||
DiagDirection dir = AxisToDiagDir(OtherAxis(GetCrossingRoadAxis(tile)));
|
||||
DiagDirection dir = AxisToDiagDir(GetCrossingRailAxis(tile));
|
||||
TileIndex tile_from = tile + TileOffsByDiagDir(dir);
|
||||
|
||||
Vehicle *v = (Vehicle *)VehicleFromPos(tile_from, &tile, &TrainApproachingCrossingEnum);
|
||||
|
|
Loading…
Reference in New Issue