Granger wrote:The server does an intersection check on the line (between the markers turning points) and the hitboxes of the objects - to get the next destination it just needs to follow a linked list (between the markers).
That is drastially different (read: way faster) than needing the equivalent of a flood-fill like operation on the types of the ground tiles, apart from the problem of how to figure where to go when the road is more than one tile wide.
Wait what? You have a cunning knack of determining the most complicated way to solve a problem!
You need a material reference point but if you are requiring a road to be tiled then, besides the fact that you need to encode that requirement somehow anyway, it shouldn't make any difference what you are referencing i think.. the road tiles would be road tiles, a new and distinct object that looks like paving, not pave tiles. A two square wide road shouldn't be possible to create, unless it is designed as a different type of road, built as such and has the line running down one or other side or else it would result in a road zig-zagging along the squares which itself shouldn't be a problem it would just be a much longer road and would have dramatic consequences to the travel weariness calculation if that were to be implimented as well. Otherwise if for whatever reason you wanted a two or three square wide road you could just pave alongside it afterwards, with pave squares. This should be less complex than the current system albeit with more references.
Best leave the minutiae to Loftar anyway.