CitiesSkylinesMods / TMPE

Cities: Skylines Traffic Manager: President Edition
https://steamcommunity.com/sharedfiles/filedetails/?id=1637663252
MIT License
563 stars 85 forks source link

Default vehicle restrictions break cargo tuck transport through cargo station (train/plane/ship) #1701

Closed krzychu124 closed 1 year ago

krzychu124 commented 1 year ago

Describe the problem

As in title, there is something going really wrong with cargo truck pathfinding which suppose to generate mixed path (with train/plan/ship parts).. One issue is CanUseLane that is comparing allowed RailVehicle with CargoTruck which obviously fails so higher or Strict vehicle restrictions aggression setting can break paths (at low it still collects penalties but still might work for shorter paths). Completely disabled feature doesn't fully solve the problem as in certain conditions path might not be found unlike in vanilla (without TMPE).

Code responsible for initial problem is quite old but there is a chance that one of the recent changes/patches could just reveal the problem present already from the first implementation of the vehicle restrictions feature.

Conclusions

  1. Setting vehicle restriction aggression any option above Low increases change of failed paths,
  2. Disabling vehicle restrictions feature doesn't seem to fully fix the problem - in certain conditions path may still fail
  3. Vanilla works perfectly, length of path or multiple transport type switching doesn't play any significant role

Log files

No log, it's not something that throws traceable errors.

Savegame?

Good example test case (Airports DLC and Industries DLC are required to run it because of used dlc assets) https://forum.paradoxplaza.com/forum/threads/cities-skylines-steam-airport-dlc-cargo-train-terminal-never-spawn-trucks-with-load.1558724/post-28638023

Screenshots?

With TM:PE (disabled vehicle restrictions) notice that in certain but weird conditions path does not appear (not found)

https://user-images.githubusercontent.com/19638970/204152898-0976ddfd-8231-4f7b-9311-9ea0857fcb8c.mp4

Vanilla:

https://user-images.githubusercontent.com/19638970/204152873-e625a4a2-893a-4410-9628-e408c078bb40.mp4

Notes

I use slightly modified bus tool - patched TransportLaneAI.StartPathfind to query for path with exactly the same parameters as normally cargo truck use which obviously helps visualizing final path (if exist) instead of digging in the pathfinding logs.