Installation
------------
The DOS version should come with executable ready. 
For the unix version, type "make".
You will need a system with curses and an ANSI C compiler.
The curses version has been tested only on a machine running SunOS 5.5.


Operation 
--------- 
This driver runs on adventure datafiles in "ScottFree" format, explained
by Alan Cox (writer of ScottFree) in the file 'gamespec.txt'.  Many
games in ScottFree format (particularly many by Scott Adams and Brian
Howarth) can be found at the Interactive Fiction Archive at
<ftp://ftp.gmd.de/if-archive/scott-adams>.  Some of these games will
still be under copyright; the IF Archive has details. 


Command Options
---------------
Usage:
scott [-a] [-l] [-d] [-p] [-t] <databasename> [save-file]

Specifying save-file causes a restore of the save to take place.

 -a (ALL) toggles use of GET ALL/DROP ALL (default on)
 -l (LOOK) toggles automatic look when the description changes (default on)
 -d (DIM) toggles whether the driver should print light-running-out messages
    each turn or every 5 turns (default each turn)
 -s (SPACE) toggles the use of space or newline after game messages
    (default newline)
 -p (PREHISTORIC LAMP) toggles whether the driver destroys the light source
    when the light runs out (default off, the game should take care of it)
 -t (TRACE) toggles trace messages when actions are performed (default off)


Statement Of Copyright/License
------------------------------
Another ScottFree Driver, revision 1.20
Derived from Alan Cox's "ScottFree" revision 1.14,
that work (C) 1993, 1994, 1995 Swansea University Computer Society.
This driver (C) 1998 Robert Schneck.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program (see the file 'license.txt'); if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


The following statement is copied verbatim from the README file of
ScottFree; the only new source of information used in this program are
my observations while playing the first five Scott Adams games on the
VIC-20.  No disassembly of that driver was performed, either. 

>All material in this program was developed by Swansea University
>Computer Society without disassembly of any other game drivers, only of
>game databases as permitted by EEC law (for purposes of
>compatibility). It is your responsibility not to transfer this software
>to any country where such reverse engineering is not permitted. This
>software license does not include any rights with regards to the Scott
>Adams games themselves. These games are copyright and you should obtain
>them from a legal source.
>
>The following information sources were used to produce the game driver:
>
>PC-SIG disk of Adventureland:
>	This gives the Adventureland database as well as about 80% of the
>full interpreter system. The core of the gamedriver was written using this
>as a reference to the game code.
>
>Byte Dec 1980:
>	This contains a good article about Scott and his games, as well as
>a TRS80 driver and datafile writer for the 'Pirate Adventure' game. This
>filled in some more answers as well as bits of the TRS80 data format
>
>P.D.Doherty:
>	Many thanks go to him for figuring out a load more actions, testing,
>hunting for games which used unknown actions and for writing a Scott Adams
>database to readable text convertor. This helped resolve several other
>actions.


Motivation
----------
I discovered ScottFree in January 1998, while looking for Scott Adams
games.  ScottFree was almost exactly what I wanted; however its style
(apparently derived from the TRS-80) was very different from my memory
of how the Scott Adams games looked on the VIC-20.  I did find a VIC-20
emulator, but only the first five Scott Adams games ever appeared for
the VIC-20; so I started hacking up the ScottFree code so that it would
look "right", and I could get around to playing the other games.  Then
I discovered a couple of bugs.  Eventually I ended up almost completely
rewriting the program.  This is the result.  

Originally it might have been simply a bugfix or new revision of
ScottFree; finally I decided it was different enough to make it clear
that it wasn't the same program, particularly because I've taken away
the windowing feature; so until one or the other program is revised,
there are reasons for both to exist. 

