Quote:
Originally Posted by Bulle
This calls for a question then : what do the *.map files contain, the ones from the Maps directory that you have to put in your server DIR ? I had always thought they contained a dumbed down 3D description of the zones, basically the world coordinates of the solid areas, so that NPCs do not fall underground etc. Am I wrong to think the contents of these files *.map is well-known and "easily" parseable ? I got them from Sourceforge so that was a given for me.
|
The EQEmu .MAP files are created by the Azone utility (comes with the EQEmu source). Azone rips the polygons (triangles) describing the 'ground mesh' from the S3D or EQG files. By ground mesh, I mean the .MAP doesn't include what are classed as 'placeable objects' such as trees, some small rocks, small buildings etc. (even quite large structures such as a bridge in one zone (I think it was Thundercrest)).
As well as the actual polygons, the .MAP file contains an octree that divides the zone into rectangular 2D nodes so the code can find all the polys in a particular area of the zone quite quickly.
There is code in zone/Map.cpp to use the .MAP files, e.g. load them into memory, check if a line between two points intersects any polys etc.
The FindBestZ code for example projects a line vertically downwards from a given X,Y,Z location looking for 'the ground'.