don't use hardcoded descriptions of joystick buttons/axes
[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 (unix style):
56 ===================
57
58 Required tools:
59 * MSYS (with MinGW) or Cygwin
60 * SDL 1.2
61 * PhysicsFS
62 * NASM 0.98 (OPTIONAL but RECOMMENDED)
63
64 Download the SDL 1.2 SDK for MinGW, unpack and install it from the
65 MSYS shell with "make native".  You will need to manually copy the
66 file bin/i386-mingw32msvc-sdl-config to /usr/bin/sdl-config, and edit
67 it, setting the "prefix" variable to "/usr".
68
69 If you are compiling from CVS, you will also need to have msysDTK
70 installed.  This is required to run autogen.sh and also includes the
71 cvs client itself, among other useful tools.
72
73 Now you can configure d2x as normal.  i.e.
74 ./configure
75 or
76 ./configure --with-opengl
77 and build with:
78 make
79
80 VPATH builds, described above, also work in MSYS or Cygwin
81 Then just copy your executable and SDL.dll into the descent2
82 directory.
83
84
85 Win32 (MSVC):
86 =============
87
88 Required tools:
89 * MSVC++
90 * SDL 1.2
91 * PhysicsFS
92
93 Download the SDL 1.2 SDK for MSVC and the source code for PhysicsFS.
94 Unpack them in your source directory, along with the d2x source code.
95 This can be whereever you like, but if your directory structure looks
96 like this, then you won't have to mess with the project settings:
97
98 sdl\
99 sdl\SDL-1.2.8\
100 physfs
101 physfs\physfs-1.0.0\
102 descent\d2x\
103
104 First you have to compile the PhysicsFS library.  Open
105 physfs_static.dsw, select the "Release" configuration, and build.
106
107 Now open d2x.dsw, select the active project to d2x or d2xgl, select
108 the "Release" or "Debug" configuration as desired, and build.
109
110 Then just copy your executable and SDL.dll into your descent2
111 directory.
112
113
114 MS-DOS:
115 =======
116
117 Dos support isn't a high priority right now, so things may be a little
118 messed up.
119
120 Required tools:
121 * DJGPP v2
122 The following DJGPP packages are ALL REQUIRED (newer versions are ok)!
123 v2/
124 djdev203.zip
125 v2gnu/
126 bnu281b.zip gcc2952b.zip mak3781b.zip bsh1147b.zip sed302b.zip
127 m4-14b.zip acnf213b.zip gwk304b.zip txt20b.zip grep22b.zip dif272b.zip
128 So many packages are needed to support the autoconf build system that d2x
129 uses. (Sorry! =)
130 * NASM v0.98 or better is REQUIRED
131
132
133 Build instructions:
134 Install all of the djgpp packages above. Make sure that DJGPP is properly
135 configure (see the DJGPP docs for more information).
136 Make a copy of bash.exe in your djgpp bin/ directory. Call it "sh.exe". This
137 step is VERY IMPORTANT (otherwise all the scripts will fail).
138
139 Now, run the following from the d2x directory:
140 djgpp.bat
141 make
142
143 Hopefully things will work out and the package will build correctly for you.
144
145 Known bugs/issues:
146 * Serial and network support missing.
147 * Sound support missing.
148
149
150 MAC OS X
151 ========
152
153 Install the latest version of apple's developer tools.
154 Compile and install SDL from source: d2x doesn't use Project Builder.
155
156 configure and compile as with other unices.
157
158
159 MAC OS 9
160 ========
161 Required tools:
162 * MPW-GM v3.6 or higher
163 * SDL 1.2
164 * PhysicsFS
165 * OpenGL 1.2
166 Recommended:
167 * MacsBug 6.6.3
168 * Power Mac Debugger 2.2
169
170 CIncludes:
171 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.
172
173 SharedLibraries:
174 OpenGLLibraryStub and OpenGLUtilityStub go in here. Also, copies of the SDL and PhysicsFS libraries go in here.
175
176 Build instructions:
177 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.
178
179 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.
180
181 Using Power Mac Debugger:
182 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.
183
184 D2X could be made to build in CodeWarrior.
185
186 see installation.txt for info on where to put your datafiles, etc.
187
188 Known bugs/issues:
189
190 * No network support
191 * Textures can behave weird. Appears to be a problem on all platforms.
192 * Some sound glitches
193
194
195 Bugs/feedback:
196 ==============
197
198 There are three places to report bugs and give feedback:
199
200 You can get on the descent-source mailing list by sending an email to
201 majordomo@warpcore.org with the body as: "subscribe descent-source
202 <your email address>". Discussions about the source code in general
203 are available here, and is the main list that d2x and d1x, a similar
204 project for descent 1, are discussed on. Patches and questions can be
205 posted there, as well.
206
207 Use Bugzilla. https://bugzilla.icculus.org/
208 This is the most reliable way to make sure your issue gets attention!
209
210 Contact me directly, btb@icculus.org.  I'll try to get back to you
211 ASAP, depending on real-life concerns =)