After all the pathfinding questions going around recently I implemented A* myself:
(hadn't actually ever done that
Red areas are high cost, redder being higher and grey areas are infinite cost, they don't even show up to the algorithm.
Some of it seems a bit wonky, for instance the initial BFS always went crazy, something to do with queue vs. stack floodfill impl.
Paging Riven: [IMG width=...] doesn't seem to work on gifs now with the blocker... not super important but it might be any easy fix.
Here's the code, essentially a 1-to-1 translation of this