1
0
Fork 0

(svn r16908) -Codechange: s/DepotWaypointReservation/DepotReservation/

release/1.0
rubidium 2009-07-22 08:52:41 +00:00
parent 8405d7d7e7
commit 2646a99d29
8 changed files with 34 additions and 36 deletions

View File

@ -452,7 +452,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by
case 0x43: return st->owner; // Station owner case 0x43: return st->owner; // Station owner
case 0x44: case 0x44:
if (IsRailWaypointTile(tile)) { if (IsRailWaypointTile(tile)) {
return HasDepotWaypointReservation(tile) ? 7 : 4; return HasDepotReservation(tile) ? 7 : 4;
} else { } else {
return HasStationReservation(tile) ? 7 : 4; // PBS status return HasStationReservation(tile) ? 7 : 4; // PBS status
} }

View File

@ -17,7 +17,7 @@ TrackBits GetReservedTrackbits(TileIndex t)
{ {
switch (GetTileType(t)) { switch (GetTileType(t)) {
case MP_RAILWAY: case MP_RAILWAY:
if (IsRailWaypoint(t) || IsRailDepot(t)) return GetWaypointReservationTrackBits(t); if (IsRailDepot(t)) return GetDepotReservationTrackBits(t);
if (IsPlainRail(t)) return GetRailReservationTrackBits(t); if (IsPlainRail(t)) return GetRailReservationTrackBits(t);
break; break;
@ -80,9 +80,9 @@ bool TryReserveRailTrack(TileIndex tile, Track t)
switch (GetTileType(tile)) { switch (GetTileType(tile)) {
case MP_RAILWAY: case MP_RAILWAY:
if (IsPlainRail(tile)) return TryReserveTrack(tile, t); if (IsPlainRail(tile)) return TryReserveTrack(tile, t);
if (IsRailWaypoint(tile) || IsRailDepot(tile)) { if (IsRailDepot(tile)) {
if (!HasDepotWaypointReservation(tile)) { if (!HasDepotReservation(tile)) {
SetDepotWaypointReservation(tile, true); SetDepotReservation(tile, true);
MarkTileDirtyByTile(tile); // some GRFs change their appearance when tile is reserved MarkTileDirtyByTile(tile); // some GRFs change their appearance when tile is reserved
return true; return true;
} }
@ -134,8 +134,8 @@ bool TryReserveRailTrack(TileIndex tile, Track t)
switch (GetTileType(tile)) { switch (GetTileType(tile)) {
case MP_RAILWAY: case MP_RAILWAY:
if (IsRailWaypoint(tile) || IsRailDepot(tile)) { if (IsRailDepot(tile)) {
SetDepotWaypointReservation(tile, false); SetDepotReservation(tile, false);
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
break; break;
} }

View File

@ -1439,7 +1439,7 @@ static CommandCost RemoveTrainDepot(TileIndex tile, DoCommandFlag flags)
Owner owner = GetTileOwner(tile); Owner owner = GetTileOwner(tile);
Train *v = NULL; Train *v = NULL;
if (HasDepotWaypointReservation(tile)) { if (HasDepotReservation(tile)) {
v = GetTrainForReservation(tile, DiagDirToDiagTrack(dir)); v = GetTrainForReservation(tile, DiagDirToDiagTrack(dir));
if (v != NULL) FreeTrainTrackReservation(v); if (v != NULL) FreeTrainTrackReservation(v);
} }
@ -1983,7 +1983,7 @@ default_waypoint:
DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, _drawtile_track_palette)); DrawGroundSprite(image, GroundSpritePaletteTransform(image, pal, _drawtile_track_palette));
/* PBS debugging, draw reserved tracks darker */ /* 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)) { (!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); DrawGroundSprite(GetWaypointAxis(ti->tile) == AXIS_X ? rti->base_sprites.single_y : rti->base_sprites.single_x, PALETTE_CRASH);
} }

View File

@ -312,28 +312,26 @@ static inline void UnreserveTrack(TileIndex tile, Track t)
} }
/** /**
* Get the reservation state of the waypoint or depot * Get the reservation state of the depot
* @note Works for both waypoints and rail depots * @pre IsRailDepot(t)
* @pre IsRailWaypoint(t) || IsRailDepot(t) * @param t the depot tile
* @param t the waypoint/depot tile
* @return reservation state * @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); return HasBit(_m[t].m5, 4);
} }
/** /**
* Set the reservation state of the waypoint or depot * Set the reservation state of the depot
* @note Works for both waypoints and rail depots * @pre IsRailDepot(t)
* @pre IsRailWaypoint(t) || IsRailDepot(t) * @param t the depot tile
* @param t the waypoint/depot tile
* @param b the reservation state * @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); 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) 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) static inline TrackBits GetDepotReservationTrackBits(TileIndex t)
{ {
return HasDepotWaypointReservation(t) ? TrackToTrackBits(GetRailDepotTrack(t)) : TRACK_BIT_NONE; return HasDepotReservation(t) ? TrackToTrackBits(GetRailDepotTrack(t)) : TRACK_BIT_NONE;
} }

View File

@ -1668,8 +1668,8 @@ bool AfterLoadGame()
} }
/* Clear PBS reservation on track */ /* Clear PBS reservation on track */
if (IsRailDepot(t) ||IsRailWaypoint(t)) { if (IsRailDepot(t)) {
SetDepotWaypointReservation(t, false); SetDepotReservation(t, false);
} else { } else {
SetTrackReservation(t, TRACK_BIT_NONE); SetTrackReservation(t, TRACK_BIT_NONE);
} }

View File

@ -2459,7 +2459,7 @@ static bool CheckTrainStayInDepot(Train *v)
v->load_unload_time_rem = 0; v->load_unload_time_rem = 0;
seg_state = _settings_game.pf.reserve_paths ? SIGSEG_PBS : UpdateSignalsOnSegment(v->tile, INVALID_DIAGDIR, v->owner); 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. */ /* Full and no PBS signal in block or depot reserved, can't exit. */
InvalidateWindowClasses(WC_TRAINS_LIST); InvalidateWindowClasses(WC_TRAINS_LIST);
return true; 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 */ /* 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) { if (v->current_order.IsType(OT_GOTO_DEPOT) && v->tile == v->dest_tile) {
/* We need to have a reservation for this to work. */ /* We need to have a reservation for this to work. */
if (HasDepotWaypointReservation(v->tile)) return true; if (HasDepotReservation(v->tile)) return true;
SetDepotWaypointReservation(v->tile, true); SetDepotReservation(v->tile, true);
VehicleEnterDepot(v); VehicleEnterDepot(v);
return true; return true;
} }
@ -2485,7 +2485,7 @@ static bool CheckTrainStayInDepot(Train *v)
return true; return true;
} }
SetDepotWaypointReservation(v->tile, true); SetDepotReservation(v->tile, true);
if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile); if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(v->tile);
VehicleServiceInDepot(v); 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 * 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. */ * inside the depot, a depot reservation can never be ours. */
if (v->track == TRACK_BIT_DEPOT) { if (v->track == TRACK_BIT_DEPOT) {
if (HasDepotWaypointReservation(v->tile)) { if (HasDepotReservation(v->tile)) {
if (mark_as_stuck) MarkTrainAsStuck(v); if (mark_as_stuck) MarkTrainAsStuck(v);
return false; return false;
} else { } 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 we are in a depot, tentativly reserve the depot. */
if (v->track == TRACK_BIT_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); 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) { if (!res_made) {
/* Free the depot reservation as well. */ /* 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; return false;
} }

View File

@ -952,7 +952,7 @@ void VehicleEnterDepot(Vehicle *v)
Train *t = Train::From(v); Train *t = Train::From(v);
InvalidateWindowClasses(WC_TRAINS_LIST); InvalidateWindowClasses(WC_TRAINS_LIST);
/* Clear path reservation */ /* Clear path reservation */
SetDepotWaypointReservation(t->tile, false); SetDepotReservation(t->tile, false);
if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(t->tile); if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(t->tile);
if (!t->IsFrontEngine()) t = t->First(); if (!t->IsFrontEngine()) t = t->First();

View File

@ -187,7 +187,7 @@ CommandCost CmdBuildTrainWaypoint(TileIndex tile, DoCommandFlag flags, uint32 p1
bool reserved = HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis)); bool reserved = HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis));
MakeRailWaypoint(tile, owner, axis, GetRailType(tile), wp->index); MakeRailWaypoint(tile, owner, axis, GetRailType(tile), wp->index);
SetDepotWaypointReservation(tile, reserved); SetDepotReservation(tile, reserved);
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
AllocateSpecToStation(GetCustomStationSpec(STAT_CLASS_WAYP, p1), wp, true); AllocateSpecToStation(GetCustomStationSpec(STAT_CLASS_WAYP, p1), wp, true);
@ -234,12 +234,12 @@ CommandCost RemoveTrainWaypoint(TileIndex tile, DoCommandFlag flags, bool justre
Train *v = NULL; Train *v = NULL;
if (justremove) { if (justremove) {
TrackBits tracks = GetRailWaypointBits(tile); TrackBits tracks = GetRailWaypointBits(tile);
bool reserved = HasDepotWaypointReservation(tile); bool reserved = HasDepotReservation(tile);
MakeRailNormal(tile, wp->owner, tracks, GetRailType(tile)); MakeRailNormal(tile, wp->owner, tracks, GetRailType(tile));
if (reserved) SetTrackReservation(tile, tracks); if (reserved) SetTrackReservation(tile, tracks);
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
} else { } else {
if (HasDepotWaypointReservation(tile)) { if (HasDepotReservation(tile)) {
v = GetTrainForReservation(tile, track); v = GetTrainForReservation(tile, track);
if (v != NULL) FreeTrainTrackReservation(v); if (v != NULL) FreeTrainTrackReservation(v);
} }