use PhysicsFS for saving levels
[btb/d2x.git] / README
diff --git a/README b/README
index 4f95234..f132141 100644 (file)
--- a/README
+++ b/README
@@ -5,15 +5,23 @@
 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
-* SDL 1.1.0 or higher
+* GCC 2.95 or higher
+* SDL 1.2
+* PhysicsFS
 * NASM 0.98 (OPTIONAL but RECOMMENDED for x86)
 * A thread safe X server.
-* Make, sed, etc...
+* GNU make is probably required as well.
 
 Build instructions:
 Install all of the components above. Next, from the d2x directory:
@@ -32,6 +40,8 @@ cd d2x-build
 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:
@@ -42,55 +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)
 
-You will probably have to compile SDL from source.
-Download the source code tarball from http://www.libsdl.org/
+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".
 
-tar zxf SDL-x.x.x.tar.gz
-cd SDL-x.x.x
+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
-make install
 
-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
+VPATH builds, described above, also work in MSYS or Cygwin
+Then just copy your executable and SDL.dll into the descent2
+directory.
 
-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
 
-You should also install NASM, for compiling assembler files.  Download
-it from http://www.web-sites.co.uk/nasm/where.html and place nasmw.exe
-somewhere in your path (e.g. /usr/local/bin):
-unzip nasm-0.98-win32.zip
-mv nasmw.exe /usr/local/bin
+Win32 (MSVC):
+=============
 
-Now you can configure d2x as normal.  i.e.
-./configure
-or
-./configure --with-opengl
+Required tools:
+* MSVC++
+* SDL 1.2
+* PhysicsFS
 
-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
+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:
 
-Then just copy your executable and SDL.dll into the descent2 directory.
+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:
@@ -129,91 +147,65 @@ Known bugs/issues:
 * Sound support missing.
 
 
+MAC OS X
+========
 
-Reporting bugs/feedback:
-========================
+Install the latest version of apple's developer tools.
+Compile and install SDL from source: d2x doesn't use Project Builder.
 
-There are two ways to report bugs and give feedback:
-1) Get on the descent-source mailing list by sending an email to
-majordomo@warpcore.org with the body as: "subscribe descent-source
-<your email address>". 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 is discussed on. Patches and questions can be
-posted there, as well.
-
-2) Send feedback directly to me, bradleyb@u.washington.edu. I'll try
-to get back to you ASAP, depending on real-life concerns =)
-
-/* THE OLD README FOLLOWS */
-Legal Stuff:
-
-THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
-SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
-END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
-ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
-IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
-SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
-FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
-CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
-AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
-COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
-
-We make no warranties as to the usability or correctness of this code.
-
-============================================
-Message from Matt Toschlog & Mike Kulas:
-
-Descent fans:
+configure and compile as with other unices.
 
-Here, finally, is the source for Descent II.  We've been so busy with 
-Descent 3, Mercenary, FreeSpace, FreeSpace 2, and several other 
-projects that we haven't given much thought to this old code.  But we 
-know that many of you are eager to get it, so here you go.
 
-We were amazed and impressed at the cool things people did with 
-the Descent source we released a few years ago.  It touches us 
-deeply how devoted some people are to the Descent series, and we 
-look forward to seeing what people can do with this Descent II 
-source.
+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
 
-Matt Toschlog               Mike Kulas
-Outrage Entertainment       Volition, Inc.
+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.
 
-About the Source Code:
+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.
 
-Included is almost all the source code to Descent 2, ver. 1.2.  We removed
-all code to which we did not own the copyright.  This mainly involved low-
-level sound and modem code and the movie code.    
+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.
 
-The Descent Network has agreed to provide a list of mirror locations where 
-this code can be downloaded. The location is:
+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.
 
-http://www.descent2.com/ddn/sources/descent2
+D2X could be made to build in CodeWarrior.
 
-The following tools were used in the development of Descent:
-Watcom C/C++, version 9.5
-Microsoft Macro Assembler, version 6.1x
-Opus Make, version 6.01
+see installation.txt for info on where to put your datafiles, etc.
 
-Have fun with the code!
-Parallax Software Corporation
-12/14/1999
+Known bugs/issues:
 
+* No network support
+* Textures can behave weird. Appears to be a problem on all platforms.
+* Some sound glitches
 
-As Packaged the code currently will not compile. Some code had to be removed
-to release it, therefore you will get some missing file errors when building.
 
-Much of this code is very close to the Descent 1 source code. Many people have
-put effort into porting that code, so if you are interested in porting D2, you
-should be able to take advantage of some of that work.
+Bugs/feedback:
+==============
 
-A few good web sites to check out are:
+There are three places to report bugs and give feedback:
 
-The D1X Project:
-http://d1x.warpcore.org
+You can get on the descent-source mailing list by sending an email to
+majordomo@warpcore.org with the body as: "subscribe descent-source
+<your email address>". 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.
 
-The Descent Network:
-http://www.descent-network.com
+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 =)