-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
499 lines (370 loc) · 16.2 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
Aleph One/SDL
An Open Source 3D action game
Copyright (C) 1995 Bungie Software Corporation
Portions Copyright (C) 2000-2005 Christian Bauer, Loren Petrich,
Chris Pruett, Rhys Hill, Ben Thompson, Woody Zenfell, Mihai Pararita,
Bo Lindbergh et al.
Expat XML Library Copyright (C) 1998, 1999 James Clark
License
-------
Aleph One is available under the terms of the GNU General Public License.
See the file "COPYING" that is included in the distribution for details.
The BeOS version of Aleph One is statically linked against SDL which is
provided to you under the terms of the GNU Library General Public License.
See the file "COPYING.SDL" that is included in the distribution for details.
The source code for the version of SDL used is available on
http://alephone.cebix.net
What is Aleph One?
------------------
Aleph One is an Open Source 3D first-person shooter game, based on the game
Marathon 2 by Bungie Software. It is set in a Sci-Fi universe dominated by
deviant computer AIs and features a well thought-out plot.
System Requirements
-------------------
Aleph One/SDL runs on all Unix systems supported by SDL (which includes
Linux, FreeBSD, Solaris and IRIX), on BeOS R4.5 or later versions, and on
Windows 9x/NT/2000. It does not currently run on MacOS.
Successfully tested systems include:
- Linux/i386
- Linux/alpha
- Linux/x86_64
- FreeBSD/i386
- Solaris/sparc
- BeOS/x86 R5
- BeOS/ppc R4.5
- Windows 95
- Windows 98/SE
- Windows NT 4
- Windows 2000
To compile Aleph One/SDL, you need an up-to-date C++ compiler. Using GCC 3.x
should give the best results. Users of pre-ISO C++ compilers need not apply.
Aleph One/SDL supports, but doesn't require, OpenGL for rendering.
Installing Aleph One
--------------------
See the files "INSTALL.Unix", "INSTALL.BeOS" and "INSTALL.Windows".
Aleph One/SDL needs Marathon data files which are not included in the
distribution, so you should read the installation instructions even if
you have downloaded an executable version of Aleph One/SDL.
Playing Aleph One
-----------------
Unix:
To start Aleph One, type
$ alephone
If you have installed the Marathon Demo data RPM packages, start Aleph One
like this
$ /usr/share/AlephOne_m2_demo/start
or
$ /usr/share/AlephOne_minf_demo/start
BeOS:
To start Aleph One, double click the "AlephOne" application icon. If you want
to specify arguments or see error messages, you will have to start it from the
shell, however.
Windows:
To start Aleph One, double click the "AlephOne" application icon. If you want
to specify arguments or see error messages, you will have to start it from an
MS-DOS window, however.
The program can take a number of command line arguments. Here is a complete
list:
[-h | --help] Display the help message
[-v | --version] Display the game version
[-d | --debug] Allow saving of core files (disable SDL parachute)
[-f | --fullscreen] Run the game fullscreen
[-w | --windowed] Run the game in a window
[-g | --nogl] Do not use OpenGL
[-s | --nosound] Do not access the sound card
[-m | --nogamma] Disable gamma table effects (menu fades)
If Aleph One complains about missing data files, and you are sure that you
have installed them, try setting the ALEPHONE_DATA environment variable to
the path of the data file directory. This variable can also specify a colon-
separated (Windows: semicolon-separated) list of directories which are
searched for data files in the given order.
The background story of the game and the keyboard controls are explained in
the manual or README file on your Marathon CD or in the Demo archive.
Here is a rundown of the default keyboard configuration (assuming a US
keyboard; all keys are mapped by position):
On the menu screen:
N - Begin new game
O - Continue saved game
P - Preferences
R - Replay saved film
C - Show game credits
Q - Quit
In-game:
KP8 - Walk forward
KP5 - Walk backward
KP4 - Turn left
KP6 - Turn right
Z - Sidestep left
X - Sidestep right
D - Look up
C - Look down
V - Look ahead
A - Glance left
S - Glance right
Space - Fire weapon, primary trigger
Alt - Fire weapon, secondary trigger (e.g. grenades)
KP7 - Select previous weapon
KP9 - Select next weapon
Tab - Action (open doors, flip switches, log in to computer terminals)
Shift - Sidestep
Ctrl - Walk slowly/swim
Meta - Keyboard look
M - Overhead map
Other keys (not configurable):
- - Zoom overhead map out
= - Zoom overhead map in
\ - Toggle FPS display
Esc - Quit game/leave terminal
Alt-Q - Quit game
Alt-C - Quit game (use this under BeOS because Alt-Q will quit
the whole Aleph One application without warning)
Alt-P - Pause game (press Alt-P again to resume)
F1 - Decrease screen size
F2 - Increase screen size
F3 - Toggle high/low resolution
F4 - Reset OpenGL textures
F5 - Make the chase cam switch sides
F6 - Toggle chase cam
F7 - Toggle tunnel vision
F8 - Toggle crosshairs
F9 - Screen dump (saved in ~/.alephone/Screenshot_*.bmp files)
F10 - Toggle position display
F11 - Decrease gamma level
F12 - Increase gamma level
, - Decrease sound volume
. - Increase sound volume
[ and ] - Scroll player inventory view
Backspace - Switch player view in replays
[ and ] - Adjust film replay speed
If you click on "Defaults" in the keyboard configuration menu when mouse
control has been turned on you will get a different keyboard layout, more
suited to mouse play.
Playing third-party maps with Aleph One
---------------------------------------
(If the following instructions are too technical for you, see the "Map
installation for dummies" section, below)
Aleph One can be extended with custom map, physics, shape and sound files
which can be selected in the "Environment" section of the preferences menu.
Aleph One/SDL looks for these files in two places:
Unix:
/usr/local/share/AlephOne
and
~/.alephone
BeOS:
The Aleph One application directory
and
/boot/home/config/settings/Aleph One
Windows:
The Aleph One application directory
and
The directory "Prefs\<user name>" in the Aleph One application directory
Aleph One looks in both of these directories (and in all subdirectories) for
map, shape and sound files it recognizes and shows a list of them in the
"Environment" preferences menu when clicking on one of the "Map", "Physics",
"Shapes" or "Sounds" items. So, for example, under Unix you could create a
directory ~/.alephone/maps and place all map files you downloaded in there.
Most 3rd-party maps for Marathon 2 and Marathon Infinity you can find on the
internet, for example in the Marathon HyperArchive
http://www.marathon.org/hyperarchive/
do in principle work out-of-the box with Aleph One/SDL. I said "in principle",
because these maps are usually stored in BinHex (.hqx) and/or StuffIt (.sit)
format, which is difficult to unpack on non-Mac systems.
Fortunately, for Linux there is a beta version of "StuffIt Expander" which
can handle such files:
http://www.aladdinsys.com/expander/expander_linux.html
(when unpacking a ".sit.hqx" archive, you will need to run "unstuff" twice,
first for de-BinHexing and a second time for unstuffing).
The other problem with Marathon map files is that terminal pictures,
chapter screens and chapter screen sounds are stored in the resource fork
on the Mac. If a map doesn't have a resource fork with these things (most
Net maps don't), it is sufficient to just copy the entire map file over
to a place where Aleph One can find it (see above).
If the map does have a resource fork (most single-player maps do), you
have three options:
a) Extract the data and resource forks into separate files, as I did with
the map file in the installation instructions above. If the file
containing the data fork has the name "foo", the resource file must be
called "foo.rsrc" or "foo.resource" and kept in the same directory as
the data file. Splitting files into data and resource forks is easy
to do when copying unpacked files from Mac CD-ROMs (see above) or when
unpacking downloaded map files under MacOS with my Basilisk II Mac
emulator (copy the unpacked map to the external file system where the
resource fork will be stored in a ".rsrc" directory).
b) Convert the dual-forked Mac map file into a single "AppleSingle" encoded
file. This is the preferred option because it will combine the data and
resource forks into a single file which is easier to move around than
two separate files. The "tools" directory of the Aleph One/SDL source
archive contains two utilities for handling AppleSingle files.
c) Convert the dual-forked Mac map file into a single "MacBinary II" encoded
file. This will also leave you with a single map file. The Linux "unstuff"
program will produce MacBinary files when giving it the "-m=auto" option.
The shape and sound files don't require special treatment to work under
Aleph One/SDL. Some shape files, however, come in the form of a "patcher"
application that only runs under MacOS. Such files cannot be used with
Aleph One/SDL.
Map installation for dummies under Linux
----------------------------------------
First, download and install the "StuffIt Expander" beta for Linux:
http://www.aladdinsys.com/expander/expander_linux.html
Now, suppose that you downloaded a file "CoolMap.sit.hqx" which contains
a Marathon 2 or Infinity map.
1. De-BinHex the file:
$ ls
CoolMap.sit.hqx
$ unstuff CoolMap.sit.hqx
Scanning CoolMap.sit.hqx
Expanding CoolMap.sit.hqx
/home/cbauer/downloads/CoolMap.sit ............
done
$ ls
CoolMap.sit CoolMap.sit.hqx
2. Unstuff the file:
$ unstuff -m=auto CoolMap.sit
Scanning CoolMap.sit
Expanding CoolMap.sit
/home/cbauer/downloads/Cool Map Folder/Cool Map ............
/home/cbauer/downloads/Cool Map Folder/Read Me
done
$ ls
'Cool Map Folder/' CoolMap.sit CoolMap.sit.hqx
$ cd "Cool Map Folder"
$ ls
'Cool Map' 'Read Me'
The "Read Me" file may be unreadable but you can ignore it.
3. Copy the map file to the right place:
$ cp "Cool Map" ~/.alephone
4. The map should now show up in the list when clicking on the "Map" item of
the Environment preferences section of Aleph One.
Films and saved games
---------------------
Saved games and films are stored in
Unix:
~/.alephone/Saved Games
and
~/.alephone/Recordings
BeOS:
/boot/home/config/settings/Aleph One/Saved Games
and
/boot/home/config/settings/Aleph One/Recordings
Windows:
Directories "Prefs\<user name>\Saved Games" and "Prefs\<user name>\Recordings"
in the Aleph One application directory
If you want to restore games or replay films you have downloaded (or copied
from another computer), you have to copy them into these directories or
they won't show up when clicking on "Continue Saved Game" or "Replay Saved
Film" on the main menu.
Themes
------
Aleph One/SDL supports selectable user interface themes which determine the
look of the game's dialog boxes (but not the title menu which is a fixed
picture). The themes are stored in
Unix:
/usr/local/share/AlephOne/Themes
and
~/.alephone/Themes
BeOS:
The "Themes" directory in the Aleph One application directory
and
/boot/home/config/settings/Aleph One/Themes
Windows:
The "Themes" directory in the Aleph One application directory
and
The directory "Prefs\<user name>\Themes" in the Aleph One application
directory
There is one subdirectory for each theme and you can install new themes by
unpacking them into the "Themes" directory. Additional themes can be found
on the Aleph One/SDL home page (see below).
File compatibility
------------------
This section gives a summary of the cross-platform compatibility of the
various data files used by Aleph One and the original Marathon games:
"Images" - on Aleph One/SDL this is a data file and not a resource file
as on the MacOS versions of Aleph One and Marathon, but the file format
is exactly the same, and compatible across all platforms supported by
Aleph One/SDL
"Shapes" - fully compatible across all versions of Aleph One/Marathon 2/
Marathon Infinity
"Sounds" - fully compatible across all versions of Aleph One/Marathon 2/
Marathon Infinity
Map files - maps without resource forks are fully compatible across all
versions of Aleph One/Marathon 2/Marathon Infinity; maps with resource
forks need to be in one of three formats:
a) data and resource forks in separate files, <name> and <name>.rsrc/
<name>.resources
b) an AppleSingle encoded file containing data and resource fork
c) a MacBinary II encoded file containing data and resource fork
All of these formats are fully compatible across all platforms supported
by Aleph One/SDL.
Saved games - fully compatible across all versions of Aleph One/
Marathon 2/Marathon Infinity (but the MacOS versions save a small picture
of the map at the current player's position in the resource fork of
saved games, which is not preserved or used by Aleph One/SDL)
Films - fully compatible across all versions of Aleph One/Marathon 2/
Marathon Infinity
"Aleph One Preferences" - platform-specific, not compatible with the MacOS
versions of Aleph One/Marathon nor across the platforms supported by
Aleph One/SDL
Themes - fully compatible across all versions of Aleph One/SDL; the MacOS
versions of Aleph One and Marathon don't support themes
Marathon Markup Language (MML)
------------------------------
The Marathon Markup Language (MML) is a subset of the Extensible Markup
Language (XML). MML scripts can be used to configure some aspects of
Aleph One. These scripts are stored in
Unix:
/usr/local/share/AlephOne/MML
/usr/local/share/AlephOne/Scripts
and
~/.alephone/MML
BeOS:
The "MML" and "Scripts" directories in the Aleph One application directory
and
/boot/home/config/settings/Aleph One/MML
Windows:
The "MML" and "Scripts" directories in the Aleph One application directory
and
The directory "Prefs\<user name>\MML" in the Aleph One application
directory
Upon startup, Aleph One reads and parses all scripts found in these
directories, in alphabetical order. For a description of their contents and
what you can do by writing your own MML scripts, please consult the file
"docs/MML.html" that comes in the Aleph One/SDL distribution archive.
Bug Reports
-----------
If you find a bug that's not already in the list above, please submit it
using the bug database on SourceForge:
http://sourceforge.net/bugs/?group_id=1997
Tips
----
You can start the game at any level by holding the Shift and Control keys
while clicking on the "Begin New Game" button on the main menu.
To activate the cheat codes, see the file "docs/Cheat_Codes" that is included
in the Aleph One archive. But remember: Winners don't cheat and cheaters
don't usually win! :-)
If you're stuck in the game, there's an excellent walkthrough at
http://pinky.wtower.com/marathon/
Troubleshooting
---------------
If the game runs very slowly, try running it in 8 bit mode. Under Linux,
using XFree86 4.0 instead of 3.x may also greatly increase the speed. If you
don't have hardware accelerated OpenGL, you should specify the "-g" argument
to enable software rendering (unless you configured Aleph One with the
"--disable-opengl" option). If Aleph One crashes or performs poorly when
using OpenGL, disable the "Static Effect" option in the Graphics/OpenGL
preferences menu.
Support
-------
Aleph One is not officially supported by Bungie Software, so don't bother
contacting them about it.
The official Aleph One home page is at
http://source.bungie.org/
My home page for the SDL port is at
http://alephone.cebix.net
The Aleph One pages on SourceForge
http://www.sourceforge.net/projects/marathon/
provide discussion forums, a database of bugs and feature requests and much
more.
If you have questions about Marathon in general, you should post them to
the established marathon forums, such as alt.games.marathon.
Happy carnage!
Christian Bauer <www.cebix.net>