beyond-all-reason / spring

A powerful free cross-platform RTS game engine
https://beyond-all-reason.github.io/spring/
Other
178 stars 95 forks source link

QTPFS Path Repair #1550

Closed lostsquirrel1 closed 1 week ago

lostsquirrel1 commented 2 weeks ago

QTPFS Path Repair tracks damage to paths, not just whether a path was damaged, so that when it is time to repath, only the damaged portion needs to be be repathed. This repath is constrained in area to avoid creating bad paths such as forcing the reconnection if it is more appropriate to do a full repath. The pathing system will switch to using a full repath if it isn't appropriate to repair or it can't feasibly repair the path.

This change is intended to reduce the time needed to update paths in response to damage. Previously the whole remainign path had to be recalculated starting from where the owner had got to.