diff --git a/docs/newgrf-roadstops-nml.html b/docs/newgrf-roadstops-nml.html
index 9c31a12eda..7d77bb8933 100644
--- a/docs/newgrf-roadstops-nml.html
+++ b/docs/newgrf-roadstops-nml.html
@@ -70,7 +70,9 @@
animation_triggers | bitmask(ANIM_TRIGGER_ROAD_STOP_XXX, ...) | Bitmask of triggers that will trigger the anim_control callback, see the table below. |
general_flags | bitmask(RST_GENERAL_FLAG_XXX, ...) |
RST_GENERAL_FLAG_RANDOM_ANIMATION
- animation callback requires random bits in variable extra_callback_info1.
+ Animation callback requires random bits in variable extra_callback_info1.
+ RST_GENERAL_FLAG_NO_ONE_WAY_OVERLAY
+ Do not show one way road overlay sprites, this should only be set if different graphics are provided for the different one-way states using the one_way_info variable.
|
minimum_bridge_height | Array of 6 items [0..255, ...] | Minimum clearances required for a bridge for each of the 6 views/rotations (or 0 to not allow any bridge). Values are given in height level units (1 level == 8px). |
disallowed_bridge_pillars | Array of 6 items [bitmask(RST_BRIDGE_PILLAR_FLAG_, ...), ...] |
diff --git a/docs/newgrf-roadstops.html b/docs/newgrf-roadstops.html
index 903dbadbaa..5d89d23e98 100644
--- a/docs/newgrf-roadstops.html
+++ b/docs/newgrf-roadstops.html
@@ -148,6 +148,7 @@
Bit | Value | Meaning |
0 | 1 | Callback 141 needs random bits in variable 10 |
+ 1 | 2 | Do not show one way road overlay sprites, this should only be set if different graphics are provided for the different one-way states using bits 0..1 of variable 50. |
The default value is 0 (no flags enabled).
diff --git a/src/newgrf_roadstop.h b/src/newgrf_roadstop.h
index 81f73b07a3..3763b731c2 100644
--- a/src/newgrf_roadstop.h
+++ b/src/newgrf_roadstop.h
@@ -65,6 +65,7 @@ DECLARE_ENUM_AS_BIT_SET(RoadStopDrawMode)
enum RoadStopSpecFlags {
RSF_CB141_RANDOM_BITS, ///< Callback 141 needs random bits.
+ RSF_NO_ONE_WAY_OVERLAY, ///< Do not show one-way road overlays.
};
enum RoadStopSpecIntlFlags {
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 5b59272dbe..4506b0ff6e 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -3546,7 +3546,7 @@ draw_default_foundation:
}
DisallowedRoadDirections drd = GetDriveThroughStopDisallowedRoadDirections(ti->tile);
- if (drd != DRD_NONE) {
+ if (drd != DRD_NONE && (stopspec == nullptr || !HasBit(stopspec->flags, RSF_NO_ONE_WAY_OVERLAY))) {
DrawGroundSpriteAt(SPR_ONEWAY_BASE + drd - 1 + ((axis == AXIS_X) ? 0 : 3), PAL_NONE, 8, 8, 0);
}
} else {
|