1
0
Fork 0

(svn r12745) -Codechange: a bit of naming conventions, introduce Is*DepotTile()

release/0.7
smatz 2008-04-17 00:44:20 +00:00
parent 1367c90161
commit 9488db56d4
20 changed files with 70 additions and 65 deletions

View File

@ -330,7 +330,7 @@ static void AiHandleReplaceTrain(Player *p)
EngineID veh; EngineID veh;
// wait until the vehicle reaches the depot. // wait until the vehicle reaches the depot.
if (!IsTileDepotType(v->tile, TRANSPORT_RAIL) || v->u.rail.track != 0x80 || !(v->vehstatus&VS_STOPPED)) { if (!IsDepotTypeTile(v->tile, TRANSPORT_RAIL) || v->u.rail.track != 0x80 || !(v->vehstatus&VS_STOPPED)) {
AiHandleGotoDepot(p, CMD_SEND_TRAIN_TO_DEPOT); AiHandleGotoDepot(p, CMD_SEND_TRAIN_TO_DEPOT);
return; return;
} }
@ -2886,7 +2886,7 @@ static bool AiCheckRoadFinished(Player *p)
are.dest = _players_ai[p->index].cur_tile_b; are.dest = _players_ai[p->index].cur_tile_b;
tile = TILE_MASK(_players_ai[p->index].cur_tile_a + TileOffsByDiagDir(dir)); tile = TILE_MASK(_players_ai[p->index].cur_tile_a + TileOffsByDiagDir(dir));
if (IsRoadStopTile(tile) || IsTileDepotType(tile, TRANSPORT_ROAD)) return false; if (IsRoadStopTile(tile) || IsDepotTypeTile(tile, TRANSPORT_ROAD)) return false;
TrackdirBits bits = TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_ROAD, ROADTYPES_ROAD)) & DiagdirReachesTrackdirs(dir); TrackdirBits bits = TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_ROAD, ROADTYPES_ROAD)) & DiagdirReachesTrackdirs(dir);
if (bits == TRACKDIR_BIT_NONE) return false; if (bits == TRACKDIR_BIT_NONE) return false;
@ -3606,7 +3606,7 @@ static void AiStateSellVeh(Player *p)
if (v->owner == _current_player) { if (v->owner == _current_player) {
if (v->type == VEH_TRAIN) { if (v->type == VEH_TRAIN) {
if (!IsTileDepotType(v->tile, TRANSPORT_RAIL) || v->u.rail.track != 0x80 || !(v->vehstatus&VS_STOPPED)) { if (!IsDepotTypeTile(v->tile, TRANSPORT_RAIL) || v->u.rail.track != 0x80 || !(v->vehstatus&VS_STOPPED)) {
if (!v->current_order.IsType(OT_GOTO_DEPOT)) if (!v->current_order.IsType(OT_GOTO_DEPOT))
DoCommand(0, v->index, 0, DC_EXEC, CMD_SEND_TRAIN_TO_DEPOT); DoCommand(0, v->index, 0, DC_EXEC, CMD_SEND_TRAIN_TO_DEPOT);
goto going_to_depot; goto going_to_depot;

View File

@ -45,7 +45,7 @@ static bool IsRoad(TileIndex tile)
{ {
return return
// MP_ROAD, but not a road depot? // MP_ROAD, but not a road depot?
(IsTileType(tile, MP_ROAD) && !IsTileDepotType(tile, TRANSPORT_ROAD)) || (IsTileType(tile, MP_ROAD) && !IsDepotTypeTile(tile, TRANSPORT_ROAD)) ||
(IsTileType(tile, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD); (IsTileType(tile, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD);
} }

View File

@ -1254,7 +1254,7 @@ static void AiNew_CheckVehicle(Player *p, Vehicle *v)
// We are already sending him back // We are already sending him back
if (AiNew_GetSpecialVehicleFlag(p, v) & AI_VEHICLEFLAG_SELL) { if (AiNew_GetSpecialVehicleFlag(p, v) & AI_VEHICLEFLAG_SELL) {
if (v->type == VEH_ROAD && IsTileDepotType(v->tile, TRANSPORT_ROAD) && if (v->type == VEH_ROAD && IsDepotTypeTile(v->tile, TRANSPORT_ROAD) &&
(v->vehstatus&VS_STOPPED)) { (v->vehstatus&VS_STOPPED)) {
// We are at the depot, sell the vehicle // We are at the depot, sell the vehicle
AI_DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_ROAD_VEH); AI_DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_ROAD_VEH);

View File

@ -36,23 +36,20 @@ void ShowDepotWindow(TileIndex tile, VehicleType type);
#define FOR_ALL_DEPOTS(d) FOR_ALL_DEPOTS_FROM(d, 0) #define FOR_ALL_DEPOTS(d) FOR_ALL_DEPOTS_FROM(d, 0)
/** /**
* Check if a tile is a depot of the given type. * Check if a tile is a depot and it is a depot of the given type.
*/ */
static inline bool IsTileDepotType(TileIndex tile, TransportType type) static inline bool IsDepotTypeTile(TileIndex tile, TransportType type)
{ {
switch (type) { switch (type) {
default: NOT_REACHED();
case TRANSPORT_RAIL: case TRANSPORT_RAIL:
return IsTileType(tile, MP_RAILWAY) && GetRailTileType(tile) == RAIL_TILE_DEPOT; return IsRailDepotTile(tile);
case TRANSPORT_ROAD: case TRANSPORT_ROAD:
return IsRoadDepotTile(tile); return IsRoadDepotTile(tile);
case TRANSPORT_WATER: case TRANSPORT_WATER:
return IsTileType(tile, MP_WATER) && GetWaterTileType(tile) == WATER_TILE_DEPOT; return IsShipDepotTile(tile);
default:
NOT_REACHED();
return false;
} }
} }
@ -63,13 +60,7 @@ static inline bool IsTileDepotType(TileIndex tile, TransportType type)
*/ */
static inline bool IsDepotTile(TileIndex tile) static inline bool IsDepotTile(TileIndex tile)
{ {
switch (GetTileType(tile)) { return IsRailDepotTile(tile) || IsRoadDepotTile(tile) || IsShipDepotTile(tile) || IsHangarTile(tile);
case MP_ROAD: return IsRoadDepot(tile);
case MP_WATER: return GetWaterTileType(tile) == WATER_TILE_DEPOT;
case MP_RAILWAY: return GetRailTileType(tile) == RAIL_TILE_DEPOT;
case MP_STATION: return IsHangar(tile);
default: return false;
}
} }
/** /**

View File

@ -231,14 +231,14 @@ static void NPFMarkTile(TileIndex tile)
switch (GetTileType(tile)) { switch (GetTileType(tile)) {
case MP_RAILWAY: case MP_RAILWAY:
/* DEBUG: mark visited tiles by mowing the grass under them ;-) */ /* DEBUG: mark visited tiles by mowing the grass under them ;-) */
if (!IsTileDepotType(tile, TRANSPORT_RAIL)) { if (!IsDepotTypeTile(tile, TRANSPORT_RAIL)) {
SetRailGroundType(tile, RAIL_GROUND_BARREN); SetRailGroundType(tile, RAIL_GROUND_BARREN);
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
} }
break; break;
case MP_ROAD: case MP_ROAD:
if (!IsTileDepotType(tile, TRANSPORT_ROAD)) { if (!IsDepotTypeTile(tile, TRANSPORT_ROAD)) {
SetRoadside(tile, ROADSIDE_BARREN); SetRoadside(tile, ROADSIDE_BARREN);
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
} }
@ -397,7 +397,7 @@ static int32 NPFRailPathCost(AyStar* as, AyStarNode* current, OpenListNode* pare
* curves should be taken into account, as this affects the speed limit. */ * curves should be taken into account, as this affects the speed limit. */
/* Check for reverse in depot */ /* Check for reverse in depot */
if (IsTileDepotType(tile, TRANSPORT_RAIL) && as->EndNodeCheck(as, &new_node) != AYSTAR_FOUND_END_NODE) { if (IsDepotTypeTile(tile, TRANSPORT_RAIL) && as->EndNodeCheck(as, &new_node) != AYSTAR_FOUND_END_NODE) {
/* Penalise any depot tile that is not the last tile in the path. This /* Penalise any depot tile that is not the last tile in the path. This
* _should_ penalise every occurence of reversing in a depot (and only * _should_ penalise every occurence of reversing in a depot (and only
* that) */ * that) */
@ -417,7 +417,7 @@ static int32 NPFFindDepot(AyStar* as, OpenListNode *current)
{ {
/* It's not worth caching the result with NPF_FLAG_IS_TARGET here as below, /* It's not worth caching the result with NPF_FLAG_IS_TARGET here as below,
* since checking the cache not that much faster than the actual check */ * since checking the cache not that much faster than the actual check */
return IsTileDepotType(current->path.node.tile, (TransportType)as->user_data[NPF_TYPE]) ? return IsDepotTypeTile(current->path.node.tile, (TransportType)as->user_data[NPF_TYPE]) ?
AYSTAR_FOUND_END_NODE : AYSTAR_DONE; AYSTAR_FOUND_END_NODE : AYSTAR_DONE;
} }
@ -466,7 +466,7 @@ static bool CanEnterTileOwnerCheck(Owner owner, TileIndex tile, DiagDirection en
{ {
if (IsTileType(tile, MP_RAILWAY) || /* Rail tile (also rail depot) */ if (IsTileType(tile, MP_RAILWAY) || /* Rail tile (also rail depot) */
IsRailwayStationTile(tile) || /* Rail station tile */ IsRailwayStationTile(tile) || /* Rail station tile */
IsTileDepotType(tile, TRANSPORT_ROAD) || /* Road depot tile */ IsDepotTypeTile(tile, TRANSPORT_ROAD) || /* Road depot tile */
IsStandardRoadStopTile(tile)) { /* Road station tile (but not drive-through stops) */ IsStandardRoadStopTile(tile)) { /* Road station tile (but not drive-through stops) */
return IsTileOwner(tile, owner); /* You need to own these tiles entirely to use them */ return IsTileOwner(tile, owner); /* You need to own these tiles entirely to use them */
} }
@ -499,7 +499,7 @@ static bool CanEnterTileOwnerCheck(Owner owner, TileIndex tile, DiagDirection en
*/ */
static DiagDirection GetDepotDirection(TileIndex tile, TransportType type) static DiagDirection GetDepotDirection(TileIndex tile, TransportType type)
{ {
assert(IsTileDepotType(tile, type)); assert(IsDepotTypeTile(tile, type));
switch (type) { switch (type) {
case TRANSPORT_RAIL: return GetRailDepotDirection(tile); case TRANSPORT_RAIL: return GetRailDepotDirection(tile);
@ -537,7 +537,7 @@ static DiagDirection GetSingleTramBit(TileIndex tile)
*/ */
static DiagDirection GetTileSingleEntry(TileIndex tile, TransportType type, uint subtype) static DiagDirection GetTileSingleEntry(TileIndex tile, TransportType type, uint subtype)
{ {
if (type != TRANSPORT_WATER && IsTileDepotType(tile, type)) return GetDepotDirection(tile, type); if (type != TRANSPORT_WATER && IsDepotTypeTile(tile, type)) return GetDepotDirection(tile, type);
if (type == TRANSPORT_ROAD) { if (type == TRANSPORT_ROAD) {
if (IsStandardRoadStopTile(tile)) return GetRoadStopDir(tile); if (IsStandardRoadStopTile(tile)) return GetRoadStopDir(tile);
@ -879,7 +879,7 @@ NPFFoundTargetData NPFRouteToDepotTrialError(TileIndex tile, Trackdir trackdir,
FOR_ALL_DEPOTS(depot) { FOR_ALL_DEPOTS(depot) {
/* Check if this is really a valid depot, it is of the needed type and /* Check if this is really a valid depot, it is of the needed type and
* owner */ * owner */
if (IsTileDepotType(depot->xy, type) && IsTileOwner(depot->xy, owner)) if (IsDepotTypeTile(depot->xy, type) && IsTileOwner(depot->xy, owner))
/* If so, let's add it to the queue, sorted by distance */ /* If so, let's add it to the queue, sorted by distance */
depots.push(&depots, depot, DistanceManhattan(tile, depot->xy)); depots.push(&depots, depot, DistanceManhattan(tile, depot->xy));
} }

View File

@ -1874,7 +1874,7 @@ bool AfterLoadGame()
} }
/* Clear PBS reservation on track */ /* Clear PBS reservation on track */
if (!IsTileDepotType(t, TRANSPORT_RAIL)) { if (!IsDepotTypeTile(t, TRANSPORT_RAIL)) {
SB(_m[t].m4, 4, 4, 0); SB(_m[t].m4, 4, 4, 0);
} else { } else {
ClrBit(_m[t].m3, 6); ClrBit(_m[t].m3, 6);

View File

@ -392,15 +392,15 @@ CommandCost CmdInsertOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
switch (v->type) { switch (v->type) {
case VEH_TRAIN: case VEH_TRAIN:
if (!IsTileDepotType(dp->xy, TRANSPORT_RAIL)) return CMD_ERROR; if (!IsDepotTypeTile(dp->xy, TRANSPORT_RAIL)) return CMD_ERROR;
break; break;
case VEH_ROAD: case VEH_ROAD:
if (!IsTileDepotType(dp->xy, TRANSPORT_ROAD)) return CMD_ERROR; if (!IsDepotTypeTile(dp->xy, TRANSPORT_ROAD)) return CMD_ERROR;
break; break;
case VEH_SHIP: case VEH_SHIP:
if (!IsTileDepotType(dp->xy, TRANSPORT_WATER)) return CMD_ERROR; if (!IsDepotTypeTile(dp->xy, TRANSPORT_WATER)) return CMD_ERROR;
break; break;
default: return CMD_ERROR; default: return CMD_ERROR;

View File

@ -462,7 +462,7 @@ static Order GetOrderCmdFromTile(const Vehicle *v, TileIndex tile)
case MP_WATER: case MP_WATER:
if (v->type != VEH_SHIP) break; if (v->type != VEH_SHIP) break;
if (IsTileDepotType(tile, TRANSPORT_WATER) && if (IsDepotTypeTile(tile, TRANSPORT_WATER) &&
IsTileOwner(tile, _local_player)) { IsTileOwner(tile, _local_player)) {
TileIndex tile2 = GetOtherShipDepotTile(tile); TileIndex tile2 = GetOtherShipDepotTile(tile);

View File

@ -170,10 +170,10 @@ static inline bool CanAccessTileInDir(TileIndex tile, DiagDirection side, Transp
{ {
if (tracktype == TRANSPORT_RAIL) { if (tracktype == TRANSPORT_RAIL) {
/* depot from wrong side */ /* depot from wrong side */
if (IsTileDepotType(tile, TRANSPORT_RAIL) && GetRailDepotDirection(tile) != side) return false; if (IsDepotTypeTile(tile, TRANSPORT_RAIL) && GetRailDepotDirection(tile) != side) return false;
} else if (tracktype == TRANSPORT_ROAD) { } else if (tracktype == TRANSPORT_ROAD) {
/* depot from wrong side */ /* depot from wrong side */
if (IsTileDepotType(tile, TRANSPORT_ROAD) && GetRoadDepotDirection(tile) != side) return false; if (IsDepotTypeTile(tile, TRANSPORT_ROAD) && GetRoadDepotDirection(tile) != side) return false;
/* non-driverthrough road station from wrong side */ /* non-driverthrough road station from wrong side */
if (IsStandardRoadStopTile(tile) && GetRoadStopDir(tile) != side) return false; if (IsStandardRoadStopTile(tile) && GetRoadStopDir(tile) != side) return false;
} }

View File

@ -2268,7 +2268,7 @@ static VehicleEnterTileStatus VehicleEnter_Track(Vehicle *v, TileIndex tile, int
int length; int length;
/* this routine applies only to trains in depot tiles */ /* this routine applies only to trains in depot tiles */
if (v->type != VEH_TRAIN || !IsTileDepotType(tile, TRANSPORT_RAIL)) return VETSB_CONTINUE; if (v->type != VEH_TRAIN || !IsDepotTypeTile(tile, TRANSPORT_RAIL)) return VETSB_CONTINUE;
/* depot direction */ /* depot direction */
dir = GetRailDepotDirection(tile); dir = GetRailDepotDirection(tile);

View File

@ -72,7 +72,18 @@ static inline void SetHasSignals(TileIndex tile, bool signals)
} }
/** /**
* Is this tile a rail depot? * Is this rail tile a rail waypoint?
* @param t the tile to get the information from
* @pre IsTileType(t, MP_RAILWAY)
* @return true if and only if the tile is a rail waypoint
*/
static inline bool IsRailWaypoint(TileIndex t)
{
return GetRailTileType(t) == RAIL_TILE_WAYPOINT;
}
/**
* Is this rail tile a rail depot?
* @param t the tile to get the information from * @param t the tile to get the information from
* @pre IsTileType(t, MP_RAILWAY) * @pre IsTileType(t, MP_RAILWAY)
* @return true if and only if the tile is a rail depot * @return true if and only if the tile is a rail depot
@ -83,17 +94,16 @@ static inline bool IsRailDepot(TileIndex t)
} }
/** /**
* Is this tile a rail waypoint? * Is this tile rail tile and a rail depot?
* @param t the tile to get the information from * @param t the tile to get the information from
* @pre IsTileType(t, MP_RAILWAY) * @pre IsTileType(t, MP_RAILWAY)
* @return true if and only if the tile is a rail waypoint * @return true if and only if the tile is a rail depot
*/ */
static inline bool IsRailWaypoint(TileIndex t) static inline bool IsRailDepotTile(TileIndex t)
{ {
return GetRailTileType(t) == RAIL_TILE_WAYPOINT; return IsTileType(t, MP_RAILWAY) && IsRailDepot(t);
} }
/** /**
* Gets the rail type of the given tile * Gets the rail type of the given tile
* @param t the tile to get the rail type from * @param t the tile to get the rail type from

View File

@ -178,7 +178,7 @@ CommandCost CmdBuildRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
/* The ai_new queries the vehicle cost before building the route, /* The ai_new queries the vehicle cost before building the route,
* so we must check against cheaters no sooner than now. --pasky */ * so we must check against cheaters no sooner than now. --pasky */
if (!IsTileDepotType(tile, TRANSPORT_ROAD)) return CMD_ERROR; if (!IsDepotTypeTile(tile, TRANSPORT_ROAD)) return CMD_ERROR;
if (!IsTileOwner(tile, _current_player)) return CMD_ERROR; if (!IsTileOwner(tile, _current_player)) return CMD_ERROR;
if (HasTileRoadType(tile, ROADTYPE_TRAM) != HasBit(EngInfo(p1)->misc_flags, EF_ROAD_TRAM)) return_cmd_error(STR_DEPOT_WRONG_DEPOT_TYPE); if (HasTileRoadType(tile, ROADTYPE_TRAM) != HasBit(EngInfo(p1)->misc_flags, EF_ROAD_TRAM)) return_cmd_error(STR_DEPOT_WRONG_DEPOT_TYPE);
@ -340,7 +340,7 @@ static bool CheckRoadVehInDepotStopped(const Vehicle *v)
{ {
TileIndex tile = v->tile; TileIndex tile = v->tile;
if (!IsTileDepotType(tile, TRANSPORT_ROAD)) return false; if (!IsDepotTypeTile(tile, TRANSPORT_ROAD)) return false;
if (IsRoadVehFront(v) && !(v->vehstatus & VS_STOPPED)) return false; if (IsRoadVehFront(v) && !(v->vehstatus & VS_STOPPED)) return false;
for (; v != NULL; v = v->Next()) { for (; v != NULL; v = v->Next()) {

View File

@ -130,7 +130,7 @@ static const Depot* FindClosestShipDepot(const Vehicle* v)
FOR_ALL_DEPOTS(depot) { FOR_ALL_DEPOTS(depot) {
TileIndex tile = depot->xy; TileIndex tile = depot->xy;
if (IsTileDepotType(tile, TRANSPORT_WATER) && IsTileOwner(tile, v->owner)) { if (IsDepotTypeTile(tile, TRANSPORT_WATER) && IsTileOwner(tile, v->owner)) {
uint dist = DistanceManhattan(tile, v->tile); uint dist = DistanceManhattan(tile, v->tile);
if (dist < best_dist) { if (dist < best_dist) {
best_dist = dist; best_dist = dist;
@ -762,7 +762,7 @@ CommandCost CmdBuildShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
/* The ai_new queries the vehicle cost before building the route, /* The ai_new queries the vehicle cost before building the route,
* so we must check against cheaters no sooner than now. --pasky */ * so we must check against cheaters no sooner than now. --pasky */
if (!IsTileDepotType(tile, TRANSPORT_WATER)) return CMD_ERROR; if (!IsDepotTypeTile(tile, TRANSPORT_WATER)) return CMD_ERROR;
if (!IsTileOwner(tile, _current_player)) return CMD_ERROR; if (!IsTileOwner(tile, _current_player)) return CMD_ERROR;
unit_num = HasBit(p2, 0) ? 0 : GetFreeUnitNumber(VEH_SHIP); unit_num = HasBit(p2, 0) ? 0 : GetFreeUnitNumber(VEH_SHIP);

View File

@ -1,4 +1,3 @@
/* $Id$ */ /* $Id$ */
/** @file smallmap_gui.cpp */ /** @file smallmap_gui.cpp */

View File

@ -678,7 +678,7 @@ CommandCost CmdBuildRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32
/* Check if the train is actually being built in a depot belonging /* Check if the train is actually being built in a depot belonging
* to the player. Doesn't matter if only the cost is queried */ * to the player. Doesn't matter if only the cost is queried */
if (!(flags & DC_QUERY_COST)) { if (!(flags & DC_QUERY_COST)) {
if (!IsTileDepotType(tile, TRANSPORT_RAIL)) return CMD_ERROR; if (!IsDepotTypeTile(tile, TRANSPORT_RAIL)) return CMD_ERROR;
if (!IsTileOwner(tile, _current_player)) return CMD_ERROR; if (!IsTileOwner(tile, _current_player)) return CMD_ERROR;
} }
@ -806,7 +806,7 @@ int CheckTrainInDepot(const Vehicle *v, bool needs_to_be_stopped)
TileIndex tile = v->tile; TileIndex tile = v->tile;
/* check if stopped in a depot */ /* check if stopped in a depot */
if (!IsTileDepotType(tile, TRANSPORT_RAIL) || v->cur_speed != 0) return -1; if (!IsDepotTypeTile(tile, TRANSPORT_RAIL) || v->cur_speed != 0) return -1;
int count = 0; int count = 0;
for (; v != NULL; v = v->Next()) { for (; v != NULL; v = v->Next()) {
@ -1787,7 +1787,7 @@ static void AdvanceWagonsAfterSwap(Vehicle *v)
static void ReverseTrainDirection(Vehicle *v) static void ReverseTrainDirection(Vehicle *v)
{ {
if (IsTileDepotType(v->tile, TRANSPORT_RAIL)) { if (IsDepotTypeTile(v->tile, TRANSPORT_RAIL)) {
InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile);
} }
@ -1807,7 +1807,7 @@ static void ReverseTrainDirection(Vehicle *v)
AdvanceWagonsAfterSwap(v); AdvanceWagonsAfterSwap(v);
if (IsTileDepotType(v->tile, TRANSPORT_RAIL)) { if (IsDepotTypeTile(v->tile, TRANSPORT_RAIL)) {
InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile);
} }
@ -2035,7 +2035,7 @@ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance)
tfdd.reverse = false; tfdd.reverse = false;
TileIndex tile = v->tile; TileIndex tile = v->tile;
if (IsTileDepotType(tile, TRANSPORT_RAIL)) { if (IsDepotTypeTile(tile, TRANSPORT_RAIL)) {
tfdd.tile = tile; tfdd.tile = tile;
tfdd.best_length = 0; tfdd.best_length = 0;
return tfdd; return tfdd;
@ -2154,7 +2154,7 @@ static void HandleLocomotiveSmokeCloud(const Vehicle *v)
} }
/* No smoke in depots or tunnels */ /* No smoke in depots or tunnels */
if (IsTileDepotType(v->tile, TRANSPORT_RAIL) || IsTunnelTile(v->tile)) continue; if (IsDepotTypeTile(v->tile, TRANSPORT_RAIL) || IsTunnelTile(v->tile)) continue;
/* No sparks for electric vehicles on nonelectrified tracks */ /* No sparks for electric vehicles on nonelectrified tracks */
if (!HasPowerOnRail(v->u.rail.railtype, GetTileRailType(v->tile))) continue; if (!HasPowerOnRail(v->u.rail.railtype, GetTileRailType(v->tile))) continue;
@ -3149,7 +3149,7 @@ static void DeleteLastWagon(Vehicle *v)
if (IsLevelCrossingTile(tile)) UpdateLevelCrossing(tile); if (IsLevelCrossingTile(tile)) UpdateLevelCrossing(tile);
/* Update signals */ /* Update signals */
if (IsTileType(tile, MP_TUNNELBRIDGE) || IsTileDepotType(tile, TRANSPORT_RAIL)) { if (IsTileType(tile, MP_TUNNELBRIDGE) || IsDepotTypeTile(tile, TRANSPORT_RAIL)) {
UpdateSignalsOnSegment(tile, INVALID_DIAGDIR, owner); UpdateSignalsOnSegment(tile, INVALID_DIAGDIR, owner);
} else { } else {
SetSignalsOnBothDir(tile, (Track)(FIND_FIRST_BIT(track)), owner); SetSignalsOnBothDir(tile, (Track)(FIND_FIRST_BIT(track)), owner);
@ -3311,7 +3311,7 @@ static bool TrainCanLeaveTile(const Vehicle *v)
} }
/* entering a depot? */ /* entering a depot? */
if (IsTileDepotType(tile, TRANSPORT_RAIL)) { if (IsDepotTypeTile(tile, TRANSPORT_RAIL)) {
DiagDirection dir = ReverseDiagDir(GetRailDepotDirection(tile)); DiagDirection dir = ReverseDiagDir(GetRailDepotDirection(tile));
if (DiagDirToDir(dir) == v->direction) return false; if (DiagDirToDir(dir) == v->direction) return false;
} }

View File

@ -3217,7 +3217,7 @@ CommandCost Vehicle::SendToDepot(uint32 flags, DepotCommand command)
/* check if at a standstill (not stopped only) in a depot /* check if at a standstill (not stopped only) in a depot
* the check is down here to make it possible to alter stop/service for trains entering the depot */ * the check is down here to make it possible to alter stop/service for trains entering the depot */
if (this->type == VEH_TRAIN && IsTileDepotType(this->tile, TRANSPORT_RAIL) && this->cur_speed == 0) return CMD_ERROR; if (this->type == VEH_TRAIN && IsDepotTypeTile(this->tile, TRANSPORT_RAIL) && this->cur_speed == 0) return CMD_ERROR;
TileIndex location; TileIndex location;
DestinationID destination; DestinationID destination;

View File

@ -96,6 +96,11 @@ static inline TileIndex IsShipDepot(TileIndex t)
return IsInsideMM(_m[t].m5, DEPOT_NORTH, DEPOT_END); return IsInsideMM(_m[t].m5, DEPOT_NORTH, DEPOT_END);
} }
static inline TileIndex IsShipDepotTile(TileIndex t)
{
return IsTileType(t, MP_WATER) && IsShipDepot(t);
}
static inline Axis GetShipDepotAxis(TileIndex t) static inline Axis GetShipDepotAxis(TileIndex t)
{ {
return (Axis)GB(_m[t].m5, 1, 1); return (Axis)GB(_m[t].m5, 1, 1);

View File

@ -196,7 +196,7 @@ protected:
} }
// road depots can be also left in one direction only // road depots can be also left in one direction only
if (IsRoadTT() && IsTileDepotType(m_old_tile, TT())) { if (IsRoadTT() && IsDepotTypeTile(m_old_tile, TT())) {
DiagDirection exitdir = GetRoadDepotDirection(m_old_tile); DiagDirection exitdir = GetRoadDepotDirection(m_old_tile);
if (exitdir != m_exitdir) { if (exitdir != m_exitdir) {
m_err = EC_NO_WAY; m_err = EC_NO_WAY;
@ -226,7 +226,7 @@ protected:
} }
// road and rail depots can also be entered from one direction only // road and rail depots can also be entered from one direction only
if (IsRoadTT() && IsTileDepotType(m_new_tile, TT())) { if (IsRoadTT() && IsDepotTypeTile(m_new_tile, TT())) {
DiagDirection exitdir = GetRoadDepotDirection(m_new_tile); DiagDirection exitdir = GetRoadDepotDirection(m_new_tile);
if (ReverseDiagDir(exitdir) != m_exitdir) { if (ReverseDiagDir(exitdir) != m_exitdir) {
m_err = EC_NO_WAY; m_err = EC_NO_WAY;
@ -238,7 +238,7 @@ protected:
return false; return false;
} }
} }
if (IsRailTT() && IsTileDepotType(m_new_tile, TT())) { if (IsRailTT() && IsDepotTypeTile(m_new_tile, TT())) {
DiagDirection exitdir = GetRailDepotDirection(m_new_tile); DiagDirection exitdir = GetRailDepotDirection(m_new_tile);
if (ReverseDiagDir(exitdir) != m_exitdir) { if (ReverseDiagDir(exitdir) != m_exitdir) {
m_err = EC_NO_WAY; m_err = EC_NO_WAY;
@ -305,7 +305,7 @@ protected:
FORCEINLINE bool ForcedReverse() FORCEINLINE bool ForcedReverse()
{ {
// rail and road depots cause reversing // rail and road depots cause reversing
if (!IsWaterTT() && IsTileDepotType(m_old_tile, TT())) { if (!IsWaterTT() && IsDepotTypeTile(m_old_tile, TT())) {
DiagDirection exitdir = IsRailTT() ? GetRailDepotDirection(m_old_tile) : GetRoadDepotDirection(m_old_tile); DiagDirection exitdir = IsRailTT() ? GetRailDepotDirection(m_old_tile) : GetRoadDepotDirection(m_old_tile);
if (exitdir != m_exitdir) { if (exitdir != m_exitdir) {
// reverse // reverse

View File

@ -43,7 +43,7 @@ public:
/// Called by YAPF to detect if node ends in the desired destination /// Called by YAPF to detect if node ends in the desired destination
FORCEINLINE bool PfDetectDestination(TileIndex tile, Trackdir td) FORCEINLINE bool PfDetectDestination(TileIndex tile, Trackdir td)
{ {
bool bDest = IsTileDepotType(tile, TRANSPORT_RAIL); bool bDest = IsDepotTypeTile(tile, TRANSPORT_RAIL);
return bDest; return bDest;
} }

View File

@ -87,7 +87,7 @@ public:
if (v->current_order.IsType(OT_GOTO_STATION) && tile == v->dest_tile) break; if (v->current_order.IsType(OT_GOTO_STATION) && tile == v->dest_tile) break;
// stop if we have just entered the depot // stop if we have just entered the depot
if (IsTileDepotType(tile, TRANSPORT_ROAD) && trackdir == DiagdirToDiagTrackdir(ReverseDiagDir(GetRoadDepotDirection(tile)))) { if (IsDepotTypeTile(tile, TRANSPORT_ROAD) && trackdir == DiagdirToDiagTrackdir(ReverseDiagDir(GetRoadDepotDirection(tile)))) {
// next time we will reverse and leave the depot // next time we will reverse and leave the depot
break; break;
} }
@ -148,7 +148,7 @@ public:
/// Called by YAPF to detect if node ends in the desired destination /// Called by YAPF to detect if node ends in the desired destination
FORCEINLINE bool PfDetectDestination(Node& n) FORCEINLINE bool PfDetectDestination(Node& n)
{ {
bool bDest = IsTileDepotType(n.m_segment_last_tile, TRANSPORT_ROAD); bool bDest = IsDepotTypeTile(n.m_segment_last_tile, TRANSPORT_ROAD);
return bDest; return bDest;
} }
@ -370,7 +370,7 @@ public:
// get found depot tile // get found depot tile
Node *n = Yapf().GetBestNode(); Node *n = Yapf().GetBestNode();
TileIndex depot_tile = n->m_segment_last_tile; TileIndex depot_tile = n->m_segment_last_tile;
assert(IsTileDepotType(depot_tile, TRANSPORT_ROAD)); assert(IsDepotTypeTile(depot_tile, TRANSPORT_ROAD));
Depot* ret = GetDepotByTile(depot_tile); Depot* ret = GetDepotByTile(depot_tile);
return ret; return ret;
} }
@ -439,7 +439,7 @@ Depot* YapfFindNearestRoadDepot(const Vehicle *v)
return NULL; return NULL;
// handle the case when our vehicle is already in the depot tile // handle the case when our vehicle is already in the depot tile
if (IsTileType(tile, MP_ROAD) && IsTileDepotType(tile, TRANSPORT_ROAD)) { if (IsTileType(tile, MP_ROAD) && IsDepotTypeTile(tile, TRANSPORT_ROAD)) {
// only what we need to return is the Depot* // only what we need to return is the Depot*
return GetDepotByTile(tile); return GetDepotByTile(tile);
} }