(svn r19301) -Feature: [YAPF] Consider the railtype imposed speed limit for pathfinding.

This commit is contained in:
michi_cc 2010-03-02 03:31:02 +00:00
parent 3cda09170c
commit e4824c4293
1 changed files with 6 additions and 1 deletions

View File

@ -428,12 +428,17 @@ public:
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;