• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request - MQ2Nav Beta by Brainiac and Donation Kick Starter. (1 Viewer)

Status
Not open for further replies.
incognito, its because you minimized the ui window. best fix i have found was to unload the plugin then reload it but dont bring up the ui and you will be fine.
 
Ok, that's actually the way I've been dealing with it, or, just leaving it up but scooted off to the side barely showing. Just wanted Brainiac to know it was still an issue really.
 
Did a /nav ui earlier today and instantly crashed to desktop. I'm thinking I didn't bring the UI segment into my proper MQ folder.
 
Hello... 2 Problems

(I posted this in Compiles as well, because I don't know where it's most appropriate).

Problem 1. I ran EQNavigation, and it builds the mesh just fine. However, when I try to "Save Mesh", it does not save it. I've used the button and of course File/Save Mesh and CTRL+s. I've tried moving the Navmesh folder to different places, no luck.

Problem 2. I try to "load" the MQ2Nav plugin with "/plugin MQ2Nav" and I get "Plugin 'NQ2Nav could not be loaded".

I have re-installed twice... no luck.

Any suggestions guys?

Thanks,
JojoB
 
More info incoming tonight

Download the newest compile to get MQ2Nav and the new Meshgenerator.ex
e

MESHES ARE NOT COMPATIBLE WITH THE OLD MQ2NAVIGATION

When starting the Mesh Generator for the fist time.
Select the root EverQuest and Macroquest2 folder.
  • Do not select your EverQuest > Maps
  • Do not select rour MQ2 > MQ2Nav

The MQ2Nav in game commands
Rich (BB code):
/nav [save | load] - save/load settings
/nav reload - reload navmesh
/nav recordwaypoint <waypoint name> <waypoint tag> - create a waypoint
/nav ui - Show UI Window

Navigation Options:
Rich (BB code):
/nav target - navigate to target
/nav X Y Z - navigate to coordinates
/nav item [click] [once] - navigate to item (and click it)
/nav door [click] [once] - navigate to door/object (and click it)
/nav waypoint <waypoint> - navigate to waypoint
/nav stop - stop navigation
/nav pause - pause navigation


Reported Bugs

When starting the Mesh Generator for the fist time.
Select the root EverQuest and Macroquest2 folder.

Do not select your EverQuest > Maps
Do not select rour MQ2 > MQ2Nav


And just in case make sure you did this part correctly...
 
I did use the meshgenerator. Wrote the wrong thing by accident. Still didn't enable the mq2nav to load. Loaded just fine in the Those guys version of MQ2 though, so I switched to that for now until I figure this out with Redguides MQ2.
 
Last edited by a moderator:
I've read thru this thread multiple times. Has anyone resolved the issue of getting stuck on large trees? Makes puller dead. I would play around with cell-size etc if I thought it would help but reading through the posts makes it sound like a crap shoot. If I knew that by picking the magic setting it would work it might be worth killing the puller for each attempt lol.
 
I've read thru this thread multiple times. Has anyone resolved the issue of getting stuck on large trees? Makes puller dead. I would play around with cell-size etc if I thought it would help but reading through the posts makes it sound like a crap shoot. If I knew that by picking the magic setting it would work it might be worth killing the puller for each attempt lol.

Depending on the zone, you can work around that, but I never could get this working with large races. The radius setting was helpful, though, as long as there was enough space otherwise.

Or you could try to just remove all the trees area from the map using that space remover thinger?

Would love to see more movement on this. I'm with you in general, Incognito. Super excited, but its just not quiiiiiite stable/extensible enough for general use.
 
the puller is getting stuck on the cells that are being drawn, if you unload the plugin and manuelly control the toon you will find you are not stuck. this is do to the meshbuilder finds the top of the tree and makes a hexagon around that point of the tree from ground up, the mesh is built 2d for moving in a 3d world, i was working on optomizing the code to use "smarter" code to make the meshes better, though i never finished it. With that said each cell is broke up into triangles, the middle of each triangle is a waypoint, it tries to make a path using the way points to optomize a shortest path using a 2d to 3d algorithim. in that algorithum is custom values used to work around objects in the enviroment. So getting back to what your saying is you will get stuck on that same object no matter the size of cell. I might start digging into the code again to try redoing the code for a smarter path finding algorihtum, but its a side project atm. Sorry for the wall of text, and i want to make this clear thanks to brianiac we now have a much better version of mq2nav then we ever had before, without his help we would have a plugin that would crash when hitting anything period, now we get stuck but can atleast still play without having to reload in toons and hope they dont keep crashing.
 
