D2X-XL Installation Guide
Linux |
Prerequisites
To be able to extract the various data archives you will need, install 7zip v9 (v4 won't do it). To build all required libraries and the program, you need to install gcc/g++ and the OpenMotif, Mesa, SDL, SDL_mixer, SDL_image, SDL_net, GLEW, curl and DirectFB packages plus their devel packages. For debug builds you will also need the MesaGLw-devel package.
Installing The Game Data
Descent game data consists of game data that is common for all users (textures, models, sounds, missions, mods), and user specific data (player profile, game configuration, save games, screen shots, demo recordings). By default, the common data is expected to reside in '/usr/local/games/d2x-xl' (you can use a different folder and announce it to D2X-XL by the '-userdir' command line switch). The user specific data should go to the sub directory '.d2x-xl' of the home folder. All data provided by D2X-XL comes with the proper folders already contained in the archives. D2X-XL does not provide the original game data files. You will need to purchase and install them yourself if you don't own them (buy them for little money at Good Old Games. You will need a program like DOSBOX to run the original Descent installer. D2X-XL uses some additional game data contained in an archive with the name d2x-xl-data-<version>.7z (e.g. d2x-xl-data-1.14.95.7z). The folders 'config' and 'profiles' therein go to '~/.d2x-xl'. Extract all other folders to the common data folder (e.g. '/usr/local/games/d2x-xl'). You can find all additional data files (textures, models, sounds, missions, mods) on the D2X-XL website. Extract these to the common data folder.
Compiling and installing SDL and SDL_mixer
It is highly recommended to use the SDL and SDL_mixer versions from www.descent2.de, as they contain bug fixes and enhancements required for flawless operation of d2x-xl. If you don't, program crashes may be the result.
The D2X-XL versions of the SDL and SDL_mixer libraries should now have been installed in /usr/local/lib. Depending on your system architecture, they may need to be copied to /usr/lib or /usr/lib64. Compiling and installing D2X-XL
Enabling Midi Playback
Theoretically, this should enable midi playback. Missing OpenGL related symbols
If you run into linker errors about missing OpenGL related symbols, your system probably doesn't have the latest OpenGL libraries installed. You should therefore install the latest Mesa-devel package. If that doesn't help, you can proceed as follows. For GL_FRAMEBUFFER_EXT, you can try to edit arch/ogl/fbuffer.c and fbuffer.h and enable the explicit loading of function pointers to the required functions. Just comment out the lines containing '#ifdef _WIN32' and those containing the corresponding '#endif'. If that doesn't help, open include/ogl_init.h and change '#define RENDER2TEXTURE 2' to '#define RENDER2TEXTURE 0'. This will still enable camera views in D2X-XL, although at the cost of quite a performance hit. You can completely disable camera usage in the render options menu of D2X-XL. For glDrawRangeArrays, edit ogl_defs.c and ogl_defs.h and make it non-Windows specific by removing '#ifdef WIN32' ... '#endif' surrounding it. |


