| 673 | // 0x004A2E46 & 0x004A2DE4 |
| 674 | template<typename FilterFunction, typename TransformFunction> |
| 675 | static void findAllTracksFilterTransform(RoutingResults& results, TrackNetworkSearchFlags searchFlags, const World::Pos3& loc, const TrackAndDirection::_TrackAndDirection trackAndDirection, const CompanyId company, const uint8_t trackType, FilterFunction&& filterFunction, TransformFunction&& transformFunction) |
| 676 | { |
| 677 | // Note: This function and its call chain findAllUsableTrackInNetwork and findAllUsableTrackPieces have been modified |
| 678 | // to not be recursive anymore. |
| 679 | LocationOfInterestQueue trackToCheck{ LocationOfInterest{ loc, trackAndDirection._data, company, trackType } }; |
| 680 | while (!trackToCheck.empty()) |
| 681 | { |
| 682 | const auto interest = trackToCheck.back(); |
| 683 | trackToCheck.pop_back(); |
| 684 | findAllUsableTrackInNetwork(trackToCheck, searchFlags, interest, filterFunction, results); |
| 685 | } |
| 686 | transformFunction(results); |
| 687 | } |
| 688 | |
| 689 | template<typename FilterFunction> |
| 690 | static void findAllUsableRoadInNetwork(LocationOfInterestQueue& additionalRoadToCheck, const TrackNetworkSearchFlags searchFlags, const LocationOfInterest& initialInterest, FilterFunction&& filterFunction, RoutingResults& results); |
no test coverage detected