=========== D2X =========== http://icculus.org/d2x Useful Links: ============= Nasm: http://nasm.sourceforge.net SDL: http://www.libsdl.org PhysicsFS: http://icculus.org/physfs/ Linux/Unix: =========== Required tools: * GCC 2.95 or higher * SDL 1.2 * PhysicsFS * NASM 0.98 (OPTIONAL but RECOMMENDED for x86) * A thread safe X server. * GNU make is probably required as well. Build instructions: Install all of the components above. Next, from the d2x directory: ./configure ./configure --help will show you the available options. If you have a 3d graphics card, use --with-opengl VPATH builds also work (i.e., you can put the source in one directory and build in another. Just execute the configure script from the build directory like so: mkdir d2x-build cd d2x-build ../d2x-source/configure make make install on systems where `make' isn't GNU make, use `gmake' instead. see installation.txt for info on where to put your datafiles, etc. Known bugs/issues: * Serial support doesn't work. (UDP and IPX networking does) * Sound glitches (due to stuff I haven't implemented) * The mouse support is at the same level as it was in d1x (as in, it kind of works) (btb: works pretty good for me.) Win32 (unix style): =================== Required tools: * MSYS (with MinGW) or Cygwin * SDL 1.2 * PhysicsFS * NASM 0.98 (OPTIONAL but RECOMMENDED) Note that SDL.dll needs to be in your executable PATH, since that is where windows looks for dlls. I recommend copying or moving it to /usr/local/bin: cp /usr/local/lib/SDL.dll /usr/local/bin If you need to run autogen.sh (e.g. to rebuild the configure scripts, or to build from cvs) sdl.m4 will have to be somewhere where aclocal can find it. You can fix this by setting the ACLOCAL_FLAGS variable like this: export ACLOCAL_FLAGS=/usr/local/share/aclocal Now you can configure d2x as normal. i.e. ./configure or ./configure --with-opengl and build with: make VPATH builds, described above, also work in MSYS or Cygwin Then just copy your executable and SDL.dll into the descent2 directory. Win32 (MSVC): ============= Required tools: * MSVC++ * SDL 1.2 * PhysicsFS Download the SDL 1.2 SDK for MSVC and the source code for PhysicsFS. Unpack them in your source directory, along with the d2x source code. This can be whereever you like, but if your directory structure looks like this, then you won't have to mess with the project settings: sdl\ sdl\SDL-1.2.7\ physfs physfs\physfs-1.0.0\ descent\d2x\ First you have to compile the PhysicsFS library. Open physfs_static.dsw, select the "Release" configuration, and build. Now open d2x.dsw, select the active project to d2x or d2xgl, select the "Release" or "Debug" configuration as desired, and build. Then just copy your executable and SDL.dll into your descent2 directory. MS-DOS: ======= Dos support isn't a high priority right now, so things may be a little messed up. Required tools: * DJGPP v2 The following DJGPP packages are ALL REQUIRED (newer versions are ok)! v2/ djdev203.zip v2gnu/ bnu281b.zip gcc2952b.zip mak3781b.zip bsh1147b.zip sed302b.zip m4-14b.zip acnf213b.zip gwk304b.zip txt20b.zip grep22b.zip dif272b.zip So many packages are needed to support the autoconf build system that d2x uses. (Sorry! =) * NASM v0.98 or better is REQUIRED Build instructions: Install all of the djgpp packages above. Make sure that DJGPP is properly configure (see the DJGPP docs for more information). Make a copy of bash.exe in your djgpp bin/ directory. Call it "sh.exe". This step is VERY IMPORTANT (otherwise all the scripts will fail). Now, run the following from the d2x directory: djgpp.bat make Hopefully things will work out and the package will build correctly for you. Known bugs/issues: * Serial and network support missing. * Sound support missing. MAC OS X ======== Install the latest version of apple's developer tools. Compile and install SDL from source: d2x doesn't use Project Builder. configure and compile as with other unices. MAC OS 9 ======== Required tools: * MPW-GM v3.6 or higher * SDL 1.2 * PhysicsFS * OpenGL 1.2 Recommended: * MacsBug 6.6.3 * Power Mac Debugger 2.2 CIncludes: The SDL headers go in here. Either a folder called "SDL" or the headers straight in CIncludes will work. The OpenGL and AGL headers go directly in CIncludes, but a folder needs to be made called "GL". Copies or aliases of glu.h and gl.h need to go in here. This is because the makefile is set up to use Unix include directive paths. physfs.h also goes in here. SharedLibraries: OpenGLLibraryStub and OpenGLUtilityStub go in here. Also, copies of the SDL and PhysicsFS libraries go in here. Build instructions: Install all of the components above. The OpenGL version of D2X is built by default, but with a bit of fiddling the non-OpenGL version can be built. The quickest way to build is to open D2X.make (which launches MPW), type Command-B, enter "D2X" (no quotes) and press return. Note: All the C files, headers and D2X.make have to be plain text files for it to work. This may mean using your favourite type code changer. Using Power Mac Debugger: All the source files must have classic Mac return characters before building. I'd recommend using DropTextConverter. Power Mac Debugger won't work properly if using a Voodoo 2 card, so just turn off the 3Dfx extensions when debugging. D2X could be made to build in CodeWarrior. see installation.txt for info on where to put your datafiles, etc. Known bugs/issues: * No network support * Textures can behave weird. Appears to be a problem on all platforms. * Some sound glitches Bugs/feedback: ============== There are three places to report bugs and give feedback: You can get on the descent-source mailing list by sending an email to majordomo@warpcore.org with the body as: "subscribe descent-source ". Discussions about the source code in general are available here, and is the main list that d2x and d1x, a similar project for descent 1, are discussed on. Patches and questions can be posted there, as well. Use Bugzilla. https://bugzilla.icculus.org/ This is the most reliable way to make sure your issue gets attention! Contact me directly, btb@icculus.org. I'll try to get back to you ASAP, depending on real-life concerns =)