
TAplay  ---  the  automagical  Text Adventure  (aka.  Interactive  Fiction)
           PLAYing session launcher and storyfile identificator.
	     A  bash  shell  script  with auxiliary  files  for  Unix-style
	   systems.
	     Fully  usable as console  utility or  as back-end  for TUI/GUI
	   environments  (eg. menu  entries  in FVWM,  a TcL/Tk  interface,
           websites with on-line or remote XDMCP playing, etc).
	     Uses  either native  applications, XTerm,  or the  current VC,
           trying applications from best to worst alternative.

Copyright by Valerie Winter, 2006 to infinity.
copyleft/maintenance from 2008 ad infinitum by Rene Kuligowski

TAplay is  subject to the  terms and conditions  of the GNU  General Public
Licence (GPL) v2 (see www.gnu.org/gpl).


  ______________________________________________________________________



  Requirements:

	-- Unix-style system layout (GeekGadgets  or emx on AmigaOS and emx
	   on OS/2 supported)
	-- bash
	-- filemagic (GNU fileutils); uses private database
	-- IF interpreters in default location (/usr/games) and/or $PATH
	-- IF storyfiles in /usr/share/games/if or current dir
	-- IF   compilers  in   default  locations   (usr/share/games)  and
	   softlinked    into     $PATH    to    use     "on    the    fly"
	   compilation-and-running of storyfiles

  Supported engines (expandable by the user):

	  commercial:
	    Infocom Z-Machine *)
	    Magnetic Scrolls Adventure *)
	    Level9 A-Code *)
	    Scott Adams' SAAI/SAGA *)
	    Adventure International (AdvInt)
	  free:
	    Inform6/7 Z-Machine (see Infocom) *)
	    Adrift
	    Adventure Game Toolkit (AGT)
	    Adventure Language (ALan) v2 and v3 *)
	    Adventure System (AdvSys)
	    HUGO *)
	    Text Adventure Development System (TADS) v2 and v3 *)
	    Glulx *)

	    *)  including  Blorb  archives   as  registered  in  the  Blorb
               specification  for  "Exec"  chunks (signatures  ZCOD,  MSRL,
               LVL9, ADAM/SAAI/SAGA, ALAN/ALN3, HUGO, TADS/TAD3, GLUL).

	       NOTE: for Blorbs other than containing ZCode, you'll need to
		     find modified  interpreters.  Look for  them where you
		     got TAplay from  --- those modified interpreters ought
		     to be there somewhere.
		       For information on "how  to" and utilities to create
		     blorbs other  than for zcode, look  for my "blorb-any"
		     package (yet to come).

  Capabilities:
	-- compile story-file source  code on the fly (utilities/ifcompile)
	   for testing or release
	-- automagically determine  storyfile type (uses  private databases
	   to identify storyfile engine and identity)
	-- automagically find all storyfiles, interpreters and compilers on
	   the system if they are installed LFS/UFSH-compliantly
	-- no full paths required  except for relative paths when accessing
	   subdirectories of current dir

  Capabilities of ifcompile:
	-- compile  Inform7/Inform6/AdvSys/HUGO 2 and  3/ALan 2  and 3/TADS
	   projects via Makefile or sane internal defaults
	   (no, *NO* Glulx compilation)

  Capabilites of zcc:
	-- create or compile Inform7 projects, both classical and natural
	-- compile Inform6 projects
	-- compile zasm projects


  Taplay was tested on (natively and via XDMCP):
       -- AmigaOS 3.9 with emx and GeekGadgets
       -- OS/2 3.5 with emx, Bash/2 and X11R6 for OS/2
       -- QNX realtime platform 6.1
       -- OpenBSD/ppc (darwin/MacOS X) and FreeBSD/m68k
       -- Gnu/Linux (debian, ELive, Slackware)

  Taplay *should* run on:
       -- BeOS 5 / Haiku
       -- eComStation 2.0 with ports of file-/shellutils and X11
       -- any  free/open-source/commercial Unix flavor,  eg. (Open)Solaris,
       	  HP-UX, Sinix, AIX, xBSD, etc.

  If  you  care  to  edit  taplay  accordingly, it  might  even  run  on  a
Windows/CygWin  system from  a  bash window.   This  is *not*  recommended,
however, and isn't supported anyhow by the authors.


  ______________________________________________________________________
  Output of "taplay --help"


TAplay 0.9 --- A text adventure playing session launcher
copyleft 2006 by Valerie Winter

