Follow-up Comment #13, patch #3829 (project freeciv): So, previously the client didn't do anything graphically, and this ended up masking a bug that the client didn't actually *know* which roads integrated (proad->integrates was always an empty bitvector, rather than being read from the packet) [prior testing worked for simple moves, because the server would correctly set the moves_left value, but was suboptimal for client-side pathfinding calculations). New patch properly draws connections between integrated roads (well, from a road towards roads it integrates with: roads integrated with won't extend to integrating roads (doing this requires setting both roads as cross-integrators in the ruleset)).
During testing of this change, I began to wonder if this patch should care about commutativity. For graphical display, I'd argue it should not care (because we don't want to draw random spurs from a high-speed road to low-speed roads just because they are there). For tile_move_cost_ptrs, perhaps it would be useful (because it doesn't make sense to pay full non-road penalties when changing roads in one direction but not the other). Alternately, figuring out how to handle commutativity for movement vs. display might be just as well deferred to something else, so that others also get more playtesting with this implementation to develop an opinion. (file #17833) _______________________________________________________ Additional Item Attachment: File name: allow-compatible-roads+client.patch Size:17 KB _______________________________________________________ Reply to this item at: <http://gna.org/patch/?3829> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev