1XFROTZ(6) Games Manual XFROTZ(6)
2
3
4
6 xfrotz - interpreter for Infocom and other Z-Machine games (X11 inter‐
7 face)
8
9
11 xfrotz [options] file
12
13
15 The xfrotz program is an Xlib-based interpreter for Z-machine code, the
16 byte code used by Infocom games and, more recently, Inform. xfrotz
17 supports versions 1 through 8 of the format. It uses the standard
18 Quetzal format for its saved games.
19
20 Xfrotz supports Version 6 graphical games. It currently supports
21 color, graphics (in the .mg1 format only) by way of Blorb archives or
22 by parsing Infocom's original files. Sound is supported through OSS.
23
24
25
27 In each of the following options which enables some feature, replacing
28 - with + explicitly disables that feature, overriding any X resources.
29 Also, each option has a corresponding X resource, which is listed in
30 parentheses after the option name.
31
32 -aa (class WatchAttribute, name watchAttrAssign) Enables watching of
33 attribute assignment.
34
35 -at (class WatchAttribute, name watchAttrTest) Enables watching of
36 attribute testing.
37
38 -bg color
39 (class Background, name background) Sets the default background
40 color. In addition to the standard X color specification for‐
41 mats, xfrotz supports the format z:num, which refers to a z-ma‐
42 chine color from 2 to 9.
43
44 -c number
45 (class ContextLines, name contextLines) Specifies the number of
46 context lines used. When scrolling large amounts of text,
47 xfrotz pauses after each screenful with a ``[MORE]'' prompt;
48 this option specifies how many lines of a previous screen xfrotz
49 will keep at the top of the next screen.
50
51 -fg color
52 (class Foreground, name foreground) Sets the default foreground
53 color. See -bg above.
54
55 -fn[-z|[f][b][i]] font name
56 (class Font, name font[Z|[F][B][I]]) Sets the fonts to be used
57 for various styles. For example, -fn-fbi sets the font for
58 fixed, bold, italic text, and -fn-z sets the z-machine ``picture
59 font,'' which is used in Beyond Zork and Journey.
60
61 -i (class IgnoreErrors, name ignoreErrors) Ignore runtime errors.
62 This can be useful when running xfrotz with buggy story files
63 which cause fatal errors.
64
65 -lm number
66 (class Margin, name leftMargin) Sets the left margin.
67
68 -ol (class WatchObject, name watchObjLocating) Enables watching of
69 testing the location of objects.
70
71 -om (class WatchObject, name WatchObjMovement) Enables watching of
72 object movement.
73
74 -p (class Piracy, name piracy) Enable branching on the @piracy op‐
75 code. This opcode is seldom used.
76
77 -rm number
78 (class Margin, name rightMargin) Sets the right margin.
79
80 -rs number
81 (class RandomSeed, name randomSeed) Set the random seed. By de‐
82 fault, the random number generator is initialized based on the
83 system clock; this allows you to make the random number genera‐
84 tor predictable, for use in recorded scripts or debugging.
85
86 -sc number
87 (class ScriptColumns, name scriptColumns) Set the transcript
88 width (default 80). Set to 0 to disable line splitting in tran‐
89 scripts.
90
91 -t (class Tandy, name tandy) Set the z-machine's Tandy bit, which
92 affects the behavior of certain Infocom games. For example,
93 Zork I pretends not to have sequels, and Witness has its lan‐
94 guage censored.
95
96 -u number
97 (class UndoSlots, name undoSlots) Set the number of undo slots
98 available. The default number is 25. Note that many Infocom
99 games do not support an ``undo'' command, and most Inform games
100 do not allow more than one ``undo'' at a time. Because of this,
101 you may need to use the undo hotkey instead (see below).
102
103 -x (class ExpandAbbrevs, name expandAbbrevs) With this option en‐
104 abled, xfrotz expands ``x'' to ``examine,'' ``o'' to ``oops,''
105 and ``g'' to ``again.'' This is convenient when running certain
106 Infocom games which do not implement these abbreviations.
107
108 -xrm resources
109 This allows setting resources on the command line.
110
111 -zs level
112 (class ZStrict, name zStrict) Set the reporting level of ``Vile
113 Zero Error From Hell'' bugs. The possible levels are: 0 to
114 print no error messages, 1 to print just one error message and
115 ignore subsequent errors (the default), 2 to print all error
116 messages, or 3 to exit with a fatal error. Symbolic values of
117 never, once, always, and fatal, respectively, are also accepted.
118
120 xfrotz's resource class is ``XFrotz'', and its resource name is the
121 base name by which it was invoked, usually ``xfrotz''. In addition to
122 the X resources listed above, there is one more set of resources: by
123 setting colornum (class name Colornum) to the name of a color, you can
124 change the meaning of the z-machine colors. Note that here the z:num
125 syntax is not accepted.
126
128 xfrotz supports the INFOCOM_PATH environment variable. This is a
129 colon-separated list of pathnames in which xfrotz will search for the
130 given story file. Note that xfrotz will expect the story.mg1 file and
131 the sounds directory to be in the same directory as it finds the story
132 file.
133
135 xfrotz supports several ``hotkeys,'' which interrupt the currently run‐
136 ning game to set options or perform certain actions.
137
138 Mod1+D Sets debugging options by prompting the user. These options are
139 equivalent to specifying -aa, -at, -ol, and -om on the command
140 line.
141
142 Mod1+H Lists available hotkeys.
143
144 Mod1+N Starts a new game. Equivalent to the restart command supported
145 by most games.
146
147 Mod1+P Starts or stops playback from a recorded script.
148
149 Mod1+R Starts or stops recording player input into a file.
150
151 Mod1+S Sets the random number generator seed.
152
153 Mod1+U Undoes one turn.
154
155 Mod1+X Exits the currently running game.
156
157
158
160 The Frotz homepage is at https://661.org/proj/if/frotz/.
161
162 The bleeding edge of Frotz development may be followed there.
163
164 The Interactive Fiction Archive is a good place to find games to play
165 with Frotz. Various ports and builds for Frotz may also be found here.
166 Here is its URL:
167 http://www.ifarchive.org/
168
169 Most distributions of Linux and BSD include Frotz in their package
170 repositories.
171
172 It is distributed under the GNU General Public License version 2 or (at
173 your option) any later version.
174 https://www.gnu.org/licenses/gpl-2.0.en.html
175
176 This software is offered as-is with no warranty or liability. If you
177 find a bug or would like Frotz to do something it doesn't currently do,
178 please visit the above Gitlab website and report your concerns.
179
180
181
183 This manpage is not intended to tell users HOW to play interactive fic‐
184 tion. Refer to the file HOW_TO_PLAY included in the Unix Frotz docu‐
185 mentation or visit one of the following sites:
186 http://www.microheaven.com/ifguide/
187 http://www.brasslantern.org/beginners/
188 http://www.musicwords.net/if/how_to_play.htm
189 http://ifarchive.org/
190
191
192
194 If run on an 8-bit display, xfrotz will most likely leak the entire
195 color palette, especially if displaying graphics.
196
197 The window size is fixed at 800x600, with pictures scaled to match;
198 this scaling is hard coded. Also, xfrotz depends on backing store in‐
199 stead of saving the screen's state.
200
201 If different fonts have different heights, the display might look a bit
202 strange, and things might not line up as they should. This is espe‐
203 cially apparent in menus.
204
205 In order to change the fonts used, you would usually have to specify at
206 least 4 fonts (for normal, bold, italic, and bold italic). This is ex‐
207 tremely cumbersome.
208
209
210
212 frotz was written by Stefan Jokisch in 1995-7. xfrotz is an Xlib port
213 written by Daniel Schepler, based in part on the Unix port by Galen
214 Hazelwood and on WinFrotz by Rich Lawrence.
215 The Unix port is currently maintained by David Griffith <dave@661.org>
216
217
219 frotz(6) sfrotz(6) nitfol(6) rezrov(6) jzip(6) xzip(6) inform(1)
220
221
222
223
224X11 Frotz v2.54 2021-06-21 XFROTZ(6)