I have tried to organize the code to make it as easy as possible to
either (1) port to other platforms or (2) change the style of the driver
to suit another taste.  I have almost no experience in these matters,
however, so this may not be the case.  I have separated the code into (I
think) completely portable (asfdmain.h and .c) and environment specific
(asfdcurs.h and .c, or asfddos.h and .c) portions.  I have put the
driver messages as #define's at the top of asfdmain.h, and the colors
and styles at the top of asfdcurs.h/asfddos.h; those should then be
simple to change.  In particular, the driver messages should be easy to
change to make second-person games look right.  All the functions to
print are separate, so it should be easy to reintroduce the separate
windows.  

I hope it turns out that I have added more than I have taken away.
Thanks to Alan Cox and P.D.Doherty for making this possible.
I welcome comments, though be warned that I have no intention to ever
put out another version!

Robert R. Schneck / <rrs25@cam.ac.uk>


Changes from ScottFree revision 1.14
------------------------------------
Reworked GET ALL/DROP ALL.  The main bug was that after checking the
list of actions, it still performed an auto-get (or drop); an example
from Adventureland has you trying to take some honey, getting stung by
bees and set to limbo, and then having the honey put into your
inventory!  Aside from fixing that, I've also made it so you only try to
get (drop) things that started off in the room (in your inventory), and
that the process stops once your room changes, or the darkness status
changes.  I've also made allowing it at all an option, -a.

If action 52 (Get, with a check on carrying capacity) fails--i.e. you
don't get it because you've got too much--now abort the rest of the
action line.  This is the behavior of the VIC-20 driver, and it makes
sense in every case I can see within games I have in ScottFree format
(with the possible exception of MAKE FUEL in Buckaroo Banzai).

If you break you neck by moving an invalid direction in the dark, action
61 (kill player) is executed, instead of just ending the game.  You may
have a chance to live again once killed, as in Adventureland.

Fixed a bug that would only stop you from getting items if you were
exactly at your carring capacity.  Situations can arise when you are
over capacity (such as chigger bites in Adventureland).

The driver now checks to see if the noun entered is valid, as well as
the verb.  (I check all item auto-get strings as well as all noun
strings; I don't know if that is necessary.)

The driver now doesn't count down your lamp or perform automatic actions
if you enter an command with an unknown noun or verb.

GET and DROP now give more descriptive responses ("Don't see it here!",
"Already have it.", "Not carrying it!" as well as "Beyond my power to do
that.").

Added the abbreviation "l" for "look".

In action 78, added a space after the display of the counter value.

Made it so that deleting a character writes it over with a blank.

The interface has changed.  Instead of a separate window for the room
description, the display is continuous with the room description, game
and driver messages, and command prompt in different styles.
Furthermore the driver messages now mimic the style I see on the VIC-20.

Added the option -t to display the number and comment of actions that
are performed.  (The display is "DID: #  comment", before the action,
where DID is what the VIC-20 driver displays if you put it in trace mode
with a command "t"--found this out by accident).

Added an option -s to allow spaces (rather than newlines) after game
messages.  This makes some of the later games look much better.
Hopefully newlines will still appear when needed!

Removed the Scott light option -s and replaced it with a dimming light
option -d, reversing the defaults.

Removed the debugging option -d and the TRS80 option -t.

Removed the options -i and -y for "I am" vs. "You are" messages.
Instead I've put all the driver messages as #define's at the top of
asfdmain.h; it should be easy to change them for second person, or for a
different style (they are taken from the behavior of the VIC-20 driver).

The code has been extensively reorganized.  Almost everything in
asfdmain.h and asfdmain.c should port without change.  Environment
specific code has been put in asfdcurs.h and .c, or asfddos.h and .c, as
the case may be.  I have tried to make it as easy as possible to change
the style.  It is simply a matter of changing some #define's to get new
driver messages or colors.  It should be relatively easy to add back in
the separate window for the room description.  I strongly encourage
someone to do this, especially if they'll make it a command line option.


Known Bugs
----------
Certain games will show too many room descriptions, I assume because
they expect it to be in a separate window.

