Reviewed-on: #1
RogueSquadron Extractor - TERRAIN module
Inspired by the work of dpethes (https://github.com/dpethes/rerogue) 👏
This set of git repos are a compilation of tools coded in C to make RS modding far more than a dream! The collection consist of few independants modules, each of them deals with specific data like sound, textures, heightmaps, etc...
All modules are independants. This is the 'TERRAIN' module.
TERRAIN MODULE
It's extract terrain datas from Rogue Squadron 3D (PC) game map files (hmp).
This module can do:
- Interpolate 3D model mesh of the terrain,
- Export it as OBJ model file (pretty heavy (~15MB), not to be use direcly for display),
- Export an heightmap-like PNG,
- Multiple inputs files.
TODO
- Add textures to terrain.
- Adding LOD method to optimize datas manipulation and rendering.
- Rewrite OBJ lib...
- Discover all last unknowns fields, etc.
Using
RSE-Terrain_"version" [options] <hob files...>
or you can simply drag&drop HOB files on it.
A futur main program can extract all HOB files directly from DAT file. Due to issue with copyrights, I can't provide samples... You need to extract HOB files yourself.

Options
- -h Print this message
- -v,-vv Activate verbose/debug output mode respectively
- -subdir Export outputs to a sub-directory
- -neg Negative heightmap output
Dependencies
- obj-lib: as obj file exporter. (https://github.com/rlk/obj)
Compiling
📣 MSVC compatibility is in progress. Not working for now but you can try to fix error by yourself.
You can compile on both Windows (MinGW) or native Linux system thanks to CMake.
To compile, just clone (don't forget git submodules) and launch cmake:
cmake .
make
make install
We can also use cross-compilation (after installing mingw64
and cmake
packages on your distrib):
mkdir build && cd build
cmake -DGNU_HOST=x86_64-w64-mingw32 \
-DCMAKE_TOOLCHAIN_FILE=../mingw_cross_toolchain.cmake \
..
cmake --build .