Hey,
well... I finally started to code my own bot since 3 months. I actually planned it in my short time using ppather being fascinated of it. That was when I decided to learn C#/C++ basics and to programmatically pick them up while programming the bot. It went all pretty and fine, about 3-4h a day reading tutorials, book, ... since then. Finally I got by bot running (literally) along waypoints with a for now I believe somewhat stupid function, which does not work always, but that I leave out for later^^
Interesting seems the idea to build a navmesh for me, so I got busy following the guide of dejavu11's blog (MPQNav). I know, the project is outdated (at least the code in each blog entry), but I got it working with checking the WoWDev site rebuilt by MaiN. The code in the SVN is working for wotlk by the way, refined with a console and the currently not right implemented MpqTool.
I decided to rewrite it a bit, I extracted the .adt parsing work in a single .dll (MPQExtractor), turned the coordinate system (I rather took the ingame X,Y,Z system) and gave it a different OOP structure (static ADT functions, no more *Manager classes) so that it fits more my ... taste :P As I haven't already experimented much with naming conventions, I used the leading underscore for private variables... the this.* looks simply plain ugly to me^^
The code isn't the esthetic optimum for most of you, but it's a practice for me and works in the current state, so why change it
Now the reason why I post (long prelude for that ) is that I'm stuck with what I will do next. There are many questions for now:
How can I extract the NavMesh of it?
MPQNav was intended to implement QuadTrees and test each vertex for being walkable... I might implement that too, but I don't know what to do then.
Maybe I could have them in a List and based on that run A* on them?
I don't think storing each single vertex isn't a good idea, but I don't really know how to extract them to Polygons like for example on Game/AI: Fixing Pathfinding Once and For All without "handwork".
And for now the last question is how to maybe get a vertex editor out of an XNA view similar to MPQNav's (and to mine MPQBrowser, which I think I don't need to share here, because it has similar or less functionality) to fullfill that handwork?
There are many other questions swirling around in my head, but I think based on those questions I might find the path :P
My MPQExtractor.dll: File-Upload.net - MPQExtractor.zip
EDIT:
Here are some pictures for those who are interested (Redridge):
with/without M2 bounding volumes: