changeset 14716:e79ca76533dc draft

(svn r19301) -Feature: [YAPF] Consider the railtype imposed speed limit for pathfinding.
author michi_cc <michi_cc@openttd.org>
date Tue, 02 Mar 2010 03:31:02 +0000
parents aa004cf5c288
children f380073a1ea4
files src/pathfinder/follow_track.hpp
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/pathfinder/follow_track.hpp
+++ b/src/pathfinder/follow_track.hpp
@@ -428,12 +428,17 @@
 		int min_speed = 0;
 		int max_speed = INT_MAX; // no limit
 
-		/* for now we handle only on-bridge speed limit */
+		/* Check for on-bridge speed limit */
 		if (!IsWaterTT() && IsBridgeTile(m_old_tile)) {
 			int spd = GetBridgeSpec(GetBridgeType(m_old_tile))->speed;
 			if (IsRoadTT()) spd *= 2;
 			if (max_speed > spd) max_speed = spd;
 		}
+		/* Check for speed limit imposed by railtype */
+		if (IsRailTT()) {
+			uint16 rail_speed = GetRailTypeInfo(GetRailType(m_old_tile))->max_speed;
+			if (rail_speed > 0) max_speed = min(max_speed, rail_speed);
+		}
 
 		/* if min speed was requested, return it */
 		if (pmin_speed) *pmin_speed = min_speed;