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