fizmo-ncursesw

FIZMO-NCURSESW(6)                Games Manual                FIZMO-NCURSESW(6)



NAME
       fizmo-ncursesw - wide-character-ncurses implementation of the fizmo Z-
       Machine Interpreter.


SYNOPSIS
       fizmo-ncursesw [ options ] [ storyfile [ blorbfile ] | storytitle |
       quetzal-save-file ]


DESCRIPTION
       fizmo-ncursesw is a frontend for the fizmo Z-Machine interpreter—“Fimzo
       interprets Z-machine opcodes”—based on the ncurses library, and
       supporting wide characters. It runs most of the interactive fiction
       games aka text adventures written by Infocom or other games which are
       based on the Z-Machine. Currently all versions except version 6 are
       supported. It also supports sound via the SDL media library—see
       subsection “Sound Support”—and implements basic Blorb support.

   Starting a new game by providing a filename
       This is the most direct way to get a game running. Just give the
       filename of the story file at the end of the command line.

   Starting a new game by providing its title
       If the game you want to play is stored in the list of known games, you
       can simply start it by providing the title instead of the full
       filename.  Example: "fizmo sorcerer" will run the game “Sorcerer”, no
       matter if it is stored in the current directory or somewhere else.

   Starting a game from the list of story files
       Without any filename given, fizmo will display the list of the
       currently known story files it has indexed so far. Everytime fizmo is
       started and no story-name is provided, fizmo will update the list of
       stories by indexing the directories listed in ZCODE_PATH or
       INFOCOM_PATH.

   Restoring a game from the command line
       If you give the name of a quetzal save-game file at the end of the
       command line, fizmo will use its story file list to locate the story
       file the saved game originates from to directly restore the game.


   Sound Support
       fizmo-ncursesw supports sound via the SDL multimedia library which is
       available for most unix flavors and Windows. Sound files are either
       read from a blorb file, or, old-infocom-style-wise, from separate *.snd
       files which have to be stored in the same directory as the game file.
       At the moment, only AIFF sounds can be read from a blorb file.  When
       the game requests a sound, fizmo uses the sound from the current blorb
       file. If no blorb file is given or the sound cannot be found in it,
       fizmo tries to locate a file with the format “GAMFIL00.SND” where
       GAMEFIL symbolizes the game filename shortened to a maximum of six
       characters, the sound number—eventually padded by a leading zero so it
       has always a length of two characters—and a “.SND” suffix. Both upper-
       and lowercase filenames are attempted. That means you can directly use
       the sounds from the IF-archive at “/if-archive/infocom/media/sound”.


   Story-Metadata / IF Bibliography
       fizmo-ncursesw is able to read metadata-files as defined in the “Treaty
       of Babel”. It will try to read the metadata from all files ending in
       .iFiction which are found in the $HOME/.config/fizmo directory.  Fizmo
       will re-build the story list once the metadata files have been changed.
       For this purpose, the timestamps for the metadata-files are stored in
       the file $HOME/.config/fizmo/babel-timestamps.  For more information
       about the treaty, see http://babel.ifarchive.org/.


OPTIONS
       -h, --help
              Show help message and exit.

       -b, --background-color <color-name>
              Set background color. Valid color names are black, red, green,
              yellow, blue, magenta, cyan and white.

       -dh, --disable-hyphenation
              Disable word hyphenation. Useful for languages other than the
              supported ones.

       -ds, --disable-sound
              Disable sound altogether. May be useful when playing on remote
              machines.

       -ec, --enable-colors
              Enable colors.

       -f, --foreground-color <color-name>
              Set foreground color. Valid color names are black, red, green,
              yellow, blue, magenta, cyan and white.

       -fi, --start-file-input
              Start game with input from file.

       -if, --input-file
              Filename to read commands from.

       -l, --set-locale <locale-code>
              Set locale name for interpreter messages. Currently valid locale
              codes are en_GB, de_DE and fr_FR.

       -lm, --left-margin <width>
              Set left margin width, requires a numeric argument.

       -nc, --dont-use-colors
              Don't use colors.

       -nu, --dont-update-story-list
              Don't update story-list on startup. Useful in case you've got a
              large number of story files in your repository.

       -nx, --disable-x11-graphics
              Disable X11 graphics.

       -pr, --predictable
              Start with random generator in predictable mode.

       -ra, --random
              Start with random generator in standard random mode.

       -rc, --record-commands
              Activate recording of commands as soon as the game starts.

       -rf, --record-filename
              Filename to record input to.

       -rm, --right-margin <width>
              Set right margin width, requires a numeric argument.

       -rs, --recursively-search <directory-name>
              Search a directory recursively, meaning including
              subdirectories, for Z-Machine files.

       -s, --search <directory-name>
              Search a single directory for Z-Machine files.

       -s8, --force-8bit-sound
              Never use 16-bit resolution, always convert to 8bit (some
              systems may not be capable of 16-bit sound output).

       -st, --start-transcript
              Start game with scripting already enabled.

       -sy, --sync-transcript
              When a transcript is active, write data directly into the file
              as soon as possible.

       -t, --set-tandy-flag
              Sets the tandy flag, which emulates a game sold by the Tandy
              Corporation and slightly alters the game behaviour. See
              http://www.ifarchive.org/if-archive/infocom/info/tandy_bits.html
              for detailed information on what the tandy flag does.

       -tf, --transcript-filename
              Set transcript filename for the current session.

       -u, --update-story-list
              In case you have disabled automatic updates for your story list,
              this option will allow you to run the re-indexing manually.

       -um, --umem
              Use UMem instead of CMem for saving.

       -mu, --maximum-undo-steps
              Set number of maximum undo steps.

       -xi, -enable-x11-inline-graphics
              Enable XTerm graphics. This will make fizmo try to display
              graphics into a X-Terminal. Since this represents a rather ugly
              hack—and may not work at all for some installations—it is not
              enabled by default.

       -xt, --enable-xterm-title
              Use the XTerminal title bar to display the game name.


