

		    			 Text Adventures in Lisp (TAiL) 1.3
		     			  A text adventure authoring system
				enhanced AdvSys 1.2 by Valerie Winter, 2006

				based on

		   		       ADVSYS - An Adventure Writing System
	       		       		    Version 1.2 1986 by David Betz,
			    				All Rights Reserved
		   			  ported to ANSI-C by Matt Ackerett


  This Software  is "free" in the  terms and conditions of  the GNU General
Public  License, version 2  (www.gnu.org).  If  you do  not agree  with the
conditions given  therein, you  are not allowed  to use or  distribute this
software and *must* delete it at once. 


	  ATTENTION: This release is for Unix-style systems only!
	 (tested  on:  OpenSolaris,   Free-,  Open-,  and  NetBSD,
	       debian GNU/Linux, QNX RTP/RTOS, and MacOS X)


  Contents:

    -- Notes
    -- Compilation and Installation
    -- Changes from AdvSys 1.2 to TAiL 1.3
    -- To-Do list for TAiL



  _________________________________________________________________________
  Notes

  I kept the version of AdvSys and raised it by 0.1 to signify that TAiL is
an enhanced version of AdvSys.  All credit for anything except a few source
code,  compiler  and  interpreter  improvements  have to  go  to  Betz  and
Ackerett.  In  itself, TAiL is more of  a 0.5 release (see  the to-do list)
--- a complete AdvSys 1.2+ system, but an incomplete TAiL 1.0 system.


  _________________________________________________________________________
  Compilation/Installation

  Just open a terminal and change to this directory, then run "make".  This
should build advcom, advint, and also the sample "adventure" osample.dat in
lib/.     Run    "make   install"    to    compile    and   install    into
/usr/local/share/advsys  and /usr/local/bin  on the  fly.  If  you  want to
install to  other directories, browse the  Makefile and set  the LIBDIR and
BINDIR accordingly  (these settings  will be passed  through to  the source
code, no need to twiddle there).   Once there, you should also set STORYDIR
to the path you prefer.
  If something throws an error and  refuses to compile, you are not using a
standard system --- sorry, but you're  on your own, then.  I always test my
code  on FreeBSD,  QNX Realtime  Platform, debian  GNU/Linux, and  MacOS X,
which  ensures it compiles  smoothly on  virtually any  Unix flavor  in its
default+development installation.
  ---val


  _________________________________________________________________________
  Changes from AdvSys 1.2 to TAiL 1.3

    -- engine tag is now 103 (was  102); games created with TAiL should not
       be run  on AdvInt 1.2 because it  might crash or at  least look odd.
       Hence, I changed the tag so it won't run on anything below 1.03.

    -- "Smarticles" and "NewParser" patches already applied to sources

    -- introduced new storyfile title and intro-text methods

    -- introduced help commands and internal interpreter commands

    -- interpreter prompt changed to the IF standard, ">"

    -- interpreter more prompt changed to self-deleting "[MORE]"

    -- interpreter now has  "[press any key to exit]"  prompt for GUI vterm
       use (like xterm or MacOS X's Terminal.app)

    -- compiler  and  interpreter either  take  filenames  with or  without
       suffix (and don't care about suffix style)

    -- floating  status line (alike  to ansiC-magnetic  or dfrotz)  on dumb
       interpreter; IF-standard style status line on curses interpreter

    -- some  minor  additions  and  changes to  compiler  and  interpreter,
       resulting in the engine version 1.03

    -- interpreter  accepts  v101,  v102  (both  AdvSys)  and  v103  (TAiL)
       storyfiles (read it as 1.1, 1.2, and 1.3)

    -- interpreter has  dumb mode for streaming without  more prompts ("-d"
       command line option)

    -- removed  AppleIIGS specific stuff  and redundant/outdated  code from
       sources

    -- higher engine limits:
	      max words: 2000 (original: 500)
	      max objects: 2000 (original: 500)
	      max actions: 500 (original: 200)
	      max data space: 262144 bytes (original: 16384)
	      max code space: 262144 bytes (original: 16384)
       This makes AdvSys equal to  Infocom z6/Inform z8 --- unless you make
       extensive use of objects and  actions, you will almost never hit the
       limits.  No gfx and sound, though.

    -- changed compiler's  behaviour of source  file inclusion to  ease the
       use  of multiple  files with  same  name but  different contents  in
       larger projects or development sites:
         $LIBDIR  is the  one that  was defined  at  compile-time (default:
       /usr/local/share/advsys).

         @ 	looks for included file  in library directory, then in
		current directory.  If a relative path is given, looks
		in  the subdir  of  library directory  first, then  in
		subdir of current dir.
	 @>	looks in current directory or given directory only.
		FQFNs  can be  used  (eg.  ./here/this/source.file  or
		/there/that.file).

       Absolute  paths, if  given,  will be  exclusively searched,  without
       looking somewhere else, with both "@" and "@>".

    -- compiler outputs  to <storyfile>.dat by  default but takes  any name
       for output, even  /dev/null (which I use for  testing purposes) or a
       named pipe (eg., for  things like blorbing-on-creation, or streaming
       into a compressor like bzip2).

    -- interpreter looks  for files  in the $STORYDIR  that was  defined at
       compile-time (default: /usr/share/games/if/advsys) as well as in the
       current dir

    -- interpreter sets  screen size  from $LINES and  $COLUMNS environment
       variables or  defaults to 80x24 (can  still also be  set via command
       line parameters)

    -- "library"  consists of  objects.adi,  standard.adi, newstandard.adi,
       and  osample.adv (for  new projects,  newstandard.adi should  be the
       minimum measure of things --- take it as an inspiration for your own
       library extensions and/or replacements)

    -- includes demo source code for new writers.


  _________________________________________________________________________
  To-Do list for TAiL

    -- raise the annoyingly low nesting depth of code

    -- raise the nesting depth of include files (currently none)

    -- include more  of the common library files/patches,  like Marc Russel
       Powliger's

    -- completely new library files,  including parser and verb list, split
       into  smaller  files with  dedicated  areas  of  use (sort  of  like
       inform6's library)

    -- command history and keyboard navigation for any interpreter

    -- X11 interface for interpreter (xfrotz-alike)

    -- all current and future interpreter  UIs: font and color styles, text
       boxes, help menu system, timed input/output (zcode8-like standard)

    -- Infocom z6-style graphics and sound

    -- dedicated   EMACS  modes   for  editing,   compiling,   and  playing
       AdvSys/TAiL   story   files   (thinking   of  something   alike   to
       inform-mode.el)