I believe I am running into the issue where Brainiac was mentioning the trees in 'new' zones are rendered differently and therefore not being picked up by the mesh. There are no trees 'marked' in my mesh so I'm going with that.
 
I believe I am running into the issue where Brainiac was mentioning the trees in 'new' zones are rendered differently and therefore not being picked up by the mesh. There are no trees 'marked' in my mesh so I'm going with that.

I've had this issue with just about every zone from HoThule and up myself.
 
In my case, it was the Feerrott The Dream. It was a bloody nightmare, trees fuckin everywhere, and hitting and getting stuck on each and every one. I almost gave up for the weekend but on a whim went into HoT and was glad I did. I spent the remainder of the weekend just in the courtyard but loved it, no trees!
 
I've read thru this thread multiple times. Has anyone resolved the issue of getting stuck on large trees? Makes puller dead. I would play around with cell-size etc if I thought it would help but reading through the posts makes it sound like a crap shoot. If I knew that by picking the magic setting it would work it might be worth killing the puller for each attempt lol.

What new zone gremlin? I want to test this.

In my case, it was the Feerrott The Dream. It was a bloody nightmare, trees fuckin everywhere, and hitting and getting stuck on each and every one. I almost gave up for the weekend but on a whim went into HoT and was glad I did. I spent the remainder of the weekend just in the courtyard but loved it, no trees!



This is due to a bug on objects not being loaded, was mentioned earlier in the thread about 3 months back:

I spoke with Brainiac this afternoon, and there is currently a bug with mesh gen loading objects. That is why you are probably getting stuck on trees, as those objects are not being included onto the mesh atm.
 
How do you load a zone , ive never played with creating a zone, a Fresh wright up on how to create mesh;s would be rock solid i have atoon in zone and i opened mesh and opened zone inthe settins but says zone not found

- - - Updated - - -

OMFG i got this to work ITS FUCKING AWSOME

- - - Updated - - -

ok , so im having trouble with the door clicking , any idea's he just runs to door and stands there then runs back ?

- - - Updated - - -

So,

1st problem i have is Naggy lair , Ramps or Sharp Corner's with ramps puller gets stuck because it doesnt read the corners of the ramps , and still cant figure out the door click deal ?
 
How do you load a zone , ive never played with creating a zone, a Fresh wright up on how to create mesh;s would be rock solid i have atoon in zone and i opened mesh and opened zone inthe settins but says zone not found

- - - Updated - - -

OMFG i got this to work ITS FUCKING AWSOME

- - - Updated - - -

ok , so im having trouble with the door clicking , any idea's he just runs to door and stands there then runs back ?

- - - Updated - - -

So,

1st problem i have is Naggy lair , Ramps or Sharp Corner's with ramps puller gets stuck because it doesnt read the corners of the ramps , and still cant figure out the door click deal ?

so the first issue your having is caused because it doesnt know zplane differences, so like cliffs and such it thinks its only 2d not 3d, and thats not the plugin its the rendering program that maps out the pathing. the second issue is the door clicking and that is maybe because its labeled as a trap not a door, easy way to see is load up the mq2nav ui and see under doors if it is even labeled as one, you should see a box in front of the door.
 
Can't get the plugin to load it crashes my eq instance if I try to load it.
I am using innserpace and I saw mentioned a few posts up it's not working with innerspace.

So the only workaround is to have my puller who needs to use it loaded into his own window not using innersapce so his instance takes up a full screen blocking my other tiled windows from isxboxer. Which to say the least is not ideal
 
just another request what would be awesome would be the ability to add or remove tiles from within eq once the basic mesh was built based on character position.
 
just another request what would be awesome would be the ability to add or remove tiles from within eq once the basic mesh was built based on character position.

I thought you could edit/remove tiles in the old version of the mesh generator? Is that not possible anymore?
 
A little bug to add for Brainiac whenever he can get to looking into it.

Zone: Chelsith Reborn
Issue: Meshgenerator points to a file called chelsith.eqg; however, the real name is ChelsithReborn.eqg. I had to rename all the zone files to get chelsith to load it up. The second issue is that the mesh generator is generating on the wrong Z axis it looks like, I still need to test the mesh to see if it works. Normally, you see the blue squares fill up on the 3d-model but in this zone its on the wrong z axis. If you look at the mesh it has all the building walls and everything. I had to change the Min Y axi to be -6.8 to get it to mesh correctly; however, that leaves out the rooms that are below that y axis. (see screenshots below)

