[comp.sources.games] v06i009: ega-wanderer - wanderer 2.2 for Microport V/AT w/EGA or curses, Part01/05

games@tekred.CNA.TEK.COM (02/15/89)

Submitted by: Dave Bodenstab <att!iwsl8!imdave>
Comp.sources.games: Volume 6, Issue 9
Archive-name: ega-wanderer/Part01

[This is the wanderer game as previously posted with all the patches applied
 and additional code added to support EGA displays under the Microport
 System V/AT OS.  As mentioned in the other README file, this may be a good
 starting point for a port to MS-DOS, if anyone wants to attempt it.  The
 author has also included the source to the bitmap icons in case you want
 to fiddle with the graphics.  I have *not* included the screens in this
 package as they were just posted in the previous two postings (v6i7 & v6i8).
 This will also work with curses, if you don;t have an EGA display.   -br]

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 5)."
# Contents:  README MANIFEST 48x48.c README.1st icon.c icons
#   icons/16x16 icons/48x48 screens
# Wrapped by billr@saab on Tue Feb 14 15:27:59 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(5451 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X                        * W A N D E R E R *
X                ----------------------------------
X
X    This program requires the header files string.h and curses.h, and
Xthe curses and termcap libraries libcurses.a and libtermcap.a. If your
Xsystem doesnt have them then you might as well give up now.
X
X    Still here? Good - then everythings OK.
X
X    First thing to do is edit the wand_head.h file. Most of the filenames
Xare self-explanatory - the lock file is usually in /tmp , you probably
Xdont need to change it. SCREENPATH is the directory in which the screen
Xfiles, screen.* , are kept. HISCOREPATH is the name of the hiscore table
Xfile - this will be created when you run the program, but must have group
Xand other read and write permission. Also, the directory SCREENPATH is used
Xto hold the credits file.
X    The masterpassword is the password that you can give when you try to
Xjump screen with ~ (see file wand.info) that will allow you to go to any
Xscreen at will. This is for wanderer 'wizards' only. Separate passwords
Xfor each screen are drawn from the file /usr/dict/words - if you dont have
Xit on your system then you'll have to change the file jump.c . These passwords
Xare given to the player upon completing each screen. The passwords can be
Xdisabled by creating a file in the SCREENPATH directory called no_pws .
X
X    New screens can be created by using the editor (thanx play@nl.cwi) that
Xis built into the game. You enter it with the -e flag, and the screen you edit
Xis held in the file ./screen . To add this one to the others, place it in the
XSCREENPATH directory with a name of the form screen.* , making sure that it is
Xreadable by everyone and that the screens number is subsequent to the last of
Xthe screens already held in the directory. Screens may be tested with
Xeither 'p' or 'n', and by using 'm' the number of moves for the screen may be
Xaltered.
X
X    The hiscore table holds only one entry per username - this is to
Xprevent one or two people from taking over the entire table.  If you object to
Xthis feature, it is easily removed from the scores.c file. The table can also
Xbe edited by the 'wizard' using the -m flag. This prompts for the
Xmasterpassword before allowing you to remove any entry by typing its
Xnumber. Use '0' to exit the editor.
X
X    Not much more to say, really. Info on playing the game can be found in
Xthe wand.info file. Once you have edited the header file, just type 'make'
Xto run the makefile. You may need to edit the makefile so that it conforms
Xwith your system. If you dont know how to do this, there's bound to be
Xsomeone around who does.
X
X    Environment variables:
X        Wanderer uses several of these. Here they are...
XSAVEFILE ---- the path of the file to be used for saved games
XNEWKEYS  ---- if you want to redefine the keys
XNEWNAME, NAME, USER ---- scanned in that order to get a name for the hiscore
X                         table.
X
X    The MSDOS port and save routines are courtesy of Greg Margo, who has also
Xtidied up a lot of my messy programming :-). Any problems with them, send
Xto HIM, since I wont know what to do.
X
X    All that remains is for me to say that the source was written by me,
XSteven Shipway,  on a sun/3-160 called poppy at Warwick University. The
Xlatter are completely unaware of this major breakthrough in software
Xdesign (:-), and this is probably a good idea, since they may well disapprove
Xof this use of computing time and facilities! (Only kidding)
X
X                                -Steven Shipway
X
X------------------------------------------------------------------------------
XSummary of flags:
X
X-c  Reads credits file from SCREENPATH/credits
X-s  Shows hiscore table from HISCOREPATH
X-e  Enters screen editor working on file ./screen
X-m  Enters hiscore table editor after prompting for the MASTERPASSWORD
X-f  Starts game with map-type screen instead of normal screen - although I
X        personally think this makes the game too easy...
X------------------------------------------------------------------------------
X
XChanges since last version:
X
X1)  Unless NO_ENCRYPTION has been #def'd then saved games are encrypted.
X    This means an extra source file.
X2)  Lots of cosmetic changes, tidying up messy displaying.
X3)  Extra keys:
X        In Game -   @ --- moves you to center of screen
X                    # --- toggle between normal and fullscreen
X                    W --- redraw screen
X        In Editor - x --- quit edit without saving
X4)  (BIG CHANGE) New object - balloons. These fall up, and are popped by
X   arrows. Also, they kill neither you nor the monster. I havent made any
X   screens involving these, though - maybe you can design a few?
X5)  Help file extended to include info about environment variables, new
X   keys and features.
X6)  Baby monsters can no longer be 'stunned' - trapped in tiny circles -
X   unless you try very hard to get them that way....
X    This cures a bug that Ive been thinking about for ages, and also makes
X   screen 18 a bit easier.
X7)  The -e flag (enter editor) can now take an optional argument. If given,
X   it will take this as the file to be edited. eg, 'wanderer -e screen.1'
X   will edit the file 'screen.1' instead of 'screen' (the default).
X8)  You can no longer sneak off the top of some screens (apparently this
X   is possible on some systems)
X9)  Bug in editor that caused the problem on one of the screens has been
X   fixed.
X
X-Steve
X{maujp,csupt}@uk.ac.warwick.cu
X...!mcvax!ukc!warwick!{maujp,csupt}
END_OF_FILE
if test 5451 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(2224 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X 159x174.c                  2	
X 16x16.c                    4	
X 48x48.c                    1	
X MANIFEST                   1	This shipping list
X Makefile                   4	
X README                     1	
X README.1st                 1	
X bitmap.h                   5	
X display.c                  4	
X edit.c                     2	
X fall.c                     4	
X game.c                     2	
X help.c                     3	
X iAPX286.c                  3	
X icon.c                     1	
X icons                      1	
X icons/16x16                1	
X icons/16x16/backslide_tbm  5	
X icons/16x16/balloon_tbm    5	
X icons/16x16/brick_tbm      5	
X icons/16x16/cage_tbm       5	
X icons/16x16/diamond_tbm    5	
X icons/16x16/dirt_tbm       5	
X icons/16x16/fwdslide_tbm   5	
X icons/16x16/landmine_tbm   5	
X icons/16x16/larrow_tbm     5	
X icons/16x16/monster_tbm    5	
X icons/16x16/player_tbm     5	
X icons/16x16/rarrow_tbm     5	
X icons/16x16/rock_tbm       5	
X icons/16x16/space_tbm      5	
X icons/16x16/sprite_tbm     5	
X icons/16x16/teleport_tbm   5	
X icons/16x16/timecapsul_tbm  5	
X icons/16x16/wall_tbm       5	
X icons/16x16/wayout_tbm     5	
X icons/16x16/whoops_tbm     5	
X icons/48x48                1	
X icons/48x48/backslide_bm   4	
X icons/48x48/balloon_bm     5	
X icons/48x48/brick_bm       5	
X icons/48x48/cage_bm        5	
X icons/48x48/diamond_bm     5	
X icons/48x48/dirt_bm        5	
X icons/48x48/fwdslide_bm    5	
X icons/48x48/landmine_bm    4	
X icons/48x48/larrow_bm      5	
X icons/48x48/monster_bm     5	
X icons/48x48/rarrow_bm      5	
X icons/48x48/rock_bm        5	
X icons/48x48/space_bm       5	
X icons/48x48/spider_bm      5	
X icons/48x48/sprite_bm      5	
X icons/48x48/teleport_bm    4	
X icons/48x48/timecapsule_bm  3	
X icons/48x48/wall_bm        5	
X icons/48x48/wayout_bm      5	
X icons/48x48/whoops_bm      5	
X icons/README               5	
X icons/bmtoBM.c             4	
X icons/wanderer_bm          3	
X jump.c                     4	
X m.c                        4	
X read.c                     2	
X save.c                     4	
X scores.c                   3	
X screens                    1	
X wand_head.h                4	
END_OF_FILE
if test 2224 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f '48x48.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'48x48.c'\"
else
echo shar: Extracting \"'48x48.c'\" \(37225 characters\)
sed "s/^X//" >'48x48.c' <<'END_OF_FILE'
X#include "bitmap.h"
X
Xstatic BM(48,48) backslide ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 
X  0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 
X  0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 
X  0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 
X  0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 
X  0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) balloon ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x38, 0x00, 0x00, 
X  0x00, 0x01, 0x80, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 
X  0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 
X  0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 
X  0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 
X  0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 
X  0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 
X  0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 
X  0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 
X  0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 
X  0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 
X  0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 
X  0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0x07, 0xf0, 0x00, 
X  0x00, 0x00, 0x70, 0x3b, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xc2, 0xc0, 0x00, 
X  0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) brick ={ 48, 48,
X  0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, 
X  0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, 
X  0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, 
X  0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
X  0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x77, 0x77, 0x77, 0xb7, 0x77, 0x77, 0xdd, 0xdd, 0xdd, 0x1d, 0xdd, 0xdd, 
X  0xbb, 0xbb, 0xbb, 0x7b, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x77, 0x77, 0x77, 0xb7, 0x77, 0x77, 0xdd, 0xdd, 0xdd, 0x1d, 0xdd, 0xdd, 
X  0xbb, 0xbb, 0xbb, 0x7b, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x77, 0x77, 0x77, 0xb7, 0x77, 0x77, 0xdd, 0xdd, 0xdd, 0x1d, 0xdd, 0xdd, 
X  0xbb, 0xbb, 0xbb, 0x7b, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x77, 0x77, 0x77, 0xb7, 0x77, 0x77, 0xdd, 0xdd, 0xdd, 0x1d, 0xdd, 0xdd, 
X  0xbb, 0xbb, 0xbb, 0x7b, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x77, 0x77, 0x77, 0xb7, 0x77, 0x77, 0xdd, 0xdd, 0xdd, 0x1d, 0xdd, 0xdd, 
X  0xbb, 0xbb, 0xbb, 0x7b, 0xbb, 0xbb, 0xee, 0xee, 0xee, 0x2e, 0xee, 0xee, 
X  0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, 
X  0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, 
X  0xb7, 0x77, 0x77, 0x77, 0x77, 0x77, 0x1d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 
X  0x7b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x2e, 0xee, 0xee, 0xee, 0xee, 0xee, };
X
Xstatic BM(48,48) cage ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 
X  0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x19, 0x9f, 0xff, 0xff, 0x99, 0x98, 
X  0x19, 0x9f, 0xff, 0xff, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x7f, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x7f, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x7f, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x7f, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x7f, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 
X  0x19, 0x9e, 0x66, 0x67, 0x99, 0x98, 0x19, 0x9f, 0xff, 0xff, 0x99, 0x98, 
X  0x19, 0x9f, 0xff, 0xff, 0x99, 0x98, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 
X  0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) diamond ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x01, 0x00, 
X  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 
X  0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 
X  0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 
X  0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x01, 0x03, 0x50, 0x00, 0x00, 
X  0x00, 0x00, 0x0e, 0x73, 0x40, 0x4a, 0x00, 0x00, 0x1f, 0xdd, 0x01, 0x00, 
X  0x00, 0x00, 0x26, 0x2d, 0x88, 0x00, 0x15, 0x40, 0x26, 0x25, 0xe0, 0x00, 
X  0x00, 0x10, 0x6f, 0x63, 0xe0, 0x00, 0x00, 0x04, 0x79, 0xc7, 0xc0, 0x00, 
X  0x00, 0x00, 0xd1, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x9f, 0xff, 0x00, 0x00, 
X  0x00, 0x05, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x40, 0x00, 
X  0x00, 0x00, 0x7f, 0xfe, 0x08, 0x00, 0x00, 0x10, 0x1f, 0xf2, 0x01, 0x00, 
X  0x00, 0x00, 0x0a, 0x2e, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x22, 0x00, 0x40, 
X  0x00, 0x00, 0x11, 0xfe, 0x00, 0x00, 0x04, 0x00, 0x3f, 0xff, 0xc0, 0x10, 
X  0x00, 0x01, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x04, 
X  0x00, 0x0f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x00, 
X  0x00, 0xff, 0xe7, 0xfc, 0xff, 0x80, 0x01, 0xff, 0x80, 0xf0, 0x1f, 0xc0, 
X  0x03, 0xff, 0x24, 0xe4, 0x9f, 0xc0, 0x03, 0xff, 0x27, 0xe4, 0xff, 0xe0, 
X  0x07, 0xff, 0x87, 0xf0, 0xff, 0xe0, 0x07, 0xff, 0xe1, 0xfc, 0x3f, 0xf0, 
X  0x07, 0xff, 0xe4, 0xfc, 0x9f, 0xf0, 0x03, 0xff, 0x24, 0xe4, 0x9f, 0xf0, 
X  0x03, 0xff, 0x01, 0xe0, 0x3f, 0xf0, 0x01, 0xff, 0xe7, 0xfc, 0xff, 0xe0, 
X  0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xc0, 
X  0x00, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x00, 
X  0x00, 0x01, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) dirt ={ 48, 48,
X  0x81, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x40, 0x44, 0x44, 0x44, 
X  0x44, 0x44, 0x40, 0x44, 0x22, 0x22, 0x22, 0x20, 0x02, 0x22, 0x22, 0x22, 
X  0x88, 0x80, 0x88, 0x88, 0x88, 0x80, 0x80, 0x80, 0x10, 0x11, 0x11, 0x11, 
X  0x11, 0x11, 0x11, 0x01, 0x04, 0x04, 0x44, 0x44, 0x04, 0x40, 0x44, 0x44, 
X  0x02, 0x22, 0x22, 0x02, 0x22, 0x22, 0x22, 0x22, 0x88, 0x80, 0x88, 0x88, 
X  0x88, 0x88, 0x08, 0x88, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 
X  0x40, 0x04, 0x44, 0x44, 0x44, 0x00, 0x44, 0x44, 0x22, 0x00, 0x02, 0x22, 
X  0x20, 0x02, 0x22, 0x22, 0x80, 0x88, 0x80, 0x88, 0x88, 0x88, 0x08, 0x88, 
X  0x11, 0x11, 0x11, 0x01, 0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x04, 
X  0x44, 0x04, 0x44, 0x44, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x02, 0x22, 
X  0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x11, 0x01, 0x11, 0x11, 
X  0x11, 0x10, 0x10, 0x10, 0x44, 0x44, 0x40, 0x40, 0x44, 0x44, 0x44, 0x40, 
X  0x20, 0x22, 0x22, 0x02, 0x20, 0x22, 0x22, 0x22, 0x88, 0x88, 0x08, 0x88, 
X  0x88, 0x88, 0x88, 0x88, 0x11, 0x11, 0x11, 0x10, 0x11, 0x11, 0x11, 0x11, 
X  0x44, 0x04, 0x44, 0x44, 0x00, 0x04, 0x44, 0x44, 0x02, 0x20, 0x22, 0x22, 
X  0x22, 0x22, 0x22, 0x22, 0x88, 0x88, 0x80, 0x88, 0x80, 0x88, 0x88, 0x88, 
X  0x01, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x44, 
X  0x44, 0x44, 0x00, 0x40, 0x02, 0x22, 0x22, 0x22, 0x22, 0x22, 0x20, 0x02, 
X  0x88, 0x88, 0x88, 0x88, 0x00, 0x88, 0x08, 0x88, 0x11, 0x11, 0x11, 0x11, 
X  0x11, 0x01, 0x11, 0x11, 0x44, 0x44, 0x40, 0x44, 0x44, 0x44, 0x44, 0x40, 
X  0x02, 0x22, 0x22, 0x22, 0x22, 0x22, 0xa0, 0x22, 0x88, 0x88, 0x80, 0x88, 
X  0x08, 0x88, 0x88, 0x88, 0x01, 0x00, 0x11, 0x11, 0x11, 0x10, 0x11, 0x11, 
X  0x40, 0x44, 0x44, 0x04, 0x44, 0x44, 0x40, 0x40, 0x22, 0x20, 0x22, 0x22, 
X  0x22, 0x02, 0x20, 0x02, 0x88, 0x80, 0x88, 0x88, 0x88, 0x90, 0x88, 0x89, };
X
Xstatic BM(48,48) fwdslide ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 
X  0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 
X  0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 
X  0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
X  0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 
X  0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 
X  0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 
X  0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 
X  0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 
X  0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 
X  0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 
X  0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 
X  0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 
X  0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 
X  0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) landmine ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 
X  0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x04, 0x28, 0x00, 0x00, 0x00, 0x00, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 
X  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0x00, 0x00, 0x00, 
X  0x00, 0x90, 0x80, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x80, 0x00, 0x00, 0x00, 
X  0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x08, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0x80, 0x3f, 0xfe, 0x00, 
X  0x00, 0x00, 0x4f, 0x78, 0x0f, 0x00, 0x00, 0x00, 0x39, 0xe0, 0x03, 0xc0, 
X  0x00, 0x00, 0x31, 0x00, 0x00, 0x60, 0x00, 0x00, 0x63, 0x00, 0x00, 0x38, 
X  0x00, 0x00, 0x66, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x3c, 0x6d, 0xb6, 0xcc, 
X  0x00, 0x00, 0x1d, 0x28, 0xa2, 0x8c, 0x00, 0x00, 0x0c, 0x10, 0x41, 0x0c, 
X  0x00, 0x00, 0x0d, 0x28, 0xa2, 0x8c, 0x00, 0x00, 0x0c, 0x6d, 0xb6, 0xcc, 
X  0x00, 0x00, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x80, 0x00, 0x0c, 
X  0x00, 0x00, 0x07, 0x80, 0x00, 0x18, 0x00, 0x00, 0x01, 0x60, 0x00, 0x70, 
X  0x00, 0x00, 0x01, 0x9d, 0xb8, 0xe0, 0x00, 0x00, 0x00, 0xef, 0xcf, 0xc0, 
X  0x00, 0x00, 0x00, 0x78, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) larrow ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 
X  0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 
X  0x00, 0x00, 0x80, 0x00, 0x11, 0x10, 0x00, 0x03, 0x80, 0x00, 0x11, 0x10, 
X  0x00, 0x0d, 0x00, 0x00, 0x11, 0x10, 0x00, 0x33, 0x00, 0x00, 0x22, 0x20, 
X  0x00, 0xc2, 0x00, 0x00, 0x22, 0x20, 0x03, 0x04, 0x00, 0x00, 0x44, 0x40, 
X  0x0c, 0x04, 0x00, 0x00, 0x44, 0x40, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 
X  0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0c, 0x04, 0x00, 0x00, 0x44, 0x40, 
X  0x03, 0x04, 0x00, 0x00, 0x44, 0x40, 0x00, 0xc2, 0x00, 0x00, 0x22, 0x20, 
X  0x00, 0x32, 0x00, 0x00, 0x22, 0x20, 0x00, 0x0d, 0x00, 0x00, 0x11, 0x10, 
X  0x00, 0x03, 0x00, 0x00, 0x11, 0x10, 0x00, 0x01, 0x80, 0x00, 0x11, 0x10, 
X  0x00, 0x00, 0x80, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 
X  0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) monster ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00, 
X  0x00, 0x3f, 0x80, 0x3f, 0x80, 0x00, 0x00, 0x71, 0xc0, 0x31, 0xc0, 0x00, 
X  0x00, 0x67, 0xc0, 0x3e, 0xc0, 0x00, 0x00, 0x69, 0xc0, 0x32, 0xc0, 0x00, 
X  0x00, 0x39, 0xc0, 0x32, 0xc0, 0x30, 0x00, 0x1f, 0xc0, 0x3f, 0xc1, 0x30, 
X  0x18, 0x0f, 0x80, 0x1f, 0x81, 0x98, 0x1b, 0x01, 0x80, 0x0f, 0x00, 0xcc, 
X  0x33, 0x61, 0xc0, 0x0e, 0x06, 0x6c, 0x32, 0x60, 0xe7, 0xce, 0x07, 0xbc, 
X  0x3e, 0xc0, 0x7f, 0xff, 0x01, 0xfc, 0x3f, 0x90, 0x7f, 0xff, 0x8d, 0xfc, 
X  0x3f, 0xb0, 0x7f, 0xff, 0xc7, 0xf8, 0x1f, 0xe0, 0xfd, 0xbf, 0xc0, 0xf8, 
X  0x1f, 0xc1, 0xfd, 0xbf, 0xe0, 0x78, 0x0f, 0x01, 0xff, 0xff, 0xe0, 0x70, 
X  0x0f, 0x01, 0xff, 0xff, 0xf3, 0xf0, 0x07, 0x83, 0xff, 0xff, 0xff, 0xe0, 
X  0x07, 0xff, 0xe9, 0x24, 0xff, 0xc0, 0x03, 0xff, 0xc9, 0x24, 0x7f, 0x00, 
X  0x00, 0xff, 0x86, 0x18, 0x70, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x70, 0x00, 
X  0x00, 0x07, 0x80, 0x80, 0xf0, 0x00, 0x00, 0x03, 0xc1, 0xc1, 0xe0, 0x00, 
X  0x00, 0x03, 0xe2, 0x23, 0xe0, 0x00, 0x00, 0x01, 0xf2, 0x27, 0xe0, 0x00, 
X  0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xc0, 0x00, 
X  0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 
X  0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x1f, 0x00, 0x00, 
X  0x00, 0x00, 0x3c, 0x0f, 0x00, 0x00, 0x00, 0x50, 0x7c, 0x0f, 0x05, 0x00, 
X  0x00, 0x79, 0xfc, 0x0f, 0xcf, 0x00, 0x00, 0xff, 0xf8, 0x0f, 0xff, 0x80, 
X  0x00, 0xff, 0xf0, 0x0f, 0xff, 0x80, 0x00, 0xff, 0xe0, 0x07, 0xff, 0x80, 
X  0x00, 0x7f, 0xc0, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) rarrow ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 
X  0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 
X  0x08, 0x88, 0x00, 0x01, 0x00, 0x00, 0x08, 0x88, 0x00, 0x01, 0xc0, 0x00, 
X  0x08, 0x88, 0x00, 0x00, 0xb0, 0x00, 0x04, 0x44, 0x00, 0x00, 0xcc, 0x00, 
X  0x04, 0x44, 0x00, 0x00, 0x43, 0x00, 0x02, 0x22, 0x00, 0x00, 0x20, 0xc0, 
X  0x02, 0x22, 0x00, 0x00, 0x20, 0x30, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 
X  0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x02, 0x22, 0x00, 0x00, 0x20, 0x30, 
X  0x02, 0x22, 0x00, 0x00, 0x20, 0xc0, 0x04, 0x44, 0x00, 0x00, 0x43, 0x00, 
X  0x04, 0x44, 0x00, 0x00, 0x4c, 0x00, 0x08, 0x88, 0x00, 0x00, 0xb0, 0x00, 
X  0x08, 0x88, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x88, 0x00, 0x01, 0x80, 0x00, 
X  0x11, 0x10, 0x00, 0x01, 0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 
X  0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) rock ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 
X  0x00, 0x0b, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xf7, 0xf8, 0x00, 0x00, 
X  0x00, 0x2b, 0x2e, 0xff, 0x80, 0x00, 0x00, 0x1d, 0xf3, 0x41, 0xf8, 0x00, 
X  0x00, 0x5e, 0x7b, 0xf4, 0x84, 0x00, 0x00, 0xe9, 0xe4, 0x97, 0x5e, 0x00, 
X  0x00, 0x36, 0xd7, 0xdb, 0x26, 0x00, 0x03, 0x9b, 0xcf, 0xb4, 0xb2, 0x00, 
X  0x03, 0xcd, 0x24, 0xf6, 0xec, 0x00, 0x07, 0xb5, 0x9a, 0xe9, 0xb1, 0x00, 
X  0x04, 0x9e, 0x6d, 0x6e, 0x97, 0x00, 0x07, 0x6d, 0xf6, 0xbf, 0x6d, 0x00, 
X  0x03, 0xb7, 0xf6, 0x6d, 0xbe, 0xc0, 0x03, 0xbd, 0x5b, 0x7f, 0xb2, 0xa0, 
X  0x02, 0xef, 0xe5, 0xd7, 0x6f, 0xe0, 0x01, 0xf4, 0xdf, 0xed, 0xbb, 0xd0, 
X  0x01, 0xba, 0x77, 0x76, 0xfe, 0xc8, 0x02, 0xef, 0x9d, 0xd6, 0xe9, 0xb8, 
X  0x03, 0x65, 0xfb, 0xfd, 0x3d, 0xf8, 0x00, 0xf7, 0xdf, 0xac, 0xba, 0xd0, 
X  0x07, 0xdb, 0x7d, 0xbf, 0x79, 0x30, 0x07, 0x77, 0xf2, 0x4d, 0x37, 0xd8, 
X  0x02, 0xf2, 0xcd, 0x34, 0x97, 0x18, 0x0e, 0x69, 0xe7, 0x9f, 0x6b, 0xe8, 
X  0x1b, 0xa5, 0xb7, 0x79, 0x25, 0xd8, 0x0f, 0x9f, 0xff, 0xee, 0x97, 0xe8, 
X  0x1e, 0x79, 0x74, 0x9a, 0x7b, 0x60, 0x0d, 0xa5, 0x92, 0x79, 0xfd, 0x30, 
X  0x05, 0xb3, 0xcd, 0x64, 0xd7, 0xf0, 0x0f, 0x5b, 0x7d, 0xdf, 0x5b, 0xe0, 
X  0x0f, 0x2d, 0xb7, 0x5d, 0xbe, 0x00, 0x0e, 0xd6, 0xfd, 0x76, 0x96, 0x00, 
X  0x07, 0xff, 0xb7, 0xbf, 0xec, 0x00, 0x03, 0x55, 0xf7, 0x5c, 0xf4, 0x00, 
X  0x03, 0xff, 0x7d, 0xaf, 0xe8, 0x00, 0x01, 0xfd, 0x2f, 0xfa, 0xd0, 0x00, 
X  0x00, 0x50, 0x02, 0xe7, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xe0, 0x00, 
X  0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) space ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) spider ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x02, 0x01, 0x80, 0x40, 0x00, 
X  0x00, 0x03, 0x01, 0x80, 0xc0, 0x00, 0x00, 0x07, 0x01, 0x80, 0xe0, 0x00, 
X  0x00, 0x07, 0x81, 0x81, 0xe0, 0x00, 0x00, 0x05, 0x81, 0x81, 0xa0, 0x00, 
X  0x10, 0x0d, 0xc1, 0x83, 0xb0, 0x08, 0x18, 0x08, 0xc1, 0x83, 0x10, 0x18, 
X  0x1c, 0x08, 0xe7, 0xe7, 0x10, 0x38, 0x16, 0x18, 0x79, 0x9e, 0x18, 0x68, 
X  0x13, 0x13, 0xf1, 0x8f, 0xc8, 0xc8, 0x11, 0x9c, 0x71, 0x8e, 0x39, 0x88, 
X  0x10, 0xf1, 0x79, 0x9e, 0x0f, 0x08, 0x10, 0xe4, 0x31, 0x8c, 0xa7, 0x08, 
X  0x10, 0xf1, 0x01, 0x80, 0x0f, 0x08, 0x31, 0x78, 0x23, 0xc4, 0x9e, 0x8c, 
X  0x31, 0x32, 0x8f, 0xf0, 0x0c, 0x8c, 0x32, 0x00, 0x10, 0x0a, 0xa0, 0x4c, 
X  0x02, 0x48, 0x42, 0x40, 0x02, 0x40, 0x07, 0xe2, 0x08, 0x09, 0x27, 0xe0, 
X  0x3f, 0xe0, 0xa3, 0xc0, 0x07, 0xfc, 0x39, 0x4c, 0x0c, 0x30, 0x32, 0x9c, 
X  0x21, 0x1e, 0x90, 0x09, 0x78, 0x84, 0x20, 0x9c, 0x20, 0x04, 0x39, 0x04, 
X  0x20, 0x79, 0x4c, 0x32, 0x9e, 0x04, 0x20, 0x70, 0x5e, 0x7a, 0x0e, 0x04, 
X  0x20, 0xec, 0x8c, 0x31, 0x37, 0x04, 0x21, 0xc3, 0x81, 0x81, 0xc3, 0x84, 
X  0x63, 0x80, 0x81, 0x81, 0x01, 0xc6, 0x67, 0x00, 0x80, 0x01, 0x00, 0xe6, 
X  0x66, 0x00, 0x48, 0x12, 0x00, 0x66, 0x03, 0x00, 0x47, 0xe2, 0x00, 0xc0, 
X  0x03, 0x00, 0x23, 0xc4, 0x00, 0xc0, 0x01, 0x00, 0x21, 0x84, 0x00, 0x80, 
X  0x01, 0x80, 0x10, 0x08, 0x01, 0x80, 0x00, 0xc0, 0x08, 0x10, 0x03, 0x00, 
X  0x00, 0xc0, 0x07, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) sprite ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x08, 0x02, 0xc0, 
X  0x00, 0x40, 0x00, 0x00, 0x1d, 0x38, 0x03, 0x35, 0x02, 0x08, 0x28, 0x0c, 
X  0x05, 0x5a, 0x80, 0x80, 0x20, 0x0c, 0x0a, 0x01, 0x6d, 0x50, 0x10, 0x04, 
X  0x30, 0x00, 0xd2, 0x4c, 0xe0, 0x04, 0x10, 0x81, 0xa1, 0x14, 0x42, 0x04, 
X  0x30, 0x04, 0x64, 0xa3, 0x00, 0x00, 0x30, 0x02, 0xcc, 0x8d, 0x40, 0x20, 
X  0x20, 0x04, 0x96, 0xd2, 0x84, 0x00, 0x00, 0x12, 0x51, 0x04, 0xa0, 0x00, 
X  0x00, 0x06, 0x09, 0x06, 0xa0, 0x00, 0x00, 0x01, 0x34, 0xb8, 0xd0, 0x80, 
X  0x00, 0x8a, 0x48, 0x4b, 0x10, 0x00, 0x00, 0x05, 0x2b, 0x04, 0x88, 0x00, 
X  0x04, 0x05, 0x24, 0xa5, 0xd7, 0xc0, 0x00, 0x0a, 0x4b, 0x6b, 0x50, 0x3c, 
X  0x00, 0x04, 0xba, 0xd0, 0x30, 0x04, 0x00, 0x0a, 0x01, 0x06, 0xa8, 0x00, 
X  0x01, 0x01, 0xb6, 0x70, 0x20, 0x80, 0x00, 0x08, 0x0b, 0xac, 0x98, 0x00, 
X  0x00, 0x04, 0x9a, 0x55, 0xa4, 0x00, 0x00, 0x08, 0x93, 0x04, 0xda, 0x00, 
X  0x00, 0x2b, 0x64, 0xe2, 0x0a, 0x00, 0x00, 0x76, 0x1a, 0x88, 0x85, 0x00, 
X  0x00, 0xd1, 0x72, 0x50, 0x00, 0x80, 0x01, 0x40, 0x00, 0x80, 0x03, 0x00, 
X  0x01, 0x00, 0x00, 0x04, 0x24, 0x80, 0x03, 0x84, 0x08, 0x00, 0x01, 0x00, 
X  0x04, 0x00, 0x40, 0x01, 0x02, 0x00, 0x05, 0x00, 0x02, 0x60, 0x05, 0x00, 
X  0x05, 0x00, 0x10, 0x18, 0x04, 0x00, 0x02, 0x00, 0x00, 0x28, 0x15, 0x00, 
X  0x06, 0x00, 0x00, 0x0a, 0xa4, 0x00, 0x04, 0x00, 0x00, 0x10, 0x58, 0x00, 
X  0x06, 0x20, 0x00, 0x0b, 0x20, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) teleport ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 
X  0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 
X  0x00, 0x2a, 0xaa, 0xaa, 0xaa, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 
X  0x01, 0xaa, 0xaa, 0xaa, 0xaa, 0xc0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 
X  0x00, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 
X  0x00, 0x4e, 0xee, 0xbb, 0xb9, 0x00, 0x00, 0x6e, 0xee, 0x3b, 0xbb, 0x00, 
X  0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x00, 0x6e, 0xee, 0x3b, 0xbb, 0x00, 
X  0x00, 0x4e, 0xee, 0xbb, 0xb9, 0x00, 0x00, 0x60, 0x00, 0x00, 0x03, 0x00, 
X  0x00, 0x55, 0x55, 0xd5, 0x55, 0x00, 0x00, 0x6a, 0xaa, 0xaa, 0xab, 0x00, 
X  0x00, 0x55, 0x55, 0xd0, 0x05, 0x00, 0x00, 0x68, 0x0a, 0xa5, 0x4b, 0x00, 
X  0x00, 0x54, 0x05, 0xd2, 0xa5, 0x00, 0x00, 0x68, 0x0a, 0xa5, 0x4b, 0x00, 
X  0x00, 0x54, 0x05, 0xd2, 0xa5, 0x00, 0x00, 0x68, 0x0a, 0xa5, 0x4b, 0x00, 
X  0x00, 0x54, 0x05, 0xd2, 0xa5, 0x00, 0x00, 0x6a, 0xaa, 0xa0, 0x0b, 0x00, 
X  0x00, 0x55, 0x55, 0xd5, 0x55, 0x00, 0x00, 0x6a, 0xaa, 0xaa, 0xab, 0x00, 
X  0x00, 0x50, 0x05, 0xd0, 0x05, 0x00, 0x00, 0x62, 0xa2, 0xa5, 0x4b, 0x00, 
X  0x00, 0x55, 0x55, 0xd2, 0xa5, 0x00, 0x00, 0x62, 0xa2, 0xa5, 0x4b, 0x00, 
X  0x00, 0x50, 0x05, 0xd0, 0x05, 0x00, 0x00, 0x6a, 0xaa, 0xaa, 0xab, 0x00, 
X  0x00, 0x55, 0x55, 0xd5, 0x55, 0x00, 0x00, 0x60, 0x02, 0xa0, 0x0b, 0x00, 
X  0x00, 0x55, 0x55, 0xd2, 0xa5, 0x00, 0x00, 0x62, 0xa2, 0xa5, 0x4b, 0x00, 
X  0x00, 0x55, 0x55, 0xd2, 0xa5, 0x00, 0x00, 0x60, 0x02, 0xa0, 0x0b, 0x00, 
X  0x00, 0x55, 0x55, 0xd5, 0x55, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 
X  0x01, 0x55, 0x55, 0x55, 0x55, 0x40, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) timecapsule ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x5e, 0x00, 0x00, 
X  0x00, 0x03, 0xaa, 0xab, 0x80, 0x00, 0x00, 0x07, 0x55, 0x55, 0xc0, 0x00, 
X  0x00, 0x0e, 0xbf, 0xfa, 0xe0, 0x00, 0x00, 0x1d, 0x71, 0x1d, 0x70, 0x00, 
X  0x00, 0x3a, 0xc1, 0x06, 0xb8, 0x00, 0x00, 0x75, 0x80, 0x03, 0x5c, 0x00, 
X  0x00, 0x6b, 0x00, 0x01, 0xac, 0x00, 0x00, 0xd6, 0x60, 0x60, 0xd6, 0x00, 
X  0x00, 0xec, 0x20, 0x40, 0x6e, 0x00, 0x00, 0xdc, 0x10, 0x44, 0x76, 0x00, 
X  0x01, 0xb8, 0x08, 0x8e, 0x3b, 0x00, 0x01, 0xd8, 0x44, 0x95, 0x37, 0x00, 
X  0x01, 0xb8, 0x43, 0x84, 0x3b, 0x00, 0x01, 0xde, 0x43, 0x84, 0xf7, 0x00, 
X  0x01, 0xb8, 0x41, 0x04, 0x3b, 0x00, 0x01, 0xd8, 0x20, 0x08, 0x37, 0x00, 
X  0x01, 0xb8, 0x24, 0x08, 0x3b, 0x00, 0x00, 0xdc, 0x14, 0x10, 0x76, 0x00, 
X  0x00, 0xec, 0x0c, 0x20, 0x6e, 0x00, 0x00, 0xd6, 0x3c, 0x00, 0xd6, 0x00, 
X  0x00, 0x6b, 0x00, 0x01, 0xac, 0x00, 0x00, 0x75, 0x80, 0x03, 0x5c, 0x00, 
X  0x00, 0x3a, 0xc1, 0x06, 0xb8, 0x00, 0x00, 0x1d, 0x71, 0x1d, 0x70, 0x00, 
X  0x00, 0x1e, 0xbf, 0xfa, 0xf0, 0x00, 0x00, 0x1f, 0x55, 0x55, 0xf0, 0x00, 
X  0x00, 0x1f, 0xaa, 0xab, 0xf0, 0x00, 0x00, 0x1f, 0xf5, 0x5f, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) wall ={ 48, 48,
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x45, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x57, 0x55, 0x45, 0x57, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x15, 0x55, 0x15, 0x55, 
X  0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x75, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x75, 0x55, 0x55, 
X  0xaa, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x51, 0x55, 0x45, 0x55, 0xd5, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x15, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0x55, 0x55, 0x55, 0x75, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xa8, 0xaa, 0xa8, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x5d, 0x55, 
X  0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x2a, 0x55, 0x55, 0x15, 0x55, 0x55, 0x55, 
X  0xaa, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x75, 0x55, 
X  0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, };
X
Xstatic BM(48,48) wayout ={ 48, 48,
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x16, 0x00, 0x00, 0x00, 0x00, 0x68, 0x16, 0xff, 0xff, 0xff, 0xff, 0x68, 
X  0x16, 0x80, 0x7f, 0xf3, 0xcf, 0x68, 0x16, 0xcf, 0x7f, 0xf3, 0xcf, 0x68, 
X  0x16, 0xcf, 0xff, 0xff, 0xcf, 0x68, 0x16, 0xcf, 0xc6, 0x23, 0x03, 0x68, 
X  0x16, 0xc0, 0xe6, 0x73, 0xcf, 0x68, 0x16, 0xcf, 0xf2, 0xf3, 0xcf, 0x68, 
X  0x16, 0xcf, 0xf9, 0xf3, 0xcf, 0x68, 0x16, 0xcf, 0xf4, 0xf3, 0xcf, 0x68, 
X  0x16, 0xcf, 0x66, 0x73, 0xc9, 0x68, 0x16, 0x80, 0x46, 0x33, 0xe3, 0x68, 
X  0x16, 0xff, 0xff, 0xff, 0xff, 0x68, 0x16, 0x00, 0x00, 0x00, 0x00, 0x68, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xff, 0xff, 0xe8, 
X  0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
X  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
X
Xstatic BM(48,48) whoops ={ 48, 48,
X  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 
X  0x83, 0xc0, 0x3c, 0x00, 0x00, 0x01, 0x87, 0xe0, 0x7e, 0x00, 0x00, 0x01, 
X  0x8c, 0x70, 0xc7, 0x00, 0x00, 0x01, 0x8c, 0x30, 0xc3, 0x00, 0x00, 0x01, 
X  0x80, 0x30, 0x03, 0x00, 0x00, 0x01, 0x80, 0x60, 0x06, 0x00, 0x00, 0x01, 
X  0x80, 0xc0, 0x0c, 0x00, 0x00, 0x01, 0x81, 0x80, 0x18, 0x00, 0x00, 0x01, 
X  0x83, 0x00, 0x30, 0x00, 0x00, 0x01, 0x83, 0x00, 0x30, 0x00, 0x00, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x83, 0x00, 0x30, 0x00, 0x00, 0x01, 
X  0x83, 0x00, 0x30, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 
X  0x84, 0x05, 0x00, 0x00, 0x00, 0x01, 0x84, 0x05, 0x00, 0x00, 0x00, 0x01, 
X  0x84, 0x05, 0x00, 0x00, 0x00, 0x01, 0x84, 0x05, 0x00, 0x00, 0x00, 0x01, 
X  0x82, 0x49, 0x63, 0x8e, 0x58, 0xe1, 0x82, 0x49, 0x94, 0x51, 0x65, 0x01, 
X  0x82, 0xa9, 0x14, 0x51, 0x44, 0xc1, 0x81, 0x11, 0x14, 0x51, 0x64, 0x21, 
X  0x81, 0x11, 0x13, 0x8e, 0x59, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x00, 0x3c, 0x03, 0xc1, 
X  0x80, 0x00, 0x00, 0x7e, 0x07, 0xe1, 0x80, 0x00, 0x00, 0xc7, 0x0c, 0x71, 
X  0x80, 0x00, 0x00, 0xc3, 0x0c, 0x31, 0x80, 0x00, 0x00, 0x03, 0x00, 0x31, 
X  0x80, 0x00, 0x00, 0x06, 0x00, 0x61, 0x80, 0x00, 0x00, 0x0c, 0x00, 0xc1, 
X  0x80, 0x00, 0x00, 0x18, 0x01, 0x81, 0x80, 0x00, 0x00, 0x30, 0x03, 0x01, 
X  0x80, 0x00, 0x00, 0x30, 0x03, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 
X  0x80, 0x00, 0x00, 0x30, 0x03, 0x01, 0x80, 0x00, 0x00, 0x30, 0x03, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 
X  0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, };
X
Xbitmap *b48x48[] ={ (bitmap*) &backslide, (bitmap*) &balloon,
X			(bitmap*) &brick, (bitmap*) &cage,
X			(bitmap*) &diamond, (bitmap*) &dirt,
X			(bitmap*) &fwdslide, (bitmap*) &landmine,
X			(bitmap*) &larrow, (bitmap*) &monster,
X			(bitmap*) &spider, (bitmap*) &rarrow,
X			(bitmap*) &rock, (bitmap*) &space,
X			(bitmap*) &sprite, (bitmap*) &teleport,
X			(bitmap*) &timecapsule, (bitmap*) &wall,
X			(bitmap*) &wayout, (bitmap*) &whoops, };
END_OF_FILE
if test 37225 -ne `wc -c <'48x48.c'`; then
    echo shar: \"'48x48.c'\" unpacked with wrong size!
fi
# end of '48x48.c'
fi
if test -f 'README.1st' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README.1st'\"
else
echo shar: Extracting \"'README.1st'\" \(2713 characters\)
sed "s/^X//" >'README.1st' <<'END_OF_FILE'
XI finally finished my holiday project...
X
XThis is wanderer version 2.2 modified for Microport system V/AT with an
XEGA for a console.  This version was inspired by the X-Windows version
Xof wanderer posted some time ago.  It uses the graphics mode of the EGA
Xto display the game screen.  Sorry -- no color; that is left to the next
Xambitious soul.
X
XI have applied all bug fixes and patches that I have seen posted, except
XI have not used the replacement fall.c program (which corrected the
Xillegal references outside the screen[][] array) because it did not support
Xballoons which the official fall.c did.  I did, however, fix the problem
Xof referencing outside the screen[][] array.  In addition, I have applied
Xmany bug fixes of my own.  These are listed below.
X
XThe game can be compiled without the EGA support -- you then get the curses
Xversion with all of the bug fixes.  If EGA support is included, the game
Xwill use the EGA if:
X	+ stdout is one of /dev/cons*
X	+ a shared memory segment with key 0xa0000 can be attached
X		(see /etc/shmcreate)
XIf the EGA cannot be used, the program defaults back to curses.
X
XI don't know if Xenix has a facility to map display memory to a user process,
Xso this version may only be useful to Microport users.  This version might
Xbe a reasonable starting point, though, for a port to MSDOS with an EGA/VGA.
X
XNow, just to head off any flames... it isn't pretty, it isn't clean,
Xit isn't efficient... its a hack!   But it does work (and it's pretty)!
XThat was my *only* goal.
X
XChanges since version 2.2:
X
XEGA changes throughout!
XReplace buggy savescore() code
XHandle small monsters correctly when they overlap one another
XPrevent new_direction() making impossible moves
XAllow for possible reference beyond edge of screen[][] array by fall.c
XAdd support for cursor keys (John Abbott), and support '\b' key
XRecover from save/restore errors (John Abbott)
XCleanup save/restore code, and handle encryption more reasonably
XRedo entire help.c and icon.c
XChange score to a `long'
XRestore screen properly if c[ontinue] chosen when debugging
XAllow c[ontinue] for all reasonable deaths when debugging
XRemove unneeded variables from save structure
XSave_game() will not return if successful
XChange call to redraw_screen() to allow maxmoves to be set correctly
XUsed redraw_screen() function to draw initial screen
XRe-add bell() calls for gold, monsters, and diamonds
XUse 'v' instead of '!' as view command
XReset sx/sy after restore
XChange help to reflect command 'v' instead of '!', and addition of '^L'
XRestore_game() will not corrupt current game if restore fails
XMake HISCOREPATH not writable by others
XUse getch() rather than getchar() where appropriate
X
XDave Bodenstab
X...att!iwsl8!imdave
END_OF_FILE
if test 2713 -ne `wc -c <'README.1st'`; then
    echo shar: \"'README.1st'\" unpacked with wrong size!
fi
# end of 'README.1st'
fi
if test -f 'icon.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icon.c'\"
else
echo shar: Extracting \"'icon.c'\" \(2803 characters\)
sed "s/^X//" >'icon.c' <<'END_OF_FILE'
X#include "wand_head.h"
X#include "bitmap.h"
X
X#ifdef	EGA
Xextern	bitmap	*b48x48[];
Xextern	char	*EGAaddr;
X#endif
X
X/* this is where the pretty graphics are */
X/* all defined - change them if you want.. */
X
Xstatic
Xchar	*backslide[] ={ "\\_ ",
X			"  \\" },
X	*fwdslide[]  ={ " _/",
X			"/  " },
X	*space[]     ={ "   ",
X			"   " },
X	*whoops[]    ={ "OOO",
X			"OOO" },
X	*wall[]      ={ "###",
X			"###" },
X	*rarrow[]    ={ "-->",
X			"-->" },
X	*larrow[]    ={ "<--",
X			"<--" },
X	*rock[]      ={ "/^\\",
X			"\\_/" },
X	*dirt[]      ={ ". .",
X			" . " },
X	*diamond[]   ={ "/$\\",
X			"\\$/" },
X	*brick[]      ={ "=-=",
X			"-=-" },
X	*player[]    ={ " o ",
X			"<|>" },
X	*teleport[]  ={ "(*)",
X			"(*)" },
X	*wayout[]    ={ "Way",
X			"Out" },
X	*landmine[]  ={ " I ",
X			" o " },
X	*monster[]   ={ "}o{",
X			"/^\\" },
X	*sprite[]    ={ "-o-",
X			"/*\\" },
X	*balloon[]   ={ "/~\\",
X			"\\_X" },
X	*timecapsule[]={"   ",
X			"<O>" },
X	*cage[]      ={ "TTT",
X			"III" },
X
X	**icons[] ={ backslide, balloon, brick, cage, diamond, dirt,
X		     fwdslide, landmine, larrow, monster, player,
X		     rarrow, rock, space, sprite, teleport, timecapsule,
X		     wall, wayout, whoops,
X		   };
X
X
Xvoid draw_symbol(x,y,ch)
Xint  x,y;
Xchar ch;
X{
X    int what = symbol(ch);
X#ifdef	EGA
X    static char drawn[7][11];
X    extern int EGAmode;
X
X    if(EGAmode != 48) {
X	EGAmode = 48;
X	memset( drawn, 0, sizeof(drawn) );
X    }
X
X    if(EGAaddr) {
X	bitmap *map = b48x48[what];
X
X	x /= 3;
X	y /= 2;
X	if(drawn[y][x] != ch) {
X	    drawn[y][x] = ch;
X	    egapaint( 4 + map->width * x, 4 + map->height * y, map );
X	    }
X	}
X    else
X#endif
X	{
X	mvaddstr(++y,++x,icons[what][0]);
X	mvaddstr(++y,x,icons[what][1]);
X	}
X}
X
X
Xint symbol( ch )
Xchar ch;
X{
Xswitch( ch )
X    {
X    case ' ':			/*  space  */
X	return( SPACE );
X    case '#':			/*  rock  */
X	return( WALL );
X    case '<':			/*  arrows  */
X	return( LARROW );
X    case '>':
X	return( RARROW );
X    case 'O':			/* boulder  */
X	return( ROCK );
X    case ':':			/*  earth  */
X	return( DIRT );
X    case '/':			/*  slopes */
X	return( FWDSLIDE );
X    case '\\':
X	return( BACKSLIDE );
X    case '*':			/*  diamond  */
X	return( DIAMOND );
X    case '=':			/*  brick  */
X	return( BRICK );
X    case '@':			/*  YOU!!! */
X	return( PLAYER );
X    case 'T':			/*  teleport  */
X	return( TELEPORT );
X    case 'X':			/*  exits  */
X	return( WAYOUT );
X    case '!':			/*  landmine  */
X	return( LANDMINE );
X    case 'M':			/* big monster  */
X	return( MONSTER );
X    case 'S':			/* baby monster */
X	return( SPRITE );
X    case '^':			/* balloon */
X	return( BALLOON );
X    case 'C':			/* time capsule */
X	return( TIMECAPSULE );
X    case '+':			/* cage */
X	return( CAGE );
X    case 'A':			/* teleport arrival */
X	return( ARRIVAL );
X    }
X
X    /* this is what it uses if it doesn't */
X    /* recognise the character  */
X    return( WHOOPS );
X}
END_OF_FILE
if test 2803 -ne `wc -c <'icon.c'`; then
    echo shar: \"'icon.c'\" unpacked with wrong size!
fi
# end of 'icon.c'
fi
if test ! -d 'icons' ; then
    echo shar: Creating directory \"'icons'\"
    mkdir 'icons'
fi
if test ! -d 'icons/16x16' ; then
    echo shar: Creating directory \"'icons/16x16'\"
    mkdir 'icons/16x16'
fi
if test ! -d 'icons/48x48' ; then
    echo shar: Creating directory \"'icons/48x48'\"
    mkdir 'icons/48x48'
fi
if test ! -d 'screens' ; then
    echo shar: Creating directory \"'screens'\"
    mkdir 'screens'
fi
echo shar: End of archive 1 \(of 5\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 5 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0