add PhysicsFS to the required 'tools' in README, and instructions for building in...
[btb/d2x.git] / README
1 ===========
2     D2X
3 ===========
4
5 http://icculus.org/d2x
6
7
8 Useful Links:
9 =============
10 Nasm:           http://nasm.sourceforge.net
11 SDL:            http://www.libsdl.org
12 PhysicsFS:      http://icculus.org/physfs/
13
14
15 Linux/Unix:
16 ===========
17
18 Required tools:
19 * GCC 2.95 or higher
20 * SDL 1.2
21 * PhysicsFS
22 * NASM 0.98 (OPTIONAL but RECOMMENDED for x86)
23 * A thread safe X server.
24 * GNU make is probably required as well.
25
26 Build instructions:
27 Install all of the components above. Next, from the d2x directory:
28
29 ./configure
30         ./configure --help will show you the available options.
31         If you have a 3d graphics card, use --with-opengl
32
33 VPATH builds also work (i.e., you can put the source in one directory
34 and build in another.  Just execute the configure script from the
35 build directory like so:
36 mkdir d2x-build
37 cd d2x-build
38 ../d2x-source/configure
39
40 make
41 make install
42
43 on systems where `make' isn't GNU make, use `gmake' instead.
44
45 see installation.txt for info on where to put your datafiles, etc.
46
47 Known bugs/issues:
48
49 * Serial support doesn't work. (UDP and IPX networking does)
50 * Sound glitches (due to stuff I haven't implemented)
51 * The mouse support is at the same level as it was in d1x (as in, it
52   kind of works) (btb: works pretty good for me.)
53
54
55 Win32:
56 ======
57
58 Required tools:
59 * Cygwin or MinGW + MSys
60 * SDL 1.2
61 * PhysicsFS
62 * NASM 0.98 (OPTIONAL but RECOMMENDED)
63
64 Note that SDL.dll needs to be in your executable PATH, since that is
65 where windows looks for dlls.
66 I recommend copying or moving it to /usr/local/bin:
67 cp /usr/local/lib/SDL.dll /usr/local/bin
68
69 If you need to run autogen.sh (e.g. to rebuild the configure scripts,
70 or to build from cvs) sdl.m4 will have to be somewhere where aclocal
71 can find it.
72 You can fix this by setting the ACLOCAL_FLAGS variable like this:
73 export ACLOCAL_FLAGS=/usr/local/share/aclocal
74
75 Now you can configure d2x as normal.  i.e.
76 ./configure
77 or
78 ./configure --with-opengl
79
80 Then just copy your executable and SDL.dll into the descent2 directory.
81
82
83 MS-DOS:
84 =======
85
86 Dos support isn't a high priority right now, so things may be a little
87 messed up.
88
89 Required tools:
90 * DJGPP v2
91 The following DJGPP packages are ALL REQUIRED (newer versions are ok)!
92 v2/
93 djdev203.zip
94 v2gnu/
95 bnu281b.zip gcc2952b.zip mak3781b.zip bsh1147b.zip sed302b.zip
96 m4-14b.zip acnf213b.zip gwk304b.zip txt20b.zip grep22b.zip dif272b.zip
97 So many packages are needed to support the autoconf build system that d2x
98 uses. (Sorry! =)
99 * NASM v0.98 or better is REQUIRED
100
101
102 Build instructions:
103 Install all of the djgpp packages above. Make sure that DJGPP is properly
104 configure (see the DJGPP docs for more information).
105 Make a copy of bash.exe in your djgpp bin/ directory. Call it "sh.exe". This
106 step is VERY IMPORTANT (otherwise all the scripts will fail).
107
108 Now, run the following from the d2x directory:
109 djgpp.bat
110 make
111
112 Hopefully things will work out and the package will build correctly for you.
113
114 Known bugs/issues:
115 * Serial and network support missing.
116 * Sound support missing.
117
118
119 MAC OS X
120 ========
121
122 Install the latest version of apple's developer tools.
123 Compile and install SDL from source: d2x doesn't use Project Builder.
124
125 configure and compile as with other unices.
126
127
128 MAC OS 9
129 ========
130 Required tools:
131 * MPW-GM v3.6 or higher
132 * SDL 1.2
133 * PhysicsFS
134 * OpenGL 1.2
135 Recommended:
136 * MacsBug 6.6.3
137 * Power Mac Debugger 2.2
138
139 CIncludes:
140 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.
141
142 SharedLibraries:
143 OpenGLLibraryStub and OpenGLUtilityStub go in here. Also, copies of the SDL and PhysicsFS libraries go in here.
144
145 Build instructions:
146 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.
147
148 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.
149
150 Using Power Mac Debugger:
151 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.
152
153 D2X could be made to build in CodeWarrior.
154
155 see installation.txt for info on where to put your datafiles, etc.
156
157 Known bugs/issues:
158
159 * No network support
160 * Textures can behave weird. Appears to be a problem on all platforms.
161 * Some sound glitches
162
163
164 Bugs/feedback:
165 ==============
166
167 There are three places to report bugs and give feedback:
168
169 You can get on the descent-source mailing list by sending an email to
170 majordomo@warpcore.org with the body as: "subscribe descent-source
171 <your email address>". Discussions about the source code in general
172 are available here, and is the main list that d2x and d1x, a similar
173 project for descent 1, are discussed on. Patches and questions can be
174 posted there, as well.
175
176 Use Bugzilla. https://bugzilla.icculus.org/
177 This is the most reliable way to make sure your issue gets attention!
178
179 Contact me directly, btb@icculus.org.  I'll try to get back to you
180 ASAP, depending on real-life concerns =)