Chelsith Reborn (broken):
Chelsith Reborn.PNG
 
Last edited:
you can adjust the y axis
on the left there scroll down until you see min y under bounding box and adjust to like 0
 
Is there any chance of getting the "attempt to get unstuck" feature added to an ini so that it can always be turned on? Nav seems to fail opening doors 95% of the time and the only way around this is to use the unstuck feature but having to turn it on every time you log in is annoying =/
 
Hey guys,

sorry for the long silence. I've been super busy with work. I'm going to take a look over the thread and try to get some updates in.

I'm still at a loss about the innerspace crashes, as I've gone through it thoroughly without crashing. I'm going to put some more fixes in and upload a DLL for you guys to try.

Stay tuned.
 
Attached is a release build I made today, with some additional fixes. Please try this, specifically with ISBoxer/Innerspace and let me know your results.

Recent code changes in this release can be found on github here (if this kind of thing interests you):
https://github.com/brainiac/MQ2Nav/commits/643eb66265cf800c542085df4dc36c6e1a1c44dc

Maskoi/RedBot should be able to pull these changes into their release for their own updater whenever they need/want.

The most notable change is an experimental change that hooks a function that was failing when Innerspace was running.

I've been noticing some other crashes, including out of memory and sometimes a failure to load, so I'm keeping an eye on that as well, too.

If anybody is really good with 3d math / linear algebra, I could use a bit of help transforming the positions of object groups, because I'm currently failing at getting this right (this is why the objects don't like into the mesh in newer zones, particularly new feerott which is the one that I've been testing with).
 

Attachments

  • MQ2Nav-2016-09-09.zip
    865.5 KB · Views: 38
If anybody is really good with 3d math / linear algebra, I could use a bit of help transforming the positions of object groups, because I'm currently failing at getting this right (this is why the objects don't like into the mesh in newer zones, particularly new feerott which is the one that I've been testing with).

Could you provide a bit more information about where in the repo the issue is? That way curious people could figure out more easily if they could reasonably help with the free time they have available.
 
The problem spot is here, with the #if 0'd out code: https://github.com/brainiac/MQ2Nav/blob/master/MeshGenerator/MapGeometryLoader.cpp#L314

Some objects in newer zones are placed into groups with their own local transforms, and then those groups have transforms. For whatever reason I haven't been able to figure out the proper routine to transform the coordinates properly so that the geometry is in the proper spot.

I've been using the new feerott zone for testing, as all the trees and stone henge type things are part of groups, and its easy to get to for me. All of those objects in the jungle should be loaded into MeshGenerator, but you'll see if you load the zone up they will not be present.
 
This is out of my depth for being in simple answer land. I'm not having a lot of luck so far although tbh it's been years since I did 3d stuff & never so much in OpenGL / glm.

I tried re-implementing this chunk using matrix translations a couple different ways how I think it'd typically go for this kind of hierarchical transformation use case; I got similar results to what you had. I'm not sure if I failed to do it properly or if there's a nuance about the data structure I don't understand.

For example: i tried building a glm::mat4 to capture the scaling, rotation, & translation for the group & then another for the object. Then multiplying them together like: 'glm::vec4 transformed = group * obj * vect' where vect is a vec4 of (v, 1.0f) & group transformation includes tile&group translations. Maybe I screwed up & build the transform matrices incorrectly; not sure.

