MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / removeTrackModsToTrackNetwork

Function removeTrackModsToTrackNetwork

src/OpenLoco/src/Vehicles/Routing.cpp:1324–1341  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1322 }
1323
1324 currency32_t removeTrackModsToTrackNetwork(const World::Pos3& pos, Vehicles::TrackAndDirection::_TrackAndDirection trackAndDirection, CompanyId company, uint8_t trackType, uint8_t flags, ModSection modSelection, uint8_t trackModObjIds)
1325 {
1326 currency32_t cost = 0;
1327 if (modSelection == Track::ModSection::single)
1328 {
1329 LocationOfInterest interest{ pos, trackAndDirection._data, company, trackType };
1330 removeTrackModToTrack(interest, flags, nullptr, modSelection, trackType, trackModObjIds, cost, company);
1331 return cost;
1332 }
1333
1334 RoutingResults routingResults{ kTrackModHashSetSize };
1335
1336 auto filterFunction = [flags, modSelection, trackType, trackModObjIds, &cost, company, &routingResults](const LocationOfInterest& interest) {
1337 return removeTrackModToTrack(interest, flags, &routingResults, modSelection, trackType, trackModObjIds, cost, company);
1338 };
1339 findAllTracksFilterTransform(routingResults, TrackNetworkSearchFlags::none, pos, trackAndDirection, company, trackType, filterFunction, kNullTransformFunction);
1340 return cost;
1341 }
1342
1343 // 0x0047A5E6
1344 static bool applyRoadModToRoad(const LocationOfInterest& interest, const uint8_t flags, RoutingResults* results, ModSection modSelection, uint8_t roadObjectId, uint8_t roadModObjectIds, currency32_t& totalCost, CompanyId companyId, bool& hasFailedAllPlacement)

Callers 1

removeTrackModFunction · 0.85

Calls 2

removeTrackModToTrackFunction · 0.85

Tested by

no test coverage detected