• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bitmaps/H03-May-2022-5,2054,999

CHANGESH A D16-Feb-19943.3 KiB10064

CHANGES.4.01H A D16-Feb-1994946 3419

CHANGES.4.02H A D16-Feb-1994315 137

CHANGES.4.03H A D20-Jan-1995355 126

CHANGES.4.04H A D14-Dec-1995586 1912

COPYRIGHTH A D22-Dec-1995625 1612

Drag.cH A D22-Dec-199515.4 KiB571431

Drag.hH A D22-Dec-19952.4 KiB6419

Icon.cH A D22-Dec-199520.4 KiB752588

Icon.hH A D22-Dec-19952.4 KiB6619

ImakefileH A D03-May-202235.1 KiB1,047860

Makefile.stdH A D22-Dec-199551.8 KiB1,343878

PixmapList.cH A D22-Dec-199541.6 KiB1,4551,207

PixmapList.hH A D22-Dec-19953 KiB7526

READMEH A D22-Dec-19954.6 KiB123100

README.xmredH A D22-Dec-199521.9 KiB529339

README.xmrisH A D22-Dec-199557.6 KiB1,057736

Xmris-ad.srcH A D03-May-202212.9 KiB319312

all.cH A D03-May-202239.6 KiB1,6771,355

alphabet.gdnH A D31-Jan-19947.3 KiB473472

ansiknr.hH A D22-Dec-19951.7 KiB7158

apple.cH A D22-Dec-199520.8 KiB923781

common.hH A D22-Dec-199513 KiB424356

control.cH A D22-Dec-199531.8 KiB1,052854

defcom.cH A D22-Dec-199541.6 KiB976830

defcom.hH A D22-Dec-19953.3 KiB10066

defmred.cH A D22-Dec-1995280 138

defmred.hH A D22-Dec-1995172 51

defmris.cH A D22-Dec-19957.4 KiB218185

defmris.hH A D22-Dec-1995265 84

demo.cH A D22-Dec-199548.1 KiB1,9131,579

dialogs.cH A D22-Dec-19959.2 KiB337266

digits.gdnH A D22-Dec-19952.9 KiB186185

draw.cH A D03-May-202244.2 KiB1,8221,489

garden.cH A D22-Dec-199547.5 KiB1,8831,534

makecom.cH A D22-Dec-199543 KiB1,5641,288

makemred.cH A D22-Dec-199514.5 KiB534457

makemris.cH A D22-Dec-19958.5 KiB350274

menubar.cH A D22-Dec-199513.1 KiB544436

monster.cH A D22-Dec-199520.6 KiB886750

move.cH A D22-Dec-199541 KiB1,4801,244

patchlevel.hH A D22-Dec-1995204 63

player.cH A D22-Dec-199526.8 KiB1,113949

puzzle.gdnH A D31-Jan-19942.2 KiB152151

scoring.cH A D03-May-202233.7 KiB1,5171,228

scram.cH A D22-Dec-199528 KiB1,1961,042

timer.cH A D03-May-202218.4 KiB687515

xmred.cH A D22-Dec-19952.3 KiB11590

xmred.gdnH A D31-Jan-1994353 2322

xmred.hH A D22-Dec-19955.8 KiB177132

xmred.manH A D03-May-202215.3 KiB406400

xmris.cH A D22-Dec-199533.5 KiB1,3711,120

xmris.hH A D22-Dec-199520.7 KiB585424

xmris.manH A D03-May-202234.6 KiB996990

README

1			X M R I S V4.04
2                        X M R E D V1.02
3		Copyright (C) 1995, 1994, 1993, 1992 Nathan Sidwell
4RCS $Id: README,v 4.6 1995/12/14 13:53:27 nathan Exp $
5
6Modify the Imakefile as appropriate for your system. This should just mean
7setting SCORE to point to the score file directory, and maybe setting
8THEBINDIR and THEMANDIR. Both the FONT and the SCORE are checked for sanity.
9
10The source will compile with both ANSI and K&R compilers, provided that
11they both correctly define __STDC__. You can also use FUNCPROTO to specify
12partial conformance. FUNCPROTO is used in the same way that Xfuncproto.h
13uses it. Namely bit 0 specifies function prototypes and ANSI declarations,
14bit 1 specifies if varargs are used like ansi does, bit 2 specifies if
15const is available, bit 3 specifies if function args should be prototyped.
16Most KnR compilers can take FUNCPROTO=5 or 7.
17Some DEC 5000 systems appear to have incorrectly set up xmkmf, there are some
18lines in the Imakefile which will need to be uncommented to get them
19to compile properly. The openwindows include files for solaris are
20broken for K&R compilers (problems with _XString and _Xconst). The
21offending files are Intrinsic.h, Xfuncproto.h, and Xresource.h
22
23There are a few things which may cause problems with different
24platforms. The timer interrupt stuff, in timer.c, knows about
25BSD, SYSV, __hpux and POSIX signals, make sure that the correct define
26is given to the compiler from the Imakefile. The elapsed time should
27use gettimeofday, if you haven't got that function, then supply
28the define USETIME, this will give less accurate timing. Also
29gettimeofday may or may not need a timezone argument, this is checked
30by the system type in timer.c.
31
32Set SCORE to the name of the high score directory.
33The score file uses lockf or flock by default, this doesn't work
34on some distributed filing systems. If so,
35define USELOCKFILE, and a lock file is used to do the locking with
36open(O_CREAT | O_EXCL). The name of the lock file is xmris.lock.
37For this to work the high score directory must be writeable, which
38is not the case with lockf. Personal high score files are also put
39in this directory, if xmris can create them there, otherwise they
40will be put in the users' home directory.
41
42You may need to force static linking, and not use shared libraries, or
43store a library load path with the binary with the linker -R option.
44The EXTRA_LOAD_FLAGS can be used for this. (This may be necessary for
45a setuid version, as these programs only search /usr/lib to do the
46dynamic linking, disregarding LD_LIBRARY_PATH, for obvious reasons.)
47
48The make file is configured so that 'make install' will install a setuid
49xmris owned by games in the BINDIR. Set up the score directory
50appropriately, copying the example garden files into it.
51You can alter OWNER, SCOREFILEFLAGS and INSTPGMFLAGS as you require.
52If you do not want to install xmris into the normal locations, then
53alter THEBINDIR, THEMANDIR and XAPPLOADDIR appropriately.
54
55To make on your system type
56
57	xmkmf
58	make
59	make install
60	make install.man
61
62Xmred uses the same database as xmris, so that it can pick up the color
63resources. This means that it will not use its fallback resources if you have
64an old Xmris resource file installed. The result will be xmred laying itself
65out incorrectly, such that you will not be able to use it.
66
67The scram program is used to generate the sprites in the smallest
68number of bitplanes. You will get some warnings warnings of the form
69'Warning: Noswap color 'COLOR_WHITE' has no pixels', these may be ignored.
70
71To remove all the garbage left by a make you can do
72
73	make clean
74
75This removes all the object files, and all the sprites generated by scram.
76
77There is are two debug options to the compiler, NDEBUG, which inhibits
78asserts, if defined. Also DEBUGEVENTLOOP which prints the X events, as they
79are seen.
80
81Please report modifications, so that they can be considered for
82inclusion in later releases (especially true of system specific stuff).
83
84email to nathan@pact.srf.ac.uk
85
86XMRIS has been tested on the following systems, os's and compilers
87(but not all combinations of them!), and X release R4, R5 & R6, and
88openwindows. Interestingly on a 40MHz sparc classic, openwindows is
89a tad to slow, but X11R5 has no problems, even with the fastest
90animation.
91
92Platform:
93Sparc 1 monochrome, 8bit pseudo colour
94Sparc 1+
95Sparc IPC 8bit pseudo colour
96Sparc 2
97Sparc classic
98DECstation 5000
99pmax 3100 8bit greyscale
100pmax 5000 colour
101HP 9000/720
102i386 PC
103
104OS:
105Sunos 4.1, 4.1.1, 4.1.2
106Solaris 2.1, 2.2
107Ultrix 4.0, 4.2a
108RiscOS 5.0B
109Mach 2.5
110HP-UX 7.05, 8.05, 8.07
111linux
112
113compiler:
114gcc 1.38
115cc
116sun cc
117sun c++
118gcc 2.3.3
119
120Have fun.
121
122nathan
123

README.xmred

