This backports code refactor related to IRouteFinder interface from ags4 to ags3 branch (parts of #2441), while keeping existing functionality intact. The purpose is a cleaner code, and keeping ags3 code closer to ags4 in terms of structure (where possible).
Planned tests:
[x] - Character.Walk and Move
[x] - Character.WalkStraight
[x] - Character.AddWaypoint
[x] - Object.Move
[x] - Character walk speeds in a game with "Scale movement speed with mask resolution", and 1:2 mask resolutions.
[x] - Character walk or move in a game with legacy low-res script coordinates
This backports code refactor related to IRouteFinder interface from ags4 to ags3 branch (parts of #2441), while keeping existing functionality intact. The purpose is a cleaner code, and keeping ags3 code closer to ags4 in terms of structure (where possible).
Planned tests: