File diff r4558:948525085e93 → r4559:2222e3ea9700
ai/trolly/pathfinder.c
Show inline comments
 
@@ -175,8 +175,8 @@ static int32 AyStar_AiPathFinder_Calcula
 

	
 
	if (PathFinderInfo->end_direction != AI_PATHFINDER_NO_DIRECTION) {
 
		// The station is pointing to a direction, add a tile towards that direction, so the H-value is more accurate
 
		r = DistanceManhattan(current->tile, PathFinderInfo->end_tile_tl + TileOffsByDir(PathFinderInfo->end_direction));
 
		r2 = DistanceManhattan(current->tile, PathFinderInfo->end_tile_br + TileOffsByDir(PathFinderInfo->end_direction));
 
		r = DistanceManhattan(current->tile, PathFinderInfo->end_tile_tl + TileOffsByDiagDir(PathFinderInfo->end_direction));
 
		r2 = DistanceManhattan(current->tile, PathFinderInfo->end_tile_br + TileOffsByDiagDir(PathFinderInfo->end_direction));
 
	} else {
 
		// No direction, so just get the fastest route to the station
 
		r = DistanceManhattan(current->tile, PathFinderInfo->end_tile_tl);
 
@@ -225,7 +225,7 @@ static void AyStar_AiPathFinder_GetNeigh
 
	// Go through all surrounding tiles and check if they are within the limits
 
	for (i = 0; i < 4; i++) {
 
		TileIndex ctile = current->path.node.tile; // Current tile
 
		TileIndex atile = ctile + TileOffsByDir(i); // Adjacent tile
 
		TileIndex atile = ctile + TileOffsByDiagDir(i); // Adjacent tile
 

	
 
		if (TileX(atile) > 1 && TileX(atile) < MapMaxX() - 1 &&
 
				TileY(atile) > 1 && TileY(atile) < MapMaxY() - 1) {
 
@@ -327,10 +327,10 @@ static void AyStar_AiPathFinder_GetNeigh
 
		// Bridges can only be build on land that is not flat
 
		//  And if there is a road or rail blocking
 
		if (tileh != SLOPE_FLAT ||
 
				(PathFinderInfo->rail_or_road && IsTileType(tile + TileOffsByDir(dir), MP_STREET)) ||
 
				(!PathFinderInfo->rail_or_road && IsTileType(tile + TileOffsByDir(dir), MP_RAILWAY))) {
 
				(PathFinderInfo->rail_or_road && IsTileType(tile + TileOffsByDiagDir(dir), MP_STREET)) ||
 
				(!PathFinderInfo->rail_or_road && IsTileType(tile + TileOffsByDiagDir(dir), MP_RAILWAY))) {
 
			for (;;) {
 
				new_tile += TileOffsByDir(dir);
 
				new_tile += TileOffsByDiagDir(dir);
 

	
 
				// Precheck, is the length allowed?
 
				if (!CheckBridge_Stuff(0, GetBridgeLength(tile, new_tile))) break;