/ This is the Life help file. It is not meant to be read 'by hand', but rather / by the Life program itself or by the documentation reader README.PRG. / See the documentation to README for details. / #:MAIN T| * Help Menu * ÿ =:HELP +:About Life =:CREDITS +:The File Menu =:FILEMENU +:The Initialize Menu =:INITMENU +:The Settings Menu =:SETTINGSMENU +:The Help Menu =:HELP / #:HELP T| * Help Needed? * ÿ Choosing the HELP menu or pressing HELP anywhere in the program takes you into the help system. Navigate the menus with the mouse, or use the keyboard. Use the arrow up/down keys to select an entry. Then hit RETURN to select it. Or press UNDO or the left-arrow key to go back to the previous menu. Press Escape to return to Life altogether. ÿ +|I want to know more about keyboard-navigation... =:KEYS +|I want to know more about mouse-navigation... =:MOUSE +|Who hacked up this wonderful thingie? =:HLPCREDITS / #:KEYS T| * Extended Key Handling * ÿ The new key bindings are as follows: Quit: ESC Help: HELP Move down in the menu list: DOWN ARROW Move up in the menu list: UP ARROW Select the hilited menu item: RIGHT ARROW RETURN ENTER Go back to previous menu: LEFT ARROW UNDO Go to the first menu: CLR HOME / #:MOUSE T| * Extended Mouse Support * ÿ The mouse can be used in the following ways: Move down in the menu list: MOUSE DOWN Move up in the menu list: MOUSE UP Select the hilited menu item: LEFT BUTTON MOUSE RIGHT Go back to previous menu: RIGHT BUTTON MOUSE LEFT / #:HLPCREDITS T| * Who did it? * ÿ T|Original concept, design & first-versions-programming: T|Todd Burkey (trb@stag.uucp) (C)opyright 1988 T| T|Ported to Pure C, LINEA-replacement, wrapping menus, T|cosmetic changes and lots and lots more: Jeroen Scheerder Hendrik Jan Veenstra (Jeroen.Scheerder@let.ruu.nl) (hjv@phil.ruu.nl) T|March-28-1993, Utrecht, Holland / #:CREDITS T| * About Life * ÿ Life was mainly written by me, that is Jeroen Scheerder. Many others came up with good ideas and even more people came up with not-so-good ideas. Thanks anyway, guys & gals! Most of all, I am endebted to those who provided wonderful libraries: Harald Siegmund, for his magnificent Normalized Key Code Converter, and Olaf Meisiek, for his brilliant MyDials. ÿ +|More about Normalized Key Codes =:NKCCCREDITS +|More about MyDials =:MDCREDITS / #:FILEMENU T| * The File Menu * ÿ +:Load Universe.. =:LOAD +:Run Universe.. =:RUN +:Save Universe.. =:SAVE +:Merge XLIFE file... =:MERGEX +:Load XLIFE file.. =:LOADX +:Save XLIFE file.. =:SAVEX +:XLIFE file info.. =:XINFO +:Print Universe.. =:PRINT +:Quit Life =:QUIT / #:LOAD T| * Loading a Universe * ÿ This option lets you select a universe in the proprietary ST Life file format. If you press a modifier (Shift, Alternate, Control, CapsLock) while loading a file, you'll enter the 'Change Universe' dialog before the file is interpreted. ÿ +:Load and Run a universe =:RUN / #:RUN T| * Running a Universe * ÿ This command loads a universe and immediately starts generating new generations. ÿ +:Loading a universe =:LOAD / #:SAVE T| * Saving a Universe * ÿ The menu option 'Save' lets you select a filename, and writes the current menu and settings to that file. All settings - cell size, random factor, step mode, border mode, the rules - are stored in files saved this way. To change the default settings of the program, simply configure ST Life to your specific wishes and save a universe 'LIFE.LF' in the program's home directory. It will be read everytime the program is executed. / #:MERGEX T| * Merging a X-Life file * ÿ ST Life can read and write universes in the X-LIFE file formats. The 'Merge XLIFE file..' command allows you to load such a file without clearing the current universe: all living cells in the X-LIFE file will be added to the current universe. / #:LOADX T| * Loading a X-Life file * ÿ ST Life can read and write universes in the X-LIFE file formats. The 'Load XLIFE file..' command allows you to load such a file after clearing the current universe. Here, too, transformations can be applied by pressing a modifier key. / #:SAVEX T| * Saving a X-Life file * ÿ Choose this menu option to write the current universe in a format readable by the XLIFE program. / #:XINFO T| * X-Life file info * ÿ Since X-Life universes can be of arbitrary size, it can be desirable to measure their size before trying to load them. That way, it is possible to find correct dimensions and offsets should there be any transformations necessary. The info provided consists of the file's type (there are three X-Life formats), and the smallest and largest X- and Y-coordinates. / #:PRINT T| * Printing a Universe * ÿ Depending on your configuration different things happen when the 'Print' command is chosen. If you have GDOS installed, ST Life will use that to print the current universe: that way, your favourite printer is supported, and some sophisticated scaling can be performed. If there is no GDOS presend, the screen is dumped to the printer using the screen dump routine provided by the ST's operating system - the very same thing you get by pressing Alternate-Help. / #:QUIT T| * Quitting ST Life * ÿ Choosing the 'Quit' command quits life: if you've issued the keyboard shortcut (^Q) you'll be asked to confirm your choice before actually quitting. / #:INITMENU T| * The Initialize Menu * ÿ +:Random Universe =:RANDOM +:Clear Universe =:CLEAR +:Fill Universe =:FILL +:Change Universe.. =:CHANGE +:Go! =:GO / #:RANDOM T| * Generating a randomly filled Universe * ÿ Choosing this menu option generates a randomly filled universe: the chance any cell has of coming alive is determined by the selected Random Factor. ÿ +:Random Factor =:RANDOMFACTOR / #:CLEAR T| * Clearing a Universe * ÿ Choosing the 'Clear' menu option empties the current universe, so that you can start with a clean slate easily. / #:FILL T| * Filling a Universe * ÿ Choosing the 'Fill' menu option makes all cells in the current universe alive: sometimes this is handy when experimenting with strange rulesets and weird initial universes. / #:CHANGE T| * Changing a Universe * ÿ The change dialog lets you transform the current universe in a number of ways: the coordinates can be mirrorred, moved, swapped.. The option of modifying a universe is always available when loading by pressing a modifier key. / #:GO T| * Energize! * ÿ The generation of new generations is activated by this menu option; when active, the entry is 'Stop!', and can be used to stop generating new universes. / #:SETTINGSMENU T| * The Settings Menu * ÿ +:Invert Screen =:INVERT +:Connect Edges =:CONNECT +:Step on Keypress =:STEP +:Random Factor.. =:RANDOMFACTOR +:Delay.. =:DELAY +:Cell Border =:BORDER +:Cell Size.. =:CELLSIZE +:Set Rules.. =:RULES / #:INVERT T| * Inverting the Universe * ÿ The universe can be either black, with white live cells being alive, or white, with black cells as live ones. This menu option toggles this display mode. / #:CONNECT T| * The Edge of the Universe * ÿ To form a pseudo-infinite universe the edges can be connected, i.e. a cell at some edge is considered to be adjacent to a cell on the opposite edge. This menu option determines the edge behaviour. / #:STEP T| * Controlling Universe Generation * ÿ Universes can either be generated automatically or on per-one basis. In step mode, a single universe is computed and ST Life waits for a keypress before generating the next. / #:RANDOMFACTOR T| * Setting the Random Factor * ÿ Different rules induce different behaviour: interesting cases may occur at various saturation levels. To cope with that, the chance of a cell coming alive whenever randomizing a universe is selectable. / #:DELAY T| * Delaying Universe Generation * ÿ Sometimes it is desirable to slow down the generation of new universes in order to be able to see more precisely what's happening. For that reason a delay between consecutive universes can be selected. The time needed for computation is subtracted from the selected delay, so that this can be done in real time. / #:BORDER T| * The Space between Us * ÿ Cells can either be drawn with or without a little space inbetween. Visually, things are clearer with, but less cells fit the screen that way. This option may be disabled if given the current cell size there is insufficient memory to hold all cells without a border. / #:CELLSIZE T| * Setting the Cell Size * ÿ More cells means more computations to be done; sometimes a bigger size may suffice, sometimes a smaller size is necessary. Select the desired cell size by clicking its representation. / #:RULES T| * Setting the Rules * ÿ ST Life is in fact more than a simple implementation of the Game of Life: its operation is abstracted from the LIFE-rules, so that other combinations can be selected for both birth and survival. This makes it possible to examine the behaviour of a wider range of cellular automata. / #:NKCCCREDITS T| * Normalized Key Codes * ÿ The program uses the so-called Normalized Key Code Converter (Release 2.71 Copyright (c) 1989-1991 Harald Siegmund). This makes it independant of the specific keyboard you use - your HELP-key will always be interpreted as a HELP-key, even if it happens to send a code which *my* keyboard sends when pressing the CTRL-ALT-LSHIFT-Q key. / #:MDCREDITS T| * MyDials * ÿ In the beginning there were only ordinary dialog boxes. Then Julian Reschke, the author of the ultimate book for ST(E)/TT programmers created a library called FlyDials. Alas, he let nearly noone use it. Other people, therefore, implemented a similar facility: dialogs with key control, beautiful Mac-ish radio buttons and checkboxes, and move boxes to drag the dialog. One of those libraries is called MyDials, and it is written by Olaf Meisiek. I believe it to be one of the most well-designed and stable among its kind.