• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..22-Nov-2001-

AUTHORSH A D04-Nov-20012.1 KiB10673

BUGSH A D02-Sep-2001185 63

COPYINGH A D09-Apr-200117.6 KiB340281

ChangelogH A D21-Nov-200142.6 KiB1,044942

MakefileH A D08-Sep-2001804 3828

README.agiH A D02-Sep-20017.6 KiB244182

README.djgppH A D01-Jul-2001151 63

README.macosH A D20-Jul-20011.9 KiB4533

README.pocketpcH A D03-Sep-20011.5 KiB3024

README.portsH A D17-Sep-20014.8 KiB9677

README.sdlH A D24-Jun-2001561 159

README.svgalibH A D30-Jun-2001857 4127

README.turbocH A D02-Jul-2001212 74

README.unixH A D07-Sep-20011.3 KiB4930

README.win32H A D08-Sep-2001857 2416

TODOH A D01-Sep-2001638 2618

sarien.doxygenH A D17-Jun-200131.1 KiB809557

README.agi

1$Id: README.agi,v 1.5 2001/09/02 02:37:58 almightyjustin Exp $
2
3
4
5
6                   Sarien Sierra Adventure Game Interpreter
7                                 Version 0.7
8
9
10
11
12
13What Is Sarien?
14===============
15Sarien is a Sierra AGI resource interpreter engine that enables you to
16play early Sierra On-Line(tm) AGI version 2 and version 3 games, as well
17as AGI games written by other people.
18
19It is being written to be very portable. It currently runs in MS-DOS,
20several UNIX flavours (including Linux SDL, X11 and SVGAlib, BSD, IRIX,
21Solaris and AIX), Win32 with native and SDL support and OS/2 XFree86.
22Please contact the authors if you want to port it to a new platform.
23
24Sarien is covered by the Free Software Foundation's GNU Public License
25and is an open source development. Up to date information and anonymous
26CVS is available at http://sarien.sourceforge.net/.
27
28
29Command Line Switches
30=====================
31  -a --agds          Enables sarien to play AGDS created games.
32  -A --amiga         Forces the game to be seen as an Amiga word padded game.
33* -d --list-dictionary
34                     List dictionary words.
35  -E --emulate-sound {type}
36                     Emulate the sound of Sierra AGI running in different
37                     computers. Valid emulations are: pc, tandy and mac
38  -F --full-screen   Run in full-screen mode if allowed by the graphics device
39  -g --dga           Use XFree86 DGA extension (if available).
40  -h --help          Display this help screen.
41  -L --list-games    Display a list of all know AGI games.
42  -n --no-sound      Disable sound output.
43* -o --list-objects  List objects.
44  -p --picture-viewer
45                     Interactive picture viewer.
46  -r --fix-aspect-ratio
47                     Emulate IBM PC EGA 320x200 4:3 aspect ratio. Not
48                     supported in all drivers.
49  -S --scale {num}   Window size scale (only for windowed graphics).
50  -v --emulate-version {version}
51                     Force version to emulate. Valid v2 game versions are:
52                     2.089, 2.272, 2.440, 2.917, 2.936. Valid v3 games are:
53                     3.002.086, 3.002.149.
54  -V --version       Display version information.
55  -x --no-x-shm      Disable X shared memory extension (if available).
56
57
58* These options are disabled in release 0.6.0 and will be back
59  in future versions of sarien
60
61
62Playing Games
63=============
64In order to play games, you will need,
65
66	1) A Game or Demo
67	2) A binary of Sarien.
68
69For a AGI V2 games you only need the following files
70
71	logdir
72	object
73	picdir
74	snddir
75	viewdir
76	vol.*
77	words.tok
78
79For an AGI V3 game you need;
80
81	*dir	(eg: bcdir, dmdir, grdir, kq4dir, mhdir)
82	*vol.*	(eg: bcvol.*, dmvol.*, etc)
83	object
84	words.tok
85
86
87Version Emulation
88=================
89Sierra Games currently ID'd:
90
91    IBM-PC versions
92	Black Cauldron (2.00)		2.439		 6/14/87
93	Kings Quest 1 (2.0F)		2.917
94	Kings Quest 2           	2.411
95	Kings Quest 2 (2.2)    		2.917
96	Kings Quest 3 (1.01)    	2.272		11/08/86
97	Kings Quest 3 (2.00)    	2.435		 5/25/87
98	Kings Quest 3 (2.14)    	2.936		 3/15/88
99	Kings Quest 3 (2.14)    	2.936		 3/15/88
100	Larry 1 (1.00)          	2.440		 6/1/87
101	Mixed Up Mother Goose   	2.915
102	Police Quest 1 (2.0A)   	2.911		10/23/87
103	Police Quest 1 (2.0G)   	2.917		12/03/87
104	Police Quest 1 (2.0G)   	2.917		12/03/87
105	Space Quest 1 (1.0X)    	2.089
106	Space Quest 1 (1.1A)    	2.272
107	Space Quest 1 (2.2)     	2.426
108	Space Quest 2           	2.912
109	Space Quest 2 (2.0A)    	2.912
110	Space Quest 2 (2.0C)    	2.915
111	Space Quest 2 (2.0F)    	2.936
112	XMAS Card 1986          	2.272
113	Demo 1                  	2.915
114	Demo 2                  	2.915
115	Demo 3                  	2.917
116	Demo 5                  	2.425
117	Kings Quest 4 (v2.0)		3.002.086	 7/27/88
118	Kings Quest 4 (v2.2)		3.002.086	 9/27/88
119	Black Cauldron			3.002.098
120	Demo 4				3.002.102
121	Kings Quest 4 demo		3.002.102
122	Manhunter 1 (1.22)		3.002.107	 8/31/88
123	Manhunter 2 (3.02)		3.002.149	 7/26/89
124	Gold Rush (5.25)		3.002.149
125	Gold Rush (3.5)			3.002.149
126	GR (Cracked) (3.5)		3.002.149
127	GR (Cracked) (5.25)		3.002.149
128
129
130    Apple IIgs versions
131	Kings Quest 1 (1.0S-88223)	2.272
132	Mixed Up Mother Goose		2.917
133	Police Quest 1 (2.0A)		2.917
134	Demo Disk 1.0C (Censored)	2.917 (guessed)
135	Black Cauldron 1.0O		3.002.149	 2/24/89
136	Manhunter New York 2.0E		3.002.149	10/05/88
137
138
139    Apple Macintosh versions
140	Kings Quest 1 (2.0C)		2.440
141	Kings Quest 2 (2.0R)		2.440
142	Larry 1 (1.05)                  2.440		 6/26/87
143	Space Quest 2 (2.0D)		2.936
144
145
146    Atari ST versions
147	Donald Duck's Playground 1.0C	2.272		 8/08/86
148
149
150    Amiga versions
151	Kings Quest 2 (2.0J)		2.440
152	Space Quest 2 (2.0F)		2.936
153	Leisure Suit Larry 1 (1.05)	2.440		 6/26/87
154
155
156    AGDS games
157	Groza, AGDS sample game		2.440
158
159
160    Notes
161    	Space Quest 1 v2.426 and v2.917 are 100% identical with the
162        exception of the version of the interpreter used to play them.
163        Since 2.917 is the same as 2.426, I use 2.426 as the
164        emulation.
165
166	Leisure Suit Larry 1 v2.440 and v2.917 have 100% identicle
167        files, just 'agi' is different. Since they are the same, I
168        choose to emulate v2.440, even for the 2.917 version of the
169        game.  Since they are the same it should work ok.
170
171
172
173Copy protection
174===============
175Original Sierra adventure games employed copy protection in various
176different schemes on several architectures.
177
178* Key Disk
179The most common for of copyproection most Sierra gamers will be familiar
180with, is the key disk copyprotection of 99% of the early AGI games.
181
182Since this copyprotection was part of the Sierra interpreter and not a
183part of the actual game data files (defeating it required creating a
184hacked version of sierra.com/sierra.exe), when these games are played
185by Sarien, there is in effect, no copyprotection at all.
186
187* Manual Protection
188Some later games required information that was part of the
189documentation that came with the games, which included games such as
190Police Quest 1, Gold Rush, Kings Quest 4, Manhunter and Space Quest.
191
192Games such as Police Quest 1 and Space Quest made the copyprotection
193part of the game itself and can't be bypassed (ie: Drink Driving
194procedures in Police Quest 1).
195
196You will still need the manuals/documentation to complete these games.
197
198For other games mentioned such as Kings Quest 4 AGI, Gold Rush etc,
199Sarien can activly detect and bypass this protection.
200
201NOTE: Sarien must be compiled with this option set in order for it to
202work.
203
204This can be tested by running sarien with the '-V' option.
205
206And yes, it works on the Leisure Suit Larry questionaire ^_^
207
208
209Unidentified Games
210==================
211Unidentified games are emulated with the 'standard' system for that
212AGI version.
213
214    	For V2 AGI games its v2.917
215    	For V3 AGI games its 3.002.149
216
217These are the most 'common' versions around for v2 and v3 games.
218
219
220Differences between Sarien and Sierra AGI
221=========================================
222- "Fastest" speed is not available. Reasons: the effect is quite silly
223  and potentially dangerous -- in modern computers it makes ego run
224  at light speed and makes the game unplayable anyway. In
225  multitasking systems "fastest" throws the system load at 100%. As a
226  side effect, the "SIERRA" word in the Sierra demopack intros will
227  pulse in a gentle, pleasant rhythm instead of the epilepsy-inducing
228  stroboscopic effect of the "fastest" mode.
229
230- System console. A transparent "Quake console" is available pressing
231  the ` key. SHIFT-` toggles game input when the console is active.
232  AGI commands can be issued directly in the console, use "help" for
233  a list of available commands.
234
235- (more to come)
236
237
238Credits
239=======
240Sarien is being written by a loony bunch of people working in their
241spare time to squash bugs and add new features. See the AUTHORS file
242for the credits list.
243
244

