Skip to content
C C++ VBScript Python Assembly Shell Other
Branch: master
Clone or download

Latest commit

miniupnp -Fix: Tile_PackTile() is now a macro
we should avoid to call Tile_MoveByRandom() several times
fixes #331

Bug introduced by 9c34a82
Latest commit f2d4c46 Apr 9, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
bin -Fix: framerate option in opendune.ini.sample Apr 16, 2018
include -CodeChange: add PowerPC G4/G5 altivec code for Video_DrawScreen_Near… Oct 23, 2015
os -Add: png icon / original Dune II icon Jun 4, 2016
projects -Fix: add determineversion.vbs to version_vs*.vcxproj Jun 8, 2018
src -Fix: Tile_PackTile() is now a macro Apr 9, 2020
tools -Fix: for NE headers Jul 13, 2019
.gitattributes WIP: compile for DOS (32bit) with Watcom C Jan 3, 2018
.gitignore -Change: tools/ move decode_format80() and save_pbm… Apr 13, 2018
.travis.yml travis-ci: add zip package Apr 9, 2020 -Fix: Typo Aug 20, 2018
COPYING -Add License file Sep 15, 2009
Doxyfile -Cleanup: remove svn specific comments Dec 19, 2012
INTERNALS.txt -Add: details about all colors used in the Palette May 6, 2018 -Fix: fix make bundle_dmg in travis-ci OS X environment Jan 5, 2017 -Change: Install opendune png icon Jun 9, 2016 -Add : add Atari Falcon (TOS) code May 6, 2016
Makefile.tcc -Codechange: a sprankle of coding style over mpu_ files Sep 1, 2011
Makefile.wc -Build: improve Watcom C build script Jan 3, 2018
README -Fix: make sure README.txt is displayed by github May 26, 2016
README.atari -Changes: minor updates to README.txt and README.atari May 25, 2018
README.txt Typo Feb 22, 2020
SDL_Win32.txt Adding info for generate.vbs settings to use SDL on VS project files Nov 3, 2017
config.lib -Fix: disable -ansi when asla sound is used Oct 14, 2019
configure -Fix: fix handling of #if DOS in source.list Jan 3, 2018
enhancement.txt Minor typo fixes in enhancements.txt Aug 30, 2019 -Cleanup: remove svn specific comments Dec 19, 2012
source.list -Add: digitized sound output for old Mac OS X implementation May 25, 2018
valgrind.suppression -Update: update valgrind suppression file Sep 1, 2011
wccbuild.bat -Build: improve Watcom C build script Jan 3, 2018


OpenDUNE is an open source re-creation of the popular game "Dune II",
 originally made by Westwood Studios, and released by Virgin Entertainment.
It attempts to re-create the original game and apply modern technology to it
 to allow it to be run natively on most operating systems.

OpenDUNE is licensed under the GNU General Public License version 2.0. For
 more information, see the COPYING file included with every release and source
 download of the game.

The latest version of OpenDUNE is always available at:
The latest development version is at:
Our IRC (chat) is at:
You can report bugs at:
Our wiki is at:

Supported Platforms
OpenDUNE is written in ANSI C (C89), and only requires SDL/SDL2 to run. In result,
 OpenDUNE should run on all platforms supported by SDL or SDL2.
Currently we officially support the following platforms:

  - Linux
  - FreeBSD
  - Mac OS X (PowerPC or Intel i686 / x86_64, 10.4+)
  - Windows (i686 / x86_64)
  - Atari TOS (68030+ CPU, TT and Falcon machines supported)

OpenDUNE doesn't require any library to run on Windows. For Mac OS X we make
 so-called static-compiled binaries, which means all libraries it depends on
 (mostly LibSDL) are already included in the binary, and no action is
 required on your part
For Linux/FreeBSD, you need to install LibSDL yourself. It is available in every
 package manager, and the chances are high it is already installed on your
