use PhysicsFS for saving levels
[btb/d2x.git] / README
diff --git a/README b/README
index 46ca555..f132141 100644 (file)
--- a/README
+++ b/README
@@ -7,8 +7,9 @@ http://icculus.org/d2x
 
 Useful Links:
 =============
-Nasm: http://nasm.sourceforge.net
-SDL:  http://www.libsdl.org
+Nasm:          http://nasm.sourceforge.net
+SDL:           http://www.libsdl.org
+PhysicsFS:     http://icculus.org/physfs/
 
 
 Linux/Unix:
@@ -16,7 +17,8 @@ Linux/Unix:
 
 Required tools:
 * GCC 2.95 or higher
-* SDL 1.1.0 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.
@@ -50,40 +52,63 @@ Known bugs/issues:
   kind of works) (btb: works pretty good for me.)
 
 
-Win32:
-======
+Win32 (unix style):
+===================
 
 Required tools:
-* Cygwin
-  d2x doesn't use Cygwin, but it makes building it easier (to me).
-  You can probably build it with just MinGW, but I haven't tried yet.
-* SDL 1.1.0 or higher
+* 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
+Download the SDL 1.2 SDK for MinGW, unpack and install it from the
+MSYS shell with "make native".  You will need to manually copy the
+file bin/i386-mingw32msvc-sdl-config to /usr/bin/sdl-config, and edit
+it, setting the "prefix" variable to "/usr".
 
-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
+If you are compiling from CVS, you will also need to have msysDTK
+installed.  This is required to run autogen.sh and also includes the
+cvs client itself, among other useful tools.
 
 Now you can configure d2x as normal.  i.e.
 ./configure
 or
 ./configure --with-opengl
+and build with:
+make
 
-automake/autoconf in cygwin has a problem with not always putting the
-.exe extentions where they need to be.  So you may have to run make
-twice, like so:
-make && make d2x-sdl.exe
-or
-make && make d2x-gl.exe
+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
 
-Then just copy your executable and SDL.dll into the descent2 directory.
+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.8\
+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:
@@ -130,9 +155,41 @@ 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:
-* Serial and network support missing
-* GL version very buggy
+
+* No network support
+* Textures can behave weird. Appears to be a problem on all platforms.
+* Some sound glitches
 
 
 Bugs/feedback:
@@ -148,6 +205,7 @@ 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 =)