README.djgpp

1$Id: README.djgpp,v 1.1 2001/07/01 04:40:44 cmatsuoka Exp $
2
3To build sarien using DJGPP, run make -f Makefile.dj from the toplevel
4source directory.
5
6

README.macos

1$Id: README.macos,v 1.3 2001/07/20 00:52:30 cmatsuoka Exp $
2
3Notes on building Sarien using MPW
4==================================
5
6The supplied Sarien.make makefile uses SC and ILink to build a m68k binary.
7To build Sarien with MPW, set the current directory to the top of the sarien
8tree and run 'make -f Sarien.make' in the MPW Shell. Sarien.make must have
9type 'TEXT' and creator ID 'MPS ' (you can use an utility such as FileTyper
10to change the type and creator ID).
11
12
13Acknowledgments
14===============
15
16The MacOS port of Sarien uses portions of ImageMagick.
17
18ImageMagick is Copyright (C) 2001 ImageMagick Studio, a non-profit
19organization dedicated to making software imaging solutions freely
20available.
21
22Permission is hereby granted, free of charge, to any person obtaining a
23copy of this software and associated documentation files ("ImageMagick"),
24to deal in ImageMagick without restriction, including without limitation
25the rights to use, copy, modify, merge, publish, distribute, sublicense,
26and/or sell copies of ImageMagick, and to permit persons to whom the
27ImageMagick is furnished to do so, subject to the following conditions:
28
29The above copyright notice and this permission notice shall be included in
30all copies or substantial portions of ImageMagick.
31
32The software is provided "as is", without warranty of any kind, express or
33implied, including but not limited to the warranties of merchantability,
34fitness for a particular purpose and noninfringement.  In no event shall
35ImageMagick Studio be liable for any claim, damages or other liability,
36whether in an action of contract, tort or otherwise, arising from, out of
37or in connection with ImageMagick or the use or other dealings in
38ImageMagick.
39
40Except as contained in this notice, the name of the ImageMagick Studio
41shall not be used in advertising or otherwise to promote the sale, use or
42other dealings in ImageMagick without prior written authorization from the
43ImageMagick Studio.
44
45