In order to use sounds and music on Linux, you need a working ALSA driver.
OpenDUNE also supports OSS and PulseAudio for digitized sound output.
Music is sent to MIDI Out port of Atari machines.
It is also possible to build with Munt MT32 emulator
to have MT32 music : Windows users should just install the mt32emu_win32drv and
the right MIDI device will be selected when mt32midi option in opendune.ini
is on. Linux/FreeBSD users should install munt on their system and rebuild.

Installation & Running
Extract OpenDUNE.
Copy the original Dune2 1.07 data files (including dune2.exe) to data/.
 All three existing versions of the Dune 1.07 data files (eu, hs and us) will
  work, but only with the eu/hs data files the French language will work, and
  only with the eu data files the German language will work.
Start 'opendune'.

Additional options may be specified using an opendune.ini file located
in the data/ directory, in the current directory or in %APPDATA%\OpenDUNE
(on Windows) or ~/Library/Application Support/OpenDUNE (on Mac OS X) or
~/.config/opendune (on Linux/FreeBSD). All options must be in an [opendune]

Available options are :
- language : english / french / german
- datadir : directory where Dune data files are
- savedir : directory for Dune personal data files (savegames)
- scalefactor : 1 (no upscaling), 2 (default), 3, 4
- scalefilter : nearest (default), scale2x, hqx
- framerate : maximum frame rate (60 FPS default)
- fullscreen : 0(default)/1 starts the game in full screen mode if possible
- mt32midi : 0(default)/1 send MT32 init, use .XMI files
- mt32rompath : directory containing CM32L_CONTROL.ROM/CM32L_PCM.ROM files
                for Munt MT32 emulator.

debug options (for developpers) :
- dune2_enhanced : 0 = game acts like the original Dune II, including bugs
                   1(default) = enable OpenDUNE enhancements
- debug_game : 0(default) = normal game behavior
               1 = The player can control the AI
- debug_scenario : 0(defaut) = normal game behavior
                   1 = The player can review the scenario. There is no fog.
                       The game is not running. The player can click on tiles.
- debug_skip_dialogs : 0(default) = normal game behavior
                       1 = skip all intros and go immediately to house select.
- debug_log_game : game record / replay
                   0(default) = off
                   1 = record game to 'dune.log'
                   2 = playback game stored in 'dune.log'
- starport_unit_cap : 0 = Allows to overflow unit limit using starport (default)
                       1 = unit limit is enforced in starport

The Game controls are the same as DUNE II. Usually, the first letter is a
keybard shortcut, for example B for build, Q for quit, etc.
F1 - open Mentat Screen
F2 - open the option menu
F3 - open the menu of the selected structure (construction yard/factory/etc.)

A few key controls are added in OpenDUNE, available depending on the
platform :
F8 - Toggle FPS display
CTRL-ENTER or F11 - Toggle full screen

Enhancement over Dune2
See enhancement.txt.

Known Bugs
If the digitized sound output does not work for some reason, you will very likely
be stuck in the house selection screen. Because when you click on the house button,
a voice is played, and the game waits for the voice to finish.
Please check your sound output options.

See changelog.txt.

The OpenDUNE team (in alphabetical order):
  Albert Hofkamp (Alberth)             - Refactoring Dude
  Loic Guilloux (glx)                  - Windows Guru
  Patric Stout (TrueBrain)             - Lead Developer
  Steven Noorbergen (Xaroth)           - Lead Manager
  Thomas Bernard                       - Developer

Thanks To (in alphabetical order):
  Szabolcs Nagy (nsz)                  - ANSI C Guru
  Ingo von Borstel (planetmaker)       - For his many bug-reports
  tneo                                 - For his many bug-reports
  David Wang (wangds)                  - For his many patches and bug-reports

  Bug Reporters                        - Thank you all for all bug reports
  Westwood                             - For an amazing game
You can’t perform that action at this time.