                                adv660.tgz
                            Game version 10.10
                     Built using A-code engine 12.53
                         Build date 14 April 2013

 This package contains a Linux build of my 660 points version of
 Adventure. The game (generally known as Adv660) is made available under
 GPL3 and may be freely distributed and archived.

 This being an A-code 12 build, it automatically has some features not
 provided by the game itself:

 * The game has a persistent state, which means that if the game process
   gets killed for whatever reason, once restarted, the game will be
   automatically resumed from where it was interrupted, unless a new game
   is requested by using the /n command line switch.

 * By default, the game will invoke a browser for its display and command
   interaction. Arrow keys can be used to recall and edit previous
   commands. However, you can still play in a console mode, if you prefer,
   by invoking the game with the -C switch. The console mode has a built
   in command editing functionality too -- the presence of the readline
   and ncurses libraries is no longer required.

 * The game has its home in the .acode/adv660 directory automatically
   created in your home directory. That is where it keeps save files.

 * The acode directory within your home directory also contains the
   general A-code configuration file acode.conf which holds default
   settings for some aspects of the game. Please feel free to modify it as
   you wish. E.g. you may wish to remove the "Submit" botton as
   unnecessary, since commands can be submitted simply by pressing the
   ENTER key. To restore defaults, just delete the config file -- it will
   be regenerated automatically.

 If you already have an older ~/acode directory, you do not need to rename
 it to .acode. If the latter is not found the program will look for the
 former one.

 The game is supplied as a simple executable, with no separate data file.
 This ought to work just fine, but if you discover that your machine is
 unable to cope with the executable in which the data file is already
 preloaded, drop me a line -- there are ways around that.

 If you wish to install a desktop icon for Adv660, I *think* the following
 is pretty universal on Linux these days: copy the supplied icon image
 adv660.png into your ~/.local/share/icons/, and then copy Adv660.desktop
 into your ~/Desktop directory. The desktop file expects the adv660
 executable to be in ~/acode/.adv660, so either make sure it is there, or
 edit the desktop file as required.

 If you prefer to play in the console mode, you can install an icon for
 that by using Adv660_Console.desktop and adv660_console.png (also
 supplied) instead of Adv660.desktop and adv660.png. As supplied, the
 desktop file uses KDE's konsole as the terminal emulator to be used. If
 another emulator is to be used, the .desktop file must be modified
 appropriately.

 If you do find any bugs, however small, please consult the Adv660 bug
 list http://www.mipmip.org/adv660/bugs.shtml and if appropriate, report
 the bug to me at mla@mipmip.org. For more A-code information, please
 visit my web-site:

                            http://mipmip.org/

 Hope you enjoy the game!

                                                             Mike Arnautov
                                                            mla@mipmip/org
                                                             14 April 2013

 ________________________________________________________________________

 Package contents:

 
  adv660                      Container directory
    adv660                    Game executable (Linux ia32)
    README.txt                This file
    Adv660.desktop            A desktop file to go into ~/Desktop/
    adv660.png                Adv660 icon to go into ~/.local/share/icons/
    Adv660_Console.desktop    A desktop file to go into ~/Desktop/
    adv660_console.png        Adv660 icon to go into ~/.local/share/icons/
 
 ________________________________________________________________________

 All relevant Adv660 and A-code sources can be found at http://mipmip.org.

 Console mode command line editing uses the GNU readline5 library. A
 source tarball of this can be also found at mipmip.org.

 ________________________________________________________________________

                     A-code game command line options
                          (A-code version 12.53)

 This document describes command line options available when running any
 A-code game built using A-code 12 engine. The behaviour of the game is
 generally regulated by the self-documented file acode.conf, which can be
 found in the acode directory, automatically created in player's home
 directory. Where command line options refer to particular aspects covered
 by the configuration file, they override the configuration file settings.

 Conventions:

 * Angle brackets <string> denote a symbolic string to be replaced
   by something appropriate. E.g. would be replaced by the name of a file
   (with no surrounding angel brackets).

 * Square brackets [ ] denote something optional. So e.g.
   -l[<log_file>] means that the name of the log file may be
   omitted.

 * Braces { } denote a list of permissible values, separated by vertical
   bars |. E.g. -b[{0|1|2}] means the -b may be optionally (square
   brackets!) followed by one of the three digits zero,one or two.

 * Where a value can be specified with a command line option, the syntax
   shown is that of the value abutting directly to the option
   specification letter. However, an equality sign = can be placed between
   the two, so that -b0 is equivalent to -b=0.

 * Some options can have either word or numerical values; the two styles
   are shown on two separate lines and are exactly equivalent.

 The following command line options are valid for both the browser and the
 console display modes:

 -n
   Force a new game. By default, if a previous game session got somehow
   forcibly interrupted (e.g. by the game process being killed for
   whatever reason), the interrupted session is automatically resumed when
   the game is restarted. The -n option overrides this behaviour and
   forces the interrupted session to be forgotten.

 -b[{no|yes|all}]
 -b[{0|1|2}]
   Set or invert the blank line setting. If set to zero blank lines are
   inserted before and after each prompt. If the value is 1, blank lines
   around '?' prompts are suppressed, resulting in a more compact display.
   If the value is 2, then ALL blank lines are suppressed, for
   super-compact, but less readable output. If no value is specified, the
   new setting is 0 or 1, inverting the A-code default for this game. In
   old-style A-code (Adv550), which does not distinguish between replies
   to queries and general commands, this only affects presence/absence of
   a blank line after the prompt line, and never before it.

 -d<dbsdir>
   If using a data file, specify its directory. Ignored if the game is
   built as a simple executable with no associated data file. By default,
   the game data file is assumed to live in the same directory as the
   executable. The -d option allows a separate location to be specified.
   The program will attempt to work out the separator which should follow
   the directory name, but if in doubt as to the appropriate one for the
   given platform, the dbs name will be simply concatenated with the
   supplied pathname -- hence if it doesn't work, try adding the trailing
   separator to the pathname.

 [-r]<dumpfile>
   Restore game from dump. Ignored if the game does not support game dump
   files being specified on the command line. The -r optional in that any
   command line argument which does not begin with a dash will be
   interpreted as the name of the dumpfile to restore on invocation.

 -c<cominfile>
   Replay game from log. This is a debugging tool, which allows a game to
   be replayed from a log file (see below). If the logfile contains more
   than one session log, only the first session will be replayed. The log
   contains the value of the random seed used in the session, thereby
   ensuring that the game is replayed exactly, despite any randomisation.
   [NB, replaying games only works if the log was created by exactly the
   same version of the game.]

 -l[<logfile>]
   Log the game. Specifies the file into which a session log is to be
   written. The log is human-readable, but has some additional features
   allowing it to be used subsequently for replaying the session. If the
   nominated logfile already exists, it gets appended to. If no logfile is
   specified the name of the game is used, suffixed with .log.

 -u{off|on|none}
 -u{0|1|none}
   Set the initial state of undo-history collection. Ignored if the game
   does not support undo. If the value is zero, the default undo status is
   OFF. If the value is one, the default undo status is ON. The "none"
   state implies OFF and disallows undo functionality being subsequently
   switched on from within the game. The default state is ON for games
   which define the verb UNDO, and "none" otherwise.

 -B[<browser>]
   Force browser-based display, optionally nominating a particular
   browser. Browsers can be specified by their pathname, or by their name.

 -C
   Force console display, i.e. do not use the browser interface.

 -v
   Show the game, kernel and acdc version numbers and exit.

 -h
   Print command line usage summary.

 The following options are only meaningful in the console display mode,
 and therefore force the console mode even if the -B option is used.

 -o<baudrate>
   Set the output speed as specified by the argument. This option forces
   "dumb" mode console display (i.e. with no command editing) even if the
   browser display is explicitly requested via the -B option. Baud rate is
   specified in bits per second, and taking into the account control and
   parity bits, the output speed in characters per second is simply the
   baud rate divided by 10. The game coerces the specified baud rate to
   the nearest lower standard value (one of 110, 300, 600, 1200, 2400,
   4800 and 9600), except that anything below 110 (the speed of a
   teletype) is also treated as 110. The default value is 300 -- the speed
   of a DECwriter. Note, however, that under DOS and Windows any baud rate
   above 600 results in no slowdown at all.

 -j[{off|on}]
 -j[{0|1}]
   Set text mode to wrap (0) or justify (1). If no value is specified,
   invert the default A-code setting for this game. In wrap mode, text is
   simply broken into lines according to the screen width (see the -s
   option below). With justification turned on, each line is
   right-justified. All of this presupposes a fixed font being in use. For
   variable font devices, which tend to do their own wrapping, the default
   screen width should be set to zero, meaning "infinite", and the margin
   should be specified as zero too. If no value is supplied, the effect is
   to invert the game's default setting. This option is ignored by games
   written in the "old style" A-code (i.e. by adv550).

 -s<W>.<H>[.<M>]
   Set screen size (width in fixed font characters, height in lines, and
   margin in fixed font blanks). The default screen dimension is 80x24-1,
   the margin being set to 1 character. The -s option allows a different
   screen size (and optionally margin) to be specified. Screen width of
   zero means "infinite" width. Note that the line length cannot be set to
   less than 16 characters and the minimal number of lines per screen is
   5.

 -p[{off|on}]
 -p[{0|1}]
   Pause on exit. Requests that after printing the final exit message the
   game should prompt the player for a <CR>, before exiting. This feature
   is intended for players who wish to play console version of the game,
   in a window which closes as soon as the game exits.

 The functionality of the -s, -u and -j options is also provided via
 kernel hooks (see procedure special() in the kernel source file adv00.c),
 so that the game may -- at author's discretion -- offer the player
 commands for toggling the justification switch, switching on and off the
 change history, and altering screen size and margin.

 Any unknown or suppressed keywords are quietly ignored.

                                                             Mike Arnautov
                                                            mla@mipmip/org
                                                             14 April 2013

 ________________________________________________________________________