README.pocketpc

1Date: Sun, 02 Sep 2001 21:31:14 -0700
2From: Vasyl Tsvirkunov <vasyl@pacbell.net>
3Subject: Re: Sarien Pocket PC port
4
5All files reside in folder eVC3 which should be placed at the top of
6the Sarien directory tree, like VC++6.0. The only C++ compiler for
7PocketPC is eMbedded Visual C 3.0, hence the name of that folder.
8
9This is kind of "first public" version of the port. Source has quite
10some rough edges. Two files are C++ not C because of somebody's stupid
11decision to compile the only avalaible version of fast graphics
12extensions for PocketPC (GAPI) as DLL with C++ name mangling. De-mangling
13it from C code is extremely tedious and unreliable.
14
15Winmain.cpp is a somewhat hacked version of Win32 port file. Wince.cpp
16is heavily modified but still recognizeable win32.cpp from the Win32 port.
17Sound_wince.c is only slightly modified Win32 sound code (I will have to
18communicate with that port author -- usually it is possible to get the
19same code perfectly working on both platforms). Unix implementation is
20used for file operations. A few other files are filling some gaps in
21PocketPC C library -- it is not ANSI-compliant. Some files are actually
22from my other project Pocket Atari (Atari800 port to PocketPC), one of
23the reasons why this port took only a few hours.
24
25There is one thing that I cannot include with this source update.
26eVC3/gapi directory is reserved for GAPI SDK. It is freely downloadable
27from MS site and every PocketPC developer knows about it but I could
28not figure exact redistribution policy on that.
29
30

