| 845 | |
| 846 | template<typename FilterFunction, typename TransformFunction> |
| 847 | static void findAllRoadsFilterTransform(RoutingResults& results, TrackNetworkSearchFlags searchFlags, const World::Pos3& loc, const TrackAndDirection::_RoadAndDirection trackAndDirection, const CompanyId company, const uint8_t trackType, FilterFunction&& filterFunction, TransformFunction&& transformFunction) |
| 848 | { |
| 849 | // Note: This function and its call chain findAllUsableTrackInNetwork and findAllUsableTrackPieces have been modified |
| 850 | // to not be recursive anymore. |
| 851 | LocationOfInterestQueue roadToCheck{ LocationOfInterest{ loc, trackAndDirection._data, company, trackType } }; |
| 852 | while (!roadToCheck.empty()) |
| 853 | { |
| 854 | const auto interest = roadToCheck.back(); |
| 855 | roadToCheck.pop_back(); |
| 856 | findAllUsableRoadInNetwork(roadToCheck, searchFlags, interest, filterFunction, results); |
| 857 | } |
| 858 | transformFunction(results); |
| 859 | } |
| 860 | |
| 861 | // 0x004A2AD7 |
| 862 | void sub_4A2AD7(const World::Pos3& loc, const TrackAndDirection::_TrackAndDirection trackAndDirection, const CompanyId company, const uint8_t trackType) |
no test coverage detected