Source/Binaries: https://github.com/emagi/eq2emu-tools/tree/main/EQ2ModelViewer
Uses SlimDX (x86/x64 bit): https://code.google.com/archive/p/slimdx/downloads
YouTube Demo: https://youtu.be/SeodZ9opfP0
EQ2 Map Editor (aka EQ2 Model Viewer)
- Loads '.lut' 'zone' files, extracted from the VPKTool
- Loads '.draw' mesh files to 0,0,0, however does not load the textures
- Extracts EverQuest 2 zones as a whole mesh into zone.EQ2Map and zone.obj
- zone.EQ2Map is used for BestZ (Y coordinate in EverQuest 2), limits the height not going under world or on top of buildings/floors (with zone/map.cpp logic). Also handles discovering new areas (the XP/area reveal) and grid id updates (with zone/SPGrid.cpp)
- zone.obj is used for the NavMesh generation (zone.nav files). These allow mobs to path in the zone without going through walls or other objects. Once translated to .nav with the RecastDemo the result nav file is loaded with zone/pathfinder_nav_mesh.cpp
Troubleshooting:
- Should polygons be stretching into the screen then the libeq2 dll's are out of date. Copy them into the appropriate Debug/Release directories.
- Limitation: After loading a zone, the Model Viewer should be closed. It does not purge out existing zone meshes so you will combine multiple zones together (or draw files).