README.ports

1$Id: README.ports,v 1.19 2001/09/17 02:26:42 cmatsuoka Exp $
2
3Tested ports:
4
5                  Graphics   Sound    Windowed  Fullscreen
6         Compiler  Driver    Driver   Graphics  Graphics  Aut/Maint.
7---------+-------+---------+---------+---------+---------+---------+
8 MS-DOS  |Watcom | Raw VGA |  dummy  |    no   |   yes   | Stuart  |
9 MS-DOS  |Turbo C| Raw VGA |  dummy  |    no   |   yes   | claudio |
10---------+-------+---------+---------+---------+---------+---------+
11 Linux   |  gcc  |   X11   |OSS,ALSA |   yes   |    no   | claudio |
12 Linux   |  gcc  | SVGAlib |OSS,ALSA |    no   |   yes   |  XoXus  |
13 Linux   |  gcc  |   SDL   |   SDL   |   yes   |   yes   |  Ryan   |
14 FreeBSD |  gcc  |   X11   | freebsd |   yes   |    no   |  Joep   |
15 NetBSD  |  gcc  |   X11   |   BSD   |   yes   |    no   |         |
16 Solaris |  gcc  |   X11   | solaris |   yes   |    no   |         |
17 AIX 4   |  gcc  |   X11   |  dummy  |   yes   |    no   |         |
18 IRIX    |MIPSpro|   X11   |   sgi   |   yes   |    no   | aheikin |
19---------+-------+---------+---------+---------+---------+---------+
20 BeOS 5  |  gcc  |   SDL   |   SDL   |   yes   |   yes   | claudio |
21---------+-------+---------+---------+---------+---------+---------+
22 MacOS X |   ?   |  Cocoa  |  dummy  |   yes   |    ?    |drzoltan |
23---------+-------+---------+---------+---------+---------+---------+
24 QNX	 |   ?   |  Photon |    ?    |    ?    |    ?    | jpenner |
25---------+-------+---------+---------+---------+---------+---------+
26 Windows |Mingw32|   DIB   |  dummy  |   yes   |    no   |rosinha, |
27 Windows*|Mingw32|   SDL   |   SDL   |   yes   |   yes   |igor,matt|
28 Windows |  VC++ |   DIB   |  WinMM  |   yes   |    no   |justin,  |
29 Windows |Cygwin |   DIB   |  WinMM  |   yes   |    no   |ryan&more|
30---------+-------+---------+---------+---------+---------+---------+
31 WinCE   | eVC3  |  WinCE  |  WinCE  |    no   |   yes   |  Vasyl  |
32---------+-------+---------+---------+---------+---------+---------+
33 OS/2    |  gcc  |   X11   |  dummy  |   yes   |    no   | Martin  |
34---------+-------+---------+---------+---------+---------+---------+
35 Amiga   |  gcc  |  amiga  |   AHI   |   yes   |   yes   |Paul Hill|
36 Amiga   | DICE  |  amiga  |  dummy  |   yes   |   yes   | claudio |
37---------+-------+---------+---------+---------+---------+---------+
38
39The Linux/X11 driver is known to work in the following architectures:
40IA32 (i386), PowerPC, IA64, S/390 and Alpha. The NetBSD, FreeBSD and
41BeOS ports have been tested on IA32. The Solaris port has been tested
42on Sparc.
43
44
45Not integrated to the main tree:
46
47                  Graphics   Sound    Windowed  Fullscreen
48         Compiler  Driver    Driver   Graphics  Graphics    Sound
49---------+-------+---------+---------+---------+---------+---------+
50 Acorn   |   ?   |    ?    |    ?    |    ?    |    ?    |    ?    |
51---------+-------+---------+---------+---------+---------+---------+
52 Atari   |   ?   |    ?    |    ?    |    ?    |    ?    |    ?    |
53---------+-------+---------+---------+---------+---------+---------+
54
55
56Untested, expected to work:
57
58                  Graphics   Sound    Windowed  Fullscreen
59         Compiler  Driver    Driver   Graphics  Graphics    Sound
60---------+-------+---------+---------+---------+---------+---------+
61 OpenBSD |  gcc  |   X11   |   BSD   |   yes   |    no   |    no   |
62 HP-UX   |  gcc  |   X11   |  dummy  |   yes   |    no   |    no   |
63 IRIX    |  gcc  |   X11   |   sgi   |   yes   |    no   |   yes   |
64---------+-------+---------+---------+---------+---------+---------+
65
66
67In progress:
68
69                  Graphics   Sound    Windowed  Fullscreen
70         Compiler  Driver    Driver   Graphics  Graphics    Sound
71---------+-------+---------+---------+---------+---------+---------+
72 MS-DOS  | DJGPP | allegro | allegro |    no   |   yes   |   yes   |
73---------+-------+---------+---------+---------+---------+---------+
74 Linux   |  gcc  |XF86 DGA |OSS,ALSA |    no   |   yes   |   yes   |
75---------+-------+---------+---------+---------+---------+---------+
76 MacOS   |  MPW  |  macos  |  macos  |   yes   |    no   |   yes   |
77---------+-------+---------+---------+---------+---------+---------+
78
79
80Incomplete, assistance required:
81
82                  Graphics   Sound    Windowed  Fullscreen
83         Compiler  Driver    Driver   Graphics  Graphics    Sound
84---------+-------+---------+---------+---------+---------+---------+
85 OS/2    |   ?   |  DIVE   |  DART   |   yes   |    no   |   yes   |
86---------+-------+---------+---------+---------+---------+---------+
87
88
89Planned:
90                  Graphics   Sound    Windowed  Fullscreen
91         Compiler  Driver    Driver   Graphics  Graphics    Sound
92---------+-------+---------+---------+---------+---------+---------+
93 PalmOS  |  gcc  |  palm   |  palm   |    no   |   yes   |   yes   |
94---------+-------+---------+---------+---------+---------+---------+
95
96

