Infocom Icon Launcher Version: 1.0 Author: Matthew Twomey Email: mtwomey@beakstar.com ************ Introduction ************ I ran into frustration a while back while trying to put all my Infocom games on a CD. I liked the icons in if-archive and wanted to use them. In windows, on my desktop, I could use them by creating a shortcut to winfrotz (with an option to start a particular game) - and then changing the icon associated with that shortcut. For example: I would create a shortcut as follows: borderzone = "c:\winfrotz\winfrotz c:\infocom\borderzone\borderzone.dat" Then I would change the icon associated with that shortcut to point to the borderzone icon. As tedious as this was, it worked well... until I tried to take it with me on a CDROM. Putting the CD into a different windows machine meant losing the association between the icon file and the shortcut. To solve this problem, I have created a set of "stub" executables, with icons compiled in, that can be used to launch the games with an interpreter of your choice in windows. I have tried to make them as flexible as possible. Using these stub files you will be able to: - Burn a CD with your Infocom games and interpreter on it that will have proper icons - Launce your games from your hard drive with proper icons, w/o creating shortcuts - Play the games directly without having to load the interpreter, then load the game ******** Overview ******** Each executable opens the infocom.cfg file, replaces $ and % with appropriate values and then executes the command. The executable will replace $ with it's own filename minus the extension. It will replace % with either "dat" or "zip". For Arthur, Journey, Shogun, and Zork Zero % will be replaced with "zip" for all other games % will be replaced with "dat" After the replacements - the command will be executed. ******************** The infocom.cfg file ******************** This file consists of a single line, which is the command to be executed. The executables look first in their current directory and then in their parent directory for this file. The line in this file contains 2 variables: $ will be replaced with the name of the executable itself without the ".exe" For example the executable "borderzone.exe" will replace "$" with "borderzone". If you rename "borderzone.exe" to "border_zone.exe" then $ will be replaced with "border_zone". % will be replaced with the name of the expected datafile extension For Arthur, Journey, Shogun, and Zork Zero, % will be replaced with "zip", for all other games % will be replaced with "dat". The line in the infocom.cfg should contain the full path to your interpreter, full path to your datafile and any switches necessary to run the game. Some infocom.cfg examples: \infocom\interpreters\winfrotz\winfrotz \infocom\interpreters\datafiles\$.% \infocom\interpreters\jzip\jzip \infocom\$\$.% ******************** Command Line Options ******************** The only command line option at this point is --version which displays the version of the icon launcher. ******** Examples ******** ************************************************************************** Example 1 - run Borderzone with Winfrotz This example is for a layout with all your datafiles in a single directory ************************************************************************** 1. Create c:\infocom\datafiles 2. Create c:\infocom\interpreters\winfrotz 3. Copy borderzone.dat into c:\infocom\datafiles (if the data file is not named "borderzone.dat" rename it) 4. Copy winfrotz.exe into c:\infocom\interpreters\winfrotz 5. Copy borderzone.exe into c:\infocom 6. Create infocom.cfg in c:\infocom with the following line: \infocom\interpreters\winfrotz\winfrotz \infocom\datafiles\$.% 7. Click on borderzone.exe to run the game ********************************************************************* Example 2 - run Borderzone with Winfrotz - alternate directory layout This is for a layout with datafiles in their own directories ********************************************************************* 1. Create c:\infocom\borderzone 2. Create c:\infocom\interpreters\winfrotz 3. Copy borderzone.dat into c:\infocom\borderzone (if the data file is not named "borderzone.dat" rename it) 4. Copy winfrotz.exe into c:\infocom\interpreters\winfrotz 5. Copy borderzone.exe into c:\infocom 6. Create infocom.cfg in c:\infocom with the following line: \infocom\interpreters\winfrotz\winfrotz \infocom\$\$.% 7. Click on borderzone.exe to run the game *********************************************** Example 3 - setup Infidel and Zork1 for jzip *********************************************** 1. Create c:\infocom\infidel 2. Create c:\infocom\zork1 3. Create c:\infocom\jzip 4. Copy infidel.dat into c:\infocom\infidel (if the data file is not named "infidel.dat" rename it) 5. Copy zork1.dat into c:\infocom\zork1 (if the data file is not named "zork1.dat" rename it) 6. Copy jzip.exe into c:\infocom\jzip 7. Copy infidel.exe into c:\infocom 8. Copy zork1.exe into c:\infocom 9. Create infocom.cfg in c:\infocom with the following line: \infocom\jzip\jzip \infocom\$\$.% 10. Click on infidel.exe or zork1.exe to run the games ***** NOTES ***** It is necessary that your datafiles are named the same as your executables (disregarding the extensions). For example: borderzone.exe and borderzone.dat are O.K. but Border_Zone.exe and borderzo.dat are NOT. It doesn't matter what they're named as long as they are the same. This means that if you WANT your Zork 1 datafile to be named "Zork_One.dat", all you need to do is rename the executable to "Zork_One.exe". It is necessary that your datafiles have a .dat or .zip extension (.zip for Arthur, Journey, Shogun, and Zork Zero; and .dat for everything else). These extensions MUST be used or the executable wont work. Some interpreters don't like windows long file names - like some (all?) versions of jzip. You will need to rename your exe and dat file to 8 characters or less if you have this problem. Effort was made to keep these stub files as small as possible. The concept here is very simple, but I find it difficult to explain. If anyone has any suggestions, I'd be glad to hear them. Please email questions, suggestions, and comments to mtwomey@beakstar.com.