Descent

Interplay's Descent series are by far (and will always be) my favorite games. Amazing memories of full 3D in 1995... These pages and material are dedicated to these wonderful games. Prepare for Descent!

Material Defender 2211 -- md2211 at users dot sourceforge dot net

Linux port tinkering (DXX-Rebirth)

The DXX-Rebirth project is an improvement upon the Linux ports D1X and D2X.

Sound subsystem port to SDL_mixer

In order to make MIDI music playback more widely compatible, I am currently trying to port the music playback subsystem to the high level SDL_mixer library. This will provide a portable solution for music playback, as the built-in HMI playback is often difficult to operate.

NEW (2006-08-31) - The music and sound effects have been ported to SDL_mixer! Please use the following patch and files with SVN revision 114 of D1X-Rebirth. This patch only affects the Linux code, but it should be easy to port to win32.

Instructions - to read music from external files using SDL_mixer music, you must provide the -sdl_music at run time, followed by a three-letter extension of your choice. This extension must be an SDL_mixer-supported format. For example, ./d1x-rebirth -sdl_music ogg will look for Ogg Vorbis files. The music files must be named after the original songs (i.e. descent.???, briefing.???, game01.???...), so you can simply go with the original MIDI files that are available from Planet Descent (-sdl_music mid).

Keep in mind that SDL_mixer uses an old version of Timidity for software MIDI synthesis; this means you must have a patch set installed (like freepats), soundfonts are not supported. For a more accurate nostalgic experience, I highly recommend using the MP3 versions of the songs, that were re-recorded from an OPL2 chip by Charles McKee.

If the -sdl_music switch is not provided, SDL_mixer music will be disabled, and the built-in HMI playback will be used instead. If anyone has got it working on Linux without hardware MIDI, please let me know!

Sound subsystem call graph

In an attempt to better understand the Descent sound system, I have created a partial call graph, comprising the most important functions of arch/sdl/digi.c.

Call graph for digi.c

You can also download it in Dia format (4 KB).

General source code documentation

This Doxygen documentation was generated in an attempt to provide some degree of overview of the D1X-Rebirth source code. Please be aware that it includes some modifications of mine, and so does not exactly reflect the current status of the SVN tree.


Try reading this page again with Harald Koenigsperger's Descent fonts...