Jump to content
  • 0

What are MAPs, MMAPs and VMAPs exactly?


Shinzon
 Share

Question

I know this is most likely a very newb question - but I've looked everywhere trying to find this answer. I know very well that maps, mmaps and vmaps need to be extracted in order to run MaNGOS and I have built MaNGOS many times and played around with the code quite a bit, but I would still not say that I have a strong understanding for what the maps, mmaps and vmaps really are.

Is there anyone that can explain what they really are? My basic understanding is that they are the map wireframes for the world for world of warcraft. But maybe I'm off base? I think it would benefit everyone to understand it more. Is there an article here that explains it in more details?

Edited by Shinzon
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Posted (edited)

Thank you so much @antz, that actually was very helpful! Are those posts accurate?
So we still do not know what the “Hole Chunk” is for? I personally like puzzles. If I wanted to work on the reverse engineering of that, is there a team currently working on it? 

Edited by Shinzon
Link to comment
Share on other sites

  • 0
23 hours ago, Olion said:

You could look for a desciption of the source info, from which the map and other files are calculated by the extractors, at the cite https://wowdev.wiki. No one knows, how much accurate is it.

I was more asking how accurate the post was on us not knowing what the “Hole Chunk” is for. Has any further discovery been done down this road? I don’t see anything in the forums that indicate that we do know.

Link to comment
Share on other sites

  • 0

Hello,

I hope this is not too technical and largely understandable. Some general information, in World of Warcraft (at least Vanilla), terrain information are represented by files called WDT which consist of:

- An area info of 64x64 tiles, that area info express whether a tile exist at that location or not (e.g., if a tile exist in X: 32 and Y: 27, a tile file 27_32 shall exist in the MPQ)

- Optionally, a global WMO (World Model Object) reference. Mainly for dungeons.

More detailed information are then available in tile files called ADT, these ADT contains (highly simplified):

- The terrain heightmap.

- The terrain holemap.

- The terrain liquid height and types.

- References to doodad (M2 or MDX files) and their placement on the terrain.

- References to WMO (big buildings) and their placement on the terrain. WMO can contain liquid and be made of several groups.

ADT references to M2 and  WMO files, these are both models, trees would fall under the first category, Stormwind, blacksmith building or dungeon would fall under the second category.

Based on this, the extractors are extracting 3 types of maps data:

Maps files are a 2D view of the terrain storing the height map, the area data, the liquid height map, liquid type and the hole map:

- Height Map: The Z-index of the terrain at each location. It allows to move your char up and down to follow the terrain

- Area data: Helps to know whether you're changing from a sub-zone on a tile (you know, when you get XP because you found a new area)

- Liquid height map and type: Same as for height map but for liquid, knowing when you are in "swimming mode", liquid type helps to know if fatigue must be enabled or if you need to take damages.

- Hole map: Hole map is a series of unsigned int indicating whether a chunk on a tile has a hole or not. That's an advanced calculation but it's used, for instance, to insert a WMO such as a gold mine inside a terrain. It just tell the engine "do not render geometry at this location".

 

Vmaps files are a 3D view of the terrain, storing the terrain and model bouding boxes to allow collision detection, helps to calculate Line of Sight using Bounding Interval Hierarchy and Raytracing methods to achieve it. They are built the same way as the WDT/ADT/Model files:

  • .vmtree files contain BIH calculation for a WDT level
  • .vmtile files contain BIH calculation and model information (placement) for an ADT level
  • .vmo files contain BIH calculation and geometry of a single model

Mmaps files are a 3D view of the terrain allowing for path finding and navigation. From the extracted data, navmeshes are then created (navmesh is a series of simplified polygons easing navigation calculation server-side). It uses recast to build navmeshes and detour to calculate the paths on these navmeshes. I can't give details on the files content yet but they very look like they have a similar WDT/ADT organisation.

 

Hope this helps,

 

Talendrys

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use