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_udp=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. THIS MAKEFILE IS GROSSLY OUT OF DATE!! Note that there are ready-to-go packages on https://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 https://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 can use your original Floppies, CDs or files from previously bought GOG or Steam versions. Following files are needed to run the game: descent.hog descent.pig For the Mac CD-ROM, download The Unarchiver (http://wakaba.c3.cx/s/apps/unarchiver.html) and drag the installer program onto it. Alternatively, run the installer on a computer with Mac OS 9 and copy over. Of course you can also use the Shareware game content with D1X-Rebirth which you can find here: https://www.dxx-rebirth.com/game-content/ 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 suitable for Mac OS X available at: https://www.dxx-rebirth.com/download/dxx/misc/descent-game-content-10to14a-patch.zip To play the Multiplayer levelset 'Total Chaos', make sure the files chaos.hog chaos.msn are in the subdirectory 'Missions'. These files should also be located on the Descent1 CD. For the Mac CD data, simply move these files, after installing, from 'Data' to 'Missions'. 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 another directory specified by -hogdir via d1x.ini 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. A good place to find additional mission might be the Descent mission Database: https://www.dxx-rebirth.com/descent-mission-database/ Custom Music (MP3, OGG, AIF, etc.): ----------------------------------- Custom Music can be played via the JUKEBOX 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 different 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. You can find all official AddOns here: https://www.dxx-rebirth.com/addons/ Launching the program ===================== *NIX ---- After compiling and installing, the program can be launched with the command: d1x-rebirth MacOS ----- Simply double-click "D1X-Rebirth". Win32 ----- Doubleclick d1x-rebirth.exe 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