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_triggersbitmask(ANIM_TRIGGER_ROAD_STOP_XXX, ...)Bitmask of triggers that will trigger the anim_control callback, see the table below. general_flagsbitmask(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_heightArray 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_pillarsArray 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 @@ +
BitValueMeaning
01Callback 141 needs random bits in variable 10
12Do 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 {