[comp.sources.amiga] v89i094: wanderer - the game v2.2, Part01/03

page%rishathra@Sun.COM (Bob Page) (04/26/89)

Submitted-by: mab@druwy.att.com (Alan Bland)
Posting-number: Volume 89, Issue 94
Archive-name: fun/wand22.1

A port of the UNIX game.

# This is a shell archive.
# Remove anything above and including the cut line.
# Then run the rest of the file through 'sh'.
# Unpacked files will be owned by you and have default permissions.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: SHell ARchive
# Run the following text through 'sh' to create:
#	Makefile.amiga
#	Makefile.msdos
#	Makefile.unix
#	README
#	README.usenet
#	ami-curses.c
#	ami-curses.h
#	ami-pw.images.h
# This is archive 1 of a 3-part kit.
# This archive created: Tue Apr 25 00:28:04 1989
echo "extracting Makefile.amiga"
sed 's/^X//' << \SHAR_EOF > Makefile.amiga
X#==================================================================
X# This makefile is for the AMIGA with the Lattice 5.02 LMK utility.
X#==================================================================
X
X# Makefile for wanderer - modified by Bill Randle 6/30/88
X# modified again by play@cwi.nl
X# and again by me.. maujp@uk.ac.warwick.cu
X# and again by mab@druwy.att.com for AMIGA
X
XOBJ = m.o save.o jump.o display.o icon.o game.o read.o help.o fall.o scores.o edit.o
X
XCFLAGS = -cw -cs -iamiga
XLIBS = lib:lc.lib lib:amiga.lib
X
X# amiga-specific source files are in the "amiga" subdirectory
XCURSES = amiga/curses.o
XSOUNDS = amiga/sounds.o
X
Xall:	wanderer
X
Xwanderer:	$(OBJ) $(CURSES) $(SOUNDS)
X	blink to wanderer from lib:c.o $(OBJ) $(CURSES) $(SOUNDS) lib $(LIBS) sc sd batch nd
X
X# $(OBJ): wand_head.h
SHAR_EOF
echo "extracting Makefile.msdos"
sed 's/^X//' << \SHAR_EOF > Makefile.msdos
X# Makefile for wanderer - modified by Bill Randle 6/30/88
X# modified again by play@cwi.nl
X# and again by me.. maujp@uk.ac.warwick.cu
X# and for MSDOS by Gregory H. Margo (uunet!netxcom!nxsysf!gmargo)
X
XOBJ = jump.obj display.obj icon.obj game.obj read.obj help.obj fall.obj scores.obj edit.obj m.obj save.obj
X
XCFLAGS = -O -Ic:\src\lib\curses -DLINT_ARGS
XLIBS = c:\src\lib\curses\scurses.lib /NOI /STACK:0x1000
X
Xall:	wanderer.exe
X	@echo DONE
X
Xwanderer.exe:	$(OBJ)
X	link $(OBJ),wanderer.exe,NUL,$(LIBS);
X
X$(OBJ):	wand_head.h
X
Xinstall:
X	@mkdir /usr/games/lib/wand
X	cp -r screens /usr/games/lib/wand
X	touch /usr/games/lib/wand/hiscores
X	mv wanderer /usr/games
SHAR_EOF
echo "extracting Makefile.unix"
sed 's/^X//' << \SHAR_EOF > Makefile.unix
X# Makefile for wanderer - modified by Bill Randle 6/30/88
X# modified again by play@cwi.nl
X# and again by me.. maujp@uk.ac.warwick.cu
X
XOBJ = m.o save.o jump.o display.o icon.o game.o read.o help.o fall.o scores.o edit.o encrypt.o
X
XCFLAGS = -O
X
X# you may need to adjust this on your unix system
X# LIBS = -lcurses -ltermcap
XLIBS = -lcurses
X
Xall:	wanderer
X	@echo DONE
X
Xwanderer:	$(OBJ)
X	cc $(CFLAGS) -o wanderer $(OBJ) $(LIBS)
X
X$(OBJ): wand_head.h
X
Xinstall:
X	@mkdir /usr/games/lib/wand
X	cp -r screens /usr/games/lib/wand
X	touch /usr/games/lib/wand/hiscores
X	mv wanderer /usr/games
SHAR_EOF
echo "extracting README"
sed 's/^X//' << \SHAR_EOF > README
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    The AMIGA port with sound and graphics was done by Alan Bland.  If you
Xrun the AMIGA version from the CLI, make sure your stack is set to at least
X80000 before running the game, else the machine will crash during avalanches.
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------------------------------------------------------------------------------
SHAR_EOF
echo "extracting README.usenet"
sed 's/^X//' << \SHAR_EOF > README.usenet
XThe contents of the 'amiga' directory were moved into this directory.  The
Xfile names have "ami-" prepended to them.  I would have left the subdirectory
Xalone if I felt the Amiga 'sh' or 'unshar' could handle automatic creation
Xof subdirectories.		..bob
X
Xmakedir amiga
Xrename ami-curses.c amiga/curses.c
Xrename ami-curses.h amiga/curses.h
Xrename ami-pw.images.h amiga/pw.images.h
Xrename ami-pw.menus.h amiga/pw.menus.h
Xrename ami-pw.palette.h amiga/pw.palette.h
Xrename ami-sounds.c amiga/sounds.c
Xrename ami-sounds.h amiga/sounds.h
SHAR_EOF
echo "extracting ami-curses.c"
sed 's/^X//' << \SHAR_EOF > ami-curses.c
X/*
X * A simple curses emulation for the Amiga, specifically for WANDERER
X *
X * Alan Bland
X */
X#ifdef AMIGA
X
X#include <stdio.h>
X#include <ctype.h>
X#include <curses.h>
X
X#include <dos.h>
X#include <intuition/intuition.h>
X#include <exec/types.h>
X#include <exec/ports.h>
X#include <exec/io.h>
X#include <exec/memory.h>
X
X#include <proto/exec.h>
X#include <proto/intuition.h>
X
X/* generated by Power Windows 2.0 */
X#include "pw.palette.h"
X#include "pw.menus.h"
X
Xstruct IntuitionBase *IntuitionBase;
Xstruct GfxBase *GfxBase;
Xstruct Screen *S;
Xstruct Window *W;
Xstruct RastPort *R;
Xstruct TextFont *map_font, *text_font;
Xstruct Library *DiskfontBase;
X
X#define TOPEDGE 12	/* how much of screen bar to show */
Xint WindowWidth = 640;
Xint WindowHeight = 200 - TOPEDGE;
X
Xint MouseX, MouseY;
X
X/* getmouse - get current row and column of mouse */
Xgetmouse(amr,amc)
Xint *amr;
Xint *amc;
X{
X	*amr = MouseY / 8;
X	*amc = MouseX / 8;
X}
X
X/* Return when either a console key or mouse button is pressed. */
Xmouseorkey()
X{
X	return nextevent(MOUSEBUTTONS | RAWKEY | MENUPICK, 1);
X}
X
Xflushinput()
X{
X	while (nextevent(RAWKEY, 0) >= 0) ;
X}
X
X/* returns next character, with special WANDERER translations */
Xgetch()
X{
X	return nextevent(RAWKEY | MENUPICK, 1);
X}
X
X/* returns next character with no special translations */
X/* used mainly for getstr() */
Xgetvanillach()
X{
X	return nextevent(VANILLAKEY, 1);
X}
X
Xcursor(state)
Xint state;
X{
X	int x, y;
X	x = R->cp_x;
X	y = R->cp_y - R->Font->tf_Baseline;
X	SetDrMd(R, COMPLEMENT);
X	RectFill(R, x, y, x+8, y+R->Font->tf_YSize-1);
X	SetDrMd(R, JAM2);
X}
X
X/* special keymap for wanderer raw mode - translates function keys and
X * cursor keys to wanderer single-key commands */
Xchar mykeys[] = {
X	'`','1','2','3','4','5','6','7','8','9','0','-','=','\\',0,0,
X	'q','w','e','r','t','y','u','i','o','p','[',']',0,0,'j',0,
X	'a','s','d','f','g','h','j','k','l',';','\'',0,0,'h','@','l',
X	0,'z','x','c','v','b','n','m',',','.','/',0,0,0,'k',0,
X	' ','\b',0,'\n','\n','q',0,0,0,0,0,0,'k','j','l','h',
X	'~','#','@',0,0,'S','R',0,0,'!',0,0,0,0,0,'?',
X	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
X	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
X};
Xchar myshiftkeys[] = {
X	'~','!','@','#','$','%','^','&','*','(',')','_','+','|',0,0,
X	'Q','W','E','R','T','Y','U','I','O','P','{','}',0,0,0,0,
X	'A','S','D','F','G','H','J','K','L',':','"',0,0,0,0,0,
X	0,'Z','X','C','V','B','N','M','<','>','?',0,0,0,0,0,
X	' ','\b',0,'\n','\n',0,0,0,0,0,0,0,'k','j','l','h',
X	'~','#','@',0,0,'S','R',0,0,'!',0,0,0,0,0,'?',
X	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
X	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
X};
X
Xnextevent(flags, wait)
Xlong flags;
Xint wait;
X{
X	register int class, code;
X	register struct IntuiMessage *message;
X	int result, qual;
X
X	/* show cursor if inputting a stream of text */
X	if (flags & VANILLAKEY) cursor(1);
X	ModifyIDCMP(W, CLOSEWINDOW | flags);
X	while (1)
X	{
X		if (wait)
X		{
X		    /* get next event, waiting if none are available */
X		    while ((message = (struct IntuiMessage *)GetMsg(W->UserPort)) == NULL)
X		    {
X			Wait(1<<W->UserPort->mp_SigBit);
X		    }
X		}
X		else
X		{
X		    /* get next event, but return if none are available */
X		    message = (struct IntuiMessage *)GetMsg(W->UserPort);
X		    if (message == NULL)
X		    {
X			result = -1;
X			break;
X		    }
X		}
X		class = message->Class;
X		code = message->Code;
X		qual = message->Qualifier;
X		MouseX = message->MouseX;
X		MouseY = message->MouseY;
X		ReplyMsg((struct Message *)message);
X
X		switch (class)
X		{
X		case CLOSEWINDOW:
X			/* ignore for now */
X			continue;
X		case VANILLAKEY:
X			result = code;
X			if (result == '\r') result = '\n';
X			break;
X		case RAWKEY:
X			if (code&0x80) continue;	/* ignore key releases */
X			/* only recognize wanderer keys */
X			/* can use cursor keys, hjkl, ibm keypad for moving */
X			if (qual & (IEQUALIFIER_LSHIFT | IEQUALIFIER_RSHIFT))
X				result = myshiftkeys[code];
X			else
X				result = mykeys[code];
X			if (result == 0) continue;	/* ignore undef keys */
X			break;
X
X		case MENUPICK:
X			if (code == MENUNULL) continue;
X			switch (MENUNUM(code)) {
X			case 0:
X				switch (ITEMNUM(code)) {
X				case 0:		result = 'W'; break;
X				case 1:		result = 'S'; break;
X				case 2:		result = 'R'; break;
X				case 4:		result = 'c'; break;
X				case 5:		result = 'q'; break;
X				default:	continue;
X				}
X				break;
X			case 1:
X				switch (ITEMNUM(code)) {
X				case 0:		result = '~'; break;
X				case 1:		result = '#'; break;
X				case 2:		result = '@'; break;
X				case 3:		result = '!'; break;
X				case 4:		result = '?'; break;
X				default:	continue;
X				}
X				break;
X			default:
X				continue;
X			}
X			break;
X
X		case MOUSEBUTTONS:
X			switch (code)
X			{
X			case SELECTDOWN:
X				break;	/* left button pressed */
X			default:
X				continue; /* ignore button releases */
X			}
X			result = MOUSE;
X			break;
X		default:
X			continue;
X		}
X		break;
X	}
X	/* turn off cursor if it was on */
X	if (flags & VANILLAKEY) cursor(0);
X	return result;
X}
X
Xstruct TextAttr font =
X{
X	"topaz.font",TOPAZ_EIGHTY,FS_NORMAL,FPF_ROMFONT
X};
X
Xstruct NewScreen ns =
X{
X	0,0,640,200,4,BLACK,WHITE,HIRES,CUSTOMSCREEN,&font,"Wanderer V2.2",NULL,NULL
X};
X
Xinitscr()
X{
X	struct NewWindow nw;
X	struct TextAttr font_attr;
X
X	if (S != NULL) return;
X
X	IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library", 0);
X	GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0);
X	if (IntuitionBase == NULL || GfxBase == NULL) exit(1);
X
X	/* load the digitized sound effects (yeah, what's it doing here?) */
X	initSounds();
X
X	/* load the map font */
X	DiskfontBase = (struct Library *) OpenLibrary("diskfont.library",0);
X	font_attr.ta_Name = "wanderer.font";
X	font_attr.ta_YSize = 8;
X	font_attr.ta_Style = 0;
X	font_attr.ta_Flags = 0;
X	map_font = (struct TextFont *) OpenDiskFont(&font_attr);
X
X	if ((S = (struct Screen *) OpenScreen(&ns)) == NULL) exit(1);
X
X	nw.LeftEdge = 0;
X	nw.TopEdge = TOPEDGE;
X	nw.Width = WindowWidth;
X	nw.Height = WindowHeight;
X	nw.DetailPen = BLACK;
X	nw.BlockPen = WHITE;
X	nw.Title = NULL;
X	nw.Flags = SMART_REFRESH | ACTIVATE | BACKDROP |
X		   BORDERLESS | NOCAREREFRESH;
X	nw.IDCMPFlags = RAWKEY;
X	nw.Type = CUSTOMSCREEN;
X	nw.FirstGadget = NULL;
X	nw.CheckMark = NULL;
X	nw.Screen = S;
X	nw.BitMap = NULL;
X	if ((W = (struct Window *) OpenWindow(&nw)) == NULL) exit(1);
X	R = W->RPort;
X
X	/* setup colors */
X	LoadRGB4(&S->ViewPort, Palette, PaletteColorCount);
X
X	/* keep track of original font */
X	text_font = R->Font;
X
X	SetAPen(R, TEXT_COLOR);
X	SetBPen(R, BACK_COLOR);
X	ShowTitle(S, FALSE);
X	SetMenuStrip(W, &MenuList1);
X	clear();
X}
X
Xmove(r,c)
Xint r,c;
X{
X	Move(R, c*8, r*8 + R->Font->tf_Baseline);
X}
X
Xeraseeol()
X{
X	int x, y;
X	x = R->cp_x;
X	y = R->cp_y  - R->Font->tf_Baseline;
X	SetAPen(R, BACK_COLOR);
X	RectFill(R, x, y, WindowWidth, y+R->Font->tf_YSize-1);
X	SetAPen(R, TEXT_COLOR);
X}
X
Xeraserow(r)
X{
X	move(r,0);
X	eraseeol();
X}
X
Xendwin()
X{
X	freeSounds(NULL);
X	if (map_font) CloseFont(map_font);
X	if (W) { ClearMenuStrip(W); CloseWindow(W); }
X	if (S) CloseScreen(S);
X}
X
Xset_map_font(flag)
Xint flag;
X{
X	if (flag) SetFont(R, map_font);
X	else SetFont(R, text_font);
X}
X
Xclear()
X{
X	SetAPen(R, BACK_COLOR);
X	RectFill(R, 0, 0, WindowWidth, WindowHeight);
X	SetAPen(R, TEXT_COLOR);
X	move(0,0);
X}
X
X/* get a line of input from the console, handling backspaces */
X/* menus are disable while inputting */
Xgetstr(s)
Xchar *s;
X{
X	char *origs = s;
X	int c;
X
X	ClearMenuStrip(W);
X	SetAPen(R, INPUT_COLOR);
X	while ( (c=getvanillach()) != '\n' && c!='\r' && c!= EOF ) {
X		if ( c == '\b' ) {
X			if ( s > origs ) {
X				addstr("\b \b");
X				s--;
X			}
X		}
X		else if (c == 24) {
X			while (s > origs) {
X				addstr("\b \b");
X				s--;
X			}
X		} else if (isprint(c)) {
X			addch(c);
X			*s++ = c;
X		}
X		refresh();
X	}
X	*s = '\0';
X	SetAPen(R, TEXT_COLOR);
X	SetMenuStrip(W, &MenuList1);
X}
X
Xaddstr(s)
Xchar *s;
X{
X	/* output is fastest if is many chars as possible can be */
X	/* displayed in a single Text() call, so we scan for special */
X	/* characters that need to be interpreted, and do the rest */
X	/* in as few Text() calls as possible */
X	register int i,a;
X	for (i=0,a=0; ; ++i) {
X		if (s[i] < ' ') {
X			/* special character found */
X			/* output everything up to this character */
X			if (i-a>0) Text(R, s+a, i-a);
X			/* interpret the special character */
X			if (s[i] == 0) break;
X			addch(s[i]);
X			/* continue after the special character */
X			a = i+1;
X		}
X	}
X}
X
Xaddch(c)
Xint c;
X{
X	char s;
X	switch (c) {
X	case '\n':
X		Move(R, 0, R->cp_y + 8);
X		break;
X	case '\r':
X		Move(R, 0, R->cp_y);
X		break;
X	case '\t':
X		Move(R, R->cp_x + 64 - (R->cp_x % 64), R->cp_y);
X		break;
X	case '\b':
X		Move(R, R->cp_x - 8, R->cp_y);
X		break;
X	case '\007':
X		DisplayBeep(S);
X		break;
X	default:
X		s = c;
X		Text(R, &s, 1);
X		break;
X	}
X}
X
Xstruct IntuiText fataltext = { 1,0,COMPLEMENT,16,32,NULL,NULL,NULL };
Xstruct IntuiText canceltext = { 1,0,COMPLEMENT,2,2,NULL,"goodbye",NULL };
X
Xfatal(text)
Xchar *text;
X{
X	fataltext.IText = text;
X	AutoRequest(W, &fataltext, NULL, &canceltext, 0, 0, 320, 90);
X	endwin();
X	exit(1);
X}
X
X#endif
SHAR_EOF
echo "extracting ami-curses.h"
sed 's/^X//' << \SHAR_EOF > ami-curses.h
X/*
X * simple curses emulation for the Amiga
X *
X * Alan Bland
X */
X#ifdef AMIGA
X#include <intuition/intuition.h>
X
Xextern struct Window *W;
Xextern struct Screen *S;
Xextern struct RastPort *R;
X
X#define LINES	23
X#define COLUMNS	80
X
X#define echo()
X#define noecho()
X#define cbreak()
X#define nocbreak()
X#define refresh()
X#define printw	addstr
X
X#define BLACK		0
X#define WHITE		1
X#define DK_RED		2
X#define RED		3
X#define LT_RED		4
X#define DK_GREEN	5	
X#define GREEN		6
X#define LT_GREEN	7	
X#define YELLOW		8
X#define BLUE		9
X#define LT_BLUE		10
X#define ORANGE		11
X#define BROWN		12
X#define LT_GRAY		13
X#define MED_GRAY	14
X#define DK_GRAY		15
X
X/* default colors */
X#define TEXT_COLOR	YELLOW
X#define INPUT_COLOR	WHITE
X#define BACK_COLOR	BLACK
X
X#define setcolor(fg,bg)	SetAPen(R, fg); SetBPen(R, bg)
X
X#define MOUSE (-3)
X#endif
SHAR_EOF
echo "extracting ami-pw.images.h"
sed 's/^X//' << \SHAR_EOF > ami-pw.images.h
X
XUSHORT chip ImageData1[] = {
X	0xBEFB,0xED00,0x9C74,0x7900,0xC138,0x6600,0xC787,0x0F00,
X	0x9183,0x8700,0xFC78,0x6100,0xEC58,0xF900,0xA38F,0x2E00,
X	0xCF8B,0x9F00,0x876F,0xC700,0xB0F3,0x8700,0xF9F2,0x3100,
X	0xE4D4,0xD900,0xCEB8,0x2B00,0x9E79,0x0500,0xBD97,0xD700,
X	0xBEFB,0xFD00,0x9C74,0x7900,0xC138,0x6700,0xC787,0x0F00,
X	0x9383,0x8700,0xFC78,0x7100,0xFC78,0xF900,0xA38F,0x2F00,
X	0xCF8F,0x9F00,0x876F,0xC700,0xB0F3,0xC700,0xF9F2,0x3100,
X	0xE4D4,0xF900,0xCEF8,0x2B00,0x9E79,0x0700,0xBF97,0xD700,
X	0xBEFB,0xFD00,0x9C74,0x7900,0xC138,0x6700,0xC787,0x0F00,
X	0x9383,0x8700,0xFC78,0x7100,0xFC78,0xF900,0xA38F,0x2F00,
X	0xCF8F,0x9F00,0x876F,0xC700,0xB0F3,0xC700,0xF9F2,0x3100,
X	0xE4D4,0xF900,0xCEF8,0x2B00,0x9E79,0x0700,0xBF97,0xD700,
X	0xBEFB,0xFD00,0x9C74,0x7900,0xC138,0x6700,0xC787,0x0F00,
X	0x9383,0x8700,0xFC78,0x7100,0xFC78,0xF900,0xA38F,0x2F00,
X	0xCF8F,0x9F00,0x876F,0xC700,0xB0F3,0xC700,0xF9F2,0x3100,
X	0xE4D4,0xF900,0xCEF8,0x2B00,0x9E79,0x0700,0xBF97,0xD700
X};
X
Xstruct Image Image1 = {
X	0,0,
X	24,16,
X	4,
X	ImageData1,
X	0x000F,0x0000,
X	NULL
X};
X
X#define unknownimage Image1
X
XUSHORT chip ImageData2[] = {
X	0xFFFF,0xFFFF,0xFF01,0xFFFF,0xFBFE,0x3FFF,0xF7FF,0x1FFF,
X	0xE7FF,0x0FFF,0xE7FF,0x0FFF,0xE3FE,0x0FFF,0xF1FC,0x1FFF,
X	0xF800,0x3FFF,0xFF01,0xFFFF,0xFFE7,0xFFFF,0xFFF0,0xFFFF,
X	0xFFFE,0x7FFF,0xF800,0xFFFF,0xF3FF,0xFFFF,0xF81F,0xFFFF,
X	0x0000,0x00FF,0x00FE,0x00FF,0x07FF,0xC0FF,0x0FFF,0xE0FF,
X	0x1FFF,0xF0FF,0x1FFF,0xF0FF,0x1FFF,0xF0FF,0x0FFF,0xE0FF,
X	0x07FF,0xC0FF,0x00FE,0x00FF,0x0000,0x00FF,0x0000,0x00FF,
X	0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,
X	0xFFFF,0xFFFF,0xFF01,0xFFFF,0xF800,0x3FFF,0xF000,0x1FFF,
X	0xE000,0x0FFF,0xE000,0x0FFF,0xE000,0x0FFF,0xF000,0x1FFF,
X	0xF800,0x3FFF,0xFF01,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,0x01FC,0x00FF,
X	0x01FC,0x00FF,0x01FC,0x00FF,0x00F8,0x00FF,0x0000,0x00FF,
X	0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,
X	0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF,0x0000,0x00FF
X};
X
Xstruct Image Image2 = {
X	0,0,
X	24,16,
X	4,
X	ImageData2,
X	0x000F,0x0000,
X	NULL
X};
X
X#define balloonimage Image2
X
XUSHORT chip ImageData3[] = {
X	0xFF00,0x7F00,0xFC00,0x1F00,0xFC00,0x1F00,0xFC00,0x1F00,
X	0xFF00,0x7F00,0xFF80,0xFF00,0xFFC1,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xE3FF,0xE300,0xE700,0x7300,
X	0xFF00,0x7F00,0xFE08,0x3F00,0xFE1C,0x3F00,0xF81C,0x0F00,
X	0x0000,0x0000,0x0000,0x0000,0x0063,0x0000,0x0000,0x0000,
X	0x003E,0x0000,0x0000,0x0000,0x0041,0x0000,0x07FF,0xF000,
X	0x1FFF,0xFC00,0x1EFF,0xBC00,0x00FF,0x8000,0x00FF,0x8000,
X	0x00FF,0x8000,0x01F7,0xC000,0x0000,0x0000,0x0000,0x0000,
X	0xFF00,0x7F00,0xFC00,0x1F00,0xFC9C,0x9F00,0xFCFF,0x9F00,
X	0xFFC1,0xFF00,0xFFFF,0xFF00,0xFFBE,0xFF00,0xF800,0x0F00,
X	0xE000,0x0300,0xE100,0x4300,0xFF00,0x7F00,0xFF00,0x7F00,
X	0xFF00,0x7F00,0xFE08,0x3F00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x00FF,0x8000,
X	0x00FF,0x8000,0x01F7,0xC000,0x01E3,0xC000,0x07E3,0xF000
X};
X
Xstruct Image Image3 = {
X	0,0,
X	24,16,
X	4,
X	ImageData3,
X	0x000F,0x0000,
X	NULL
X};
X
X#define youimage Image3
X
XUSHORT chip ImageData4[] = {
X	0xFFFF,0xFF00,0xFE00,0xFF00,0xFCFE,0x7F00,0xF3FF,0x9F00,
X	0xE7FF,0xCF00,0xE7FF,0xCF00,0xE7CF,0xCF00,0xF3FF,0x9F00,
X	0xFCFE,0x7F00,0xFE00,0xFF00,0xFE00,0xFF00,0xFE00,0xFF00,
X	0xFE00,0xFF00,0xF800,0x3F00,0xE000,0x0F00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0030,0x0000,
X	0x0036,0x0000,0x003C,0x0000,0x0030,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0101,0x0000,0x016D,0x0000,0x016D,0x0000,
X	0x016D,0x0000,0x016D,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFE00,0xFF00,0xFC00,0x7F00,0xF000,0x1F00,
X	0xE000,0x0F00,0xE000,0x0F00,0xE000,0x0F00,0xF000,0x1F00,
X	0xFC00,0x7F00,0xFE01,0xFF00,0xFEDB,0xFF00,0xFEDB,0xFF00,
X	0xFEDB,0xFF00,0xF8DB,0x3F00,0xE000,0x0F00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0001,0x0000,0x0049,0x0000,0x0049,0x0000,
X	0x0049,0x0000,0x0049,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image4 = {
X	0,0,
X	24,16,
X	4,
X	ImageData4,
X	0x000F,0x0000,
X	NULL
X};
X
X#define timecapsuleimage Image4
X
XUSHORT chip ImageData5[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFEFF,0xFC00,0xFBFF,0xF100,
X	0xE000,0x0700,0xFBFF,0xF100,0xFEFF,0xFC00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0600,0x1F00,0x3800,0x7E00,
X	0xE000,0x0000,0x3800,0x7E00,0x0600,0x1F00,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xF8FF,0xE000,0xC3FF,0x8100,
X	0x0000,0x0700,0xC3FF,0x8100,0xF8FF,0xE000,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0700,0x0000,0x3C00,0x0000,
X	0xFFFF,0xF800,0x3C00,0x0000,0x0700,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image5 = {
X	0,0,
X	24,16,
X	4,
X	ImageData5,
X	0x000F,0x0000,
X	NULL
X};
X
X#define leftarrowimage Image5
X
XUSHORT chip ImageData6[] = {
X	0xBFFF,0xFF00,0x0FFF,0xFF00,0x97FF,0xFF00,0xE1FF,0xFF00,
X	0xF2FF,0xFF00,0xFC3F,0xFF00,0xFE5F,0xFF00,0xFF87,0xFF00,
X	0xFFC9,0xFF00,0xFFF0,0xFF00,0xFFFD,0x3F00,0xFFFE,0x1F00,
X	0xFFFF,0xA700,0xFFFF,0xC300,0xFFFF,0xF400,0xFFFF,0xF800,
X	0x8000,0x0000,0x0000,0x0000,0x1000,0x0000,0x0000,0x0000,
X	0x0200,0x0000,0x0000,0x0000,0x0040,0x0000,0x0000,0x0000,
X	0x0008,0x0000,0x0000,0x0000,0x0001,0x0000,0x0000,0x0000,
X	0x0000,0x2000,0x0000,0x0000,0x0000,0x0400,0x0000,0x0000,
X	0x7FFF,0xFF00,0xFFFF,0xFF00,0xEFFF,0xFF00,0xFFFF,0xFF00,
X	0xFDFF,0xFF00,0xFFFF,0xFF00,0xFFBF,0xFF00,0xFFFF,0xFF00,
X	0xFFF7,0xFF00,0xFFFF,0xFF00,0xFFFE,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xDF00,0xFFFF,0xFF00,0xFFFF,0xFB00,0xFFFF,0xFF00,
X	0xC000,0x0000,0xF000,0x0000,0x7800,0x0000,0x1E00,0x0000,
X	0x0F00,0x0000,0x03C0,0x0000,0x01E0,0x0000,0x0078,0x0000,
X	0x003E,0x0000,0x000F,0x0000,0x0003,0xC000,0x0001,0xE000,
X	0x0000,0x7800,0x0000,0x3C00,0x0000,0x0F00,0x0000,0x0700
X};
X
Xstruct Image Image6 = {
X	0,0,
X	24,16,
X	4,
X	ImageData6,
X	0x000F,0x0000,
X	NULL
X};
X
X#define rightslopeimage Image6
X
XUSHORT chip ImageData7[] = {
X	0xF000,0x0F00,0xFF00,0xFF00,0xFF81,0xFF00,0xFF81,0xFF00,
X	0xFF81,0xFF00,0xFF00,0xFF00,0xF000,0x0F00,0xFCC3,0x3F00,
X	0x01C3,0x8000,0x0282,0x8000,0xFD55,0x7F00,0xFEAA,0xBF00,
X	0xFD55,0x7F00,0xFABD,0x5F00,0xD57E,0xAB00,0xAAFF,0x5500,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3800,0x7000,
X	0x387E,0x7000,0x00FF,0x0000,0x007E,0x0000,0x003C,0x0000,
X	0x003C,0x0000,0x003C,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0542,0xA000,0x2A81,0x5400,0x5500,0xAA00,
X	0xF000,0x0F00,0x8000,0x0100,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x8000,0x0100,0xF000,0x0F00,0xFC00,0x3F00,
X	0x0000,0x0000,0x0000,0x0000,0xFC00,0x3F00,0xFC00,0x3F00,
X	0xFC00,0x3F00,0xF01C,0x0F00,0xC03C,0x0300,0x00FF,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3800,0x7000,
X	0x3800,0x7000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0142,0x8000,0x0282,0x8000,0x0155,0x4000,0x02AA,0x8000,
X	0x0155,0x4000,0x0AA1,0x5000,0x1542,0xA800,0xAA00,0x5500
X};
X
Xstruct Image Image7 = {
X	0,0,
X	24,16,
X	4,
X	ImageData7,
X	0x000F,0x0000,
X	NULL
X};
X
X#define monsterimage Image7
X
XUSHORT chip ImageData8[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0x3FFF,0x7F00,0x8FFF,0xDF00,
X	0xE000,0x0700,0x8FFF,0xDF00,0x3FFF,0x7F00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0xF800,0x6000,0x7E00,0x1C00,
X	0x0000,0x0700,0x7E00,0x1C00,0xF800,0x6000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0x07FF,0x1F00,0x81FF,0xC300,
X	0xE000,0x0000,0x81FF,0xC300,0x07FF,0x1F00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0xE000,0x0000,0x3C00,
X	0x1FFF,0xFF00,0x0000,0x3C00,0x0000,0xE000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image8 = {
X	0,0,
X	24,16,
X	4,
X	ImageData8,
X	0x000F,0x0000,
X	NULL
X};
X
X#define rightarrowimage Image8
X
XUSHORT chip ImageData9[] = {
X	0xFFFF,0xFE00,0xFFFF,0xF800,0xFFFF,0xF400,0xFFFF,0xC300,
X	0xFFFF,0xA700,0xFFFE,0x1F00,0xFFFD,0x3F00,0xFFF0,0xFF00,
X	0xFFC9,0xFF00,0xFF87,0xFF00,0xFE5F,0xFF00,0xFC3F,0xFF00,
X	0xF2FF,0xFF00,0xE1FF,0xFF00,0x97FF,0xFF00,0x0FFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0400,0x0000,0x0000,
X	0x0000,0x2000,0x0000,0x0000,0x0001,0x0000,0x0000,0x0000,
X	0x0008,0x0000,0x0000,0x0000,0x0040,0x0000,0x0000,0x0000,
X	0x0200,0x0000,0x0000,0x0000,0x1000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFB00,0xFFFF,0xFF00,
X	0xFFFF,0xDF00,0xFFFF,0xFF00,0xFFFE,0xFF00,0xFFFF,0xFF00,
X	0xFFF7,0xFF00,0xFFFF,0xFF00,0xFFBF,0xFF00,0xFFFF,0xFF00,
X	0xFDFF,0xFF00,0xFFFF,0xFF00,0xEFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0100,0x0000,0x0700,0x0000,0x0F00,0x0000,0x3C00,
X	0x0000,0x7800,0x0001,0xE000,0x0003,0xC000,0x000F,0x0000,
X	0x003E,0x0000,0x0078,0x0000,0x01E0,0x0000,0x03C0,0x0000,
X	0x0F00,0x0000,0x1E00,0x0000,0x7800,0x0000,0xF000,0x0000
X};
X
Xstruct Image Image9 = {
X	0,0,
X	24,16,
X	4,
X	ImageData9,
X	0x000F,0x0000,
X	NULL
X};
X
X#define leftslopeimage Image9
X
XUSHORT chip ImageData10[] = {
X	0xF7FE,0xFF00,0xFFFF,0xFF00,0xFFFF,0xEF00,0xFF5F,0xFF00,
X	0x77FF,0x6F00,0xFFFF,0xFF00,0xFFFD,0xFF00,0xFDDF,0xFE00,
X	0xFBFE,0xEF00,0xFFFB,0xFF00,0xFFFF,0xFF00,0xFFAF,0xBF00,
X	0xBBFF,0xD700,0xFFFD,0xFF00,0xFFFF,0xFD00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00
X};
X
Xstruct Image Image10 = {
X	0,0,
X	24,16,
X	4,
X	ImageData10,
X	0x000F,0x0000,
X	NULL
X};
X
X#define rockimage Image10
X
XUSHORT chip ImageData11[] = {
X	0xBFFF,0xEF00,0xFFF7,0xFF00,0xDBBF,0xFE00,0xFFFF,0x5F00,
X	0xDDFB,0xF700,0xFEFB,0xED00,0xEFDF,0xFF00,0xFFEF,0xEE00,
X	0xFFBB,0xFF00,0xDF7F,0xD700,0xFFFB,0xBF00,0xF9FF,0xFD00,
X	0xFFD5,0xDF00,0xEFBF,0xEF00,0xFFFF,0x7D00,0xFDFF,0xFF00,
X	0xBFFF,0xFF00,0xFFF7,0xFF00,0xFBFF,0xFF00,0xFFFF,0x5F00,
X	0xDFFF,0xFF00,0xFEFB,0xFD00,0xFFFF,0xFF00,0xFFEF,0xEF00,
X	0xFFBF,0xFF00,0xDF7F,0xDF00,0xFFFB,0xFF00,0xFDFF,0xFD00,
X	0xFFD7,0xFF00,0xEFFF,0xEF00,0xFFFF,0x7F00,0xFFFF,0xFF00,
X	0xBFFF,0xFF00,0xFFF7,0xFF00,0xFBFF,0xFF00,0xFFFF,0x5F00,
X	0xDFFF,0xFF00,0xFEFB,0xFD00,0xFFFF,0xFF00,0xFFEF,0xEF00,
X	0xFFBF,0xFF00,0xDF7F,0xDF00,0xFFFB,0xFF00,0xFDFF,0xFD00,
X	0xFFD7,0xFF00,0xEFFF,0xEF00,0xFFFF,0x7F00,0xFFFF,0xFF00,
X	0xBFFF,0xFF00,0xFFF7,0xFF00,0xFBFF,0xFF00,0xFFFF,0x5F00,
X	0xDFFF,0xFF00,0xFEFB,0xFD00,0xFFFF,0xFF00,0xFFEF,0xEF00,
X	0xFFBF,0xFF00,0xDF7F,0xDF00,0xFFFB,0xFF00,0xFDFF,0xFD00,
X	0xFFD7,0xFF00,0xEFFF,0xEF00,0xFFFF,0x7F00,0xFFFF,0xFF00
X};
X
Xstruct Image Image11 = {
X	0,0,
X	24,16,
X	4,
X	ImageData11,
X	0x000F,0x0000,
X	NULL
X};
X
X#define rock2image Image11
X
XUSHORT chip ImageData12[] = {
X	0xFFFF,0xFF00,0xF800,0x0F00,0xC000,0x0100,0xC000,0x0100,
X	0xC1FF,0xC100,0xC400,0x1100,0xC4E3,0x9100,0xC7E3,0xF100,
X	0xC7E3,0xF100,0xC7E3,0xF100,0xC780,0xF100,0xC1FF,0xC100,
X	0xC000,0x0100,0xC000,0x0100,0xF800,0x0F00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x07FF,0xF000,0x3FFF,0xFE00,0x3FFF,0xFE00,
X	0x3FFF,0xFE00,0x3C00,0x1E00,0x3CE3,0x9E00,0x3FE3,0xFE00,
X	0x3FE3,0xFE00,0x3FE3,0xFE00,0x3F80,0xFE00,0x3FFF,0xFE00,
X	0x3FFF,0xFE00,0x3FFF,0xFE00,0x07FF,0xF000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFC00,0x1F00,0xFCE3,0x9F00,0xFFE3,0xFF00,
X	0xFFE3,0xFF00,0xFFE3,0xFF00,0xFF80,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x03FF,0xE000,0x031C,0x6000,0x001C,0x0000,
X	0x001C,0x0000,0x001C,0x0000,0x007F,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image12 = {
X	0,0,
X	24,16,
X	4,
X	ImageData12,
X	0x000F,0x0000,
X	NULL
X};
X
X#define teleportimage Image12
X
XUSHORT chip ImageData13[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00
X};
X
Xstruct Image Image13 = {
X	0,0,
X	24,16,
X	4,
X	ImageData13,
X	0x0005,0x0000,
X	NULL
X};
X
X#define grassimage Image13
X
XUSHORT chip ImageData14[] = {
X	0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x7B1B,0x7E00,0x61B3,0x1800,0x60E3,0x1800,
X	0x7843,0x1800,0x60E3,0x1800,0x61B3,0x1800,0x7B1B,0x1800,
X	0x0000,0x0000,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0x84E4,0x8100,0x9E4C,0xE700,0x9F1C,0xE700,
X	0x87BC,0xE700,0x9F1C,0xE700,0x9E4C,0xE700,0x84E4,0xE700,
X	0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image14 = {
X	0,0,
X	24,16,
X	4,
X	ImageData14,
X	0x000F,0x0000,
X	NULL
X};
X
X#define exitimage Image14
X
XUSHORT chip ImageData15[] = {
X	0xFFFA,0xFF00,0xF7FF,0x7F00,0xF3FF,0xFB00,0xFF77,0xFF00,
X	0xE9FE,0x7B00,0xBFD7,0xFE00,0xFADD,0xDF00,0xEBFE,0xEF00,
X	0xFEE7,0xFF00,0xFFBF,0xE700,0xDFFF,0x7F00,0xF7FF,0xED00,
X	0xCE6D,0xFF00,0xFFFD,0xFF00,0xFFFF,0xE700,0xFFFD,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0005,0x0000,0x0800,0x8000,0x0C00,0x0400,0x0088,0x0000,
X	0x1601,0x8400,0x4028,0x0100,0x0522,0x2000,0x1401,0x1000,
X	0x0118,0x0000,0x0040,0x1800,0x2000,0x8000,0x0800,0x1200,
X	0x3192,0x0000,0x0002,0x0000,0x0000,0x1800,0x0002,0x0000
X};
X
Xstruct Image Image15 = {
X	0,0,
X	24,16,
X	4,
X	ImageData15,
X	0x000D,0x0000,
X	NULL
X};
X
X#define earthimage Image15
X
XUSHORT chip ImageData16[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xBF00,0xFF1F,0xDF00,0xFE0F,0xEF00,0xFC07,0xF700,
X	0xFF1F,0xCF00,0xFFBF,0x9F00,0xFFFF,0x7F00,0xFFFC,0xFF00,
X	0xFFFB,0xFF00,0xFFF7,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x4000,0x0000,0x2000,0x0000,0x1000,0x0000,0x0800,
X	0x0000,0x3000,0x0000,0x6000,0x0000,0x8000,0x0003,0x0000,
X	0x0004,0x0000,0x0008,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFE0F,0xBF00,0xFC07,0xDF00,0xF801,0xEF00,0xF000,0xF700,
X	0xF801,0xCF00,0xFC03,0x9F00,0xFF07,0x7F00,0xFF8C,0xFF00,
X	0xFFEB,0xFF00,0xFFF7,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x000F,0xC000,0x00E7,0xE000,0x01F1,0xF000,0x03F8,0xF800,
X	0x00E1,0xF000,0x0043,0xE000,0x0007,0x8000,0x000F,0x0000,
X	0x000C,0x0000,0x0008,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image16 = {
X	0,0,
X	24,16,
X	4,
X	ImageData16,
X	0x000F,0x0000,
X	NULL
X};
X
X#define diamondimage Image16
X
XUSHORT chip ImageData17[] = {
X	0x0000,0x0000,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0x0000,0x0000,
X	0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,
X	0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,
X	0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,
X	0xCE73,0x9C00,0xCE73,0x9C00,0xCE73,0x9C00,0xFFFF,0xFF00
X};
X
Xstruct Image Image17 = {
X	0,0,
X	24,16,
X	4,
X	ImageData17,
X	0x000B,0x0000,
X	NULL
X};
X
X#define cageimage Image17
X
XUSHORT chip ImageData18[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFBF,0xFF00,0xFFFF,0xFF00,
X	0xFBFF,0xFF00,0xEFFF,0xFF00,0xFFFF,0xDF00,0xDFFF,0xFF00,
X	0xDFFF,0xEE00,0xFFFF,0xFF00,0xF7FF,0xFE00,0xFFFF,0xFF00,
X	0xFDFF,0xFB00,0xFEFF,0xFF00,0xFFBF,0xFF00,0xFFEB,0xFF00,
X	0x01FF,0x0000,0x0FFF,0xE000,0x1FFF,0xF000,0x3FFF,0xF800,
X	0x7FFF,0xFE00,0x7FFF,0xFE00,0x7FFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0x7FFF,0xFF00,0x3FFF,0xFF00,
X	0x1FFF,0xFF00,0x0FFF,0xFE00,0x07FF,0xFC00,0x01FF,0xC000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x01FF,0x0000,0x0FFF,0xE000,0x1FFF,0xF000,0x3FFF,0xF800,
X	0x7FFF,0xFE00,0x7FFF,0xFE00,0x7FFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0x7FFF,0xFF00,0x3FFF,0xFF00,
X	0x1FFF,0xFF00,0x0FFF,0xFE00,0x07FF,0xFC00,0x01FF,0xC000
X};
X
Xstruct Image Image18 = {
X	0,0,
X	24,16,
X	4,
X	ImageData18,
X	0x000F,0x0000,
X	NULL
X};
X
X#define boulderimage Image18
X
XUSHORT chip ImageData19[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xAB00,0xFFFE,0x0B00,
X	0xFFF9,0xEF00,0xFFF3,0xFF00,0xFFFF,0xFF00,0xFF80,0xFF00,
X	0xFE1C,0x3F00,0xFC60,0x1F00,0xFCC0,0x1F00,0xFC00,0x1F00,
X	0xFE00,0x3F00,0xFF80,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x2800,0x0000,0x3800,
X	0x0000,0x2800,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x001C,0x0000,0x0060,0x0000,0x00C0,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0x8300,0xFFFF,0xC300,
X	0xFFFF,0xC700,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFF80,0xFF00,
X	0xFE1C,0x3F00,0xFC60,0x1F00,0xFCC0,0x1F00,0xFC00,0x1F00,
X	0xFE00,0x3F00,0xFF80,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x7C00,0x0001,0xCC00,
X	0x0006,0x3800,0x000C,0x0000,0x003E,0x0000,0x0000,0x0000,
X	0x001C,0x0000,0x0060,0x0000,0x00C0,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
X};
X
Xstruct Image Image19 = {
X	0,0,
X	24,16,
X	4,
X	ImageData19,
X	0x000F,0x0000,
X	NULL
X};
X
X#define bang1image Image19
X
XUSHORT chip ImageData20[] = {
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFF1C,0x7F00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x007F,0x0000,0x01FF,0xC000,0x031C,0x6000,0x03FF,0xE000,
X	0x0300,0x6000,0x0FC1,0xF800,0x1DFF,0xDC00,0x38FF,0x8E00,
X	0x007F,0x0000,0x00FF,0x8000,0x07C3,0xF000,0x0000,0x0000,
X	0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,0xFFFF,0xFF00,
X	0xFF80,0xFF00,0xFE00,0x3F00,0xFC00,0x1F00,0xFC00,0x1F00,
X	0xFC00,0x1F00,0xF000,0x0700,0xE200,0x2300,0xC700,0x7100,
X	0xFF80,0xFF00,0xFF00,0x7F00,0xF83C,0x0F00,0xFFFF,0xFF00,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x007F,0x0000,0x01FF,0xC000,0x03BE,0xE000,0x03FF,0xE000,
X	0x0300,0x6000,0x0FC1,0xF800,0x1C7F,0x1C00,0x3800,0x0E00,
X	0x0000,0x0000,0x0000,0x0000,0x07C3,0xF000,0x0000,0x0000
X};
X
Xstruct Image Image20 = {
X	0,0,
X	24,16,
X	4,
X	ImageData20,
X	0x000F,0x0000,
X	NULL
X};
X
X#define babymonsterimage Image20
SHAR_EOF
echo "End of archive 1 (of 3)"
# if you want to concatenate archives, remove anything after this line
exit