Do we know what the 'expected answer' is? Meaning... if we look at this group:
Rich (BB code):
----- NEW GROUP [7438] -----
	Tile: (-1280.000000, 2560.000000, 0.000000)
	Position: (103.868523, 148.421371, 4.127806)
	Rotation: (0.000000, 0.000000, 180.000000)
	Scale: (1.000000, 1.000000, 1.000000)
		Placable[0]: obj_feerrott_ent_pof_rockssm pos:(245.544296, 26.235300, -18.003300), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[1]: obj_feerrott_ent_pof_rockr pos:(427.353302, 103.462097, -17.959999), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[2]: obj_feerrott_ent_pof_rockr pos:(561.235413, -172.617401, -17.575500), rot:(0.000000, 0.000000, 172.751999), scale:(1.000000, 1.000000, 1.000000)
		Placable[3]: obj_feerrott_ent_pof_rockr pos:(280.313995, -220.352203, -18.110201), rot:(0.000000, 0.000000, 145.633102), scale:(1.000000, 1.000000, 1.000000)
		Placable[4]: obj_feerrott_ent_pof_rockl pos:(412.739990, -208.909393, -17.488199), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[5]: obj_feerrott_ent_pof_rockl pos:(544.664429, 73.284698, -17.320200), rot:(0.000000, 0.000000, -65.658302), scale:(1.000000, 1.000000, 1.000000)
		Placable[6]: obj_feerrott_ent_pof_brazier pos:(374.377014, -106.702301, -16.539000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[7]: obj_feerrott_ent_pof_brazier pos:(374.377014, -25.836201, -16.539000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[8]: obj_feerrott_ent_pof_brazier pos:(464.988312, -25.836201, -16.539000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[9]: obj_feerrott_ent_pof_brazier pos:(464.988312, -106.702301, -16.539000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[10]: obj_feerrott_ent_pof_tunnel pos:(0.000000, -0.733300, 9.870700), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[11]: obj_feerrott_pof_deadtree pos:(368.722107, -192.566299, -16.973700), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[12]: obj_feerrott_pof_deadtree pos:(481.625000, -234.619293, -16.973700), rot:(0.000000, 0.000000, 0.000000), scale:(1.445000, 1.445000, 1.445000)
		Placable[13]: obj_feerrott_pof_deadtree pos:(495.787292, -205.837006, -16.973700), rot:(0.000000, 0.000000, -99.064903), scale:(0.706200, 0.706200, 0.706200)
		Placable[14]: obj_feerrott_pof_deadtree pos:(333.132385, 4.345800, -16.973700), rot:(0.000000, 0.000000, -125.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[15]: obj_feerrott_pof_deadtree pos:(335.500000, 42.145000, -16.973700), rot:(0.000000, 0.000000, -77.518898), scale:(0.656800, 0.656800, 0.656800)
		Placable[16]: obj_feerrott_pof_deadtree pos:(493.114410, 36.205898, -16.973700), rot:(0.000000, 0.000000, -70.208801), scale:(1.454700, 1.454700, 1.454700)
		Placable[17]: obj_feerrott_pof_deadtree pos:(267.782104, -118.063301, -16.973700), rot:(0.000000, 0.000000, -170.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[18]: obj_feerrott_pof_deadtree pos:(558.530029, -30.830799, -16.973700), rot:(0.000000, 0.000000, -171.004196), scale:(1.445000, 1.445000, 1.445000)
		Placable[19]: obj_feerrott_pof_deadtree pos:(461.678192, 98.457901, -16.973700), rot:(0.000000, 0.000000, -170.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[20]: obj_portal_2_pof pos:(419.697205, -65.456001, -17.950300), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[21]: obj_feerrott_pof_ent_doorframe pos:(199.112106, -64.989700, -2.795000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[22]: obj_feerrott_ent_pof_strut pos:(419.708405, -65.431198, -15.805800), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[23]: obj_feerrott_ent_pof_strut pos:(419.708405, -65.431198, -15.805800), rot:(0.000000, 0.000000, 90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[24]: obj_feerrott_ent_pof_strut pos:(419.708405, -65.431198, -15.805800), rot:(0.000000, 0.000000, 0.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[25]: obp_feerrott_ent_pof pos:(0.000000, 0.000000, 0.000000), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[26]: obp_feerrott_ent_pof_fauxbackdoor pos:(194.979004, -65.018997, -7.790300), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)
		Placable[27]: obp_feerrott_ent_pof_room pos:(411.591400, -66.369301, -17.193100), rot:(0.000000, 0.000000, -90.000000), scale:(1.000000, 1.000000, 1.000000)

Do we know the 'expected' pos, rot, scale for each placable? Can we pull that from MQ2 somehow?

I was trying to figure out why a number of objects seemed to appear 100% accurately but I think that's down to how uninteresting a number of the transformations are (group containing a single obj w/ only any rotation done on the obj).

EDIT: in case it's unclear when I say "expected" i mean "after all the transforms" i.e. - how it shows up in game from the 'global positioning' of the zone vs. relative coordinate spaces from parents.

- - - Updated - - -

So how does this look?
Improvements.png
 
Last edited:
Request - MQ2Nav Beta by Brainiac and Donation Kick Starter.
Status
Not open for further replies.

Users who are viewing this thread

Back
Top