src/npf.cpp
branchNewGRF_ports
changeset 6877 889301acc299
parent 6872 1c4a4a609f85
child 6878 7d1ff2f621c7
--- a/src/npf.cpp	Sun Feb 03 01:34:21 2008 +0000
+++ b/src/npf.cpp	Sun Feb 03 20:34:26 2008 +0000
@@ -22,6 +22,7 @@
 #include "functions.h"
 #include "vehicle_base.h"
 #include "settings_type.h"
+#include "tunnelbridge.h"
 
 static AyStar _npf_aystar;
 
@@ -176,9 +177,7 @@
 	if (GetTunnelBridgeDirection(tile) == ReverseDiagDir(exitdir)) {
 		/* We just popped out if this tunnel, since were
 		 * facing the tunnel exit */
-		FindLengthOfTunnelResult flotr;
-		flotr = FindLengthOfTunnel(tile, ReverseDiagDir(exitdir));
-		return flotr.length * NPF_TILE_LENGTH;
+		return NPF_TILE_LENGTH * (GetTunnelBridgeLength(current->tile, GetOtherTunnelEnd(current->tile)) + 1);
 		/* @todo: Penalty for tunnels? */
 	} else {
 		/* We are entering the tunnel, the enter tile is just a
@@ -189,7 +188,7 @@
 
 static inline uint NPFBridgeCost(AyStarNode *current)
 {
-	return NPF_TILE_LENGTH * GetBridgeLength(current->tile, GetOtherBridgeEnd(current->tile));
+	return NPF_TILE_LENGTH * GetTunnelBridgeLength(current->tile, GetOtherBridgeEnd(current->tile));
 }
 
 static uint NPFSlopeCost(AyStarNode* current)