Basically I have written some form of A* in Lite-C, which does this:
- Divide the surface in grids of a definable size
- Check which nodes are walkable by scanning for models or blocks on that node
- Let the user select a node to walk to
- Using a from of a A* algorithm to select the shortest path towards the node
- Let the NPC walk the path
It features some nasty (not to mention buggy) code, so I need to clean it up. It isn't pure A*, because I wanted to go with a (hopefully) faster approach. But implementing it should be easy.