OpenDUNE:Development/Windows
From OpenDUNE
WARNING: Windows versions are known to break. MSVC has its own problems, and mingw doesn't optimize tail-calls enough, so stack overflows are very common. For real development, we strongly suggest to install Linux (in a VM if you want to) and develop in there. Linux has shown to be much more stable at this point, as it optimizes tail-calls much better and much more efficient. Because of that, the game is much more playable on Linux!
To compile OpenDUNE on Windows, you need a compiler (mingw32 or MSVC), LibSDL (the headers and the libs), and a bit of time.
Contents |
LibEMU
First of all, you need LibEMU. LibEMU is an emulator layer we designed which takes care of all the Assembly/DOS calls OpenDUNE currently makes. Slowly this will be merged out, but this takes time. Till that time, you will need this library in order to play the game. For Windows you need the static version, or you have to use the MSVC project file.
You have to get the source via Subversion:
svn checkout svn://svn.opendune.org/extra/libemu
For mingw, execute:
make WIN32:=1
For MSVC, load up the project file, and compile.
OpenDUNE
Download the source via Subversion:
svn checkout svn://svn.opendune.org/trunk
When the checkout is done, simply run in mingw:
make WIN32:=1
For MSVC, load up the project file, and compile.
This should compile OpenDUNE. If you don't like the default settings, please edit Makefile/project file yourself. Just remember to compile on mingw with -O1 -foptimize-sibling-calls (on by default) to avoid massive stack consumption. On MSVC please compile a release build.
Data files
Now you need to fill your data/ with the Dune2 data files. Those files are available at:
http://devs.opendune.org/~truebrain/releases/opendune-data.tar.bz2
Finally
Now you are all set, and you can run
opendune.exe
This should start OpenDUNE. It can happen it crashes with a nice crash-log. In such cases, please make a bug report at http://bugs.opendune.org/ and upload the report together with your memory/crash.bin. If possible add what you were doing. This helps us to improve the game.

