mikew@wyse.wyse.com (Mike Wexler) (12/09/88)
Submitted-by: ddickey@gonzo.eta.com (Dan A. Dickey) Posting-number: Volume 2, Issue 35 Archive-name: xtrek/part01 [I had to add the sleep in xtrek.c to get this to work. Hope you have better luck. -mcw] #! /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 7)." # Contents: README MANIFEST README.old bitmaps.c coup.c # Wrapped by mikew@wyse on Thu Dec 8 17:51:38 1988 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'\" \(2661 characters\) sed "s/^X//" >'README' <<'END_OF_FILE' XDisclaimer: This version is only extensively tested on monochrome Suns. X It was also tested on a color Sun (cgfour) and a color SGI-GT. X XThis "version/release" of xtrek is xtrek done right. XNo shared memory, No million and a half programs. XYou will need root priveleges or the assistance of a super-user to install Xthis. Possibly a future version will provide for "normal" users. X XWhat it is is one main xtrek program, and a smaller user program to Xstart up a display. The main xtrek program runs on one machine and handles Xall the updating and robot control. It listens on a socket for connection Xrequests from the user program. Also, the main xtrek "server-machine" Xis not required to have graphics hardware attached, nor expected to. X X----- XGeneric instructions: XCompile xtrek.bdf (make xtrek.snf). XCopy this to your misc fonts directory and add the line "xtrek.snf xtrek" Xto your fonts.dir file. Also, increment the number at the top of the file. XThen do a "xset fp rehash" on any X-server that you expect to use this Xprogram on. "xlsfonts" should show xtrek as a listed font. X X----- XInstruction for installing on a Sun (release 4.0 or greater) system: XTo add the main xtrek program to your system, you'll need to edit X/etc/inetd.conf. Add the line: Xxtrek stream tcp wait games /usr/games/lib/xtrek/in.xtrekd in.xtrekd X Xthe "games" can be any user, no set-uid permissions are used. Just make Xsure that this coincides with XTREKOWNER in the Makefile so that it can Xread and write the files in /usr/lib/games/lib/xtrek. X XBy changing inetd.conf, the system will start up the main xtrek program when Xa request comes in for it and it is not already running. X XAlso, you'll need to add (For any Sun OS): Xxtrek 5701/tcp xtrek # take a guess Xto your /etc/services file on the system where in.xtrekd is to reside. XOr to the /etc/services file on your yp-master machine for services. XAlso, if you have machines in your network running SunOS 3.X: Xxtrek 5702/udp xtrek # take a guess X XAnd, if you have machines running SunOS 3.X: Xadd this line: Xxtrek udp /usr/games/lib/xtrek/in.xtrekd Xto the /etc/servers file and restart inetd. X X----- XThen, to play a game just enter "xtrek <machine>", where <machine> is Xthe machine where you changed the inetd.conf file. This assumes that Xyou told inetd to re-read it's configuration file (kill -HUP inetd-pid). XMake sure that your environment variable DISPLAY is set correctly before Xtrying xtrek <machine>. X X----- XGood luck and have fun! X XQUESTIONS & COMMENTS TO: X Dan A. Dickey ddickey@unix.eta.com X Xstatic char sccsid[] = "@(#)README 1.2"; END_OF_FILE if test 2661 -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'\" \(1726 characters\) sed "s/^X//" >'MANIFEST' <<'END_OF_FILE' X File Name Archive # Description X----------------------------------------------------------- X DBG.c 2 X MANIFEST 1 This shipping list X Makefile 6 X README 1 X README.old 1 X TODO 7 X bitmaps.c 1 X clock.bitmap 7 X colors.c 6 X coup.c 1 X data.c 7 X data.h 7 X death.c 6 X defs.h 5 X detonate.c 3 X dmessage.c 7 X doc 3 X enter.c 6 X getship.c 7 X inform.c 5 X input.c 4 X interface.c 6 X itoa.c 7 X main.c 6 X minisubs.c 5 X newwin.c 2 X orbit.c 7 X patchlevel.h 7 X phaser.c 6 X planetlist.c 7 X planets.h 6 X playerlist.c 7 X pstats.c 6 X random.c 7 X redraw.c 3 X rmove.c 4 X scorelist.c 6 X scores.c 7 X sintab.c 5 X smessage.c 5 X stats.c 6 X struct.h 5 X subdaemon.c 4 X torp.c 7 X trigtab.c 5 X util.c 6 X war.c 6 X warning.c 7 X xtrek.6 7 X xtrek.bdf 2 X xtrek.c 6 X xtrekfont.h 7 END_OF_FILE if test 1726 -ne `wc -c <'MANIFEST'`; then echo shar: \"'MANIFEST'\" unpacked with wrong size! fi # end of 'MANIFEST' fi if test -f 'README.old' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'README.old'\" else echo shar: Extracting \"'README.old'\" \(5259 characters\) sed "s/^X//" >'README.old' <<'END_OF_FILE' XThis explains quickly how to run xtrek on a ultrix, XSun 3.20, or HP-UX 5.2 system. Note that other Xoperating systems will probably require fiddling. XThere are notes for various operating systems below. XThere is also a list of recent changes. X XIt is important that the system V shared memory Xsegments are actually compiled into your kernel on Xthe server machine. The clients just need X. X XCreate an appropriate directory for it. The defs.h Xfile contains the paths to this directory. If you Xdon't want it in /usr/games/lib/xtrek, change this Xfile. X XA "make install" will perform the following steps for you. XIf you don't want xtrek and daemon to be suid to root Xor you don't like the choice of directories, either Xchange DESTDIR, XTREKDIR and XTREKOWNER in the Makefile Xor perform these steps by hand: X X Run make. Install xtrek in /usr/games. Robot and X daemon must be in /usr/games/lib/xtrek. Create the X files .motd, .scores, and .planets in X /usr/games/lib/xtrek. X X Xtrek and the daemon must all be setuid X to someone who has write permission on these files. X Root is fine. There are no real security holes in X the game. If you want to avoid this, take out the X shared memory chmoding and make the dot files writable. X XIf you want to change constants in the game, it is Xpretty well set up to allow tweaking. Most of the Xconstants are in defs.h. Player constants were defined Xin getship.c in plans for a future custom designed ship Xoption. X Xnroff -me the document and put it somewhere useful. X XHP-UX notes: X XAlthought I have compiled and run this version of xtrek on Xan HP-UX 5.2 system, there are some things to be aware of. XFirst, my system was a 320. If you have access to a 840 it Xwould clearly be a better choice as a server. It would also Xprovide the wait3 function needed in some of the code. I don't Xknow how the wait's I've put into the code will work out. X XA 320 system, while being sufficient as a display for the game, Xwould probably not work well as a server. X XSun notes: X XSome code was added to prevent people from holding down the X't' key and generating fields of torps with the auto-repeat Xmode. This uses the timer for the xevents and it's not clear Xthat the timer works everywhere. X XThere is one clear bug in the sun Xlib server that can make Xtorpedoes occasionnally fail to fire. If you want to fix this Xbug, replace the line of code in libsun/events.c: X X xe->vse_time = (se->ie_time.tv_usec/10000 + se->ie_time.tv_sec); X Xwith X X xe->vse_time = (se->ie_time.tv_usec/10000 + se->ie_time.tv_sec*100); X XIt appears twice so get 'em both. Note that this stuff is in the source Xto libX.a for the suns. X XApollo Notes: X XWe don't have an apollo to test the code out, but the following lines Xin the xlib code scare me: X X /* this needs to be replaced with a "real" timestamp */ X xe->vse_time += 1; X XI suspect that on an apollo, only one torp in ten will actually be fired. XSee the Sun notes above for more information. X XUltrix notes: X XBefore running make, look for random.o. I found Xthat the ultrix library version wasn't very random, Xso I substituted the 4.3 one which worked better. XLicensing agreements being what they are, the Xversion in this directory just links against Xwhatever random.o is in libc.a. X XIf you have the 4.3 random.o (or .c), just restore Xthe commented-out reference to random.o in the Makefile Xand it will link against your copy. If we ever find a Xgood public domain rand() function, this problem will Xgo away. X X XChanges from version 3.0 to version 4.0: X XPlayers cannot jump teams once in. They must quit and rejoin Xto change teams. X XWhen a team loses its last planet, they cannot hold a coup for 30 Xminutes to an hour of play time. X XThere is an independent team that controls all planets with zero Xarmies. X XFuel cannot go negative now. X XCertain deaths will force you to exit the game completely. X XSome colors have been changed. X XPlayers may not bomb their own planets. (Their crews have wives and Xchildren down there....) X XSince sys V compatibility seems to show up in most 4.3 based include Xfiles, I've gone over to the sys V names of some things like XSIGCHLD -> SIGCLD. X XFixed a bug with showstats that crashed in watch mode. X XThere have been a number of changes to 'improve' play. Not Xeveryone agrees that they are for the better. Ships now Xturn one warp faster. Fuel is used by the engines -- you Xdon't gain fuel at warp 5 anymore. X XEvents now go through info windows properly. X XThe special font effects occur in the info windows. X XThe space key will now also close all special windows. X XYou cannot repair and use transporters at the same time. X XThere are a number of optimizations. Hardcoding the lengths Xof planetnames reduced the number of calls to strlen. The Xstatus line is now drawn by hand to save calls to doprnt(). XAlso, the characters up on the map window for each ship are Xstored in the ship's data structure to avoid more calls to Xdoprnt(). X XRobots are a little smarter and slightly more aggressive. This Xwas meant to stop people from darting in and out while taking Xperiphery planets. X XOverheated weapons can't be wrapped around. X XPeople who hold down the 't' key to get a burst of torps are Xin for a surprise. Torps cannot be fired faster than one every Xtenth of a second. X END_OF_FILE if test 5259 -ne `wc -c <'README.old'`; then echo shar: \"'README.old'\" unpacked with wrong size! fi # end of 'README.old' fi if test -f 'bitmaps.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps.c'\" else echo shar: Extracting \"'bitmaps.c'\" \(38466 characters\) sed "s/^X//" >'bitmaps.c' <<'END_OF_FILE' X/* Xstatic char sccsid[] = "@(#)bitmaps.c 1.1"; X X Copyright (c) 1986 Chris Guthrie X XPermission to use, copy, modify, and distribute this Xsoftware and its documentation for any purpose and without Xfee is hereby granted, provided that the above copyright Xnotice appear in all copies and that both that copyright Xnotice and this permission notice appear in supporting Xdocumentation. No representations are made about the Xsuitability of this software for any purpose. It is Xprovided "as is" without express or implied warranty. X X*/ X X#include <X11/X.h> X X/**** These are the ships ****/ X#define VIEWS 16 X#define ship_width 16 X#define ship_height 16 X Xchar fed_bits[VIEWS][32] = { X { /* fed rotated 0 degrees */ X 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x90, 0x09, X 0x90, 0x09, 0x90, 0x09, 0xf0, 0x0f, 0x90, 0x09, 0x90, 0x09, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08 X }, X { /* fed rotated 22.5000 degrees */ X 0x00, 0x06, 0xc0, 0x1f, 0xc0, 0x1f, 0xc0, 0x1f, 0xc0, 0x3f, 0x80, 0x1f, 0x90, 0x1f, 0x90, 0x03, X 0x98, 0x09, 0xf8, 0x08, 0xc8, 0x05, 0xe4, 0x06, 0x44, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x01 X }, X { /* fed rotated 45.0000 degrees */ X 0x00, 0x00, 0x00, 0x1e, 0x00, 0x3f, 0x00, 0x7f, 0x00, 0x7f, 0x20, 0x7f, 0x10, 0x7f, 0x98, 0x3f, X 0xe4, 0x1d, 0xe2, 0x00, 0xf1, 0x04, 0xa0, 0x02, 0x80, 0x01, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00 X }, X { /* fed rotated 67.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7e, 0xc0, 0x7e, 0x30, 0xfe, 0x1e, 0xff, 0xa1, 0x7f, X 0xf0, 0x7f, 0x78, 0x78, 0x50, 0x00, 0xc0, 0x03, 0xe0, 0x00, 0x18, 0x00, 0x04, 0x00, 0x00, 0x00 X }, X { /* fed rotated 90.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x39, 0x20, 0x7c, 0x20, 0xfe, 0xf8, 0xff, X 0xf8, 0xff, 0x20, 0xfe, 0x20, 0x7c, 0xff, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* fed rotated 112.5000 degrees */ X 0x00, 0x00, 0x04, 0x00, 0x18, 0x00, 0xe0, 0x00, 0xc0, 0x03, 0x50, 0x00, 0x78, 0x78, 0xf0, 0x7f, X 0xa1, 0x7f, 0x1e, 0xff, 0x30, 0xfe, 0xc0, 0x7e, 0x00, 0x7e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 X }, X { /* fed rotated 135.0000 degrees */ X 0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x20, 0x03, 0xf1, 0x04, 0xe2, 0x00, 0xfc, 0x01, X 0x88, 0x3f, 0x10, 0x7f, 0xa0, 0x7f, 0x80, 0x7f, 0x80, 0x7f, 0x00, 0x3f, 0x00, 0x1e, 0x00, 0x00 X }, X { /* fed rotated 157.5000 degrees */ X 0x00, 0x01, 0x00, 0x02, 0x02, 0x02, 0x44, 0x02, 0xe4, 0x06, 0xc8, 0x05, 0xf8, 0x08, 0x98, 0x09, X 0x90, 0x03, 0x90, 0x1f, 0x80, 0x1f, 0xc0, 0x3f, 0xc0, 0x1f, 0xc0, 0x1f, 0xc0, 0x1f, 0x00, 0x06 X }, X { /* fed rotated 180.0000 degrees */ X 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x90, 0x09, 0x90, 0x09, 0xf0, 0x0f, 0x90, 0x09, 0x90, 0x09, X 0x90, 0x09, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03 X }, X { /* fed rotated 202.5000 degrees */ X 0x80, 0x00, 0x40, 0x00, 0x40, 0x40, 0x40, 0x22, 0x60, 0x27, 0xa0, 0x13, 0x10, 0x1f, 0x90, 0x19, X 0xc0, 0x09, 0xf8, 0x09, 0xf8, 0x01, 0xfc, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0x60, 0x00 X }, X { /* fed rotated 225.0000 degrees */ X 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x01, 0x40, 0x05, 0x20, 0x8f, 0x00, 0x47, 0xb8, 0x27, X 0xfc, 0x19, 0xfe, 0x08, 0xfe, 0x04, 0xfe, 0x00, 0xfe, 0x00, 0xfc, 0x00, 0x78, 0x00, 0x00, 0x00 X }, X { /* fed rotated 247.5000 degrees */ X 0x00, 0x00, 0x00, 0x20, 0x00, 0x18, 0x00, 0x07, 0xc0, 0x03, 0x00, 0x0a, 0x1e, 0x1e, 0xfe, 0x0f, X 0xfe, 0x85, 0xff, 0x78, 0x7f, 0x0c, 0x7e, 0x03, 0x7e, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* fed rotated 270.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0xff, 0x3e, 0x04, 0x7f, 0x04, 0xff, 0x1f, X 0xff, 0x1f, 0x7f, 0x04, 0x3e, 0x04, 0x9c, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* fed rotated 292.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x7e, 0x00, 0x7e, 0x03, 0x7f, 0x0c, 0xff, 0x78, 0xfe, 0x85, X 0xfe, 0x0f, 0x1e, 0x1e, 0x00, 0x0a, 0xc0, 0x03, 0x00, 0x07, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00 X }, X { /* fed rotated 315.0000 degrees */ X 0x00, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x05, 0xfe, 0x08, 0xfc, 0x11, X 0x80, 0x3f, 0x00, 0x47, 0x20, 0x8f, 0xc0, 0x04, 0x80, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04 X }, X { /* fed rotated 337.5000 degrees */ X 0x60, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xfc, 0x03, 0xf8, 0x01, 0xf8, 0x09, 0xc0, 0x09, X 0x90, 0x19, 0x10, 0x1f, 0xa0, 0x13, 0x60, 0x27, 0x40, 0x22, 0x40, 0x40, 0x40, 0x00, 0x80, 0x00 X }, X}; X Xchar rom_bits[VIEWS][32] = { X { /* rom rotated 0 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x43, 0xe2, 0x47, 0xf2, 0x4f, 0xfa, 0x5f, 0xfa, 0x5f, X 0xfe, 0x7f, 0xfe, 0x7f, 0x0e, 0x70, 0x02, 0x40, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* rom rotated 22.5000 degrees */ X 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x84, 0x03, 0xf4, 0x0f, 0xf6, 0x0f, 0xfe, 0x8f, 0xfe, 0x9f, X 0xf7, 0x5f, 0xc1, 0x5f, 0x00, 0x7e, 0x00, 0x38, 0x00, 0x38, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00 X }, X { /* rom rotated 45.0000 degrees */ X 0x60, 0x00, 0x20, 0x00, 0x10, 0x00, 0xc8, 0x07, 0xfc, 0x0f, 0xff, 0x1f, 0xf9, 0x1f, 0xe0, 0x1f, X 0xc0, 0x1f, 0x80, 0x9f, 0x00, 0xcf, 0x00, 0x2e, 0x00, 0x1e, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x06 X }, X { /* rom rotated 67.5000 degrees */ X 0x00, 0x03, 0xe0, 0x00, 0x38, 0x00, 0xfe, 0x01, 0xf8, 0x0f, 0xe0, 0x0f, 0xe0, 0x1f, 0xc0, 0x1f, X 0xc0, 0x1f, 0xc0, 0x0f, 0x80, 0x0f, 0x80, 0x0f, 0x00, 0x63, 0x80, 0x1f, 0x80, 0x07, 0xc0, 0x00 X }, X { /* rom rotated 90.0000 degrees */ X 0x00, 0x00, 0xf8, 0x1f, 0xe0, 0x00, 0xe0, 0x03, 0xc0, 0x07, 0xc0, 0x0f, 0xc0, 0x1f, 0xc0, 0x1f, X 0xc0, 0x1f, 0xc0, 0x1f, 0xc0, 0x0f, 0xc0, 0x07, 0xe0, 0x03, 0xe0, 0x00, 0xf8, 0x1f, 0x00, 0x00 X }, X { /* rom rotated 112.5000 degrees */ X 0xc0, 0x00, 0x80, 0x07, 0x80, 0x1f, 0x00, 0x63, 0x80, 0x0f, 0x80, 0x0f, 0xc0, 0x0f, 0xc0, 0x1f, X 0xc0, 0x1f, 0xe0, 0x1f, 0xe0, 0x0f, 0xf8, 0x0f, 0xfe, 0x01, 0x38, 0x00, 0xe0, 0x00, 0x00, 0x03 X }, X { /* rom rotated 135.0000 degrees */ X 0x00, 0x06, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x1e, 0x00, 0x2e, 0x00, 0xcf, 0x80, 0x9f, 0xc0, 0x1f, X 0xe0, 0x1f, 0xf9, 0x1f, 0xff, 0x1f, 0xfc, 0x0f, 0xe8, 0x07, 0x10, 0x00, 0x20, 0x00, 0x60, 0x00 X }, X { /* rom rotated 157.5000 degrees */ X 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7e, 0xc1, 0x5f, 0xf7, 0x5f, X 0xfe, 0x9f, 0xfe, 0x8f, 0xf6, 0x0f, 0xf4, 0x0f, 0x84, 0x03, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00 X }, X { /* rom rotated 180.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x02, 0x40, 0x0e, 0x70, 0xfe, 0x7f, 0xfe, 0x7f, X 0xfa, 0x5f, 0xfa, 0x5f, 0xf2, 0x4f, 0xe2, 0x47, 0xc2, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* rom rotated 202.5000 degrees */ X 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x7e, 0x00, 0xfa, 0x83, 0xfa, 0xef, X 0xf9, 0x7f, 0xf1, 0x7f, 0xf0, 0x6f, 0xf0, 0x2f, 0xc0, 0x21, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00 X }, X { /* rom rotated 225.0000 degrees */ X 0x60, 0x00, 0x20, 0x00, 0x30, 0x00, 0x78, 0x00, 0x74, 0x00, 0xf3, 0x00, 0xf9, 0x01, 0xf8, 0x03, X 0xf8, 0x07, 0xf8, 0x9f, 0xf8, 0xff, 0xf0, 0x3f, 0xe0, 0x13, 0x00, 0x08, 0x00, 0x04, 0x00, 0x06 X }, X { /* rom rotated 247.5000 degrees */ X 0x00, 0x03, 0xe0, 0x01, 0xf8, 0x01, 0xc6, 0x00, 0xf0, 0x01, 0xf0, 0x01, 0xf0, 0x03, 0xf8, 0x03, X 0xf8, 0x03, 0xf8, 0x07, 0xf0, 0x07, 0xf0, 0x1f, 0x80, 0x7f, 0x00, 0x1c, 0x00, 0x07, 0xc0, 0x00 X }, X { /* rom rotated 270.0000 degrees */ X 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x07, 0xc0, 0x07, 0xe0, 0x03, 0xf0, 0x03, 0xf8, 0x03, 0xf8, 0x03, X 0xf8, 0x03, 0xf8, 0x03, 0xf0, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0x00, 0x07, 0xf8, 0x1f, 0x00, 0x00 X }, X { /* rom rotated 292.5000 degrees */ X 0xc0, 0x00, 0x00, 0x07, 0x00, 0x1c, 0x80, 0x7f, 0xf0, 0x1f, 0xf0, 0x07, 0xf8, 0x07, 0xf8, 0x03, X 0xf8, 0x03, 0xf0, 0x03, 0xf0, 0x01, 0xf0, 0x01, 0xc6, 0x00, 0xf8, 0x01, 0xe0, 0x01, 0x00, 0x03 X }, X { /* rom rotated 315.0000 degrees */ X 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0xe0, 0x13, 0xf0, 0x3f, 0xf8, 0xff, 0xf8, 0x9f, 0xf8, 0x07, X 0xf8, 0x07, 0xf9, 0x01, 0xf3, 0x00, 0x74, 0x00, 0x78, 0x00, 0x30, 0x00, 0x20, 0x00, 0x60, 0x00 X }, X { /* rom rotated 337.5000 degrees */ X 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0xc0, 0x21, 0xf0, 0x2f, 0xf0, 0x6f, 0xf1, 0x7f, 0xf9, 0x7f, X 0xfa, 0xef, 0xfa, 0x83, 0x7e, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00 X }, X}; X Xchar kli_bits[VIEWS][32] = { X { /* kli rotated 0 degrees */ X 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x84, 0x21, X 0x84, 0x21, 0xfc, 0x3f, 0xfc, 0x3f, 0x8c, 0x31, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20 X }, X { /* kli rotated 22.5000 degrees */ X 0x00, 0x04, 0x80, 0x0e, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x0f, 0x08, 0x03, 0x04, 0x03, 0x8c, 0x01, X 0xfe, 0x01, 0xf6, 0x21, 0xc3, 0x17, 0xc1, 0x1e, 0x01, 0x1c, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04 X }, X { /* kli rotated 45.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x10, 0x3c, 0x08, 0x3c, 0x0c, 0x3e, 0x1e, 0x07, 0xbd, 0x03, X 0xe0, 0x01, 0xe0, 0x00, 0xe0, 0x01, 0x80, 0x13, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x02, 0x80, 0x01 X }, X { /* kli rotated 67.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x38, 0x10, 0x1e, 0x78, 0x39, 0xf8, 0x30, 0x7e, 0xe0, 0x3f, X 0xf0, 0x41, 0xf0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x80, 0x05, 0xc0, 0x03, 0xe0, 0x00, 0x38, 0x00 X }, X { /* kli rotated 90.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x70, 0x00, 0x60, 0x00, 0x60, 0x20, 0x60, 0x70, 0xf0, 0xff, X 0xf0, 0xff, 0x60, 0x70, 0x60, 0x20, 0x60, 0x00, 0x70, 0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 112.5000 degrees */ X 0x38, 0x00, 0xe0, 0x00, 0xc0, 0x03, 0x80, 0x05, 0xc0, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xf0, 0x41, X 0xe0, 0x3f, 0x30, 0x7e, 0x39, 0xf8, 0x1e, 0x78, 0x38, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 135.0000 degrees */ X 0x80, 0x01, 0x00, 0x02, 0x00, 0x07, 0x00, 0x0f, 0x80, 0x13, 0xe0, 0x01, 0xe0, 0x00, 0xf1, 0x01, X 0xbd, 0x03, 0x1e, 0x07, 0x0c, 0x3e, 0x08, 0x3c, 0x10, 0x3c, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 157.5000 degrees */ X 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x01, 0x1c, 0xc1, 0x1e, 0xc3, 0x17, 0xf6, 0x21, 0xfe, 0x01, X 0x8c, 0x01, 0x04, 0x03, 0x08, 0x03, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x0f, 0x80, 0x0e, 0x00, 0x04 X }, X { /* kli rotated 180.0000 degrees */ X 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x8c, 0x31, 0xfc, 0x3f, 0xfc, 0x3f, 0x84, 0x21, X 0x84, 0x21, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01 X }, X { /* kli rotated 202.5000 degrees */ X 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x38, 0x80, 0x78, 0x83, 0xe8, 0xc3, 0x84, 0x6f, 0x80, 0x7f, X 0x80, 0x31, 0xc0, 0x20, 0xc0, 0x10, 0xf0, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x70, 0x01, 0x20, 0x00 X }, X { /* kli rotated 225.0000 degrees */ X 0x80, 0x01, 0x40, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0xc8, 0x01, 0x80, 0x07, 0x00, 0x07, 0x80, 0x8f, X 0xc0, 0xbd, 0xe0, 0x78, 0x7c, 0x30, 0x3c, 0x10, 0x3c, 0x08, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 247.5000 degrees */ X 0x00, 0x1c, 0x00, 0x07, 0xc0, 0x03, 0xa0, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0f, 0x82, 0x0f, X 0xfc, 0x07, 0x7e, 0x0c, 0x1f, 0x9c, 0x1e, 0x78, 0x08, 0x1c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 270.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x00, 0x0e, 0x00, 0x06, 0x04, 0x06, 0x0e, 0x06, 0xff, 0x0f, X 0xff, 0x0f, 0x0e, 0x06, 0x04, 0x06, 0x00, 0x06, 0x00, 0x0e, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00 X }, X { /* kli rotated 292.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x1c, 0x1e, 0x78, 0x1f, 0x9c, 0x7e, 0x0c, 0xfc, 0x07, X 0x82, 0x0f, 0x00, 0x0f, 0x00, 0x03, 0x00, 0x03, 0xa0, 0x01, 0xc0, 0x03, 0x00, 0x07, 0x00, 0x1c X }, X { /* kli rotated 315.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x3c, 0x08, 0x3c, 0x10, 0x7c, 0x30, 0xe0, 0x78, 0xc0, 0xbd, X 0x80, 0x8f, 0x00, 0x07, 0x80, 0x07, 0xc8, 0x01, 0xf0, 0x00, 0xe0, 0x00, 0x40, 0x00, 0x80, 0x00 X }, X { /* kli rotated 337.5000 degrees */ X 0x20, 0x00, 0x70, 0x01, 0xf0, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0xc0, 0x10, 0xc0, 0x20, 0x80, 0x31, X 0x80, 0x7f, 0x84, 0x6f, 0xe8, 0xc3, 0x78, 0x83, 0x38, 0x80, 0x10, 0x00, 0x10, 0x00, 0x20, 0x00 X }, X}; X Xchar ori_bits[VIEWS][32] = { X { /* ori rotated 0 degrees */ X 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, X 0xf0, 0x0f, 0xf8, 0x1f, 0xdc, 0x3b, 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31 X }, X { /* ori rotated 22.5000 degrees */ X 0x00, 0x04, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0x07, 0x00, 0x03, 0xe0, 0x03, 0xf8, 0x03, X 0xfe, 0x07, 0xe6, 0x0f, 0xc7, 0x07, 0xe3, 0x0c, 0x63, 0x1c, 0x61, 0x0c, 0x30, 0x0c, 0x20, 0x06 X }, X { /* ori rotated 45.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3c, 0x00, 0x3c, 0x7c, 0x1f, 0xfe, 0x07, 0xe7, 0x03, X 0xe3, 0x07, 0xe1, 0x07, 0xf0, 0x07, 0x38, 0x06, 0x1c, 0x06, 0x08, 0x07, 0x80, 0x03, 0xc0, 0x01 X }, X { /* ori rotated 67.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x5e, 0x70, 0xff, 0xf8, 0xe1, 0x7f, 0xe0, 0x2f, X 0xf0, 0x03, 0xfc, 0x03, 0xdf, 0x03, 0x82, 0x01, 0x80, 0x01, 0xe0, 0x00, 0xf8, 0x00, 0x3c, 0x00 X }, X { /* ori rotated 90.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x7f, 0x00, 0xe0, 0x00, 0xc0, 0x01, 0xe0, 0x63, 0xff, 0xff, X 0xff, 0xff, 0xe0, 0x63, 0xc0, 0x01, 0xe0, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 112.5000 degrees */ X 0x3c, 0x00, 0xf8, 0x00, 0xe0, 0x00, 0x80, 0x01, 0x82, 0x01, 0xdf, 0x03, 0xfc, 0x03, 0xf0, 0x03, X 0xe0, 0x2f, 0xe1, 0x7f, 0xff, 0xf8, 0x5e, 0x70, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 135.0000 degrees */ X 0xe0, 0x01, 0x80, 0x03, 0x08, 0x07, 0x1c, 0x06, 0x38, 0x06, 0x70, 0x07, 0xe1, 0x07, 0xc3, 0x03, X 0xe7, 0x07, 0xfe, 0x07, 0xfc, 0x1e, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 157.5000 degrees */ X 0x20, 0x06, 0x30, 0x0c, 0x61, 0x0c, 0x63, 0x1c, 0xe3, 0x0c, 0xc7, 0x07, 0xe6, 0x0f, 0xfe, 0x07, X 0xf8, 0x03, 0xe0, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0x04 X }, X { /* ori rotated 180.0000 degrees */ X 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31, 0x8c, 0x31, 0xdc, 0x3b, 0xf8, 0x1f, 0xf0, 0x0f, X 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01 X }, X { /* ori rotated 202.5000 degrees */ X 0x60, 0x04, 0x30, 0x0c, 0x30, 0x86, 0x38, 0xc6, 0x30, 0xc7, 0xe0, 0xe3, 0xf0, 0x67, 0xe0, 0x7f, X 0xc0, 0x1f, 0xc0, 0x07, 0xc0, 0x00, 0xe0, 0x00, 0x70, 0x00, 0xf0, 0x00, 0x70, 0x00, 0x20, 0x00 X }, X { /* ori rotated 225.0000 degrees */ X 0x80, 0x07, 0xc0, 0x01, 0xe0, 0x10, 0x60, 0x38, 0x60, 0x1c, 0xe0, 0x8e, 0xe0, 0x87, 0xe0, 0xc3, X 0xc0, 0xe7, 0xe0, 0x7f, 0xf8, 0x3e, 0x3c, 0x00, 0x3c, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 247.5000 degrees */ X 0x00, 0x3c, 0x00, 0x1f, 0x00, 0x07, 0x80, 0x01, 0x80, 0x41, 0xc0, 0xfb, 0xc0, 0x3f, 0xc0, 0x0f, X 0xf4, 0x07, 0xfe, 0x87, 0x1f, 0xff, 0x0e, 0x7a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 270.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfe, 0x00, 0x07, 0x80, 0x03, 0xc6, 0x07, 0xff, 0xff, X 0xff, 0xff, 0xc6, 0x07, 0x80, 0x03, 0x00, 0x07, 0x00, 0xfe, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00 X }, X { /* ori rotated 292.5000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x7a, 0x1f, 0xff, 0xfe, 0x87, 0xf4, 0x07, X 0xc0, 0x0f, 0xc0, 0x3f, 0xc0, 0xfb, 0x80, 0x41, 0x80, 0x01, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x3c X }, X { /* ori rotated 315.0000 degrees */ X 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x78, 0x3f, 0xe0, 0x7f, 0xe0, 0xf7, X 0xc0, 0xc3, 0xe0, 0x87, 0xe0, 0x8e, 0x60, 0x1c, 0xe0, 0x38, 0xe0, 0x10, 0xc0, 0x00, 0x80, 0x03 X }, X { /* ori rotated 337.5000 degrees */ X 0x20, 0x00, 0x70, 0x00, 0xf0, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xc0, 0x07, 0xc0, 0x1f, X 0xe0, 0x7f, 0xf0, 0x67, 0xe0, 0xe3, 0x30, 0xc7, 0x38, 0xc6, 0x30, 0x86, 0x30, 0x0c, 0x60, 0x04 X }, X}; X X/**** These are the explosions ****/ X X#define EX_FRAMES 5 X#define ex_width 64 X#define ex_height 64 X Xchar ex_bits[5][512] = { X { X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x1c, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x15, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xd5, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x22, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x60, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x1e, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x26, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x06, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00 X }, { X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xa0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x25, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x02, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x60, 0x12, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x22, 0x92, 0x00, 0x12, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x42, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x47, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x28, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x18, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x14, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x14, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00 X }, { X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x09, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x91, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x30, 0x44, 0x80, 0x10, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x05, 0x00, X 0x00, 0x00, 0x01, 0x88, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x00, 0x12, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x12, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x30, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x48, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00 X }, { X 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x11, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, X 0x00, 0x00, 0x02, 0x40, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x20, 0x08, 0x02, 0x10, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, X 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x82, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x22, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x08, 0x10, 0xc0, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, X 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X }, { X 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x24, 0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x42, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, X 0x00, 0x20, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x10, X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, X 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, X 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x20, 0x00, 0x00, 0x00, 0x01, 0x08, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 X } X}; X XPixmap expview[EX_FRAMES]; X X/**** These are the misc things ****/ X XPixmap fedview[VIEWS]; XPixmap romview[VIEWS]; XPixmap kliview[VIEWS]; XPixmap oriview[VIEWS]; XPixmap cloud; XPixmap etorp, mtorp; XPixmap bplanet; XPixmap mbplanet; XPixmap shield; X XCursor crosshair; X X#define cloud_width 7 X#define cloud_height 7 Xchar cloud_bits[] = { X 0x14, 0x00, 0x2a, 0x00, 0x55, 0x00, 0x2a, 0x00, X 0x55, 0x00, 0x2a, 0x00, 0x14, 0x00}; X X#define etorp_width 3 X#define etorp_height 3 Xchar etorp_bits[] = { X 0x05, 0x00, 0x02, 0x00, 0x05, 0x00}; X X#define mtorp_width 3 X#define mtorp_height 3 Xchar mtorp_bits[] = { X 0x02, 0x00, 0x07, 0x00, 0x02, 0x00}; X X#define crossw 15 X#define crossh 15 Xchar crossbits[] = { X 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, X 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xff, 0x7f, X 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, X 0x80, 0x00, 0x80, 0x00, 0x80, 0x00}; X X#define crossmask_width 15 X#define crossmask_height 15 Xchar crossmask_bits[] = { X 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, X 0xc0, 0x01, 0xc0, 0x01, 0xff, 0x7f, 0xff, 0x7f, X 0xff, 0x7f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, X 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01}; X X#define planet_width 30 X#define planet_height 30 Xchar planet_bits[] = { X 0x00, 0xf8, 0x03, 0x00, 0x00, 0x07, 0x1c, 0x00, X 0xc0, 0x00, 0x60, 0x00, 0x20, 0x00, 0x80, 0x00, X 0x10, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x02, X 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, X 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, X 0x02, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x10, X 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, X 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, X 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, X 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, X 0x02, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x04, X 0x04, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x02, X 0x10, 0x00, 0x00, 0x01, 0x20, 0x00, 0x80, 0x00, X 0xc0, 0x00, 0x60, 0x00, 0x00, 0x07, 0x1c, 0x00, X 0x00, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00}; X X#define mplanet_width 16 X#define mplanet_height 16 Xchar mplanet_bits[] = { X 0xe0, 0x03, 0x18, 0x0c, 0x04, 0x10, 0x02, 0x20, X 0x02, 0x20, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, X 0x01, 0x40, 0x01, 0x40, 0x02, 0x20, 0x02, 0x20, X 0x04, 0x10, 0x18, 0x0c, 0xe0, 0x03, 0x00, 0x00}; X X#define shield_width 20 X#define shield_height 20 Xchar shield_bits[] = { X 0xc0, 0x3f, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, X 0x08, 0x00, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, X 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x04, 0x00, X 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x00, X 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x00, X 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x00, X 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x00, X 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x04, 0x00, X 0x04, 0x00, 0x02, 0x00, 0x08, 0x00, 0x01, 0x00, X 0x30, 0xc0, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00}; X XPixmap e_bplanetPix, a_bplanetPix; XPixmap e_mbplanetPix, a_mbplanetPix; X X#define icon_width 64 X#define icon_height 64 Xchar icon_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xf8, 0x83, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xf0, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xe0, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xc0, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xc0, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x80, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x80, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x1e, 0xf0, 0xbf, 0x7f, 0xe0, 0x1b, 0x0e, X 0x00, 0x3c, 0xf8, 0x9f, 0xff, 0xf8, 0x19, 0x07, X 0x00, 0x3c, 0x80, 0x81, 0xe1, 0x1c, 0x98, 0x03, X 0x00, 0x7e, 0x80, 0x81, 0x71, 0x0e, 0xd8, 0x01, X 0x00, 0x7b, 0x80, 0x81, 0x39, 0x06, 0xf8, 0x00, X 0x00, 0xf3, 0x80, 0x81, 0x1d, 0xfe, 0xf9, 0x03, X 0x80, 0xf1, 0x80, 0x81, 0x7f, 0xfe, 0xf8, 0x07, X 0xc0, 0xe0, 0x81, 0x81, 0xe1, 0x06, 0x18, 0x0e, X 0xc0, 0xe0, 0x81, 0x81, 0xc1, 0x0e, 0x18, 0x0c, X 0x60, 0xe0, 0x83, 0x81, 0xc1, 0x1c, 0x1a, 0x0c, X 0x70, 0xc0, 0x87, 0x81, 0xc1, 0xf8, 0x1b, 0x7c, X 0xfc, 0xe0, 0xdf, 0xc3, 0xe3, 0xe0, 0x3d, 0x3e, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x20, 0xe0, 0xff, 0x0f, 0x30, 0x08, 0x06, X 0x00, 0xfc, 0xe1, 0xff, 0x07, 0x30, 0x7f, 0x06, X 0xe0, 0xff, 0x1f, 0x01, 0x00, 0xf8, 0xff, 0x0f, X 0x00, 0xfe, 0x0f, 0x01, 0x00, 0x80, 0xff, 0x00, X 0x00, 0x70, 0x1c, 0x01, 0x00, 0x00, 0x5d, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0x01, 0x00, 0x3e, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x36, 0x00, X 0x00, 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x3e, 0x00, X 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0x1c, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, X 0x00, 0xf8, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x40, X 0x00, 0xfe, 0xe3, 0xff, 0x0f, 0xa1, 0x6e, 0x40, X 0x00, 0xff, 0xe7, 0xff, 0x0f, 0xa1, 0xa2, 0x40, X 0x80, 0xff, 0x0f, 0x01, 0x00, 0xa1, 0x66, 0x40, X 0x80, 0x8f, 0x0f, 0x01, 0x00, 0xa1, 0xa2, 0x40, X 0xc0, 0x77, 0x1f, 0x01, 0x00, 0x41, 0xae, 0x42, X 0xc0, 0xfb, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x40, X 0xc0, 0xdb, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x40, X 0xc0, 0xfb, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x40, X 0xc0, 0x77, 0x1f, 0x01, 0x00, 0x81, 0xc0, 0x43, X 0x80, 0x8f, 0x0f, 0x01, 0x00, 0xc1, 0x20, 0x43, X 0x80, 0xff, 0x0f, 0x01, 0x00, 0xa1, 0xa0, 0x42, X 0x00, 0xff, 0xe7, 0xff, 0x0f, 0x91, 0xa0, 0x42, X 0x00, 0xfe, 0xe3, 0xff, 0x0f, 0xf1, 0xa1, 0x42, X 0x00, 0xf8, 0x00, 0x00, 0x00, 0x81, 0x60, 0x42, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xec, 0x41, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, X 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X X#define stipple_width 16 X#define stipple_height 16 Xchar stipple_bits[] = { X 0xfe, 0xfe, 0xfd, 0xfd, 0xfb, 0xfb, 0xf7, 0xf7, X 0xef, 0xef, 0xdf, 0xdf, 0xbf, 0xbf, 0x7f, 0x7f, X 0xfe, 0xfe, 0xfd, 0xfd, 0xfb, 0xfb, 0xf7, 0xf7, X 0xef, 0xef, 0xdf, 0xdf, 0xbf, 0xbf, 0x7f, 0x7f}; X END_OF_FILE if test 38466 -ne `wc -c <'bitmaps.c'`; then echo shar: \"'bitmaps.c'\" unpacked with wrong size! fi # end of 'bitmaps.c' fi if test -f 'coup.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'coup.c'\" else echo shar: Extracting \"'coup.c'\" \(1756 characters\) sed "s/^X//" >'coup.c' <<'END_OF_FILE' Xstatic char sccsid[] = "@(#)coup.c 1.1"; X/* X X Copyright (c) 1986 Chris Guthrie X XPermission to use, copy, modify, and distribute this Xsoftware and its documentation for any purpose and without Xfee is hereby granted, provided that the above copyright Xnotice appear in all copies and that both that copyright Xnotice and this permission notice appear in supporting Xdocumentation. No representations are made about the Xsuitability of this software for any purpose. It is Xprovided "as is" without express or implied warranty. X X*/ X X X#include <X11/Xlib.h> X X#include <stdio.h> X#include <sys/types.h> X#include <sys/ipc.h> X#include <sys/shm.h> X#include "defs.h" X#include "data.h" X X/* throw a coup */ X Xcoup(p) Xregister struct player *p; X{ X register int i; X register struct planet *l; X X if (p->p_kills < 1.0) { X warning(p, "You must have one kill to throw a coup"); X return; X } X if (!(p->p_flags & PFORBIT)) { X warning(p, "You must orbit your home planet to throw a coup"); X return; X } X for (i = 0, l = &planets[0]; i < MAXPLANETS; i++, l++) { X if ((l->pl_owner == p->p_team) && (l->pl_armies > 0)) { X warning(p, "You already own a planet!!!"); X return; X } X } X l = &planets[p->p_planet]; X X if ((!(l->pl_flags & PLHOME)) || ((l->pl_flags & ALLTEAM) != p->p_team)) { X warning(p, "You must orbit your home planet to throw a coup"); X return; X } X X if (l->pl_armies > 4) { X warning(p, "Too many armies on planet to throw a coup"); X return; X } X X if (l->pl_couptime > 0) { X warning(p, "Planet not yet ready for a coup"); X return; X } X X if (l->pl_flags & PLCOUP) { /* Avoid race conditions */ X return; X } X X /* the cases are now met. We can have a coup. */ X X l->pl_flags |= PLCOUP; X p->p_stats.st_coups++; X} END_OF_FILE if test 1756 -ne `wc -c <'coup.c'`; then echo shar: \"'coup.c'\" unpacked with wrong size! fi # end of 'coup.c' fi echo shar: End of archive 1 \(of 7\). cp /dev/null ark1isdone MISSING="" for I in 1 2 3 4 5 6 7 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 7 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 -- Mike Wexler(wyse!mikew) Phone: (408)433-1000 x1330 Moderator of comp.sources.x