1
2
3
4XMRED(6)                 Games and Demos                 XMRED(6)
5
6
7
8NNNNAAAAMMMMEEEE
9     xmred - garden editor for xmris
10
11SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
12     xxxxmmmmrrrreeeedddd [-option ...] [-toolkitoption ...]
13
14DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
15     Mr Ed is a tool for creating and editing  alternate  gardens
16     for Mr Is.  Hopefully its user interface is intuitive enough
17     that most of this manual page need not be read by  a  casual
18     user.
19
20     In the default configuration, the  main  window  presents  a
21     garden image on the left, a control panel on the right and a
22     list of gardens underneath. Gardens can be loaded and  saved
23     using  the  menu,  these then appear in the list below.  The
24     insert option loads a file into the copy buffer. It can then
25     be dragged to the desired place in the garden list.
26
27     To edit a garden (or comment, or include), either select  it
28     with  a  button  press  and release, or with a drag and drop
29     into the edit box at the lower right. The drag and drop will
30     remove  it from the garden list, selection will copy it, and
31     the source garden will be updated too.  To  delete  gardens,
32     drag  them to the copy buffer.  The main garden display will
33     be updated, if it was a garden being moved to the edit  box.
34     The  box  on  the lower right is a copy buffer. You can drag
35     and drop into and out of this to the garden list or  one  of
36     the  edit  boxes.  Similarly  you can drag and drop from the
37     edit boxes to the garden list, and within  the  garden  list
38     itself.  Note  that drag and drop always removes the source,
39     if it is within the garden list, whereas selection does  not
40     delete the source.
41
42     The control panel shows a set of options, which can be bound
43     to  buttons.  This  can  be done either by press and release
44     with the required button, or drag and drop onto the required
45     button's  icon. You can bind an option to more than one but-
46     ton. However, press and release on the  apples  option  will
47     simply  change  the  currently  selected explicit apple, not
48     necessarily bind that option to a new button. The fill  pat-
49     tern  and  color  can  be  select  by  pressing on them. The
50     current garden will be updated. The list  of  buttons  shows
51     which  options  are  bound  to  which  buttons. You can also
52     change button bindings by pressing  the  destination  button
53     with  the pointer over the button with the required option's
54     icon, or by drag and drop from button to button.
55
56     The six options are,
57
58     AAAApppppppplllleeee
59          This selects where apples from one of the four sets  of
60
61
62
63X Version 11      Last change: 20 December 1993                 1
64
65
66
67
68
69
70XMRED(6)                 Games and Demos                 XMRED(6)
71
72
73
74          explicit  apple  locations  are placed. To select which
75          set is being controlled, press on the relevant quadrant
76          of  the  icon.  One of these sets is used when Mr Is is
77          used with the +random option. You can place apples any-
78          where there isn't a path, even in an unstable location,
79          which will immediately fall. Placing an explicit  apple
80          on a path, will fill the path.
81
82     RRRRaaaannnnddddoooommmm
83          This controls where apples may be placed  randomly,  if
84          Mr  Is  is started with the -random option. Apples will
85          only be placed on the  specified  locations,  or  where
86          ever  an  explicit  apple  could be located. Unless you
87          specify otherwise, random apples may  be  located  any-
88          where there isn't a path, even unstable locations which
89          will immediately fall. Placing  a  random  apple  on  a
90          path, will fill the path.
91
92     CCCChhhheeeerrrrrrrryyyy
93          This controls where cherries are located. There must be
94          at  least  one  cherry  on  a  garden.  Cherries may be
95          located anywhere on the board.
96
97     PPPPaaaatttthhhh This controls where the initial path is. Each  location
98          on  the  board  consists  of  a  centre and four edges.
99          Depending on the exact location  of  the  pointer,  you
100          will  select  either  the centre, or an edge. Filling a
101          path will place a random apple in the filled  location.
102          The four locations immediately below the
103
104     PPPPllllaaaayyyyeeeerrrr
105          This controls where the player starts from. There  must
106          be exactly one such location.
107
108     DDDDeeeennnn  This controls where the monsters start from. There must
109          be at least one den.
110
111     The list of totals show the counts for the explicit  apples,
112     cherries,  random  apples  required,  apple spaces, unstable
113     apple positions, dens and player  positions.  A  warning  is
114     shown  on  the left of any which are inconsistant, or out of
115     range. The number of apples for a garden can be set by  mov-
116     ing  the scroll bar at the left of the apple icon. Note that
117     when you change the number  of  apples,  or  add  or  remove
118     explicit  apples, a warning will change on on some or all of
119     the explicit apple counts. This is just to remind  you  that
120     you  must do some more work on the garden, before it is con-
121     sistant. There are two types of random apple spaces,  stable
122     and  unstable.  The  unstable  space  count is shown with an
123     arrow in it, the other apple space  count  shows  the  total
124     number  of apple spaces. The hazzard warning on the unstable
125     count,  just  shows  that  you  have  some  unstable   apple
126
127
128
129X Version 11      Last change: 20 December 1993                 2
130
131
132
133
134
135
136XMRED(6)                 Games and Demos                 XMRED(6)
137
138
139
140     positions  (this  may be intentional on your part). The haz-
141     zard on the total apple space count indicates that there are
142     less  spaces than the number of apples you specified for the
143     garden.
144
145     Below this is a comment box for the garden.  Selecting  this
146     will  pop  up a dialog which you can enter information about
147     the garden.
148
149     At the lower right of the control panel is  a  display  mode
150     selector. There are three display modes. The first shows all
151     the explicit apple positions, 4 to a cell when required. The
152     second  shows  only  one  set  of  explicit  apples, the set
153     selected using the apples option quadrant.  The  final  mode
154     shows  none  of  the  explicit apples, just the random apple
155     spaces.
156
157     The garden display is on the left  of  this.  It  shows  the
158     currently edited garden. Clicking or dragging a mouse button
159     on this area will perform the option currently bound to that
160     button. You will notice the totals change when you do this.
161
162     Mr Ed will use colour sprites, if the visual permits it (has
163     a  colour  map  size of more than 15, and you haven't forced
164     monochrome). All the colours bar black and  white  are  user
165     definable.  There  are  four  sets, one for each of the four
166     combinations of gender and swap flag. The colours are  allo-
167     cated  in  reverse  order of their distance in colour space,
168     from currently allocated colours (the most  distant  colours
169     are  allocated first). That way, if allocation fails because
170     the colour map is  full,  an  allocated  substitute  colour,
171     which  is  nearest  the  desired colour, can be used and the
172     allocated colours are kept maximally distant.  You can limit
173     the number of distinct colours with the -distinct option.  A
174     warning message is sent to stderr, if  a  colour  allocation
175     fails.  The -colours argument shows how these are allocated,
176     and -help -colours can be used to get  the  colour  resource
177     names.
178
179OOOOPPPPTTTTIIIIOOOONNNNSSSS
180     Mr Ed accepts the standard X Toolkit  options,  as  well  as
181     these.
182
183     ----hhhheeeellllpppp
184          Lists the command options, application resource  fields
185          and  some  other  information to stderr. Does not start
186          the game. If the -colours option is supplied too,  then
187          the  colour  resource  classes are listed instead, with
188          their default values. The format of this list is  suit-
189          able  for inclusion in a resource file. Note, this does
190          not list out the colour values that you  would  get  if
191          you  ran  the  game,  as  it  does  not  read the color
192
193
194
195X Version 11      Last change: 20 December 1993                 3
196
197
198
199
200
201
202XMRED(6)                 Games and Demos                 XMRED(6)
203
204
205
206          resources.
207
208     ----sssswwwwaaaapppp
209     ----rrrrvvvv
210     ----rrrreeeevvvveeeerrrrsssseeee
211          Normally the foreground is  black  and  the  background
212          white,  this  swaps them round. On colour systems, this
213          may also alter other colours.
214
215     ++++sssswwwwaaaapppp
216     ----nnnnoooosssswwwwaaaapppp
217          Override a swap resource in your  resources,  to  force
218          unswapped colours.
219
220     ----mmmmoooonnnnoooo
221          Use black and white, even on colour  displays.  (Unfor-
222          tunately,  the obvious option, '-bw', is already nabbed
223          by the toolkit as borderwidth.)
224
225     ----mmmmrrrriiiissss
226     ----mmmmssssiiiitttt
227     ----ggggeeeennnnddddeeeerrrr _g_e_n_d_e_r
228          Mr Ed has two sets of sprites. Mris selects the classic
229          sprites,  while  msit  selects a more modern set. Valid
230          genders are  'he',  'she',  'female',  'male',  'msit',
231          'mris', 'boy', 'girl'.
232
233     ----ddddeeeepppptttthhhh _d_e_p_t_h
234          Mr Ed will use the default depth of the screen. You may
235          wish to override that by using this option. Selecting a
236          different depth may affect the visual selected.
237
238     ----vvvviiiissssuuuuaaaallll _v_i_s_u_a_l-_c_l_a_s_s
239          Mr Ed will pick the default visual, but you  can  over-
240          ride  that  by  specifying  a  particular visual class.
241          Valid   visuals   are   'PseudoColor',   'DirectColor',
242          'TrueColor',   'StaticColor',  'GrayScale',  and  'Sta-
243          ticGray'. To see which one is picked, you can  use  the
244          -colours option. If you do select a non-default visual,
245          you may have to specify a private colour map  too,  due
246          to limitations of the server or display.
247
248     ----pppprrrriiiivvvvaaaatttteeee
249          This forces Mr Ed to allocate  a  private  colour  map.
250          Normally Mr Ed will share the default colour map of the
251          selected visual, but if that does not have enough  free
252          colour cells then some colours will have to be shared.
253
254     ----ccccoooolllloooouuuurrrrssss
255     ----ccccoooolllloooorrrrssss
256          Show how the colours are allocated,  and  which  visual
257          has been selected.  The allocation is listed to stdout.
258
259
260
261X Version 11      Last change: 20 December 1993                 4
262
263
264
265
266
267
268XMRED(6)                 Games and Demos                 XMRED(6)
269
270
271
272          When allocating each colour, its resource name and  rgb
273          values  are  listed  together  with the nearest already
274          allocated colour  and  the  distance  between  them  in
275          colour  space.  The  allocated  pixel number is printed
276          last. If  given  with  the  -help  option,  the  colour
277          resource  classes  are  listed,  and  the game does not
278          start.
279
280     ----ddddiiiissssttttiiiinnnncccctttt _n
281          Sets the number of distinct colours used. This  can  be
282          used  to  limit  the  number  of  colours used from the
283          colour map. Black and white are not included, and  nei-
284          ther  are  the two writable colours used for the garden
285          backgrounds on dynamic visuals. Note that  -distinct  0
286          is different from -mono, even though both will only use
287          black and white.
288
289RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
290     Mr Ed uses the X toolkit application resource mechanism  for
291     setting up the environment. Application resource items start
292     with 'Xmris', so that Mr Ed will pick up your  defaults  for
293     Mr  Is.  The  resource  name  can  be derived from the given
294     resource class by decapitalizing it. For  example  'cherryS-
295     talk'  is the resource name for the class 'cherryStalk'. The
296     following classes are used (choices in '{}' and defaults  in
297     '[]'.)
298
299     XXXXmmmmrrrriiiissss....RRRReeeevvvveeeerrrrsssseeeeVVVViiiiddddeeeeoooo:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
300          Specifies whether to use swapped colours or not.
301
302     XXXXmmmmrrrriiiissss....MMMMoooonnnnoooo:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
303          Whether  the  default  is  for  monochrome  on   colour
304          displays.
305
306     XXXXmmmmrrrriiiissss....GGGGeeeennnnddddeeeerrrr:::: _g_e_n_d_e_r [[[[hhhheeee]]]]
307          Sets the default game gender. Valid genders are 'mris',
308          'msit', 'she', 'he', 'female', 'male', 'boy', 'girl'.
309
310     XXXXmmmmrrrriiiissss....DDDDeeeepppptttthhhh:::: _d_e_p_t_h
311          Set the required screen depth to use.
312
313     XXXXmmmmrrrriiiissss....VVVViiiissssuuuuaaaallll:::: _v_i_s_u_a_l-_c_l_a_s_s
314          Set the required visual class to use. Valid visuals are
315          'PseudoColor',    'DirectColor',   'TrueColor',   'Sta-
316          ticColor', 'GrayScale', and 'StaticGray'.
317
318     XXXXmmmmrrrriiiissss....PPPPrrrriiiivvvvaaaatttteeee:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
319          Set whether or not to use a private colour map.
320
321     XXXXmmmmrrrriiiissss....DDDDiiiissssttttiiiinnnncccctttt:::: _n
322          Set the number of distinct colours allocated  from  the
323          colour map.
324
325
326
327X Version 11      Last change: 20 December 1993                 5
328
329
330
331
332
333
334XMRED(6)                 Games and Demos                 XMRED(6)
335
336
337
338     In addition, you have the normal resources such as '*Font'.
339
340CCCCOOOOLLLLOOOOUUUURRRR RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
341     There are many colour name defaults. For a full  description
342     see  the  xmris(6)  manual  page,  but note that not all the
343     colors are used for Mr Ed. Provided that you  specified  the
344     colour  resources  for Mr Is loosely enough, Mr Ed will pick
345     up the same overrides. The foreground  color  for  the  Icon
346     widgets  is copied from the apple faint color on color visu-
347     als (this is important for the noswap color scheme).
348
349WWWWIIIIDDDDGGGGEEEETTTT RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
350     There are a few resources which are picked up  from  widgets
351     within  the  widget  tree. They are the initial button bind-
352     ings, colors, fills and mode.  The bindings are attached  to
353     the  individual  button  displays.  The options are 'apple',
354     'random', 'cherry', 'path', 'player' and 'den'. The  colors,
355     fills and mode are attached to the color, fill and mode form
356     widgets. The value must be an integer in the correct range.
357
358     There is an additional composite resource  for  children  of
359     composite  widgets  (Paned and SimpleMenu), called 'attach'.
360     This allows you to change the ordering of  sibling  widgets.
361     Mr  Ed  uses this resource to determine the correct order to
362     create the sibling widgets. For instance, to get the control
363     panel  on  the left of the garden widget, use the constraint
364     '*one.garden.attach:panel'.  In addition,  the  widgets  are
365     created  in  such an order that Form constraints 'fromHoriz'
366     and 'fromVert' can be specified in any order.
367
368     There are four new widgets used for Mr Ed,  'Icon',  'Drag',
369     'Garden' and 'PixmapList'.
370
371     The Icon widget is a subclass of Simple. It displays a  pix-
372     map  and  allows  its  selection with any button press. If a
373     button is dragged on it, it may invoke a drag widget to per-
374     form  a  drag operation.  It has the following new resources
375     of interest.
376
377     ddddrrrraaaaggggSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy:::: _p_i_x_e_l_s [[[[4444]]]]
378          Sets the minimum drag which must occur, before  a  drag
379          widget  is  popped  up, to take over the dragging. When
380          set to zero, dragging is disabled.
381
382     ffffllllaaaasssshhhhDDDDeeeellllaaaayyyy:::: _d_e_l_a_y [[[[111100000000]]]]
383          Sets the time for which the  widget  is  highlit  after
384          selection. This time is in milliseconds.
385
386     hhhhiiiigggghhhhlllliiiigggghhhhttttTTTThhhhiiiicccckkkknnnneeeessssssss:::: _p_i_x_e_l_s [[[[1111]]]]
387          Sets the thickness of the highlight box.
388
389
390
391
392
393X Version 11      Last change: 20 December 1993                 6
394
395
396
397
398
399
400XMRED(6)                 Games and Demos                 XMRED(6)
401
402
403
404     ffffoooorrrreeeeggggrrrroooouuuunnnndddd:::: _c_o_l_o_r [[[[ddddeeeeffffaaaauuuulllltttt ffffoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
405          Sets the color of the highlight box and block.
406
407     The Drag widget is a subclass of OverrideShell. It  displays
408     a  pixmap,  and  follows  the  pointer  until  a  button  is
409     released. Its use is for drag and drop. It has no additional
410     resources of user interest.
411
412     The Garden widget is a subclass of Simple. It  performs  the
413     garden  editing.   It  has  no  additional resources of user
414     interest.
415
416     The PixmapList widget is a subclass of Simple. It displays a
417     list  of pixmaps, and permits them to be scrolled. Each pix-
418     map may be selected by a button  press  on  it,  or  a  drag
419     widget  invoked by dragging on a pixmap.  In addition to the
420     Icon widget additional resources, it has the following addi-
421     tional resources of user interest.
422
423     ddddiiiissssttttaaaannnncccceeee:::: _p_i_x_e_l_s [[[[4444]]]]
424          The distance between each pixmap.
425
426     ppppiiiixxxxmmmmaaaappppBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh:::: _p_i_x_e_l_s [[[[1111]]]]
427          The border width for each pixmap.
428
429     ppppiiiixxxxmmmmaaaappppBBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr:::: _c_o_l_o_r [[[[ddddeeeeffffaaaauuuulllltttt ffffoooorrrreeeeggggrrrroooouuuunnnndddd]]]]
430          The border color for each pixmap.
431
432EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
433     A few environment variables are used to locate resources.
434
435     DDDDIIIISSSSPPPPLLLLAAAAYYYY
436         The default display to connect  to.  May  be  overridden
437         with the -display option.
438
439FFFFIIIILLLLEEEESSSS
440     ~~~~////....XXXXddddeeeeffffaaaauuuullllttttssss
441     ............////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////XXXXmmmmrrrriiiissss....aaaadddd
442     ............////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////XXXXmmmmrrrriiiissss----ccccoooolllloooorrrr....aaaadddd
443          You can place you favourite key bindings and  stuff  in
444          an  application resource file, and Mr Ed will use them,
445          rather than its compiled defaults.  See X for  informa-
446          tion about how these are searched.
447
448     ............////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////xxxxmmmmrrrriiiissss////<<<<ggggaaaarrrrddddeeeennnnssss>>>>
449          Search path for loadable gardens used by Mr Is.
450
451SSSSEEEEEEEE AAAALLLLSSSSOOOO
452     xxxxmmmmrrrriiiissss(6)
453
454EEEERRRRRRRROOOORRRRSSSS
455
456
457
458
459X Version 11      Last change: 20 December 1993                 7
460
461
462
463
464
465
466XMRED(6)                 Games and Demos                 XMRED(6)
467
468
469
470     If  a  loaded  garden  is  incorrect,  an  error  dialog  is
471     displayed,  enabling  you to locate the offending garden and
472     lines.
473
474BBBBUUUUGGGGSSSS
475     The visual class name conversion is performed by a  standard
476     toolkit  routine.  It  accepts  only  American spelling, the
477     English spelling of 'grey' and 'colour' are not allowed.
478
479     The Drag widget should perhaps just be  a  shell,  having  a
480     single child of Icon, to do the rendering.
481
482     The PixmapList widget should perhaps be a  composite  widget
483     with  Icon  children.  However when I tried this using a Box
484     widget, it didn't work with the insert function.
485
486CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
487     Copyright (C) 1993 Nathan Sidwell.
488
489AAAAUUUUTTTTHHHHOOOORRRR
490     Nathan            Sidwell            <nathan@pact.srf.ac.uk>
491     <http://www.pact.srf.ac.uk/~nathan/>
492
493     Additional sprites by Stefan Gustavson <stefang@isy.liu.se>
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525X Version 11      Last change: 20 December 1993                 8
526
527
528
529

README.xmris

1
2
3
4XMRIS(6)                 Games and Demos                 XMRIS(6)
5
6
7
8NNNNAAAAMMMMEEEE
9     xmris - video game for X
10
11SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
12     xxxxmmmmrrrriiiissss [-option ...] [-toolkitoption ...]
13
14     xxxxmmmmssssiiiitttt [-option ...] [-toolkitoption ...]
15
16DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
17     Mr Is is a version of the Mr Do video arcade game for the  X
18     Window System.
19
20     You control a gnome, who can walk  around  a  garden,  along
21     paths already marked, or create new paths wherever you wish.
22     You also have a ball, which can be thrown in  the  direction
23     you're  facing,  towards the gnome's feet. Points are scored
24     for collecting  cherries  (if  you  collect  eight  cherries
25     without stopping or pushing an apple, you get a bonus), kil-
26     ling monsters (by squashing them, or throwing  the  ball  at
27     them),  and  collecting the prize left when all the monsters
28     have come out of their den.
29
30     Extra lives are obtained by killing all the 'EXTRA' monsters
31     at  the  top  of the garden, so that the letters change from
32     stippled to solid (or grey to black or white,  for  colour).
33     One  of  these comes out on its own every 5000 points.  When
34     you collect the prize, the normal monsters  freeze,  and  an
35     extra monster emerges, along with three drones.  Killing the
36     letter monster will kill the  drones  too.  When  the  three
37     drones  are  dead, the normal monsters wake up and things go
38     faster. When all the normal monsters are killed, or all  the
39     cherries collected, or you have got the final extra monster,
40     you advance to the next garden.
41
42     You can kill the monsters by throwing the ball at  them,  or
43     dropping the apples on them. You get more points for squash-
44     ing them, and the more you squash in one go, the more points
45     you  get.  The  extra  monster,  and its drones, can eat the
46     apples, provided that they're  walking  towards  the  apple.
47     You  die  by  colliding with a monster (unless its eating an
48     apple, in which case no harm is done), or by being  squashed
49     by  a  falling  apple.  Sometimes a falling apple will break
50     open to reveal a diamond. The points scores  are  scaled  by
51     the game speed, (see below).
52
53     Your score may be immortalized in the all time  best  scores
54     and/or  the best of the day scores, and/or your own personal
55     best scores. If your score was added to the best of the  day
56     after  21:00,  it is kept until noon the next day, otherwise
57     it will be removed at midnight. There is only one entry  per
58     user in the all time best and the best of the day tables.
59
60
61
62
63X Version 11      Last change: 12 December 1995                 1
64
65
66
67
68
69
70XMRIS(6)                 Games and Demos                 XMRIS(6)
71
72
73
74     There are two load lines at the bottom edge of  the  window.
75     One shows the frame time ratio and grows from left to right.
76     The other shows the frame loading and grows  from  right  to
77     left.  Note  that these two lines can overlap, and are drawn
78     with xor plotting. You can tell which is which, because  the
79     frame loading line alters on a frame by frame basis, whereas
80     the frame time ratio only  alters  occasionally.  The  frame
81     load  line  grows  by  one  pixel for every frame which took
82     longer to animate than  there  was  allotted  time,  and  is
83     shrunk  by  one  pixel  for  each frame which is animated in
84     time. The frame time ratio  shows  the  actual  frame  time,
85     relative to the the ideal frame time. For a frame time ratio
86     of r, the line is 1 - 1 / r the width of the window. Ie, for
87     frame time ratio of 3 (one third speed) it covers two thirds
88     of the window width. The frame time ratio  is  a  long  time
89     average  of  the  real  frame times. It is used to scale the
90     points scored in the game. The higher the ratio,  the  lower
91     the  score,  thus making heterogeneous comparisons possible.
92     The score scaling is biased towards lower frame  ratios,  so
93     you can't get a higher score just by making the game slower.
94     If your system becomes heavily loaded,  you  can  pause  the
95     game,  to  prevent  the frame time ratio being updated. When
96     the frame load line diminishes, you can resume the game.
97
98     Because an interrupt is used to control the frame rate,  the
99     animation is reasonably smooth. Though sometimes busywaiting
100     will be needed to get the best results. The game works  best
101     with all other processes asleep. If another process gets too
102     much processor time, the animation will be  jerky,  and  the
103     load line will start to grow.
104
105     You probably want to position the pointer at the  bottom  of
106     the window, so that it doesn't interfere with the play area.
107     You'll notice it flicker, if one of the sprites moves  under
108     it.
109
110     The game is controlled from the keyboard. All the key  bind-
111     ings  can  be  changed  by  the toolkit application resource
112     mechanism, or during one of the demonstration screens. There
113     are  four  direction keys, known as up, down, left and right
114     and the ball can be thrown with the throw key.  Because  the
115     paths  are aligned to a matrix, it is only possible to go in
116     any direction at intersections. Elsewhere you can either  go
117     horizontally  or  go  vertically.   Pressing  more  than one
118     direction key will turn the gnome appropriately at the  next
119     intersection,  so  you  can go round corners by pressing the
120     new direction key before releasing the old one. If you press
121     a  single direction key to go in an impossible direction (ie
122     not at an intersection), the gnome will either  continue  in
123     the  direction it was already going, or, if stationary, move
124     towards the nearest intersection.  As  an  example,  suppose
125     you're   going   left   and  want  to  go  up  at  the  next
126
127
128
129X Version 11      Last change: 12 December 1995                 2
130
131
132
133
134
135
136XMRIS(6)                 Games and Demos                 XMRIS(6)
137
138
139
140     intersection, the sequence would be,
141
142          left pressed, because that's the way you're going
143          up pressed, before the intersection
144          left released, when you've gone round the corner
145
146     The game can be paused by iconizing it with the iconize  key
147     (when  your boss walks in), or by losing the keyboard focus,
148     or by pressing the pause key.  When  de-iconized,  the  game
149     remains  paused.   To  continue,  press  the throw key. When
150     paused, you can abort the current game by pressing the  quit
151     key.  If  the  game is displaying the demonstration screens,
152     the quit key will quit the game, and pause  key  will  cycle
153     onto  the  next demonstration screen. During the score table
154     display, the direction keys can be used to change to a  dif-
155     ferent  score  table. Up or right cycle forwards and down or
156     left cycle backwards. During the garden  demonstration,  the
157     direction  keys can be used to select a different garden. If
158     you start the game from that new garden, you will  start  at
159     that  level,  but  not score anything. During the game there
160     are several information screens and  pauses,  these  can  be
161     skipped by pressing the throw key.
162
163     The keys can be changed by using the keyboard key. Each log-
164     ical  key name is prompted for, and you can select a new key
165     binding by pressing the one you want. Pressing the throw key
166     will  keep the binding for that particular key (remember the
167     throw key may change half way  through  this  process).  You
168     cannot map one key onto two functions, Mr Is will wait until
169     you give an unambiguous set of keys. Key bindings  set  this
170     way  will be forgotten when Mr Is terminates. To permanently
171     set the key bindings, you will have to the the X resources.
172
173     Mr Is will use colour sprites, if the visual permits it (has
174     a  colour  map  size of more than 15, and you haven't forced
175     monochrome). All the colours bar black and  white  are  user
176     definable.  There  are  four  sets, one for each of the four
177     combinations of gender and swap flag. The colours are  allo-
178     cated  in  reverse  order of their distance in colour space,
179     from currently allocated colours (the most  distant  colours
180     are  allocated first). That way, if allocation fails because
181     the colour map is  full,  an  allocated  substitute  colour,
182     which  is  nearest  the  desired colour, can be used and the
183     allocated colours are kept maximally distant.  You can limit
184     the number of distinct colours with the -distinct option.  A
185     warning message is sent to stderr, if  a  colour  allocation
186     fails.  The -colours argument shows how these are allocated,
187     and -help -colours can be used to get  the  colour  resource
188     names.
189
190OOOOPPPPTTTTIIIIOOOONNNNSSSS
191     Mr Is accepts the standard X Toolkit  options,  as  well  as
192
193
194
195X Version 11      Last change: 12 December 1995                 3
196
197
198
199
200
201
202XMRIS(6)                 Games and Demos                 XMRIS(6)
203
204
205
206     these.
207
208     ----hhhheeeellllpppp
209          Lists the command options, application resource  fields
210          and  some  other  information to stderr. Does not start
211          the game. If the -colours option is supplied too,  then
212          the  colour  resource  classes are listed instead, with
213          their default values. The format of this list is  suit-
214          able  for inclusion in a resource file. Note, this does
215          not list out the colour values that you  would  get  if
216          you  ran  the  game,  as  it  does  not  read the color
217          resources.
218
219     ----sssswwwwaaaapppp
220     ----rrrrvvvv
221     ----rrrreeeevvvveeeerrrrsssseeee
222          Normally the foreground is  black  and  the  background
223          white,  this  swaps them round. On colour systems, this
224          may also alter other colours.
225
226     ++++sssswwwwaaaapppp
227     ----nnnnoooosssswwwwaaaapppp
228          Override a swap resource in your  resources,  to  force
229          unswapped colours.
230
231     ----mmmmoooonnnnoooo
232          Use black and white, even on colour  displays.  (Unfor-
233          tunately,  the obvious option, '-bw', is already nabbed
234          by the toolkit as borderwidth.)
235
236     ----rrrraaaannnnddddoooommmm
237     ++++rrrraaaannnnddddoooommmm
238          Mr Is has two methods for placing the apples. They will
239          either  be  placed  according  to  one  of four sets of
240          explicit apple positions, or  placed  randomly  on  any
241          permitted  location  (though  trying  not to place them
242          adjacently). These two options override the default set
243          by  the  resources,  -random  places them randomly, and
244          +random uses one of the four sets.
245
246     ----mmmmrrrriiiissss
247     ----mmmmssssiiiitttt
248     ----ggggeeeennnnddddeeeerrrr _g_e_n_d_e_r
249          Mr Is can also be run as xmsit. The two sexes have dif-
250          ferent  sprites.   Mris  selects  the  classic sprites,
251          while msit selects a more modern set.   The  gender  of
252          the  game is taken from the program name (mris or msit)
253          but may be overridden  by  these  two  switches.  Valid
254          genders  are  'he',  'she',  'female',  'male', 'msit',
255          'mris', 'boy', 'girl'.  The game is known as xmris (eks
256          mister iz), because the arcade game was masculine.
257
258
259
260
261X Version 11      Last change: 12 December 1995                 4
262
263
264
265
266
267
268XMRIS(6)                 Games and Demos                 XMRIS(6)
269
270
271
272     ----bbbbuuuussssyyyywwwwaaaaiiiitttt
273          Forces the game timing to  be  done  by  busy  waiting,
274          rather  than  with  an alarm timeout. Some systems have
275          particularly inaccurate alarms,  and  this  option  may
276          improve  things, by not using the system's timer signal
277          at all. Some alarms go off before the  requested  time.
278          Mr  Is  will detect this, and insert a busy wait in the
279          remaining time. A warning will be  displayed  as  well.
280          Note  that this is different to forcing busywaiting, as
281          the timer signal is still being used  for  the  initial
282          part of the frame delay.
283
284     ----ddddiiiirrrr _s_c_o_r_e-_d_i_r_e_c_t_o_r_y
285          Specify a different score directory.
286
287     ----uuuusssseeeerrrrnnnnaaaammmmeeee
288     ----rrrreeeeaaaallllnnnnaaaammmmeeee
289          The name for the score file can be either the  username
290          or  the  real name.  These options select which to use.
291          The default is to use the real name.  If the real  name
292          is  unobtainable,  the username will be used anyway. If
293          the current score file has an entry by the other  name,
294          then it will be changed to the new name.
295
296     ----ggggaaaarrrrddddeeeennnnssss _g_a_r_d_e_n-_f_i_l_e
297          Specify a garden definition file. This  allows  you  to
298          alter  the initial garden layouts. The file is searched
299          for in the current directory, and the Mr  Is  subdirec-
300          tory of app-defaults. These are explained below.
301
302     ----ssssccccoooorrrreeeessss
303          List the high scores to  stdout.  Does  not  start  the
304          game.  Note  that  this  will  still  need to open an X
305          display, in order to read the X  resources  (which  may
306          affect  the  score  directory).  If  you don't want the
307          defaults read, use the +display option too.
308
309     ++++ddddiiiissssppppllllaaaayyyy
310     ----nnnnooooddddiiiissssppppllllaaaayyyy
311          Inhibits the opening of an X display. This  option  may
312          only  be  used  with  the  -scores,  -expire or -remove
313          options. Note that the X  resources  may  override  the
314          default score directory, and that this will not be done
315          -- you will have to use the -dir option too.
316
317     ----rrrreeeemmmmoooovvvveeee _n_a_m_e
318          Allows the game's owner to remove someone's scores. The
319          option  will only work when the real and effective user
320          ids are the same. (ie a setuid Mr Is has  been  run  by
321          its  owner). After updating the files, the score tables
322          are listed, and the game does not start. An  X  display
323          will  still need to be opened, to read the X resources,
324
325
326
327X Version 11      Last change: 12 December 1995                 5
328
329
330
331
332
333
334XMRIS(6)                 Games and Demos                 XMRIS(6)
335
336
337
338          which may override the  default  score  directory.  The
339          +display option may be used to prevent this.
340
341     ----eeeexxxxppppiiiirrrreeee _d_a_t_e
342          Allows you to remove your own scores before or after  a
343          certain  date.   If your high score is removed, then it
344          is replaced with  a  new  personal  high  score.  After
345          updating  the  files,  the score tables are listed, and
346          the game does not start. An X display will  still  need
347          to  be opened, to read the X resources, which may over-
348          ride the default score directory. The  +display  option
349          may be used to prevent this.
350
351          The date format is very flexible. Either an absolute or
352          a relative date may be given. Both may be prefixed with
353          a '+' or '-'. These have opposite  interpretations  for
354          relative and absolute dates. For an absolute date a '+'
355          will delete those after the date and a '-' will  delete
356          those  before.  The  default is to delete those before.
357          For a relative date a '+' will delete those older  than
358          specified, whereas a '-' will delete those younger. The
359          default is to delete those older.
360
361          Relative dates are given as a number with  an  optional
362          trailing  modifier.  A  modifier  of 'years', 'months',
363          'weeks', 'days', 'hours', 'minutes' or 'seconds' can be
364          used  to  scale  the  number  appropriately  (there are
365          365.25 days a year and 30.5 days a month). The modifier
366          may  be  abbreviated,  but  there  cannot be any spaces
367          between the number and modifier.
368
369          Absolute dates are given as three fields  separated  by
370          any  non-alphanumeric  character,  or  by a change from
371          numerals to letters. The month may be  entered  numeri-
372          cally or named (abbreviated or not). The day, month and
373          year fields may be in any order, their values are  used
374          to  infer which is which. The year may be the full year
375          name (eg 1993), or just the last two digits,  those  in
376          the  range  00 to 89 are in the 21st century, and those
377          from 90 to 99 are the 20th  century.  If  the  date  is
378          ambiguous  (eg  1/1/1),  a  stored format is used and a
379          warning is given. The following are  valid  unambiguous
380          dates,  '11jun93'  (dmy),  '14/3/93' (dmy), 'april6:93'
381          (mdy), and '0-16-8' (ydm).
382
383     ----ffffoooorrrrmmmmaaaatttt _f_o_r_m_a_t
384          Allows the game's owner to set the date format which is
385          stored with the score file, for future use disambiguat-
386          ing dates. The format is automatically stored  if  none
387          is  set.  The  format  must be a three character string
388          containing one each of 'D', 'M' and 'Y'.
389
390
391
392
393X Version 11      Last change: 12 December 1995                 6
394
395
396
397
398
399
400XMRIS(6)                 Games and Demos                 XMRIS(6)
401
402
403
404     ----ddddeeeepppptttthhhh _d_e_p_t_h
405          Mr Is will use the default depth of the screen. You may
406          wish to override that by using this option. Selecting a
407          different depth may affect the visual selected.
408
409     ----vvvviiiissssuuuuaaaallll _v_i_s_u_a_l-_c_l_a_s_s
410          Mr Is will  pick  the  default  visual  for  the  depth
411          chosen,  but you can override that by specifying a par-
412          ticular visual class. Valid visuals are  'PseudoColor',
413          'DirectColor', 'TrueColor', 'StaticColor', 'GrayScale',
414          and 'StaticGray'. To see which one is picked,  you  can
415          use the -colours option. If you do select a non-default
416          visual, you may have to specify a  private  colour  map
417          too, due to limitations of the server or display.
418
419     ----pppprrrriiiivvvvaaaatttteeee
420          This forces Mr Is to allocate  a  private  colour  map.
421          Normally Mr Is will share the default colour map of the
422          selected visual, but if that does not have enough  free
423          colour cells then some colours will have to be shared.
424
425     ----ccccoooolllloooouuuurrrrssss
426     ----ccccoooolllloooorrrrssss
427          Show how the colours are allocated,  and  which  visual
428          has been selected.  The allocation is listed to stdout.
429          When allocating each colour, its resource name and  rgb
430          values  are  listed  together  with the nearest already
431          allocated colour  and  the  distance  between  them  in
432          colour  space.  The  allocated  pixel number is printed
433          last. If  given  with  the  -help  option,  the  colour
434          resource  classes  are  listed,  and  the game does not
435          start.
436
437     ----ddddiiiissssttttiiiinnnncccctttt _n
438          Sets the number of distinct colours used. This  can  be
439          used  to  limit  the  number  of  colours used from the
440          colour map. Black and white are not included, and  nei-
441          ther  are  the two writable colours used for the garden
442          backgrounds on dynamic visuals. Note that  -distinct  0
443          is different from -mono, even though both will only use
444          black and white.
445
446     ----ssssttttaaaattttiiiicccc
447          Do not use dynamic  background  colours,  even  if  the
448          visual  supports  them.  The  default  uses two dynamic
449          colours, which alter during the game.
450
451     ----sssspppprrrriiiitttteeeessss
452          Show all the sprites during  the  demonstration  cycle.
453          This  can be used when you are defining your own sprite
454          colours. The direction keys will control the  direction
455          in  which  the demonstration animated sprites face, and
456
457
458
459X Version 11      Last change: 12 December 1995                 7
460
461
462
463
464
465
466XMRIS(6)                 Games and Demos                 XMRIS(6)
467
468
469
470          the throw key will cycle  the  background  colours  for
471          pseudo colour visuals.
472
473AAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
474     Mr Is uses the X toolkit application resource mechanism  for
475     setting up the environment. Application resource items start
476     with 'Xmris'. The resource name  can  be  derived  from  the
477     given  resource  class  by  decapitalizing  it.  For example
478     'cherryStalk' is the resource name for the  class  'cherryS-
479     talk'.  The  following classes are used (choices in '{}' and
480     defaults in '[]'.)
481
482     XXXXmmmmrrrriiiissss....UUUUpppp:::: _k_e_y_s_y_m [[[[aaaappppoooossssttttrrrroooopppphhhheeee]]]]
483     XXXXmmmmrrrriiiissss....DDDDoooowwwwnnnn:::: _k_e_y_s_y_m [[[[ssssllllaaaasssshhhh]]]]
484     XXXXmmmmrrrriiiissss....LLLLeeeefffftttt:::: _k_e_y_s_y_m [[[[zzzz]]]]
485     XXXXmmmmrrrriiiissss....RRRRiiiigggghhhhtttt:::: _k_e_y_s_y_m [[[[xxxx]]]]
486     XXXXmmmmrrrriiiissss....TTTThhhhrrrroooowwww:::: _k_e_y_s_y_m [[[[ssssppppaaaacccceeee]]]]
487     XXXXmmmmrrrriiiissss....PPPPaaaauuuusssseeee:::: _k_e_y_s_y_m [[[[pppp]]]]
488     XXXXmmmmrrrriiiissss....QQQQuuuuiiiitttt:::: _k_e_y_s_y_m [[[[qqqq]]]]
489     XXXXmmmmrrrriiiissss....IIIIccccoooonnnniiiizzzzeeee:::: _k_e_y_s_y_m [[[[iiii]]]]
490     XXXXmmmmrrrriiiissss....KKKKeeeeyyyybbbbooooaaaarrrrdddd:::: _k_e_y_s_y_m [[[[kkkk]]]]
491          These give the logical key bindings. If the key  symbol
492          is  unknown,  the  default  will be used, and a warning
493          printed. Note that these are case sensitive.
494
495     XXXXmmmmrrrriiiissss....DDDDiiiirrrr:::: _s_c_o_r_e-_d_i_r_e_c_t_o_r_y
496          The name of the high score directory.
497
498     XXXXmmmmrrrriiiissss....UUUUsssseeeerrrrNNNNaaaammmmeeee:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
499          Selects whether the username or  real  name  should  be
500          used for your entry in the high score table.
501
502     XXXXmmmmrrrriiiissss....GGGGaaaarrrrddddeeeennnnssss:::: _g_a_r_d_e_n_s-_f_i_l_e
503          The name of the garden definition file.
504
505     XXXXmmmmrrrriiiissss....RRRReeeevvvveeeerrrrsssseeeeVVVViiiiddddeeeeoooo:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
506          Specifies whether to use swapped colours or not.
507
508     XXXXmmmmrrrriiiissss....MMMMoooonnnnoooo:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
509          Whether  the  default  is  for  monochrome  on   colour
510          displays.
511
512     XXXXmmmmrrrriiiissss....RRRRaaaannnnddddoooommmm:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
513          Sets whether the apples are placed randomly or not.
514
515     XXXXmmmmrrrriiiissss....GGGGeeeennnnddddeeeerrrr:::: _g_e_n_d_e_r [[[[hhhheeee]]]]
516          Sets the default game gender. Valid genders are 'mris',
517          'msit', 'she', 'he', 'female', 'male', 'boy', 'girl'.
518
519     XXXXmmmmrrrriiiissss....BBBBuuuussssyyyywwwwaaaaiiiitttt:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
520          Determines whether the game timing is  always  done  by
521          busy waiting.
522
523
524
525X Version 11      Last change: 12 December 1995                 8
526
527
528
529
530
531
532XMRIS(6)                 Games and Demos                 XMRIS(6)
533
534
535
536     XXXXmmmmrrrriiiissss....DDDDeeeepppptttthhhh:::: _d_e_p_t_h
537          Set the required screen depth to use.
538
539     XXXXmmmmrrrriiiissss....VVVViiiissssuuuuaaaallll:::: _v_i_s_u_a_l-_c_l_a_s_s
540          Set the required visual class to use. Valid visuals are
541          'PseudoColor',    'DirectColor',   'TrueColor',   'Sta-
542          ticColor', 'GrayScale', and 'StaticGray'.
543
544     XXXXmmmmrrrriiiissss....PPPPrrrriiiivvvvaaaatttteeee:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
545          Set whether or not to use a private colour map.
546
547     XXXXmmmmrrrriiiissss....DDDDiiiissssttttiiiinnnncccctttt:::: _n
548          Set the number of distinct colours allocated  from  the
549          colour map.
550
551     XXXXmmmmrrrriiiissss....SSSSttttaaaattttiiiicccc:::: {_y_e_s, _n_o} [[[[nnnnoooo]]]]
552          Do not use dynamic background colors.
553
554     For example, if you want to use the arrow keys, the  follow-
555     ing will work
556
557          Xmris.Up:       Up
558          Xmris.Down:     Down
559          Xmris.Left:     Left
560          Xmris.Right:    Right
561
562     In addition, you have the normal resources such as '*Font'.
563
564     Normally the cursor is invisible in the Mr  Is  window.  You
565     can   force   a   cursor   to   be   shown  by  setting  the
566     "Xmris*cursorName" resource to a named cursor.
567
568CCCCOOOOLLLLOOOOUUUURRRR RRRREEEESSSSOOOOUUUURRRRCCCCEEEESSSS
569     There are many colour name defaults. You  can  specify  dif-
570     ferent  ones  for  the  four combinations of gender and swap
571     resources, or use the same for some combinations.  There  is
572     no  reason  why  all  these cannot be different colours, but
573     note that the more  unique  colours  you  define,  the  more
574     colour  map  entries  you will use up. The colours black and
575     white are already known about, but  because  of  the  way  X
576     parses   hex  colour  names,  I  have  programmed  white  as
577     #FF00FF00FF00 (what #FFFFFF expands to),  not  #FFFFFFFFFFFF
578     (what  I think #FFFFFF should expand to). This means that if
579     you specify a white colour to more than 8  bit  accuracy,  a
580     new  colour  will be allocated. (This is a bug.)  Of course,
581     you can specify the colours by name ('NavajoWhite'), so long
582     as X can grok it by searching your colour database.
583
584     Most of the sprites  have  a  black  edge  to  them  on  the
585     unswapped colour scheme, this gives comic like sprites. This
586     edge is not included for the swap  colour  scheme,  and  the
587     sprite's  colours go right up to the sprite's edge.  Most of
588
589
590
591X Version 11      Last change: 12 December 1995                 9
592
593
594
595
596
597
598XMRIS(6)                 Games and Demos                 XMRIS(6)
599
600
601
602     the sprites will be surrounded by a halo of  the  background
603     colour,  so  that  they don't blend in with each other, when
604     crossing.  Another thing to watch out is contrast  compensa-
605     tion.   Because  of  eye  physiology,  colours can look dif-
606     ferent, depending on  the  surrounding  colours,  and  light
607     colours  look  brighter  on dark backgrounds than they do on
608     light ones. A particular case of the former is  if  pink  is
609     used  for the player's face. On white backgrounds pink looks
610     alright, but on dark backgrounds the  pink  can  look  quite
611     brown,  and  must  be brightened up, if you still want it to
612     look pink.  The latter effect means that the blue  used  for
613     the  drones is bright for a dark background and darker for a
614     light background. There is no requirement that those colours
615     with  a  specific  colour  in their name, need actually be a
616     shade of that colour. For example GreenBack could be #A020F0
617     (purple).   You can use the -sprites and -colours options to
618     check out how these colours have been defined and look,  and
619     the distinct resource to limit the distinct colours used.
620
621     The  colour  resources  use  the  'mris'  or  'msit'  widget
622     instance  within the widget tree. They have the optional sub
623     resource 'swap'.  The following are valid.
624
625          Xmris*Background:               for all
626          Xmris*mris*Background:          for all mris
627          Xmris*mris.swap.Background:     for swapped mris
628          Xmris*mris.Background:          for unswapped mris
629          Xmris*msit*Background:          for all msit
630          Xmris*msit.swap.Background:     for swapped msit
631          Xmris*swap.Background:          for all swapped
632
633     The usual toolkit parsing rules apply  to  these  resources.
634     Namely  that  '*'  is  used to fill out levels of hierarchy,
635     while '.' is used for explicit matching.  The  toolkit  uses
636     the  longest matching string to select resources in the case
637     of ambiguities. Ie, 'Xmris*Swap.Background' will be selected
638     over 'Xmris*Background' for the swapped versions.
639
640     The defaults for 'mris', 'mris.swap', 'msit' and 'msit.swap'
641     are included after the resource class.
642
643     BBBBaaaacccckkkkggggrrrroooouuuunnnndddd [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####000000000000000000000000]]]]
644     FFFFoooorrrreeeeggggrrrroooouuuunnnndddd [[[[####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
645     BBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr [[[[####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
646          The main foreground, background and border colours. The
647          foreground  colou  is  used  for all text and on garden
648          scoring. The background is used for  the  pathways  and
649          non-garden  parts  of  the  screen. The border color is
650          used for the board partion lines.
651
652
653
654
655
656
657X Version 11      Last change: 12 December 1995                10
658
659
660
661
662
663
664XMRIS(6)                 Games and Demos                 XMRIS(6)
665
666
667
668     GGGGrrrreeeeeeeennnnBBBBaaaacccckkkk [[[[####77777777BBBBBBBB77777777,,,, ####BBBBBBBBFFFFFFFFBBBBBBBB,,,, ####77777777BBBBBBBB77777777,,,, ####BBBBBBBBFFFFFFFFBBBBBBBB]]]]
669     GGGGrrrreeeeeeeennnnFFFFoooorrrreeee [[[[####000000007777777700000000,,,, ####00000000BBBBBBBB00000000,,,, ####000000007777777700000000,,,, ####00000000BBBBBBBB00000000]]]]
670     RRRReeeeddddBBBBaaaacccckkkk [[[[####BBBBBBBB7777777777777777,,,, ####FFFFFFFFBBBBBBBBBBBBBBBB,,,, ####BBBBBBBB7777777777777777,,,, ####FFFFFFFFBBBBBBBBBBBBBBBB]]]]
671     RRRReeeeddddFFFFoooorrrreeee [[[[####777777770000000000000000,,,, ####BBBBBBBB0000000000000000,,,, ####777777770000000000000000,,,, ####BBBBBBBB0000000000000000]]]]
672     BBBBlllluuuueeeeBBBBaaaacccckkkk [[[[####7777777777777777BBBBBBBB,,,, ####BBBBBBBBBBBBBBBBFFFFFFFF,,,, ####7777777777777777BBBBBBBB,,,, ####BBBBBBBBBBBBBBBBFFFFFFFF]]]]
673     BBBBlllluuuueeeeFFFFoooorrrreeee [[[[####000000000000000077777777,,,, ####0000000000000000BBBBBBBB,,,, ####000000000000000077777777,,,, ####0000000000000000BBBBBBBB]]]]
674     DDDDrrrroooonnnneeeeBBBBaaaacccckkkk [[[[####AAAAAAAA3333333333333333,,,, ####FFFFFFFF6666666666666666,,,, ------------------------,,,, ------------------------]]]]
675     DDDDrrrroooonnnneeeeFFFFoooorrrreeee [[[[####999999992222222222222222,,,, ####FFFFFFFF2222222222222222,,,, ------------------------,,,, ------------------------]]]]
676          These are the colours used for the hedges. Two are used
677          per  garden.   For pseudo colour visuals, droneback and
678          dronefore are used when the prize is eaten.
679
680     BBBBaaaallllllll [[[[####FFFFFFFFFFFFFFFF77777777,,,, ####FFFFFFFFFFFFFFFF77777777,,,, ####FFFFFFFF00000000FFFFFFFF,,,, ####FFFFFFFF00000000FFFFFFFF]]]]
681          This is the ball colour.
682
683     CCCChhhheeeerrrrrrrryyyyRRRReeeedddd [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
684     CCCChhhheeeerrrrrrrryyyySSSSttttaaaallllkkkk [[[[ ------------------------,,,, ####EEEEEEEEAAAAAAAA66666666,,,, ------------------------,,,, ####EEEEEEEEAAAAAAAA66666666]]]]
685          The cherries use two colours, one for the fruit and the
686          other  for  the  stalk.  The  cherry's  glint is always
687          white.
688
689     AAAApppppppplllleeee1111 [[[[####EEEEEEEEDDDDDDDD00000000,,,, ####EEEEEEEEDDDDDDDD00000000,,,, ####EEEEEEEEDDDDDDDD00000000,,,, ####EEEEEEEEDDDDDDDD00000000]]]]
690     AAAApppppppplllleeee2222 [[[[####DDDDDDDD3333333300000000,,,, ####DDDDDDDD3333333300000000,,,, ####DDDDDDDD3333333300000000,,,, ####DDDDDDDD3333333300000000]]]]
691     AAAApppppppplllleeeeFFFFaaaaiiiinnnntttt [[[[####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ------------------------,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ------------------------]]]]
692          The apples use two colours for their skin. The  apple's
693          flesh and glint is always white.
694
695     GGGGeeeemmmm1111 [[[[####DDDDDDDDDDDDDDDDDDDDDDDD,,,, ####DDDDDDDDDDDDDDDDDDDDDDDD,,,, ####DDDDDDDDDDDDDDDDDDDDDDDD,,,, ####DDDDDDDDDDDDDDDDDDDDDDDD]]]]
696     GGGGeeeemmmm2222 [[[[####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB]]]]
697          The gem facets are white or one of the two gem colours.
698          The  lines  between  them  are black and the sparkle is
699          black for the unswapped scheme and white colour for the
700          swap scheme.
701
702     LLLLeeeetttttttteeeerrrrGGGGooootttt [[[[####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####000000000000000000000000,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
703     LLLLeeeetttttttteeeerrrrNNNNoooottttGGGGooootttt [[[[####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB,,,, ####BBBBBBBBBBBBBBBBBBBBBBBB]]]]
704          The extra letters and game  title  lettering  uses  two
705          colours.  One  to show letters which have been got, one
706          for those which have not been got. They do not have  an
707          edge colour put around them.
708
709     NNNNoooorrrrmmmmaaaallll [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
710     MMMMuuuunnnncccchhhh1111 [[[[####FFFFFFFFFFFFFFFF00000000,,,, ####FFFFFFFFFFFFFFFF00000000,,,, ####FFFFFFFFCCCCCCCC00000000,,,, ####FFFFFFFFCCCCCCCC00000000]]]]
711     MMMMuuuunnnncccchhhh2222 [[[[####CCCCCCCCCCCCCCCCCCCCCCCC,,,, ####CCCCCCCCCCCCCCCCCCCCCCCC,,,, ####FFFFFFFFCCCCCCCC00000000,,,, ####FFFFFFFFCCCCCCCC00000000]]]]
712     DDDDrrrroooonnnneeee [[[[####0000000000000000DDDDDDDD,,,, ####6666666666666666FFFFFFFF,,,, ####00000000FFFFFFFF00000000,,,, ####00000000FFFFFFFF00000000]]]]
713     DDDDrrrroooonnnneeeeTTTToooonnnngggguuuueeee [[[[ ------------------------,,,, ------------------------,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
714     EEEExxxxttttrrrraaaa [[[[####EEEEEEEEFFFFFFFF00000000,,,, ####EEEEEEEEFFFFFFFF00000000,,,, ####EEEEEEEEFFFFFFFF00000000,,,, ####EEEEEEEEFFFFFFFF00000000]]]]
715     CCCChhhhoooommmmpppp [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####CCCCCCCCFFFFFFFF00000000,,,, ####CCCCCCCCFFFFFFFF00000000]]]]
716     CCCChhhhoooommmmppppLLLLiiiipppp [[[[####77777777FFFFFFFFFFFFFFFF,,,, ####77777777FFFFFFFFFFFFFFFF,,,, ------------------------,,,, ------------------------]]]]
717     CCCChhhhoooommmmppppTTTToooonnnngggguuuueeee [[[[ ------------------------,,,, ------------------------,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
718          Most of the monsters have only  one  additional  colour
719          (to  black  and white), but in some instances there are
720
721
722
723X Version 11      Last change: 12 December 1995                11
724
725
726
727
728
729
730XMRIS(6)                 Games and Demos                 XMRIS(6)
731
732
733
734          additional colours for  the  features  implied  by  the
735          resource name.
736
737     PPPPllllaaaayyyyeeeerrrr [[[[####0000000000000000DDDDDDDD,,,, ####6666666666666666FFFFFFFF,,,, ####6666666666666666FFFFFFFF,,,, ####6666666666666666FFFFFFFF]]]]
738     PPPPllllaaaayyyyeeeerrrrBBBBoooobbbbbbbblllleeee [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
739     PPPPllllaaaayyyyeeeerrrrSSSSkkkkiiiinnnn [[[[####FFFFFFFFCCCCCCCCCCCCCCCC,,,, ####FFFFFFFFDDDDDDDDDDDDDDDD,,,, ####FFFFFFFFCCCCCCCCCCCCCCCC,,,, ####FFFFFFFFDDDDDDDDDDDDDDDD]]]]
740     PPPPllllaaaayyyyeeeerrrrBBBBooooooootttt [[[[ ------------------------,,,, ####EEEEEEEEAAAAAAAA66666666,,,, ####777777773333333322222222,,,, ####DDDDDDDD9999999955555555]]]]
741          The player uses four additional  colours.   The  bobble
742          colour  is  also  used  for  the flecks in the player's
743          suit. The skin colour is used for the face and hands.
744
745     SSSSeeeeaaaatttt [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
746          The little seat on which you can rest uses  this  addi-
747          tional colour.
748
749     CCCCaaaakkkkeeee [[[[####FFFFFFFFFFFFFFFF77777777,,,, ####FFFFFFFFFFFFFFFF77777777,,,, ####FFFFFFFFFFFFFFFF77777777,,,, ####FFFFFFFFFFFFFFFF77777777]]]]
750     CCCCaaaakkkkeeeeIIIIcccciiiinnnngggg [[[[####DDDDDDDD9999999955555555,,,, ####EEEEEEEEAAAAAAAA66666666,,,, ####DDDDDDDD9999999955555555,,,, ####EEEEEEEEAAAAAAAA66666666]]]]
751     CCCCaaaakkkkeeeeJJJJaaaammmm [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
752          The cake prize has an  icing  layer  and  a  jam  layer
753          around the cake layers.
754
755     SSSSppppaaaannnnnnnneeeerrrr [[[[####AAAAAAAAAAAAAAAAAAAAAAAA,,,, ####DDDDDDDDDDDDDDDDDDDDDDDD,,,, ####AAAAAAAAAAAAAAAAAAAAAAAA,,,, ####DDDDDDDDDDDDDDDDDDDDDDDD]]]]
756     SSSSppppaaaannnnnnnneeeerrrrSSSShhhhaaaaddddoooowwww [[[[####000000000000000000000000,,,, ####000000000000000000000000,,,, ####000000000000000000000000,,,, ####000000000000000000000000]]]]
757          The spanner prize only uses these two colours.
758
759     BBBBrrrroooollllllllyyyy1111 [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
760     BBBBrrrroooollllllllyyyy2222 [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
761     BBBBrrrroooollllllllyyyyHHHHaaaannnnddddlllleeee [[[[####DDDDDDDD9999999955555555,,,, ####EEEEEEEEAAAAAAAA66666666,,,, ####DDDDDDDD9999999955555555,,,, ####EEEEEEEEAAAAAAAA66666666]]]]
762          The umbrella prize uses four colours. The  edge  colour
763          is used to demark the parasol colour areas.
764
765     MMMMuuuusssshhhhrrrroooooooommmmSSSSttttaaaallllkkkk [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
766     MMMMuuuusssshhhhrrrroooooooommmmCCCCaaaapppp [[[[####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000,,,, ####EEEEEEEE0000000000000000]]]]
767          The mushroom prize uses these two additional colours.
768
769     CCCClllloooocccckkkkFFFFaaaacccceeee [[[[####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF,,,, ####FFFFFFFFFFFFFFFFFFFFFFFF]]]]
770     CCCClllloooocccckkkkBBBBeeeellllllll [[[[####00000000DDDDDDDD00000000,,,, ####00000000DDDDDDDD00000000,,,, ####00000000DDDDDDDD00000000,,,, ####00000000DDDDDDDD00000000]]]]
771     CCCClllloooocccckkkkRRRRiiiimmmm [[[[####0000000000000000DDDDDDDD,,,, ####00000000DDDDDDDD00000000,,,, ####00000000DDDDDDDD00000000,,,, ####00000000DDDDDDDD00000000]]]]
772          The clock prize uses these thee additional colours.
773
774GGGGAAAARRRRDDDDEEEENNNNSSSS
775     You may override the default garden layouts by specifying  a
776     garden  file.  The file is a text file consisting a of a set
777     of  garden  definitions,  include  files,  or  comments.  An
778     include  file  is  specified by '#include "_f_i_l_e_n_a_m_e"', where
779     filename is the name of the included file. Relative  include
780     files  are  searched for relative to the including file, or,
781     if that fails, in the Mr  Is  subdirectory  of  app-defaults
782     directory   (this   will   usually   be   '/usr/lib/X11/app-
783     defaults/xmris'). In If  the  filename  is  null,  then  the
784     internal gardens will be included. Comments are delimited by
785     '/*' and '*/', A garden definition is the following  format,
786
787
788
789X Version 11      Last change: 12 December 1995                12
790
791
792
793
794
795
796XMRIS(6)                 Games and Demos                 XMRIS(6)
797
798
799
800     '{_f_i_l_l_p_a_t_t_e_r_n,  _b_a_c_k_g_r_o_u_n_d_c_o_l_o_u_r,  _a_p_p_l_e_s,  {_l_a_y_o_u_t}},'. New
801     gardens must begin on a new line.  _F_i_l_l_p_a_t_t_e_r_n is an integer
802     specifying one of the following fill patterns,
803
804          0       brickwork
805          1       diagonal stripes
806          2       cross hatched
807          3       zigzag lines
808
809     _B_a_c_k_g_r_o_u_n_d_c_o_l_o_u_r is an integer specifying one of the follow-
810     ing background colour schemes,
811
812          0       red
813          1       green
814          2       blue
815
816     _A_p_p_l_e_s specifies the number of apples to place in  the  gar-
817     den.   Its  upper  limit  is  twelve.  _L_a_y_o_u_t consists of 13
818     strings of 12 characters  each,  such  as  '"..b@@B..@@.B"'.
819     Within these strings the following characters are used,
820
821          A-D     Blank path
822          E-H     Cherry on path
823          I-L     Den on path
824          MP      Player on path
825          @       Cherry on background
826          a-p     Explicit apple possibilities
827          +       Invalid apple location
828          .       Background
829
830     The path characters specify connections to  the  cell  below
831     and to the right.  A bit mask is obtained by subtracting the
832     base character.  Bit 0 connects downwards and bit 2 connects
833     to the right.  The explicit apple positions define four sets
834     of apple locations, using the four  bits  obtained  by  sub-
835     tracting  the  base character.  Random apples will be placed
836     on any cell which is not a pathway, cherry or invalid  apple
837     location.
838
839     There must be at least one cherry,  at  least  one  den  and
840     exactly  one player.  Certain locations must be pathway. The
841     garden is checked, and if faulty, it will be fixed, if  pos-
842     sible.
843
844     The format of these garden files is similar to  a  C  source
845     file,  except  that  includes  and  comments  can only occur
846     between garden definitions, and missing or superfluous  com-
847     mas are ignored.
848
849     You  can  examine  the  gardens  during  the   demonstration
850     screens.  When  a garden is shown, the direction keys can be
851     used to change the garden number. Up and down increment  and
852
853
854
855X Version 11      Last change: 12 December 1995                13
856
857
858
859
860
861
862XMRIS(6)                 Games and Demos                 XMRIS(6)
863
864
865
866     decrement by ten, whilst right and left increment and decre-
867     ment by one. If a game is started from the selected  garden,
868     then  it will be the initial garden, but you won't score any
869     points.
870
871EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
872     A few environment variables are used to locate resources.
873
874     DDDDIIIISSSSPPPPLLLLAAAAYYYY
875         The default display to connect  to.  May  be  overridden
876         with the -display option.
877
878     LLLLOOOOGGGGNNNNAAAAMMMMEEEE,,,, UUUUSSSSEEEERRRR,,,, HHHHOOOOMMMMEEEE
879         Read to determine the name to use for the score  tables,
880         and the user's home directory, if getpwuid(3) fails.
881
882FFFFIIIILLLLEEEESSSS
883     The loadable garden file must be fully named, or located  in
884     the score directory. They may have any name. The score files
885     have the following names.
886
887     ............////xxxxmmmmrrrriiiissss....ssssccccoooorrrreeee
888          The high score file. The directory is system dependent,
889          and  may  be changed by application resource or option.
890          This file must either exist and be writable  to  by  Mr
891          Is,  or the directory containing it must be writable by
892          Mr Is. This can be done by chmoding the score  file  or
893          directory,  or by setuiding Mr Is appropriately. A non-
894          setuid Mr Is will chmod the score file to 666 if creat-
895          ing it.
896
897     ............////xxxxmmmmrrrriiiissss....lllloooocccckkkk
898          In some systems, where lockf  or  flock  doesn't  work,
899          this temporary file is used to perform the locking. The
900          directory containing it must be writable by Mr Is. This
901          can  be done by chmoding the directory, or by setuiding
902          Mr Is appropriately.
903
904     ............////xxxxmmmmrrrriiiissss----<<<<nnnnaaaammmmeeee>>>>
905     ~~~~////....xxxxmmmmrrrriiiissss....ssssccccoooorrrreeee
906          One of these files is used to store the  personal  best
907          scores.   Mr Is first looks for the personal score file
908          in the score directory and then in the home  directory.
909          If  a  personal  score  file  cannot  be  found,  Mr Is
910          attempts to create one. If the file  is  found  in  the
911          user's home directory, Mr Is attempts to move it to the
912          score directory. Mr Is will attempt to create the  per-
913          sonal  files  in the score directory. If this cannot be
914          done, the personal score file is  placed  in  the  home
915          directory.  In  order to create the personal score file
916          in the score directory, Mr Is will  have  to  have  the
917          correct  access rights, as with the lock file. A setuid
918
919
920
921X Version 11      Last change: 12 December 1995                14
922
923
924
925
926
927
928XMRIS(6)                 Games and Demos                 XMRIS(6)
929
930
931
932          Mr Is will  juggle  the  effective  uid  correctly  for
933          accessing  both the score directory and the users' home
934          directories.
935
936     ~~~~////....XXXXddddeeeeffffaaaauuuullllttttssss
937     ............////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////XXXXmmmmrrrriiiissss....aaaadddd
938          You can place you favourite key bindings and  stuff  in
939          an  application resource file, and Mr Is will use them,
940          rather than its compiled defaults.  See X for  informa-
941          tion about how these are searched.
942
943     ............////aaaapppppppp----ddddeeeeffffaaaauuuullllttttssss////xxxxmmmmrrrriiiissss////<<<<ggggaaaarrrrddddeeeennnnssss>>>>
944     <<<<ssssccccoooorrrreeee----ddddiiiirrrr>>>>////<<<<ggggaaaarrrrddddeeeennnnssss>>>>
945     <<<<ssssccccoooorrrreeee----ddddiiiirrrr>>>>////ggggaaaarrrrddddeeeennnnssss////<<<<ggggaaaarrrrddddeeeennnnssss>>>>
946          Search path for loadable gardens. The suffix ".gdn"  is
947          appended to the filename, if required.
948
949     ddddiiiiggggiiiittttssss....ggggddddnnnn,,,, aaaallllpppphhhhaaaabbbbeeeetttt....ggggddddnnnn,,,, ppppuuuuzzzzzzzzlllleeee....ggggddddnnnn
950          Some of the garden files.
951
952SSSSEEEEEEEE AAAALLLLSSSSOOOO
953     xxxxmmmmrrrreeeedddd(6)
954
955EEEERRRRRRRROOOORRRRSSSS
956     If you use a lock file, rather  than  lockf,  and  an  error
957     occurs  creating  the  lock  file,  a  message is printed on
958     stderr, and file locking is not done for that access. Subse-
959     quent accesses may be alright.
960
961     If an error occurs opening the  score  file,  a  message  is
962     printed  on stderr, and the score file is disabled. Personal
963     score files will be generated  in  the  users'  home  direc-
964     tories.
965
966     Various errors can occur  during  initialization,  most  are
967     obvious.  Note  that  if you requested a non-default visual,
968     you may also have to request a private  colormap,  otherwise
969     an  X  error  8  on  request  1:0  occurs when realizing the
970     widget.
971
972     Some systems' timer returns too soon. Mr  Is  detects  this,
973     and  then  starts  performing  a  busywait at the end of the
974     timer period. A warning is also  printed.  If  this  is  the
975     case,  it  may  be  better  to  force  busywaiting  with the
976     busywait resource.
977
978     If a loadable garden is incorrect, an  error  is  displayed,
979     enabling  you  to  locate the offending files and lines. The
980     garden is ignored.
981
982BBBBUUUUGGGGSSSS
983
984
985
986
987X Version 11      Last change: 12 December 1995                15
988
989
990
991
992
993
994XMRIS(6)                 Games and Demos                 XMRIS(6)
995
996
997
998     Mr Is can be addictive, so  don't  blame  me  if  your  work
999     suffers.
1000
1001     Mr Is does not check that the key definitions in the  appli-
1002     cation  resources  do  not conflict with each other. Neither
1003     are the colours checked, to see  that  things  are  actually
1004     visible.
1005
1006     Some of the -msit -swap sprites have black pixels  at  their
1007     edge.   These should really be background colour pixels, but
1008     this is only significant if the -swap background  colour  is
1009     not dark.
1010
1011     Best of the day scores scored between 21:00 Dec 31 and 00:00
1012     Jan 1 won't be kept until noon on New Year's Day.
1013
1014     One  of  the  sprites  with  lettering,  has  the  lettering
1015     reversed when facing left.
1016
1017     Getting accurate, stable timing is difficult, as Unix is not
1018     a  real  time  OS. Unix schedules processes in ticks, with a
1019     certain granularity. Getting finer grained timing than  that
1020     is  very  much  system  dependent.  There  is  also slippage
1021     between receiving one interrupt and starting the  next  one.
1022     You  don't want to get the interrupt to restart itself (even
1023     though  this  is  possible),  as  you  then  get  very  rude
1024     behaviour  if  your  main  loop is a bit too slow, (Mr Is on
1025     speed). Some timers round downwards,  returning  before  the
1026     requested  time.  This  has  to be detected, and a busy wait
1027     inserted.
1028
1029     The visual class name conversion is performed by a  standard
1030     toolkit  routine.  It  accepts  only  American spelling, the
1031     English spelling of
1032
1033CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
1034     Copyright (C) 1995, 1994, 1993, 1992 Nathan Sidwell.
1035
1036AAAAUUUUTTTTHHHHOOOORRRR
1037     Nathan            Sidwell            <nathan@pact.srf.ac.uk>
1038     <http://www.pact.srf.ac.uk/~nathan/>
1039
1040     Additional sprites by Stefan Gustavson <stefang@isy.liu.se>
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053X Version 11      Last change: 12 December 1995                16
1054
1055
1056
1057