1
0
Fork 0

(svn r12179) -Codechange: use GetCrossingRailTrack() and GetCrossingRailAxis() to improve code readability

release/0.6
smatz 2008-02-18 18:35:36 +00:00
parent c7a8080c3a
commit 509b3a3247
5 changed files with 16 additions and 5 deletions

View File

@ -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);
}
}
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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)

View File

@ -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);