TAplay is subject to the GNU General Public Licence v2


    An  automagical text adventure  (aka.  interactive  fiction) session
  launcher for many of the common adventure engines: ZCode, Glulx, TADS,
  Hugo, AGT, ALan,  SAAI, ACode, AdvSys, Adrift (others  can be added by
  you).
    TAplay is *NOT* an interpreter and *DOESN'T* include them.
    It just starts them  in various fashions, depending on circumstances
  and  your  mood,  while  automagically  finding the  storyfile  and  a
  suitable  interpreter  on  your  system.  TAplay's  behaviour  can  be
  modified   anytime,  and   it  can   play  any   number   of  sessions
  simultaneously (if your  computer can handle it, so  can TAplay), even
  on dumb/streaming displays  (like Emacs or a web  page) and remote X11
  display servers if you have suitable interpreters.  Also, TAplay helps
  you in managing your collection.

usage:
    TAplay [-h]
    TAplay -lf|-lp|-li|-d|-mf|-ml
    TAplay -w <storyfile>
    TAplay -dq "<string>"
    TAplay [-v] [-c][-m][-i] [-l] [-s] [-o|-x] [[-ti][-ts][-te][-to]|-tf]
           [-u <interpreter>] <storyfile>

options:
    -h, --help		  this help
    -lf, --listfiles      list all game files found on this system.
    -lp, --listpath       show the search paths for game files.
    -li, --listint        list all interpreters and compilers found on
                          this system.
    -d, --listdb          show database contents via \$PAGER.  If that
                          can invoke an editor and you have sufficient
                          rights, you can edit the database, too.
    -dq, --dbquery        query db about <string> (will list any entry
                          containing the <string>).
    -mf, --makefvwmmenu   make FVWM menu listing all local storyfiles.
    -ml, --makelist       make a file list usable by TUI/GUI frontends.
    -w, --whatis          try to find out the type of this story file
                          (implies -v).
    -v, --verbose         show all output, not just errors.
    -c, --classic      	  run interpreters in classic/monochrome look.
    -m, --monochrome      run interpreters in monochrome mode.
    -i, --reverse         use white font on black background (xterm)
    -o, --native          force native application (MacOS X, AmigaOS)
    -x, --nonative        forbid using native application, use X11 or
                          text mode
    -s, --streaming       use streaming-mode (dumb) interpreters if
                          available (eg. dfrotz, dlevel9, dmagnetic)
                          to play eg. in emacs shell mode
    -u, --useint          force TAplay to use the stated interpreter.
    -n, --noxapp      	  do not launch an X application, use xterm.
    -l, --stayhere     	  play on this very  vc, ignore that we are in
                          a multi-vc environment like X11.
    -ts, --shorttitles    display only '<game  name>' as xterm title.
    -to, --filenameonly   display the storyfile name as title.
    -ti, --titleint       show interpreter name in title.
    -te, --titlesys       show system engine format in title.
    -tv, --titleversion   show storyfile's s/n, release, and VM.
    -tf, --titlefullinfo  show everything we know about the storyfile.
    --simulate            do  everything except actually  starting the
                          game.

    TAplay compiles and  runs source code on the  fly if the appropriate
  compiler is  installed on your system.  Currently,  ZCode (Inform 6.30
  and 6.31 .inf sources only, compiling to z8; NOT Inform7 .ni sources),
  HUGO 3, TADS 2 and 3,  ALan 3, and Adventure System 1.2 are supported.
  Others can  be added by simply  creating and filling  in the according
  variables within  this script.  Note  that the sources of  Hugo, TADS,
  and ALan have  to be named according to the  source code version used;
  eg. .hugo2  for Hugo 2, .hug  or .hugo3 for  Hugo 3, .t or  .tads3 for
  TADS3, .tads2  for TADS2, .alan2 for  ALan 2, and .alan  or .alan3 for
  ALan3.  If you do not do  this, TAplay might try to compile v2 sources
  with a v3 compiler, which will not work.

    For  interpreters, tools and  utilities,  start looking at  the site
			  www.ifarchive.org
  and the diverse sites www.<engine>.org (eg. www.alan.org).
  Hint: You shouldn't use GLK based interpreters except you don't have a
        choice;  GLK  is a  rudimentary  and  astonishingly badly  coded
        library   (seen  from   UNIX  view)   that  has   very  inferior
        capabilities  in comparison  to purely  native  engines (curses,
        X11).