README.sdl

1$Id: README.sdl,v 1.2 2001/06/24 19:16:19 cmatsuoka Exp $
2
3Sarien now has an experimental support for SDL. To enable it configure
4using './configure --with-sdl'.
5
6SDL is available at http://www.libsdl.org/.
7
8The current version of SDL supports Win32 WinDIB/DirectX, BeOS BWindow, and
9Linux X11/DGA. If you have a newer PC, SDL may be able to take advantage
10acceleration using assembly routines from the Hermes blit library.
11
12You can cross-compile sarien from Linux to Win32 using SDL and Xmingw32,
13available in the SDL site. See README.win32 for more details.
14
15

README.svgalib

1$Id: README.svgalib,v 1.3 2001/06/30 16:21:14 cmatsuoka Exp $
2
3The SVGALib port is pretty simple (except for some keyboard stuff). Any
4problems are more likely to be interpreter problems than SVGALib problems.
5Send any problems with the interpreter to Dark Fiber, but if you are sure
6it's SVGALib related, you can send it to me (XoXus).
7
8
9System requirements
10===================
11
12GNU make, gcc, svgalib package, AGI game files.
13
14The video mode used is 320x200 at 256 colors, which should run on any
15machine at all.
16
17A reasonably recent SVGAlib package is recommended if sound support is
18enabled.
19
20
21Building
22========
23
24Step 1
25------
26Run "./configure --with-svgalib" [without the quotes]
27
28Step 2
29------
30Run "make"
31
32Step 3
33------
34Run "chown root bin/sarien"
35
36Step 4
37------
38As root, run "chmod u+s bin/sarien". This is needed for SVGALib to change
39video modes.
40
41

