diff options
-rw-r--r-- | src/newgrf_station.cpp | 2 | ||||
-rw-r--r-- | src/pbs.cpp | 12 | ||||
-rw-r--r-- | src/rail_cmd.cpp | 4 | ||||
-rw-r--r-- | src/rail_map.h | 26 | ||||
-rw-r--r-- | src/saveload/afterload.cpp | 4 | ||||
-rw-r--r-- | src/train_cmd.cpp | 14 | ||||
-rw-r--r-- | src/vehicle.cpp | 2 | ||||
-rw-r--r-- | src/waypoint_cmd.cpp | 6 |
8 files changed, 34 insertions, 36 deletions
diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 3cd21e985..032e2f5e3 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -452,7 +452,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by case 0x43: return st->owner; // Station owner case 0x44: if (IsRailWaypointTile(tile)) { - return HasDepotWaypointReservation(tile) ? 7 : 4; + return HasDepotReservation(tile) ? 7 : 4; } else { return HasStationReservation(tile) ? 7 : 4; // PBS status } diff --git a/src/pbs.cpp b/src/pbs.cpp index b74cfa419..1309d01ee 100644 --- a/src/pbs.cpp +++ b/src/pbs.cpp @@ -17,7 +17,7 @@ TrackBits GetReservedTrackbits(TileIndex t) { switch (GetTileType(t)) { case MP_RAILWAY: - if (IsRailWaypoint(t) || IsRailDepot(t)) return GetWaypointReservationTrackBits(t); + if (IsRailDepot(t)) return GetDepotReservationTrackBits(t); if (IsPlainRail(t)) return GetRailReservationTrackBits(t); break; @@ -80,9 +80,9 @@ bool TryReserveRailTrack(TileIndex tile, Track t) switch (GetTileType(tile)) { case MP_RAILWAY: if (IsPlainRail(tile)) return TryReserveTrack(tile, t); - if (IsRailWaypoint(tile) || IsRailDepot(tile)) { - if (!HasDepotWaypointReservation(tile)) { - SetDepotWaypointReservation(tile, true); + if (IsRailDepot(tile)) { + if (!HasDepotReservation(tile)) { + SetDepotReservation(tile, true); MarkTileDirtyByTile(tile); // some GRFs change their appearance when tile is reserved return true; } @@ -134,8 +134,8 @@ bool TryReserveRailTrack(TileIndex tile, Track t) switch (GetTileType(tile)) { case MP_RAILWAY: - if (IsRailWaypoint(tile) || IsRailDepot(tile)) { - SetDepotWaypointReservation(tile, false); + if (IsRailDepot(tile)) { + SetDepotReservation(tile, false); MarkTileDirtyByTile(tile); break; } diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 6a58f2827..d3bb22ba1 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -1439,7 +1439,7 @@ static CommandCost RemoveTrainDepot(TileIndex tile, DoCommandFlag flags) Owner owner = GetTileOwner(tile); Train *v = NULL; - if (HasDepotWaypointReservation(tile)) { + if (HasDepotReservation(tile)) { v = GetTrainForReservation(tile, DiagDirToDiagTrack(dir)); if (v != NULL) FreeTrainTrackReservation(v); } @@ -1983,7 +1983,7 @@ default_waypoint: DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, _drawtile_track_palette)); /* PBS debugging, draw reserved tracks darker */ - if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasDepotWaypointReservation(ti->tile) && + if (_game_mode != GM_MENU && _settings_client.gui.show_track_reservation && HasDepotReservation(ti->tile) && (!IsRailDepot(ti->tile) || GetRailDepotDirection(ti->tile) == DIAGDIR_SW || GetRailDepotDirection(ti->tile) == DIAGDIR_SE)) { DrawGroundSprite(GetWaypointAxis(ti->tile) == AXIS_X ? rti->base_sprites.single_y : rti->base_sprites.single_x, PALETTE_CRASH); } diff --git a/src/rail_map.h b/src/rail_map.h index 8fe1bf2ba..1fd3212e6 100644 --- a/src/rail_map.h +++ b/src/rail_map.h @@ -312,28 +312,26 @@ static inline void UnreserveTrack(TileIndex tile, Track t) } /** - * Get the reservation state of the waypoint or depot - * @note Works for both waypoints and rail depots - * @pre IsRailWaypoint(t) || IsRailDepot(t) - * @param t the waypoint/depot tile + * Get the reservation state of the depot + * @pre IsRailDepot(t) + * @param t the depot tile * @return reservation state */ -static inline bool HasDepotWaypointReservation(TileIndex t) +static inline bool HasDepotReservation(TileIndex t) { - assert(IsRailWaypoint(t) || IsRailDepot(t)); + assert(IsRailDepot(t)); return HasBit(_m[t].m5, 4); } /** - * Set the reservation state of the waypoint or depot - * @note Works for both waypoints and rail depots - * @pre IsRailWaypoint(t) || IsRailDepot(t) - * @param t the waypoint/depot tile + * Set the reservation state of the depot + * @pre IsRailDepot(t) + * @param t the depot tile * @param b the reservation state */ -static inline void SetDepotWaypointReservation(TileIndex t, bool b) +static inline void SetDepotReservation(TileIndex t, bool b) { - assert(IsRailWaypoint(t) || IsRailDepot(t)); + assert(IsRailDepot(t)); SB(_m[t].m5, 4, 1, (byte)b); } @@ -345,7 +343,7 @@ static inline void SetDepotWaypointReservation(TileIndex t, bool b) */ static inline TrackBits GetWaypointReservationTrackBits(TileIndex t) { - return HasDepotWaypointReservation(t) ? GetRailWaypointBits(t) : TRACK_BIT_NONE; + return HasDepotReservation(t) ? GetRailWaypointBits(t) : TRACK_BIT_NONE; } /** @@ -356,7 +354,7 @@ static inline TrackBits GetWaypointReservationTrackBits(TileIndex t) */ static inline TrackBits GetDepotReservationTrackBits(TileIndex t) { - return HasDepotWaypointReservation(t) ? TrackToTrackBits(GetRailDepotTrack(t)) : TRACK_BIT_NONE; + return HasDepotReservation(t) ? TrackToTrackBits(GetRailDepotTrack(t)) : TRACK_BIT_NONE; } diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 35337866d..452dbb997 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1668,8 +1668,8 @@ bool AfterLoadGame() } /* Clear PBS reservation on track */ - if (IsRailDepot(t) ||IsRailWaypoint(t)) { - SetDepotWaypointReservation(t, false); + if (IsRailDepot(t)) { + SetDepotReservation(t, false); } else { SetTrackReservation(t, TRACK_BIT_NONE); } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index fb3f3c268..5dfc29626 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2459,7 +2459,7 @@ static bool CheckTrainStayInDepot(Train *v) v->load_unload_time_rem = 0; seg_state = _settings_game.pf.reserve_paths ? SIGSEG_PBS : UpdateSignalsOnSegment(v->tile, INVALID_DIAGDIR, v->owner); - if (seg_state == SIGSEG_FULL || HasDepotWaypointReservation(v->tile)) { + if (seg_state == SIGSEG_FULL || HasDepotReservation(v->tile)) { /* Full and no PBS signal in block or depot reserved, can't exit. */ InvalidateWindowClasses(WC_TRAINS_LIST); return true; @@ -2471,8 +2471,8 @@ static bool CheckTrainStayInDepot(Train *v) /* We are leaving a depot, but have to go to the exact same one; re-enter */ if (v->current_order.IsType(OT_GOTO_DEPOT) && v->tile == v->dest_tile) { /* We need to have a reservation for this to work. */ - if (HasDepotWaypointReservation(v->tile)) return true; - SetDepotWaypointReservation(v->tile, true); + if (HasDepotReservation(v->tile)) return true; + SetDepotReservation(v->tile, true); VehicleEnterDepot(v); return true; } @@ -2485,7 +2485,7 @@ static bool CheckTrainStayInDepot(Train *v) return true; } - SetDepotWaypointReservation(v->tile, true); + SetDepotReservation(v->tile, true); if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile); VehicleServiceInDepot(v); @@ -3137,7 +3137,7 @@ bool TryPathReserve(Train *v, bool mark_as_stuck, bool first_tile_okay) * at the depot tile itself but starts from the next tile. If we are still * inside the depot, a depot reservation can never be ours. */ if (v->track == TRACK_BIT_DEPOT) { - if (HasDepotWaypointReservation(v->tile)) { + if (HasDepotReservation(v->tile)) { if (mark_as_stuck) MarkTrainAsStuck(v); return false; } else { @@ -3181,7 +3181,7 @@ bool TryPathReserve(Train *v, bool mark_as_stuck, bool first_tile_okay) /* If we are in a depot, tentativly reserve the depot. */ if (v->track == TRACK_BIT_DEPOT) { - SetDepotWaypointReservation(v->tile, true); + SetDepotReservation(v->tile, true); if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile); } @@ -3196,7 +3196,7 @@ bool TryPathReserve(Train *v, bool mark_as_stuck, bool first_tile_okay) if (!res_made) { /* Free the depot reservation as well. */ - if (v->track == TRACK_BIT_DEPOT) SetDepotWaypointReservation(v->tile, false); + if (v->track == TRACK_BIT_DEPOT) SetDepotReservation(v->tile, false); return false; } diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 3562a2b58..a5d67ccdc 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -952,7 +952,7 @@ void VehicleEnterDepot(Vehicle *v) Train *t = Train::From(v); InvalidateWindowClasses(WC_TRAINS_LIST); /* Clear path reservation */ - SetDepotWaypointReservation(t->tile, false); + SetDepotReservation(t->tile, false); if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(t->tile); if (!t->IsFrontEngine()) t = t->First(); diff --git a/src/waypoint_cmd.cpp b/src/waypoint_cmd.cpp index 1f82f17f0..8f2804a35 100644 --- a/src/waypoint_cmd.cpp +++ b/src/waypoint_cmd.cpp @@ -187,7 +187,7 @@ CommandCost CmdBuildTrainWaypoint(TileIndex tile, DoCommandFlag flags, uint32 p1 bool reserved = HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis)); MakeRailWaypoint(tile, owner, axis, GetRailType(tile), wp->index); - SetDepotWaypointReservation(tile, reserved); + SetDepotReservation(tile, reserved); MarkTileDirtyByTile(tile); AllocateSpecToStation(GetCustomStationSpec(STAT_CLASS_WAYP, p1), wp, true); @@ -234,12 +234,12 @@ CommandCost RemoveTrainWaypoint(TileIndex tile, DoCommandFlag flags, bool justre Train *v = NULL; if (justremove) { TrackBits tracks = GetRailWaypointBits(tile); - bool reserved = HasDepotWaypointReservation(tile); + bool reserved = HasDepotReservation(tile); MakeRailNormal(tile, wp->owner, tracks, GetRailType(tile)); if (reserved) SetTrackReservation(tile, tracks); MarkTileDirtyByTile(tile); } else { - if (HasDepotWaypointReservation(tile)) { + if (HasDepotReservation(tile)) { v = GetTrainForReservation(tile, track); if (v != NULL) FreeTrainTrackReservation(v); } |