Awesome! Exciting. Can't wait.
As an aside, as you know I've downloaded you GitHub and got it to compile. Would it be possible for you to use this to do LineOfSight testing between two points? I know it's not the primary focus of
MQ2Nav... but it would be great if you could. The LOS between two points function ain't working in MQ2 (works for LOS between you and a MOB).
Another thing to think about is... dynamic "weighting" of an area to avoid MOBs. So, if we could give
MQ2Nav a list of coordinate (from a radar scan of an area) that it would try to traverse without running through MOBs. Or it would return a "can't get there" flag without aggroing. The idea is to dynamically weight those areas (and say 10 units around for aggro) purposes. I can think of several things that could be done with that.
I know I know... there goes JJB again with his grandiose and unmanageable ideas for someone else to work on!
As far as line of sight computation is concerned: right now, no it isn't possible since the client only loads the navmesh, not the geometry. There may be a way to query the game engine for actual lineofsight/raytrace operations. EQMule might know more, I'll check with him. If that doesn't pan out: One of the things I want to do is load the meshgenerator in the background and use it to generate meshes on the fly. This could double as a sort of 3d showeq. Using that to do lineofsight calculations could be possible.
As far as agro radius / avoiding spawns: Yes this is something I want to support, its still a bunch of work but I've been moving in that direction. If you look at my github I've changed thousands of lines of code in the past few weeks. All of this is to build a more robust tool that can do some of this fancy stuff.
- - - Updated - - -
Heres basically a sneak peak at the change log:
Mesh Generator:
* will fully support EoK zones, but expect things to be REALLY SLOW (sorry!)
* is 64-bit only.
* has completely redesigned UI
* Now supports defining custom areas
* Redesigned area marking too lets you mark the mesh with different areas, or exclude entire areas from the mesh. Please stop deleting tiles, this will be the proper way to do things.
MQ2Nav:
* has new path indicator that I spent an entire weekend on writing in game dx9 shaders (dx9 sucks!). You'd better like it!
* has some new and improved path finding algorithms that should avoid hysteresis (running back and forth in place)
* Has revamped commands that are more consistent. I was going to do even more but then ran into limitations in the TLO/macro system. (DOH)
Also
* New navmesh files!! they are called like poknowledge.navmesh
* No longer compatible with older versions. Should be forwards compatible, though
* Compression is now being used so the mesh files will be significantly smaller, basically the same as being in a zip file
* New navmesh format stores settings, volumes, custom areas, etc so that loading a mesh will basically be like continuing where you left off
... more stuff, i'll have a full change log for you guys.