README.turboc

1$Id: README.turboc,v 1.2 2001/07/02 18:25:55 cmatsuoka Exp $
2
3To build sarien using Turbo C 3.0, run make -f Makefile.tc from the
4toplevel source directory. Older versions of Turbo C may work with
5Makefile.tc1.
6
7

README.unix

1$Id: README.unix,v 1.4 2001/09/07 05:45:29 cmatsuoka Exp $
2
3System requirements
4===================
5
6GNU make, gcc, X Window System, Open Sound System or ALSA and supported
7sound card, AGI game files. POSIX threads (and a thread-safe X server)
8are needed for sound support.
9
10A Linux SVGAlib driver written by XoXus is now available, see README.svgalib
11for more information.
12
13This initial port is being tested on an i386 Debian GNU/Linux box with
14glibc running kernel 2.4.5 on a 333 MHz K6 machine. It should work with
1524/16/15 bpp true color and 8 bpp pseudo color servers.
16
17
18Building
19========
20
21Run "./configure", then "make". Should any problems happen, have a look
22at the generated Rules file and drop me a note so I could fix it in
23future versions.
24
25
26Problems
27========
28
29If sarien ends and prints no message about detaching an X shared memory
30segment, remove the segment manually using ipcs(1) and ipcrm(1).
31
32
33Sound
34=====
35
36Sarien has three-channel digital sound support for Linux using OSS or
37ALSA, Solaris and IRIX. It works only with 22 kHz, 16 bit mono sound
38(it should be flexible but I'm too lazy to do it now).
39
40IIgs PCM sound is now supported thanks to Ian Schmidt <irsman@iag.net> and
41Paul Lunga <paul123@freenet.tlh.fl.us>. MIDI is not supported yet.
42
43
44Known bugs
45==========
46
47Lots. See the Bugs file for the list of outstanding features.
48
49

README.win32

1$Id: README.win32,v 1.4 2001/09/08 04:25:12 almightyjustin Exp $
2
3A Win32 version of Sarien can be built using SDL or the native Win32
4port written by Felipe Rosinha <rosinha@dexter.damec.cefetpr.br>.
5
6To run Sarien from the Windows Explorer, drag and drop the AGI
7game folder onto the Sarien executable.
8
9To compile the SDL version, check README.sdl for more information.
10
11To build the native Win32 version using Mingw32, copy Rules.mingw32
12from rulesets\ to the toplevel folder, rename it "Rules" and run
13"make".
14
15To build using Cygwin, run "autoconf", "./configure", then "make".
16
17To build using Visual C++ 6.0, use the project files in the VC++6.0
18directory.
19
20Mingw32 and related GNU utilities are available at
21http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/download.html
22
23Cygwin and related GNU utilities are available at
24http://www.cygwin.com/