This is just a tech demo of a side tool I am working on for another project. It is not finished yet and it might have some bugs still (which is why it'd be nice if you can test it!). The camera placement code for new regions is not perfect as you will spawn looking under terrain sometimes. This is because the terrain center might be below the average height of the surrounding terrain. Also, it is kind of hard knowing where you are in the map since there is no GUI, so common locations have been provided to give you a point of reference. Only the terrain information from the NVM files are being displayed. I still have to add the other data.
What is special about this project is I have updated a lot of my old code to use PK2 data directly via my PK2API code so no additional data files are needed with the program. This is obviously a big benefit since there are thousands of NVM data files and trying to extract the contents of all into separate file and using them results in about 15,000 files or so. That is why you only need to specify the two PK2s used and no extra files for the program are needed!
This tool was made using:
*
for the framework and OpenGL rendering*
for the DDJ(S) texture loading* An updated PK2API from the past
* My new NVM library
* Camera class from a game programming tutorial website
The rendering logic is very primitive. The reason you see "tiles" and not the smoothed out final resulting texture like you do in game is because the NVM files are not the visual terrain you see in game; those are in the map file I believe. These files are more related to ground and entity collisions. More information on this will come later though.
Instructions
ControlsQuote:
0. Please read the Readme1st.txt file.
1. Run edxNVMViewer.exe
2. Choose your "data.pk2" file first
3. Choose your "map.pk2" file second
4. Click OK to exit the program.
5. Rerun the program. You will not have to choose your PK2 files again.
ScreenshotsQuote:
Spacebar - Unlock mouse
W/A/S/D - Move
Mouse - Look
Numpad 4 / Numpad 6 / Numpad 8 / Numpad 2 - Change region (left/right/up/down)
Numpad 5 - Return to the default region
Escape - Exit

For more screenshots rendered with a previous version of the program:

Binary Download
Attached.
This has been tried and tested for iSRO. I've not tried it on the other versions, but they should work. The private server PK2 files are mostly not compatible though.
scan.I'd be happy to hear if it works for you, because I'll be using some of these concepts for future projects. I hope this is interesting, even if it might not be too useful for most people right now.






