72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
# RogueSquadron Extractor - TERRAIN module
|
|
|
|
Inspired by the work of **dpethes** (https://github.com/dpethes/rerogue) :clap:
|
|
|
|
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.
|
|
|
|
[](https://ci.jcsmith.fr/job/JCS-Prod/job/RSE-Terrain/job/master/)
|
|
|
|
## 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.
|
|
|
|
<img src="https://repo.jcsmith.fr/pictures/rse-terrain.gif" width="620" height="400" />
|
|
|
|
### 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
|
|
|
|
:mega: **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:
|
|
|
|
```shell
|
|
cmake .
|
|
make
|
|
make install
|
|
```
|
|
|
|
We can also use cross-compilation (after installing `mingw64` and `cmake` packages on your distrib):
|
|
|
|
```shell
|
|
mkdir build && cd build
|
|
cmake -DGNU_HOST=x86_64-w64-mingw32 \
|
|
-DCMAKE_TOOLCHAIN_FILE=../mingw_cross_toolchain.cmake \
|
|
..
|
|
cmake --build .
|
|
```
|