summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/train_cmd.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 5a4c854fe..2e9f39bc3 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -3240,8 +3240,9 @@ static bool TrainCheckIfLineEnds(Vehicle *v)
return false;
}
if ((ts &= (ts >> 16)) == 0) {
- /* make a rail/road crossing red */
- if (IsLevelCrossingTile(tile)) {
+ /* make a rail/road crossing red
+ * do not make crossing red behind depot the train is entering */
+ if (IsLevelCrossingTile(tile) && (GetRailTileType(v->tile) != RAIL_TILE_DEPOT || GetRailDepotDirection(v->tile) == dir)) {
if (!IsCrossingBarred(tile)) {
BarCrossing(tile);
SndPlayVehicleFx(SND_0E_LEVEL_CROSSING, v);