IN-GAME COMMANDS
       /help  Displays the list of available in-game commands.

       /info  Displays general version about the interpreter and its status,
              such as the version number, story release and serial number,
              stack, memory and random generator status.

       /config
              Displays current configuration values.

       /predictable
              Switches the random generator from “random” in “predictable”
              state and vice-versa.

       /recstart
              Records all user input in a command-file.

       /recstop
              Stop recording user input.

       /fileinput
              Start reading commands from a file.


ENVIRONMENT
        ZCODE_PATH
              Default list of path names—separated by colons—to search for Z-
              Machine games.

        INFOCOM_PATH
              Alternate list of pathnames which is used when ZCODE_PATH is not
              set.

        ZCODE_ROOT_PATH
              List of colon-separated path names which are recursively
              searched for Z-Machine games.


FILES
   List of files
       $HOME/.config/fizmo/config
              May contain user configuration parameters. In case
              $XDG_CONFIG_HOME is defined and contains an absolute path,
              $XDG_CONFIG_HOME/fizmo/config is used, in case of a relative
              path $HOME/$XDG_CONFIG_HOME/fizmo/confg is read.

       ($XDG_CONFIG_DIRS)/fizmo/config
              $XDG_CONFIG_DIRS may contain a colon separated list of config
              directories to search. In case $XDG_CONFIG_DIRS is not set or
              empty /etc/xdg is used instead. Every directory is searched for
              a subdirectory named fizmo containing a file config, which will
              be searched for configuration parameters.

       /etc/fizmo.conf
              Global configuration parameters.

       $HOME/.config/fizmo/story-list.txt
              Contains the current list of story files known. In case
              $XDG_CONFIG_HOME is set the path is altered as described above.

       $HOME/.config/fizmo/*.iFiction
              Fizmo treats all files with a suffix of .iFiction in the
              $HOME/.config/fizmo directory as sources for story metadata. For
              more info, see section “Story-Metadata / IF Bibliography” above.
              In case $XDG_CONFIG_HOME is defined, see above.

       $HOME/.config/fizmo/babel-timestamps
              A list of .iFiction-files and their respective timestamps as
              they were found when the story list was last built (knowing if
              the babel info has changed speeds up the update process).
              $XDG_CONFIG_HOME will alter the directory as described before.

   Option names for config files
       The following section lists the config-file's equivalents for the
       command lines options. For a detailed description of these options, see
       the “Options” section. Options have to start at the beginning of the
       line without any leading whitespace. Comments start with a '#' at the
       beginning of the line.

       background-color = <color-name>
       foreground-color = <color-name>
       transcript-filename = <filename>
       command-filename = <filename>
       i18n-search-path = <colon-separated-directory-names>
       locale = <language-code>
       savegame-path = <directory-name>
       random-mode = <random or predictable>
       save-text-history-paragraphs = <number of paragraphs to store in
       savegames>
       z-code-path = <colon-separated-directory-names>
       z-code-root-path = <colon-separated-directory-names>
       disable-sound = <no value or “true” means yes, otherwise no>
       quetzal-umem = <no value or “true” means yes, otherwise no>
       set-tandy-flag = <no value or “true” means yes, otherwise no>
       start-command-recording-when-story-starts = <no value or “true” means
       yes, otherwise no>
       start-file-input-when-story-starts = <no value or “true” means yes,
       otherwise no>
       start-script-when-story-starts = <no value or “true” means yes,
       otherwise no>
       disable-stream-2-hyphenation = <no value or “true” means yes, otherwise
       no>
       disable-stream-2-wrap = <no value or “true” means yes, otherwise no>
       stream-2-line-width = <line-width>
       stream-2-left-margin = <margin-size>
       sync-transcript = <no value or “true” means yes, otherwise no>
       left-margin = <number-of-columns>
       right-margin = <number-of-columns>
       disable-hyphenation = <no value or “true” means yes, otherwise no>
       disable-color = <any value means yes, empty no>
       force-8bit-sound = <any value means yes, empty no>
       enable-xterm-title = <no value or “true” means yes, otherwise no>
       dont-udpate-story-list = <no value or “true” means yes, otherwise no>
       max-undo-steps = <maximum number of stored undo steps as numerical
       value>
       enable-xterm-graphics = <no value or “true” means yes, otherwise no>
       display-x11-inline-image = <no value or “true” means yes, otherwise no>


MISCELLANEOUS
   Scrolling back
       You can use the PageUp and PageDown keys (some terminals may require
       holding down shift) anytime to review text which was scrolled above the
       current window border.

   Refreshing the screen
       CTRL-L will refresh the current display.

   Redrawing the screen
       CTRL-R will redraw the current display. Contrary to CTRL-L, which
       refreshes the screen based on the current layout, CTRL-R will
       reconstruct the latest output based on the output history. This will
       help to display output which is hidden in case a game clears the
       screen, writes some text into the top line and then turns on the score
       line which then overlays the topmost line.

   Resizing the screen
       In general, resizing the screen works best for game versions 3 and
       before, which is unfortunate since this encompasses only a part of the
       old Infocom games and none of the modern ones. For all others—including
       Seastalker—the upper window (which means mostly the status bar) cannot
       be resized and will remain fixed.

   Undocumented Infocom commands
       Here is a list of commands that some of Infocom's games seem to
       support, although I never saw them menitioned in a manual or reference
       card.

       $verify, $ve, $ver
              Verifies if the game file is correct (essentially executes the
              “verify” opcode). “$ve” works in almost all original Infocom
              games, “$ver” works in AMFV, Beyond Zork, Bureaucracy, Nord and
              Bert, Sherlock, Trinity and Zork Zero.

       $refre Refreshes the screen. Works in AMFV, Arthur, Bureaucracy, Nord
              and Bert, Sherlock, Shogun, Trinity and Zork Zero.

       $id    The “$id” command gives information about the interpreter. Works
              in Border Zone, Bureaucracy and Trinity.

       $credi Shows a credit screen in Trinity and Beyond Zork.

       #comm, #command
              This will read your input from a file. Works in AMFV, Ballyhoo,
              Bureaucracy, Enchanter, Hollywood Hjinx, Leather Goddesses,
              Lurking Horror, Plundered Hearts, Shogun, Sorcerer,
              Spellbreaker, Stationfall, Trinity and Zork Zero.

       #rand <int>
              Seeds the random generator with the given value. May be used in
              AMFV, Ballyhoo, Border Zone, Bureaucracy, Enchanter, Hollywood
              Hijinx, Leather Goddesses, Lurking Horror, Plundered Hearts,
              Shogun, Sorcerer, Spellbreaker, Stationfall and Zork Zero.

       #reco, #record
              This will record your commands into a file. Works in AMFV,
              Ballyhoo, Bureaucracy, Enchanter, Hollywood Hjinx, Leather
              Goddesses, Lurking Horror, Plundered Hearts, Shogun, Sorcerer,
              Spellbreaker, Stationfall and Zork Zero.

       #unre, #unrecord
              Stops recording commands into a file. Used in AMFV, Ballyhoo,
              Bureaucracy, Enchanter, Hollywood Hijinx, Leather Goddesses,
              Lurking Horror, Plundered Hearts, Shogun, Sorcerer,
              Spellbreaker, Stationfall and Zork Zero.


CREDITS
   ITF — The InfoTaskForce
       All the people who worked on the Z-Machine Specification, in
       alphabetical order: Chris Tham, David Beazley, George Janczuk, David
       Fillmore, Graham Nelson, Mark Howell, Matthias Pfaller, Mike
       Threepoint, Paul David Doherty, Peter Lisle, Russell Hoare and Stefan
       Jokisch.  See http://en.wikipedia.org/wiki/InfoTaskForce for more
       information.

   The Frotz authors
       When I got stuck I peeked into the frotz source. Thanks to Stefan
       Jokisch, Galen Hazelwood and David Griffith.

   Mark Howell
       For the pix2gif code which is used in libdrilbo to parse the infocom
       .mg1 image files.

   People helping with bug fixes, extensions, packaging, translations and more
       in alphabetical order: Andrew Plotkin, B. Watson, Michael Baltes, David
       Batchelder, David Leverton, Eric Forgeot, Jared Reisinger, irb, Lewis
       Gentry, Michael Dunlap, Mikko Torvinen, Nikos Chantziaras, Patrick
       Matthäi, Samuel Verschelde, Stephen Gutknecht, Zachary Kline and the
       people at MacPorts.



SEE ALSO
       fizmo-sdl2(6), fizmo-console(6), frotz(6), xzip(6), jzip(6), inform(1)


AUTHOR
       Fizmo was written in 2005–2017 by Christoph Ender.


BUGS
       Fizmo is in beta stage and will probably still have some bugs.  If you
       stumble upon one, please send an e-mail to fizmo@spellbreaker.org.




0.7.14                          August 14, 2017              FIZMO-NCURSESW(6)