The InfoTaskForce Infocom Interpreter Version 4.01 ================================================== Amiga Release 1.55 by David Kinder ================================== Fed up of the rather crude official Infocom interpreters? Annoyed that "The Lost Treasures of Infocom II" wasn't released for the Amiga? Then read on... There have been several ports of Infocom interpreters to the Amiga, but none of this program. The interpreter supports v1, v2, v3 (Zork1 to Stationfall), v4 (Trinity, Bureaucracy, etc.) and v5 (Sherlock, Beyond Zork, etc.) games. With this interpreter you can play ALL the games in the 3.5" disk LToI2 package for the IBM PC, by copying the datafiles with CrossDOS or similar, then just running this interpreter. This program requires AmigaDOS 2.04 or higher to run. As far as I am aware, as of Release 1.40, this interpreter supports all the features of Infocom data files relevant to the Amiga, including the "Undo" command (in such games as choose to implement it). If you find otherwise, please let me know. Infocom Startup =============== Infocom can be started with a game file by clicking on the "Infocom" icon and then shift double clicking on the game file icon. Alternatively, if the game file's default tool has been set to where "Infocom" is, double clicking on the game file icon will load "Infocom" and run the game. The following can be added to the ToolTypes field of the "Infocom" icon (not game file icons): ATTRIBUTES - equivalent to the -a command line switch PRELOAD - equivalent to the -l command line switch NOPAGING - equivalent to the -p command line switch TRANSFER - equivalent to the -t command line switch BZCOLOURS - use "Beyond Zork" colour scheme with the graphics file. The synonym "BZCOLORS" is also accepted. Equivalent to the -z command line switch. If the "Infocom" icon is double clicked (i.e. no game file selected), "Infocom" scans the assignment INFOCOM: (and its sub-directories) for valid Infocom game files. To speed up scanning, files are ignored unless their name matches the AmigaDOS pattern (~(#?.#?)|#?.(dat#?|z?)). This means that only files with no extension, or files ending with .data (Amiga story files) or .dat (PC story files) or .z3 or .z5 (files produced by the Infocom format compiler "Inform") are scanned. Using the "InfoPrefs" editor (see below), further directories to be searched can be defined, and also directories to be ignored if the scan reaches them. If "Infocom" cannot find one of the further directories specified, the directory will not be searched and no "Please Insert Volume..." requester will appear. Whether or not a "Please Insert Volume..." requester appears if INFOCOM: cannot be found can be defined in "InfoPrefs". After searching is complete, a list of all the games found will appear. The action taken by "Infocom" on finding multiple copies of the same game can be altered by "InfoPrefs". The default action is to display all games that have been found. If more than one version of the game is found, the serial number will be displayed in brackets after the game name. Other available actions are to only display different versions or only to display the first found version of each game. Click on the game you want to play and it will load and run. If you click on a game while holding down the shift key a requester will appear indicating the name of the game, its release and serial numbers, and the full path to the game file. At the bottom of this list is a "Select with File Requester" gadget. Clicking on this gadget opens a file requester with which you can select the game to play. This list can also be made to appear by starting "Infocom" from the Shell with the -w switch. Note that this must be the only argument, i.e. Infocom -w is the only valid use of this switch. The "Infocom" Display ===================== If "Infocom" opens on its own screen, the screen clones the Workbench screen to use its size, resolution and fonts (unless selections have been made for these in "InfoPrefs"). If possible, the "Infocom" screen is public, with the name "Infocom". Pressing the "Help" key gives the game currently playing, its author and difficulty level (where available), and the screen type (public, private, etc.). Version 3 games can be played using a proportional font (specified in "InfoPrefs". If no version 3 font is specified, the fixed width window font will be used. Left and right margins can be used (set in "InfoPrefs") so that the text is not flush with the screen border. This can be useful to make the text more readable if you are using a program to give screens black borders. The status line of most Infocom games will extend across the screen regardless of the margin settings. The current line can be edited using backspace, delete, and the left and right cursor keys. The shifted cursor keys move the cursor to the beginning and end of the current line, respectively. Input lines have a history buffer. Use cursor up and down to scroll through the buffer, and shift cursor up and down to go to the top and bottom of the buffer, respectively. Loading and Saving Games ======================== If asl.library is available, "Infocom" uses the file requester for Save and Restore operations. The default name is the name of data file, minus any extensions and with ".Save" appended. If the project icon "Icon.Data" is present in the same directory as "Infocom", saved game files have this icon when "Infocom" is started from Workbench. Support for Specific Games ========================== 1) "The Lurking Horror" Sound files are supported, as distributed with the Amiga release. Copy all the sound files to the subdirectory "Sound" in the directory containing the Lurking Horror data file, e.g. DataFiles/LurkingHorror <- data file DataFiles/Sound/s#?.dat <- sound files DataFiles/Sound/s#?.mid 2) "Border Zone" "Border Zone" implements an internal clock which is constantly running, regardless of whether you type in commands or not. Thus events take place without the user doing anything. 3) "Beyond Zork" "Infocom" can use the graphics file "Graphics.data", which was part of the original Amiga release of "Beyond Zork", and was also included in the Amiga version of "The Lost Treasures of Infocom I". Copy the file to where the "Beyond Zork" data file is kept. The file may be renamed to "BeyondZork.gfx". Use of the graphics file requires that the window text is an 8×8 non-proportional font. If the font does not match these characteristics, then topaz/8 will be used instead. If the graphics file is present, the interpreter can use the "Beyond Zork" colour scheme. This feature is activated by the -z command line switch or the "BZCOLOUR" icon tooltype, or by "InfoPrefs". The colour scheme can then be changed in the game with the "color" command. The arrow keys can be used to select items in the startup menus. The function keys are preloaded with commands, which can be changed from within the game with the "define" command. The numeric keypad and the mouse can be used to select a direction. To use the mouse, click in the map to indicate the direction you wish to move in. Special Commands ================ The debugging commands present in some games are supported. These are #record, #unrecord and #command (#reco, #unre and #comm in version 3 games). #record prompts for a file name, to which all user input is sent until the command #unrecord is issued. This recording of the user's actions can be replayed with #command, which prompts for a file name to play back. Also, the command "Undo" (present in some version 5 games), which takes back the player's last move, is supported. The "Infocom.games" File ======================== The list of games recognized by "Infocom" can be extended using the "Infocom.games" file, which can be either in the startup directory or in S:. The format of this file is e.g. [Zork I: The Great Underground Empire] <- The game name enclosed in []. Author=Marc Blank & Dave Lebling <- The game's author, optional. 25 / 820515 <- A list of the release and 28 / 821013 serial numbers for each version 30 / 830330 of the game (Which can be found 75 / 830929 for any game file using the -h 76 / 840509 option.) as the release number, 88 / 840726 followed by a / and then the 52 / 871125 serial number. [Zork II: The Wizard of Frobozz] ... and so on. Now any game included in this file will appear in the initial game list (provided the game is present) and it's name and author will appear in the 'Help' requester. Standard I/O Option =================== "Infocom" uses standard input/output if the -c switch is specified at the Shell. This allows "Infocom" to e.g. take input from a file, or to be used over a network. In the latter case, the output terminal must support ANSI 3.64 character sequences. "Infocom" will exit in this mode if it receives a CTRL-C break. The default size of the window and colour of the text can be changed by specifying the with, height and pen number after "-c", each separated by a forward slash, e.g. Infocom -c70/20/2 Zork1 starts "Zork I" in a character window of width 70 and height 20, with all text using pen 2. Note that the values are the size of the window "Infocom" expects - the actual output window of your terminal or Shell must be at least as big as these values. If one or more of the values are not specified, the appropriate default is used, so e.g. Infocom -c70/20 Zork1 or Infocom -c//2 Zork1 is valid. If you use a CON: window for input, then you will notice functions which use an individual key press (e.g. scrolling up and down the list of hints in "Sherlock") behave slightly differently. CON: windows only pass input to the program after return is pressed, so if the program is expecting single key presses, entering 'q' and pressing return causes the program to see a 'q' character followed by a return character. If, say, you wish the program to see two 'q' characters in a row, to e.g. quit out of a hint screen after reading a hint, enter 'qq' followed by return. A filename can be set for loading and saving games, in conjunction with the -c option. The name of the file to use for loading and saving should be given as the third argument, e.g. Infocom -c Zork1 Saved:Zork1.Save Specifing a save game file disables any file writing functions other than loading and saving of games, and also stops CTRL-C exiting "Infocom". "InfoPrefs" - The Infocom Preferences Editor ============================================ Many options in the interpreter can be defined using the external configuration editor, "InfoPrefs", which requires that either asl.library v38 or higher or reqtools.library v38 or higher is in LIBS:. By default, reqtools.library is only used if asl.library v38+ is not available, but this can be over-ridden with the icon tooltype REQTOOLS, or by the Shell option of the same name (i.e. 1> InfoPrefs REQTOOLS). The configuration is stored in the environment variable "Infocom.prefs", which is read in by "Infocom" at startup. "InfoPrefs" allows you to change: Beyond Zork Colours - If checked, "Beyond Zork" uses its custom colour scheme. Pre-Load Data Files - If checked, the whole data file is loaded at the start, rather than only needed sections being loaded. Use Workbench Screen - If checked, the interpreter opens a Workbench window rather than its own screen. Custom Window Size - If checked, and if "Use Workbench Screen" checked, then the Workbench window size is taken from the values entered below rather than chosen by the program. Left Edge, Top Edge, - Determine the dimensions (in pixels) of the Width, Height Workbench window used by "Infocom" if both the above gadgets are checked. L. Margin, R. Margin - The size (in characters) of the left and right margins to be used. StdIO Width, Height - The default size (in characters) of the character window to be used in StdIO mode (-c command line option). Screen Font - Opens a font requester from which to choose the screen font to use. Screen Colours - Opens a palette requester with which to choose the screen colours. This option requires reqtools.library to work. Screen Mode - The mode and depth of the screen "Infocom" is to open. Window Fonts - There are two window fonts - one is a fixed width font used for version 4 and higher games, and the second is used for version 3 or lower games. The second font may be proportional. Use Settings - Writes the chosen settings to "ENV:Infocom.prefs". The settings remain in effect until the computer is reset. Save Settings - Writes the chosen settings to "ENV:Infocom.prefs" and "ENVARC:Infocom.prefs". The settings are made permanent. Games List - This causes a new window to open, containing parameters affecting the list of games displayed at startup. The available options are: File to be displayed - Choose whether "Infocom" displays all games found, only different versions of a game, or only the first version of each game. Ask for INFOCOM: - If selected, and the INFOCOM: assignment cannot be resolved, a "Please Insert Volume..." requester will appear. If this is not selected, no such requester will appear. Search directories - Allows the selection of directories other than INFOCOM: to be searched for game files. Select "Add" to add a new entry, which can then be edited in the string gadget. Current entries can be edited by clicking on them in the list. The "Del" gadget deletes the current entry, and the "Req" gadget changes the current entry to the directory selected in the file requester which appears. Exclude directories - As above, but allows the selection of directories that are not to be searched. If, in searching directories and sub-directories, "Infocom" finds a directory named in this list, the directory is not searched. For this reason, entries in this list should not contain device names, i.e. Games:Zork1 and not e.g. DF0:Zork1 Finally ======= If you find any bugs, please let me know. In particular, the program contains an internal list of all release and serial numbers of released games. If you have a game file which plays correctly, but its correct title does not show up in the Workbench startup list or in the Help requester, please tell me its release and serial numbers (obtainable with the -h command line option). Internet Email: kinder@teaching.physics.ox.ac.uk or dkinder@vax.ox.ac.uk Postal mail: David Kinder, 2, Clwtt Cottages, Bangor Road, Gyfelia, Nr. Wrexham, Clywd. LL13 0YL History ======= 1.00 * First release. 1.10 * Added support for icon tooltypes. * If Workbench screen is larger than physical display, "Infocom" screen is kept to size of physical display. * Saved games can have icons if "Icon.Data" icon present. * A "Strike any key to exit." prompt appears if there is text to be read before the game quits. * Public screen opened if possible. * Save/Restore uses asl.library if available. * Better error reporting from Workbench. * Scripting in "AMFV" fixed. * Initial game list ignores files with ".#?" extensions except ".data". List now also looks in sub-directories of INFOCOM: for game files. * Initial game list has gadget to allow file requester to be used to select the game file to load. * Lines of text longer than the screen are handled better. * Fixed problems with a Workbench output window appearing if ConMan was running. * Input text is printed in a different colour to output. * Arrow keys now work (as used in "Beyond Zork"). 1.20 * Graphics in "Beyond Zork" supported. * Input line history buffer. * Better input line editing. * Output routines buffered - text printing is now *much* faster. 1.30 * Scripting should now work in all "AMFV" versions. * Debugging commands #record, #unrecord and #command implemented. * Problems with scripting and line editing fixed. * Options read from "ENV:Infocom.prefs", which can be edited using the "InfoPrefs" program. * "Beyond Zork" now has support for different colour schemes, if the graphics data file is available. Also, the "color" command works correctly. * The function keys in "Beyond Zork" are now fully supported. The commands on the function keys can be changed in the game with the "define" command. 1.40 * Scanning through input line history is much faster. * The -h option prints more information on version 5 games. * Updated documentation on version 5 header and data flags. * The numeric keypad and mouse now work in "Beyond Zork". * The interpreter can now run in a Workbench window. * "InfoPrefs" options extended. * "Border Zone" internal clock implemented - the game time progresses even without the intervention of the player. * Improved handling of lines of text longer than the screen. 1.45 * Problem of a "Lurking Horror" data file being incorrectly recognised is now fixed. * Switched compilers from GNU C 2.2.2 to DICE 2.07.56R. The code is now significantly shorter. * Added standard input/output routines. * Text can be offset from the screen edges by margins. * Default screen colours can be set in "InfoPrefs". * New command line switch "-w" to display game files in INFOCOM:. 1.50 * Removed miscellaneous bugs. * Option to define saved game file with -c switch. * Colour of stdio text can be changed with -c option. * Defaults accepted in -c argument string. * Version 3 games can now use proportional fonts for output. * The version 3 status line extends across the display regardless of any margins set. 1.55 * Status line extends across the display for any Infocom game. * Shift-clicking on a game in the initial list opens a requester with information about the game file. * The option of defining a saved game name with -c also disables CTRL-C. * "Infocom.games" file can be used to specify games that "Infocom" should recognize. * New options controlling the initial game list, which can be altered from the new "Games List" window in "InfoPrefs": * Other directories to be searched can be defined. * Directories to ignore can be defined. * List can display all games found, only different versions, or only different games. * If INFOCOM: is not found, whether or not a "Please Insert Volume..." can be controlled. * Fixed some minor problems with version 5 games produced with the Infocom compiler "Inform".