Compiling D1X-Rebirth Sourcecode This file describes how to compile D1X-Rebirth from Source. Requirements: ============= 1. C/C++ compiler (gcc/g++) 2. SCons (to compile in *NIX/Win32) / XCode (to compile on MacOS) 3. SDL(-devel) 4. PhysFS(-devel) 5. GLU/GL 6. NASM (optional for Assembler-based Texture-mapper in non-OpenGL Build) 7. SDL_mixer(-devel) (+ dependencies) for external music support Compiling: ========== *NIX: ----- Type 'scons' to compile the source. You can also give additional options like 'scons use_ipx=0'. See 'scons -h' for available options. To install, use 'scons install' but remember to use all your options as well or SCons will re-compile and install without any options given to prior compiling. However it's STRONGLY recommended NOT to use the 'install' argument but to create a package for your Linux distribution or operating system. 'install' will compile the resulting binary (d1x-rebirth) to /usr/local/bin/ by default so to uninstall, just delete the binary. MacOS: ------ For Mac OS X, an Xcode project is available (requires Xcode 2.1 or later). Xcode includes the compiler and OpenGL. The standard SDL and SDL_mixer libraries from the SDL website may be used, these go in /Library/Frameworks or ~/Library/Frameworks. However, to fix MP3 support for the 'Release' build I used SDL 1.2.8 with Diedel's modified SMPEG library from his D2X-XL website. To debug these libraries compile the frameworks from source as 'Debug' builds, then use these instead. PhysicsFS must be compiled from source. Put its enclosing folder 'physfs', renaming if necessary, next to D1X's (typically d1x-rebirth). In CMake ensure the build path points to 'build' inside 'physfs'. Specify 'i386;ppc' as the architecture for a universal binary. In Xcode, build 'Debug' and 'Release' from the dynamic library target. SCons also works on MacOS X, but it's recommended to use XCode instead. For Mac OS 9, an MPW Makefile is available. MPW includes the compiler. As for the shared libraries, compile PhysicsFS version 1.0 and the latest SDL and SDL_mixer (as of writing) from source. For SDL_mixer 1.2.11 you will need to disable MikMod support, from SDL_mixer.make, otherwise use SDL_mixer 1.2.8. For any sources to compile, they will need to be made into text files using a typecode changing program, if they were downloaded outside of Mac OS 9 (including Mac OS X). This will also need to be done after any Terminal command (diff, svn update etc) edits the source files. Note that there are ready-to-go packages on http://www.dxx-rebirth.com Win32: ------ Use the SCons way like described in the *NIX-instructions from an MSYS/MinGW environment. However you will not need to use 'install' but just drag the resulting binary to your Descent-folder. Note that there are ready-to-go packages on http://www.dxx-rebirth.com Needed files: ============= Since D1X-Rebirth is a Sourceport of the Descent-Engine you will need the Game-Content data files to run the game. You don't own the full game, yet? Just visit GOOD OLD GAMES via: http://www.gog.com/en/gamecard/descent_1_descent_2/pp/fc074d501302eb2b93e2554793fcaf50b3bf7291 and download it for a very low price! DRM-FREE! Following files are needed to run the game: descent.hog descent.pig For the PC CD-ROM, these files should be located on the Descent1 CD-Rom. The PC version data files need to be patched to version 1.4a. There is a patch available at: http://www.dxx-rebirth.com/download/dxx/res/d1datapt.zip For the Mac CD-ROM, the data files will need to be installed from the CD using a Mac system earler than OS X. Classic will work. StuffIt tech support said this is virtually the only way. Note that the above files must be lowercase if you use an operating system with case-sensitive file management. Where to put these files: ========================= *NIX ---- The Sharepath (/usr/local/share/games/d1x-rebirth/ by default - if not reconfigured via SCons) or ~/.d1x-rebirth or another directory specified by -hogdir via d1x.ini MacOS ----- Same directory as where the binary is located or another directory specified by -hogdir via d1x.ini Win32 ----- Same directory as where the binary is located Optional files: =============== D1X-Rebirth is expandable. You can add additional content to the game. Missions: --------- Those can be found on several websites. Add them to the game by copying them to subdirectory ‘missions/’. They can also go in subdirectories of 'missions/', unlike with the original version. Custom Music (MP3, OGG, AIF, etc.): ----------------------------------- Custom Music can be played via the CUSTOM MUSIC options by specifying it in the Sound Options menu. Please note that all custom music has to be in 44Khz format. Supported formats depend on the capabilities of SDL_mixer. AddOn Packs: ------------ Custom AddOn packs will expand the game in many differnt ways. These are usually provided as ZIP or 7Z and can easily be installed by putting them to where your game content resides (OS-dependent - see above). NO EXTRACTION OR ADDITIONAL CONFIGURATION NEEDED. A list of currently available packs: - Hires background images and fonts: http://www.dxx-rebirth.com/download/dxx/res/d1xr-hires.zip - German briefings: http://www.dxx-rebirth.com/download/dxx/res/d1xr-briefings-ger.zip - Soundtrack in OGG format (created by Brandon Blume using Roland SC-55 MIDI Module): http://www.dxx-rebirth.com/download/dxx/res/d1xr-sc55-music.zip - Sound Effects for Mac Game Content (adds sounds which were not included in DESCENT.PIG) http://www.dxx-rebirth.com/download/dxx/res/d1xr-mac-sounds.zip Launching the program ===================== MacOS ----- Simply double-click "D1X-Rebirth". Win32 ----- Doubleclick d1x-rebirth-gl.exe *NIX ---- After compiling and installing, the program can be launched with the command: d1x-rebirth-gl or - if it has been compiled with SCons parameter ‘sdl_only=1’: d1x-rebirth-sdl To see a full list of available command-line options append ‘-h’, ‘-?’ to the command or refer file d1x.ini Appendix ======== http://DXX-Rebirth.com