use PhysicsFS for saving levels
[btb/d2x.git] / README
diff --git a/README b/README
index 45c7c91..f132141 100644 (file)
--- a/README
+++ b/README
 ===========
-D2X
+    D2X
 ===========
 
+http://icculus.org/d2x
 
-Linux:
-======
+
+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.0 (get it from http://www.devolution.com/~slouken/projects/SDL/)
-* NASM 0.98 (OPTIONAL but RECOMMENDED, not sure, try your linux distribution)
+* 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:
 
 ./configure
-(./configure --help will show you the available options)
-For OpenGL support, try configuring with --with-opengl. Your mileage may vary
-(but basically, you need an accelerated Mesa sitting somewhere where d2x can
- see it)... The OpenGL support isn't perfect, but it works...
+       ./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
 
-Hopefully d2x will build. Do not be concerned about warnings, they are fairly
-unimportant.
+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)
-* Movies (unlikely ever to be supported)
 * 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)
-* Something went screwy with the control config system, it kinda got "d1xed"...
-* OpenGL leaks memory like it is going out of fashion. It leaked about
-  64meg in a few minutes for me. I need to debug this =)
+  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)
+
+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 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
+
+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.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:
 =======
 
+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)!
@@ -71,94 +145,67 @@ Hopefully things will work out and the package will build correctly for you.
 Known bugs/issues:
 * Serial and network support missing.
 * Sound support missing.
-* Movie support missing
-
-
-
-Reporting bugs/feedback:
-========================
-
-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.
+MAC OS X
+========
 
-We make no warranties as to the usability or correctness of this code.
+Install the latest version of apple's developer tools.
+Compile and install SDL from source: d2x doesn't use Project Builder.
 
-============================================
-Message from Matt Toschlog & Mike Kulas:
+configure and compile as with other unices.
 
-Descent fans:
 
-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 =)