Merge branch 'save_ext' into enhanced_viewport_overlay
# Conflicts: # src/smallmap_gui.cpp
This commit is contained in:
@@ -1700,8 +1700,8 @@ void UpdateLevelCrossing(TileIndex tile, bool sound)
|
||||
{
|
||||
assert(IsLevelCrossingTile(tile));
|
||||
|
||||
/* train on crossing || train approaching crossing || reserved */
|
||||
bool new_state = HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile) || HasCrossingReservation(tile);
|
||||
/* reserved || train on crossing || train approaching crossing */
|
||||
bool new_state = HasCrossingReservation(tile) || HasVehicleOnPos(tile, NULL, &TrainOnTileEnum) || TrainApproachingCrossing(tile);
|
||||
|
||||
if (new_state != IsCrossingBarred(tile)) {
|
||||
if (new_state && sound) {
|
||||
@@ -2254,16 +2254,14 @@ static void ClearPathReservation(const Train *v, TileIndex tile, Trackdir track_
|
||||
/**
|
||||
* Free the reserved path in front of a vehicle.
|
||||
* @param v %Train owning the reserved path.
|
||||
* @param origin %Tile to start clearing (if #INVALID_TILE, use the current tile of \a v).
|
||||
* @param orig_td Track direction (if #INVALID_TRACKDIR, use the track direction of \a v).
|
||||
*/
|
||||
void FreeTrainTrackReservation(const Train *v, TileIndex origin, Trackdir orig_td)
|
||||
void FreeTrainTrackReservation(const Train *v)
|
||||
{
|
||||
assert(v->IsFrontEngine());
|
||||
|
||||
TileIndex tile = origin != INVALID_TILE ? origin : v->tile;
|
||||
Trackdir td = orig_td != INVALID_TRACKDIR ? orig_td : v->GetVehicleTrackdir();
|
||||
bool free_tile = tile != v->tile || !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE));
|
||||
TileIndex tile = v->tile;
|
||||
Trackdir td = v->GetVehicleTrackdir();
|
||||
bool free_tile = !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE));
|
||||
StationID station_id = IsRailStationTile(v->tile) ? GetStationIndex(v->tile) : INVALID_STATION;
|
||||
|
||||
/* Can't be holding a reservation if we enter a depot. */
|
||||
@@ -2504,6 +2502,7 @@ public:
|
||||
case OT_GOTO_DEPOT:
|
||||
/* Skip service in depot orders when the train doesn't need service. */
|
||||
if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !this->v->NeedsServicing()) break;
|
||||
FALLTHROUGH;
|
||||
case OT_GOTO_STATION:
|
||||
case OT_GOTO_WAYPOINT:
|
||||
this->v->current_order = *order;
|
||||
@@ -3610,7 +3609,7 @@ static bool TrainApproachingLineEnd(Train *v, bool signal, bool reverse)
|
||||
* for other directions, it will be 1, 3, 5, ..., 15 */
|
||||
switch (v->direction) {
|
||||
case DIR_N : x = ~x + ~y + 25; break;
|
||||
case DIR_NW: x = y; // FALL THROUGH
|
||||
case DIR_NW: x = y; FALLTHROUGH;
|
||||
case DIR_NE: x = ~x + 16; break;
|
||||
case DIR_E : x = ~x + y + 9; break;
|
||||
case DIR_SE: x = y; break;
|
||||
|
Reference in New Issue
Block a user