src/roadveh_cmd.cpp
changeset 9296 5878a50c67b2
parent 9289 92f1249c304e
child 9323 9bc423363f6a
equal deleted inserted replaced
9295:50de67372594 9296:5878a50c67b2
   435 			rfdd.owner = v->owner;
   435 			rfdd.owner = v->owner;
   436 			rfdd.best_length = UINT_MAX;
   436 			rfdd.best_length = UINT_MAX;
   437 
   437 
   438 			/* search in all directions */
   438 			/* search in all directions */
   439 			for (DiagDirection d = DIAGDIR_BEGIN; d < DIAGDIR_END; d++) {
   439 			for (DiagDirection d = DIAGDIR_BEGIN; d < DIAGDIR_END; d++) {
   440 				FollowTrack(v->tile, TRANSPORT_ROAD, v->u.road.compatible_roadtypes, d, EnumRoadSignalFindDepot, NULL, &rfdd);
   440 				FollowTrack(v->tile, PATHFIND_FLAGS_NONE, TRANSPORT_ROAD, v->u.road.compatible_roadtypes, d, EnumRoadSignalFindDepot, NULL, &rfdd);
   441 			}
   441 			}
   442 
   442 
   443 			if (rfdd.best_length != UINT_MAX) return GetDepotByTile(rfdd.tile);
   443 			if (rfdd.best_length != UINT_MAX) return GetDepotByTile(rfdd.tile);
   444 		} break;
   444 		} break;
   445 	}
   445 	}
  1281 			uint i;
  1281 			uint i;
  1282 			FOR_EACH_SET_BIT(i, bitmask) {
  1282 			FOR_EACH_SET_BIT(i, bitmask) {
  1283 				if (best_track == INVALID_TRACKDIR) best_track = (Trackdir)i; // in case we don't find the path, just pick a track
  1283 				if (best_track == INVALID_TRACKDIR) best_track = (Trackdir)i; // in case we don't find the path, just pick a track
  1284 				frd.maxtracklen = UINT_MAX;
  1284 				frd.maxtracklen = UINT_MAX;
  1285 				frd.mindist = UINT_MAX;
  1285 				frd.mindist = UINT_MAX;
  1286 				FollowTrack(tile, TRANSPORT_ROAD, v->u.road.compatible_roadtypes, _road_pf_directions[i], EnumRoadTrackFindDist, NULL, &frd);
  1286 				FollowTrack(tile, PATHFIND_FLAGS_NONE, TRANSPORT_ROAD, v->u.road.compatible_roadtypes, _road_pf_directions[i], EnumRoadTrackFindDist, NULL, &frd);
  1287 
  1287 
  1288 				if (frd.mindist < best_dist || (frd.mindist == best_dist && frd.maxtracklen < best_maxlen)) {
  1288 				if (frd.mindist < best_dist || (frd.mindist == best_dist && frd.maxtracklen < best_maxlen)) {
  1289 					best_dist = frd.mindist;
  1289 					best_dist = frd.mindist;
  1290 					best_maxlen = frd.maxtracklen;
  1290 					best_maxlen = frd.maxtracklen;
  1291 					best_track = (Trackdir)i;
  1291 					best_track = (Trackdir)i;