Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!uw-beaver!tektronix!tekgen!tekred!games-request
From: games-request@tekred.UUCP
Newsgroups: comp.sources.games
Subject: v01i059:  sdi - missle command game for Suns, Part06/06
Message-ID: <1318@tekred.TEK.COM>
Date: Wed, 17-Jun-87 14:35:12 EDT
Article-I.D.: tekred.1318
Posted: Wed Jun 17 14:35:12 1987
Date-Received: Fri, 19-Jun-87 04:03:36 EDT
Sender: billr@tekred.TEK.COM
Lines: 1020
Approved: billr@tekred.TEK.COM

Submitted by: Mark Weiser 
Comp.sources.games: Volume 1, Issue 59
Archive-name: sdi/Part06



#! /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 NOTES <<'END_OF_NOTES'
X1. Various arcane values are tuned for pleasing affect.  For instance,
X   blast size and number of increments (in circles.c), and delay between
X   blast updates (in blast.c) are tuned for reasonable affect without taking
X   too much cpu time. The melting procedure, the size of blasts, the size of
X   cites, and the above-ground distance (BURST_DISTANCE) also all cooperate to
X   create aesthetically pleasing city blowups (if there can be such a thing).
X
X   Everything will WORK just fine without arcane tuning, it will just
X   not look as good.
X
X2. I have not bothered to find out much about the proper way to draw
X   vectors, and thus the missile traces are really a kludge, and sometimes
X   they miss the top or bottom of the screen.  But not often enough to
X   fix, and perhaps its a feature--ICBM's from unusual directions.
X
X3. Compiling with the DEBUG switch on does extra checking for consistency
X   of the data structures, but this noticably affects performance.
X
X4. I used a tab setting of four, not eight, when creating this code.
END_OF_NOTES
if test 1042 -ne `wc -c about_msg.h <<'END_OF_about_msg.h'
X	"Sdi was designed and coded by Mark Weiser\nwhile at the University of Maryland.\nIf you like sdi, send mark a picture postcard at:\n  Mark Weiser\n  Computer Science Laboratory\n  Xerox Palo Alto Research Center\n  3333 Coyote Hill Rd.\n  Palo Alto, California  94304\n        (Email: mark@mimsy.umd.edu)"
END_OF_about_msg.h
if test 308 -ne `wc -c center.h <<'END_OF_center.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x1F00,0x2080,0x4040,0x8020,0x8020,0x8020,0x8020,0x8020,
X	0x4040,0x2080,0x1F00,0x0000,0x0000,0x0000,0x0000,0x0000
END_OF_center.h
if test 193 -ne `wc -c city_icon2.h <<'END_OF_city_icon2.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0800,0x007F,0xFF00,0x0000,0x0400,0x1F83,0xC0FC,0x0000,
X	0x0001,0xE003,0x6003,0xC000,0x000E,0x0003,0x3000,0x3800,
X	0x0070,0x0003,0x3000,0x0700,0x0180,0x0003,0x3000,0x00C0,
X	0x0600,0x0003,0x3000,0x0030,0x1BC0,0x0003,0x3000,0x000C,
X	0x6660,0x0003,0x6000,0x03F3,0x8600,0x0003,0xC000,0x00C0,
X	0x0300,0x0000,0x0000,0x00C0,0x00C0,0x0000,0x0000,0x00C0,
X	0x0060,0x0000,0x0000,0x00C0,0x0660,0x0000,0x0000,0x00C0,
X	0x0660,0x0000,0x0000,0x00C0,0x03C0,0x0000,0x0080,0x00C0,
X	0x0000,0x0000,0x0080,0x03F0,0x0000,0x0000,0x0080,0x0000,
X	0x0F80,0x0000,0x01C0,0x0000,0x0B80,0x0000,0x01C0,0x0000,
X	0x0E80,0x0000,0x03E0,0x0000,0x0F80,0x0000,0x03E0,0x0000,
X	0x0B80,0x0000,0x0FFC,0x0000,0x0E80,0x0000,0x0924,0x0000,
X	0x0F80,0x0000,0x0924,0x0006,0x0D80,0x0000,0x0FFC,0x0006,
X	0x0F80,0x0000,0x09E4,0x0006,0x0B80,0x0000,0x09E4,0x0006,
X	0x0F80,0x0F00,0x0FFD,0xFFC6,0x0E80,0x090F,0x8F3D,0x54C6,
X	0x0F80,0x0F0A,0x8F3D,0xFFC6,0x0F80,0x090A,0x8FFD,0x6C46,
X	0x0880,0x0F0F,0x89FD,0xFFC6,0x0F80,0x090B,0x89FD,0x294F,
X	0x0E80,0x0F0B,0x8F25,0xFFC9,0x0F80,0x0F0E,0x8F25,0x544F,
X	0x0D80,0x0F0E,0x8FFD,0xFFC9,0x0FFC,0x090F,0x8FFD,0x964F,
X	0x0F9C,0x0F0F,0x8FFD,0xFFCF,0x0FE4,0x0F0E,0x8FFD,0x944F,
X	0x0BFC,0x090E,0x89E5,0xFFC9,0x0F9C,0x3F8F,0x89E5,0x48CF,
X	0x0DFC,0x208E,0xFFFD,0xFFCB,0x0FE4,0x3F8E,0xFF25,0x594F,
X	0x0E9C,0xFF8F,0xDF25,0xFFCD,0x0FFC,0x808A,0xBFFD,0x5ACF,
X	0xCEE4,0xFF8A,0xF9FD,0xFFF9,0xCF9C,0xFF8F,0xD9FF,0xB95F,
X	0x8FE4,0xFFFF,0xBFFF,0xFFD9,0xCEFC,0x80FB,0xFF3F,0x3CDF,
X	0xCBFF,0xFFBB,0xFF3F,0xFFF9,0x4FE7,0x80FE,0xFFFF,0x5A7F,
X	0xCF9E,0xFFFE,0xDFE7,0xFFEB,0xF9FF,0xFFEF,0xBFE7,0xB96F,
X	0xDF9F,0xF1FF,0xFCFF,0xFFEB,0xFBE7,0x9FFB,0x7CFF,0xFFEF,
X	0x6FFF,0xFFFF,0x7FFF,0xBEF9,0xFB99,0x7FCF,0xFAF3,0xB7DF,
X	0xDFE2,0xB9F6,0xF973,0xAFD9,0x7CFA,0xBFC7,0xFBFF,0x9CDF,
X	0xEFFA,0xBFB7,0x7BFF,0xAFD9,0xFFFA,0xB3D7,0xFBFF,0xB7FF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_city_icon2.h
if test 1933 -ne `wc -c cross_picture.h <<'END_OF_cross_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0x8201,0x8201,0x8201,0x8201,0xFFFF,0x8201,0x8201,
X	0x8201,0x8201,0x8201,0x8201,0x8201,0x8201,0x8201,0xFFFF
END_OF_cross_picture.h
if test 193 -ne `wc -c cursor.h <<'END_OF_cursor.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x07E0,0x1FF8,0x3DBC,0x718E,0x6186,0xE187,0xC183,0xFFFF,
X	0xFFFF,0xC183,0xE187,0x6186,0x718E,0x3DBC,0x1FF8,0x07E0
END_OF_cursor.h
if test 193 -ne `wc -c dyna_picture.h <<'END_OF_dyna_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0180,0x0180,0x1FF8,0x1FF8,0x0180,0x0180,0x0180,0x7FFF,
X	0x71C7,0x71C7,0x71C7,0x71C7,0x71C7,0x71C7,0x71C7,0x71C7
END_OF_dyna_picture.h
if test 193 -ne `wc -c dynacursor.h <<'END_OF_dynacursor.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0180,0x0180,0x1FF8,0x1FF8,0x0180,0x0180,0x0180,0x7FFF,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
END_OF_dynacursor.h
if test 193 -ne `wc -c editall <<'END_OF_editall'
X#!/bin/csh -f
Xalias te 'if ( ! -e \!\!:1 ) touch \!\!:1 ; ( exec /usr/bin/textedit -Wi \!\!:1 & )'
Xforeach f ($*)
X	te $f
X	sleep 3
Xend
END_OF_editall
if test 134 -ne `wc -c expert_advice.h <<'END_OF_expert_advice.h'
X		"    Expert Advice\n\nMake games, not war."
END_OF_expert_advice.h
if test 46 -ne `wc -c fancy_icon1.h <<'END_OF_fancy_icon1.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xD55D,0x55D7,0x5DDD,
X	0x8020,0x8008,0x0080,0x0003,0xC000,0x8008,0x0080,0x0083,
X	0xC000,0x8008,0x0080,0x0083,0xC000,0x4008,0x0080,0x0081,
X	0x8000,0x4008,0x0000,0x0103,0xC000,0x2008,0x0000,0x0103,
X	0xC000,0x0008,0x0000,0x0103,0xC000,0x0008,0x0000,0x0101,
X	0x8000,0x0004,0x0000,0x0103,0xC000,0x0004,0x0000,0x0103,
X	0xC000,0x0004,0x0000,0x0203,0xE000,0x0004,0x0000,0x0001,
X	0x9000,0x0004,0x0000,0x0003,0xD000,0x0004,0x0000,0x0003,
X	0xC800,0x0004,0x0000,0x0003,0xC400,0x0004,0x0000,0x0001,
X	0x8200,0x0004,0x0000,0x0003,0xC000,0x0004,0x0000,0x0001,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0101,
X	0x8000,0x0000,0x0000,0x0103,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8028,0x0000,0x0000,0x0A03,0xC450,0x0000,0x0000,0x1503,
X	0xC82A,0x0A42,0xA282,0x8A03,0xD455,0x0529,0x5445,0x1501,
X	0xA82A,0x0A94,0xA2AA,0x8AA3,0xD455,0x057B,0x5555,0x1543,
X	0xE82A,0x0A84,0xAA2A,0x8AA3,0xD455,0x0559,0x5455,0x1541,
X	0xBBBB,0xAABA,0xBBBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon1.h
if test 1933 -ne `wc -c fancy_icon2.h <<'END_OF_fancy_icon2.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xD55D,0x55D7,0x5DDD,
X	0x8020,0x8008,0x0080,0x0003,0xC000,0x8008,0x0080,0x0083,
X	0xC000,0x8008,0x0080,0x0083,0xC000,0x8008,0x0080,0x0081,
X	0x8000,0x8008,0x0080,0x0103,0xC000,0x8008,0x0000,0x0103,
X	0xC000,0x4008,0x0000,0x0103,0xC000,0x4008,0x0000,0x0101,
X	0x8000,0x2E04,0x0000,0x0103,0xC000,0x3F04,0x0000,0x0103,
X	0xC000,0x3F84,0x0000,0x0203,0xE000,0x3F84,0x0000,0x0201,
X	0x9000,0x3F84,0x0000,0x0203,0xD000,0x1F04,0x0000,0x0203,
X	0xC800,0x0E04,0x0000,0x0203,0xC400,0x0004,0x0000,0x0401,
X	0x8200,0x0004,0x0000,0x0403,0xC200,0x0004,0x0000,0x0401,
X	0xC100,0x0004,0x0000,0x0003,0xC080,0x0004,0x0000,0x0003,
X	0xC040,0x0004,0x0000,0x0003,0xC040,0x0004,0x0000,0x0001,
X	0x8020,0x0004,0x0000,0x0003,0xC010,0x0004,0x0000,0x0803,
X	0x8000,0x0004,0x0000,0x0003,0xC000,0x0002,0x0000,0x0001,
X	0x8000,0x0002,0x0000,0x0003,0xC000,0x0002,0x0000,0x0003,
X	0x8000,0x0002,0x0000,0x0003,0xC000,0x0002,0x0000,0x0101,
X	0x8000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0103,
X	0xC000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0101,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0003,
X	0xC000,0x0000,0x0000,0x0003,0xC000,0x0000,0x0000,0x0001,
X	0x8028,0x0000,0x0000,0x0A03,0xC450,0x0000,0x0000,0x1503,
X	0xC82A,0x0A40,0x0282,0x8A03,0xD455,0x0529,0x5445,0x1501,
X	0xA82A,0x0A92,0xA2AA,0x8AA3,0xD455,0x0569,0x5555,0x1543,
X	0xE82A,0x0A96,0xAA2A,0x8AA3,0xD455,0x054D,0x5455,0x1541,
X	0xBBBB,0xAAB2,0xBBBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon2.h
if test 1933 -ne `wc -c fancy_icon3.h <<'END_OF_fancy_icon3.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xD55D,0x55D7,0x5DDD,
X	0x8020,0x8008,0x0080,0x0003,0xC000,0xC008,0x0080,0x0083,
X	0xC000,0x4008,0x0080,0x0083,0xC000,0x4008,0x0080,0x0081,
X	0x8000,0x4008,0x0080,0x0103,0xC000,0x4008,0x0080,0x0103,
X	0xC000,0x7F08,0x0080,0x0103,0xC000,0x3F88,0x0000,0x0101,
X	0x8000,0x7FC4,0x0000,0x0103,0xC000,0xFFE4,0x0000,0x0103,
X	0xC000,0xFFE4,0x0000,0x0203,0xE000,0xFFE4,0x0000,0x0201,
X	0x9000,0xFFE4,0x0000,0x0203,0xD000,0xFFE4,0x0000,0x0203,
X	0xC800,0x7FC4,0x0000,0x0203,0xC400,0x3F84,0x0000,0x0401,
X	0x8200,0x1F04,0x0000,0x0403,0xC200,0x0004,0x0000,0x0401,
X	0xC100,0x0004,0x0000,0x0403,0xC080,0x0004,0x0000,0x0403,
X	0xC040,0x0004,0x0000,0x0403,0xC04F,0x8004,0x0000,0x3E01,
X	0x8032,0x4004,0x0000,0x4903,0xC02A,0x2004,0x0000,0x8883,
X	0x8046,0x1004,0x3801,0x0843,0xC046,0x1002,0x7C01,0x0841,
X	0x807F,0xF002,0xFE01,0xFFC3,0xC042,0x1002,0xFE01,0x0843,
X	0x8042,0x1002,0xFE01,0x0843,0xC022,0x2002,0x7C00,0x8981,
X	0x8012,0x4002,0x3800,0x4903,0xC00F,0x8002,0x0000,0x3F03,
X	0xC000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0101,
X	0xC000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0103,
X	0x8000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0101,
X	0xC000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0101,
X	0x8000,0x0002,0x0000,0x0003,0xC000,0x0002,0x0000,0x0003,
X	0xC000,0x0002,0x0000,0x0003,0xC000,0x0001,0x0000,0x0001,
X	0x8000,0x0001,0x0000,0x0003,0xC000,0x0001,0x0000,0x0003,
X	0xC000,0x0001,0x0000,0x0003,0xC000,0x0001,0x0000,0x0001,
X	0x8000,0x0001,0x0000,0x0003,0xC000,0x0001,0x0000,0x0003,
X	0xC000,0x0001,0x0000,0x0003,0xC000,0x0001,0x0000,0x0001,
X	0x8028,0x0000,0x0000,0x0A03,0xC450,0x0000,0x0000,0x1503,
X	0xC82A,0x0A42,0xA282,0x8A03,0xD455,0x0529,0x5445,0x1501,
X	0xA82A,0x0A96,0xA2AA,0x8AA3,0xD455,0x0569,0x5555,0x1543,
X	0xE82A,0x0A96,0xAA2A,0x8AA3,0xD455,0x0549,0x5455,0x1541,
X	0xBBBB,0xAAB6,0xABBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon3.h
if test 1933 -ne `wc -c fancy_icon4.h <<'END_OF_fancy_icon4.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xD55D,0xD777,0x5DDD,
X	0x8020,0x000C,0x0000,0x0003,0xC000,0x0008,0x0000,0x0003,
X	0xC000,0x0008,0x0000,0x0003,0xC000,0x0008,0x0000,0x0001,
X	0x8000,0x1F08,0x0000,0x0003,0xC000,0x3F88,0x0300,0x0003,
X	0xC000,0x7FC8,0x0080,0x0003,0xC000,0xFFE8,0x04C0,0x0001,
X	0x8001,0xFFF4,0x04C0,0x0003,0xC001,0xFFF4,0x04C0,0x0003,
X	0xC001,0xFFF4,0x0080,0x0003,0xC001,0xFFF4,0x0000,0x0001,
X	0x8001,0xFFF4,0x0000,0x0003,0xC000,0xFFE4,0x0000,0x0003,
X	0xC000,0x7FC4,0x0000,0x0003,0xC000,0x3F84,0x0000,0x0001,
X	0x8000,0x1F04,0x0000,0x0003,0xC000,0x0004,0x0000,0x0001,
X	0xC000,0x0004,0x0000,0x0003,0xC000,0x0004,0x0000,0x0003,
X	0xC000,0x0004,0x0000,0x0003,0xC000,0x0004,0x0000,0x0001,
X	0x8000,0x0004,0x0000,0x0003,0xC000,0x0004,0x1C00,0x0003,
X	0x8012,0x0004,0x7F00,0x0C03,0xC001,0x0002,0x7F00,0x1001,
X	0x8018,0x8002,0xFF80,0x3203,0xC01E,0x8002,0xFF80,0x3303,
X	0x800E,0x0002,0xFF80,0x3303,0xC004,0x0002,0x7F00,0x1101,
X	0x8004,0x0002,0x7F00,0x0D03,0xC004,0x0002,0x1C00,0x0103,
X	0xC004,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0101,
X	0xC000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0103,
X	0x8000,0x0002,0x0000,0x0103,0xC000,0x0002,0x0000,0x0001,
X	0xC000,0x0002,0x0000,0x0003,0xC000,0x0002,0x0000,0x0001,
X	0x8000,0x0002,0x0000,0x0003,0xC000,0x0002,0x0000,0x0003,
X	0xC000,0x0002,0x0000,0x0003,0xC000,0x0001,0x0000,0x0001,
X	0x8000,0x0001,0x0000,0x0003,0xC000,0x0001,0x0000,0x0003,
X	0xC000,0x0007,0xC000,0x0003,0xC000,0x0009,0x2000,0x0001,
X	0x8000,0x0011,0x1000,0x0003,0xC000,0x0021,0x0800,0x0003,
X	0xC000,0x0021,0x0800,0x0003,0xC000,0x003F,0xF800,0x0001,
X	0x8028,0x0021,0x0800,0x0A03,0xC450,0x0021,0x0800,0x1503,
X	0xC82A,0x0A52,0xA282,0x8A03,0xD455,0x052D,0x5445,0x1501,
X	0xA82A,0x0A92,0xA2AA,0x8AA3,0xD455,0x056D,0x5555,0x1543,
X	0xE82A,0x0A92,0xAA2A,0x8AA3,0xD455,0x056D,0x5455,0x1541,
X	0xBBBB,0xAA92,0xABBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon4.h
if test 1933 -ne `wc -c fancy_icon7.h <<'END_OF_fancy_icon7.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xD55D,0xD777,0x5DDD,
X	0x8020,0x0004,0x0000,0x0003,0xC000,0x1F08,0x0418,0x0003,
X	0xC000,0x7FC0,0x0CF6,0x0003,0xC001,0xFFF0,0x1CFA,0x0001,
X	0x8003,0xFFF8,0x3CFD,0x0003,0xC003,0xFFF8,0x3CFD,0x0003,
X	0xC007,0xFFFC,0x7CFC,0x0003,0xC007,0xFFFC,0x7CFC,0x0001,
X	0x800F,0xFFFE,0x7CFC,0x0003,0xC00F,0xFFFE,0x7CFC,0x0003,
X	0xC00F,0xFFFE,0x7CFC,0x0003,0xC00F,0xFFFE,0x7CFD,0x0001,
X	0x800F,0xFFFE,0x3CFC,0x0003,0xC007,0xFFFC,0x1CF0,0x0003,
X	0xC007,0xFFFC,0x0808,0x0003,0xC003,0xFFF8,0x03E2,0x0001,
X	0x8003,0xFFF8,0x0104,0x0003,0xC001,0xFFF0,0x0030,0x0001,
X	0xC007,0x7FC0,0x0018,0x0003,0xC000,0xDF00,0x0000,0x0003,
X	0xC04F,0x2000,0x3E04,0x3E03,0xC09F,0xD000,0xFF80,0x3201,
X	0x819F,0xD001,0xFFC0,0x7303,0xC18F,0xF003,0xFFE4,0xF383,
X	0x83C3,0xF803,0xFFE1,0xF3C3,0xC3E1,0xF807,0xFFFF,0xF3E1,
X	0x83F8,0x7807,0xFFFF,0xF3E3,0xC3FE,0x3807,0xFFFF,0xF3E3,
X	0x83FF,0x1807,0xFFFF,0xF3E3,0xC1BF,0x9007,0xFFFF,0xF3E1,
X	0x81BF,0x9003,0xFFE1,0xF3C3,0xC09F,0x2003,0xFFE4,0xF383,
X	0xC000,0x4001,0xFFC2,0x7303,0xC01F,0x0000,0xFF80,0x0101,
X	0xC000,0x0000,0x3E00,0x0003,0xC004,0x0000,0x0000,0x0003,
X	0x8004,0x0000,0x0000,0x0103,0xC004,0x0000,0x0000,0x0101,
X	0xC004,0x0000,0x0000,0x0103,0xC000,0x0000,0x0000,0x0101,
X	0x8000,0x0000,0x0000,0x0103,0xC000,0x0000,0x0000,0x0103,
X	0xC000,0x0000,0x0000,0x0103,0xC000,0x0000,0x0000,0x0081,
X	0x8000,0x0000,0x0000,0x0083,0xC000,0x0003,0x8000,0x0083,
X	0xC000,0x000F,0xE000,0x0003,0xC000,0x000C,0xF000,0x0001,
X	0x8000,0x000B,0x6000,0x0003,0xC000,0x000B,0x6000,0x0003,
X	0xC000,0x000B,0x6000,0x0003,0xC000,0x000C,0x6000,0x0001,
X	0x8028,0x0007,0xE000,0x0A03,0xC450,0x0003,0x8000,0x1503,
X	0xC82A,0x0A40,0x0282,0x8A03,0xD455,0x052D,0x5445,0x1501,
X	0xA82A,0x0A92,0xA2AA,0x8AA3,0xD455,0x056D,0x5555,0x1543,
X	0xE82A,0x0A92,0xAA2A,0x8AA3,0xD455,0x054D,0x5455,0x1541,
X	0xBBBB,0xAAB2,0xABBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon7.h
if test 1933 -ne `wc -c fancy_icon9.h <<'END_OF_fancy_icon9.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDDDD,0xDDDD,0xD777,0x5DDD,
X	0x8020,0x3F84,0x01F0,0x0C13,0xC010,0xFFE8,0x0004,0x0023,
X	0xC011,0xFFF0,0x0CF0,0x0003,0xC003,0xFFF8,0x1CF9,0x0001,
X	0x8007,0xFFFC,0x3CFC,0x8003,0xC00F,0xFFFE,0x3CFC,0x8003,
X	0xC00F,0xFFFF,0x7CFC,0xC003,0xC01F,0xFFFF,0xFCFC,0xC001,
X	0x801F,0xFFFF,0xFCFC,0xC003,0xC01F,0xFFFF,0xFCFC,0xC003,
X	0xC01F,0xFFFF,0xFCFC,0xC003,0xC01F,0xFFFF,0xFCFC,0x8001,
X	0x801F,0xFFFF,0xBCFD,0x8003,0xC01F,0xFFFF,0x1CF3,0x0003,
X	0xC00F,0xFFFE,0x080E,0x0003,0xC00F,0xFFFE,0x07FE,0x0001,
X	0x8007,0xFFFC,0x7FF4,0x0003,0xC01F,0xFFF9,0xFFF0,0x0001,
X	0xC07F,0xFFF3,0xFFF8,0x3E03,0xC1E0,0xFFEF,0xFFF8,0xFF83,
X	0xC3CF,0xBF8F,0xFFFF,0xC0E3,0xC39F,0xD81F,0xFFFF,0xF3F1,
X	0x879F,0xDC3F,0xFFFF,0xF3F3,0xC78F,0xFC3F,0xFFFF,0xF3FB,
X	0x8FC3,0xFE7F,0xFFFF,0xF3FB,0xCFE1,0xFE7F,0xFFFF,0xF3FD,
X	0x8FF8,0x7E7F,0xFFFF,0xF3FF,0xCFFE,0x3E7F,0xFFFF,0xF3FF,
X	0x8FFF,0x1E7F,0xFFFF,0xF3FF,0xC7BF,0x9C7F,0xFFFF,0xF3FD,
X	0x87BF,0x9C7F,0xFFFF,0xF3FB,0xC39F,0x383F,0xFFFF,0xF3FB,
X	0xC380,0x783F,0xFFFF,0xF3F3,0xC1FF,0xF01F,0xFFFF,0xC0F1,
X	0xC07F,0xC00F,0xFFFB,0xFFE3,0xC01F,0x000F,0xFFF8,0xFF83,
X	0x8000,0x0003,0xFFE0,0x3E03,0xC000,0x0001,0xFFC0,0x0001,
X	0xC000,0x0000,0x7F00,0x0003,0xC004,0x8000,0x0000,0x0001,
X	0x8004,0x0000,0x0000,0x0003,0xC008,0x0000,0x0000,0x0103,
X	0xC008,0x0007,0xC000,0x0103,0xC018,0x001F,0xF000,0x0081,
X	0x8000,0x003F,0xF800,0x0083,0xC000,0x007F,0xFC00,0x0183,
X	0xC000,0x007F,0x7C00,0x3E03,0xC000,0x015C,0x6F00,0x0001,
X	0x8000,0x01AB,0x6F00,0x0003,0xC000,0x01AB,0x6B00,0x0003,
X	0xC000,0x01AB,0x6B00,0x0003,0xC000,0x01AC,0x7400,0x0001,
X	0x8028,0x007F,0xFC00,0x0A03,0xC450,0x007F,0xFC00,0x1503,
X	0xC82A,0x0ABF,0xF882,0x8A03,0xD455,0x0557,0xF045,0x1501,
X	0xA82A,0x0AA7,0xCAAA,0x8AA3,0xD455,0x0565,0x4555,0x1543,
X	0xE82A,0x0A8A,0xAA2A,0x8AA3,0xD455,0x0555,0x5455,0x1541,
X	0xBBBB,0xAABA,0xBBBB,0xBBBB,0xFFFF,0xFFFF,0xFFFF,0xFFFF
END_OF_fancy_icon9.h
if test 1933 -ne `wc -c foe_ground_picture.h <<'END_OF_foe_ground_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0007,0x000F,0x001F,0x003E,0x007C,0x00F8,0x01F0,
X	0x03E0,0x27E0,0x2F92,0x5F14,0x7E0A,0xFFFE,0xFFFE,0xFFFE
END_OF_foe_ground_picture.h
if test 193 -ne `wc -c foe_picture.h <<'END_OF_foe_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xC000,0x6000,0x6000,0x3000,0x3030,0x1860,0x18C0,0x0CC0,
X	0x0783,0x0706,0x0706,0x0F0C,0x0D8C,0x1998,0x30D8,0x0000
END_OF_foe_picture.h
if test 193 -ne `wc -c image_impl.h <<'END_OF_image_impl.h'
X/*	@(#)image_impl.h 1.1 86/02/04 SMI	*/
X
X/***********************************************************************/
X/*	                      image_impl.h			       */
X/*          Copyright (c) 1985 by Sun Microsystems, Inc.               */
X/***********************************************************************/
X
X#ifndef image_impl_DEFINED
X#define image_impl_DEFINED
X
X#include 
X
X#define	TRUE	1
X#define FALSE	0
X#define NULL	0
X
X#define IMAGE_DEFAULT_FONT "/usr/lib/fonts/fixedwidthfonts/screen.b.12"
X
X
X/***********************************************************************/
X/*	        	Structures 				       */
X/***********************************************************************/
X
Xstruct image {
X
X    int			*ops; /* Should be ops vector or unique id */
X    struct pixfont	*font;
X    char 		*string;
X    struct pixrect	*pr;
X    struct pixrect	*left_pr;
X    struct pixrect	*right_pr;
X    int			 left_margin;
X    int			 right_margin;
X    int			 margin;
X	
X/* Flags */
X    unsigned		 boxed:1;
X    unsigned		 inactive:1;
X    unsigned		 invert:1;
X    unsigned		 free_everything:1;	/* Not used */
X    unsigned		 free_image:1;
X    unsigned		 free_font:1;		/* Not used */
X    unsigned		 free_string:1;
X    unsigned		 free_pr:1;
X    unsigned		 free_right_pr:1;	/* Not used */
X
X/* Auxiliary fields */
X    int			 width;
X    int			 height;
X};
X
X
Xstruct pixfont *pw_pfsysopen();
Xstruct pixfont *image_get_font();
X
X
X#define IMAGE_P(i) ((i) && ((struct image *)(i))->ops == 0)
X
X#define image_attr_next(attr) \
X	(Image_attribute *)attr_next((caddr_t *)attr)
X
X#endif ~image_impl_DEFINED
END_OF_image_impl.h
if test 1590 -ne `wc -c incoming_picture.h <<'END_OF_incoming_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0070,0x00F8,0x01C8,0x038C,0x0784,0x0784,0x0F82,
X	0x0F80,0x1F82,0x1280,0x2240,0x2241,0x4220,0x4221,0x8210
END_OF_incoming_picture.h
if test 193 -ne `wc -c instructions.h <<'END_OF_instructions.h'
X"To get started, just click where it says, and try to blow up the\n\
Xmissiles, by 'mouse-clicking' at them, before they get your cities.\n\
XDifferent mouse buttons have different effects.\n\
X\n\
XThe three top 'sliders' show the 'ammo' associated with your three\n\
Xmouse buttons. The two bottom 'sliders' show the missiles-in-flight and\n\
Xmissiles-on-the-ground, respectively.\n\
X\n\
XThe 'Things To Read' button pops up an assortment of reading options,\n\
Xincluding the manual entry.  The different 'options' buttons also pop\n\
Xup subwindows.\n\
X\n\
XThe game is automatically suspended when in a subwindow.  If you want\n\
Xto retain the subwindow while playing, just explicitly 'resume' the game.\n\
X\n\
XTry the 'Things to Read' button for more information."
END_OF_instructions.h
if test 762 -ne `wc -c laser_picture.h <<'END_OF_laser_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0001,0x8002,0x4004,0x2148,0x12B0,0x0F60,0x0FE8,0x07D0,
X	0x0BA8,0x07D0,0x06A0,0x0540,0x0800,0x1000,0x2000,0x4000
END_OF_laser_picture.h
if test 193 -ne `wc -c longfile.nr <<'END_OF_longfile.nr'
X.pl 144i
END_OF_longfile.nr
if test 9 -ne `wc -c lookup.h <<'END_OF_lookup.h'
X/* Each entry is the number of bits set in the
X * corresponding eight bit value.
X */
X
X0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 
X1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 
X1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 
X1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 
X2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 
X3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 
X3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 
X4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 
END_OF_lookup.h
if test 869 -ne `wc -c makehistory.awk <<'END_OF_makehistory.awk'
X#
X# Turn the history text into C code.  Needs special processing
X# for blank lines.
X#
X/^$/	{next;}
X/./
END_OF_makehistory.awk
if test 103 -ne `wc -c makeman.sed <<'END_OF_makeman.sed'
Xs/_//g
END_OF_makeman.sed
echo shar: 1 control character may be missing from \"makeman.sed\"
if test 8 -ne `wc -c makeversion <<'END_OF_makeversion'
X#!/bin/csh -f
X@ x = `awk '{print $5}' $1` + 1
Xecho "char *version = " '"'Version $x of `hostname`"," "`date`"'";' > $1
X
END_OF_makeversion
if test 120 -ne `wc -c novice_advice.h <<'END_OF_novice_advice.h'
X		"    Novice Advice\n\n\
XLeft button targets interceptor missile.\n\
XMiddle button lays down rocks.\n\
XRight button initiates 'pop up' x-ray laser.\n\
XMissiles which move up off the launch screen\n\
X  later reappear moving down on the city screen.\n\
XStop missiles on the launch screen, and with lasers, for more points."
END_OF_novice_advice.h
if test 323 -ne `wc -c occasional_advice.h <<'END_OF_occasional_advice.h'
X		"    Occasional User Advice\n\n\
XAim!\n\
XDon't try to save all your cities.\n\
XNever stop working in the launch screen:\n\
X  scoring is higher, and every shot is worth three on the city screen (MIRVs).\n\
XLasers take longer to get going, but have a longer range.\n\
XFor fast moving missiles, use rocks or interceptors.\n\
XLearn the shift and meta keys."
END_OF_occasional_advice.h
if test 356 -ne `wc -c pie_generic_cursor.h <<'END_OF_pie_generic_cursor.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0080,0x4081,0x2082,0x1084,0x0888,0x0490,0x02A0,0x01C0,
X	0xFFFF,0x01C0,0x02A0,0x0490,0x0888,0x1084,0x2082,0x0080
END_OF_pie_generic_cursor.h
if test 193 -ne `wc -c piemenu.h <<'END_OF_piemenu.h'
X#define menu_set pie_menu_set
X#define menu_item_set pie_menu_item_set 
X#define menu_create pie_menu_create
X#define menu_create_item pie_menu_create_item
X#define menu_destroy pie_menu_destroy
X#define menu_get pie_menu_get
X#define menu_item_get pie_menu_item_get
X#define menu_show_using_fd pie_menu_show_using_fd
X#define menu_show pie_menu_show
END_OF_piemenu.h
if test 343 -ne `wc -c random.c <<'END_OF_random.c'
X/*************************  random.c  ***************************/
X/*
X * NOT Copyright 1987 by Mark Weiser.
X * This routine placed in the public domain. (:-)
X */
X
X/*
X *  returns a normally distributed random number
X */
X
X#define MAXRANDOM (~(1<<31))
X#define COUNT (8)
X#define SD (1000)
Xnormal(mean,sd)
X{
X	long a, b, c, d, e, f;
X	register long sum = 0;
X	long random();
X	register int count=COUNT;
X
X	while (count--) {
X		sum  += random() / (COUNT*SD);
X	}
X
X	return ((sum - (MAXRANDOM/(2*SD)))*sd)/(MAXRANDOM/(COUNT*SD)) + mean;
X}
X
END_OF_random.c
if test 525 -ne `wc -c rock_picture.h <<'END_OF_rock_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0100,0x0380,0x0920,0x1C70,0x0920,0x2380,0x7120,
X	0x2874,0x1D2E,0x0BA4,0x2570,0x7E20,0x2480,0x01C0,0x0080
END_OF_rock_picture.h
if test 193 -ne `wc -c rocks.h <<'END_OF_rocks.h'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
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,0x0000,0x0000,
X	0x0000,0x0004,0x0000,0x0000,0x0000,0x000E,0x0000,0x0000,
X	0x0000,0x0004,0x0000,0x0000,0x0000,0x0000,0x0400,0x0000,
X	0x0000,0x0000,0x0E00,0x0000,0x0000,0x2000,0x0401,0x0000,
X	0x0000,0x7020,0x0003,0x8000,0x0000,0x2070,0x0001,0x0000,
X	0x0000,0x8020,0x0000,0x0000,0x0001,0xC000,0x0020,0x0000,
X	0x0000,0x8000,0x8070,0x0000,0x0000,0x0001,0xC020,0x0000,
X	0x0010,0x0200,0x8000,0x0000,0x0038,0x0700,0x0000,0x0000,
X	0x0010,0x0210,0x0800,0x2000,0x0000,0x0038,0x1C00,0x7000,
X	0x0000,0x0010,0x0800,0x2000,0x0000,0x2000,0x0008,0x0000,
X	0x0000,0x7000,0x001C,0x0000,0x0000,0x2010,0x0208,0x0000,
X	0x0000,0x0039,0x0700,0x0000,0x0000,0x0013,0x8201,0x0000,
X	0x0004,0x0001,0x0003,0x8000,0x000E,0x2080,0x0001,0x0000,
X	0x0004,0x71C0,0x0820,0x0000,0x0000,0x2080,0x1C70,0x0000,
X	0x0000,0x0000,0x0820,0x0000,0x0002,0x0010,0x0004,0x0000,
X	0x0007,0x0038,0x000E,0x0000,0x0002,0x0010,0x0004,0x0000,
X	0x0000,0x0800,0x0800,0x0000,0x0000,0x1C00,0x1C00,0x0000,
X	0x0000,0x0800,0x0800,0x0000,0x0000,0x0004,0x0000,0x0000,
X	0x0000,0x000E,0x0020,0x0000,0x0000,0x0004,0x0070,0x0000,
X	0x0000,0x0100,0x0020,0x0000,0x0000,0x0380,0x1000,0x0000,
X	0x0000,0x0100,0x3800,0x0000,0x0000,0x0000,0x1000,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,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,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,0x0000,0x0000
END_OF_rocks.h
if test 1933 -ne `wc -c silly_picture.h <<'END_OF_silly_picture.h'
X/* Format_version=1, Width=16, Height=16, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0x8201,0x8201,0x8701,0x8201,0xFFFF,0x8A81,0x8A81,
X	0x8A81,0x8201,0x8201,0x8201,0x8201,0x8201,0x8201,0xFFFF
END_OF_silly_picture.h
if test 193 -ne `wc -c source_converter.c <<'END_OF_source_converter.c'
X/*
X * Copyright 1987 by Mark Weiser.
X * Permission to reproduce and use in any manner whatsoever on Suns is granted
X * so long as this copyright and other identifying marks of authorship
X * in the code and the game remain intact and visible.  Use of this code
X * in other products is reserved to me--I'm working on Mac and IBM versions.
X */
X
X/*
X * Little hack to help generate assembler for the source code option.
X */
X
X#include 
X#include 
X
X#define OUTSIZE 64
X#define MaxSizeOfAnOctalRepresentation 5
X
Xchar buff[OUTSIZE * MaxSizeOfAnOctalRepresentation];
X
Xmain(argc, argv)
Xchar **argv;
X{
X	char *p, c;
X	int i;
X	if (argc < 2) {
X		fprintf(stderr, "Need an argument.\n");
X		exit(1);
X	}
X	printf(" .even\n__start_of_text:\n");
X	while (! feof(stdin)) {
X		p = buff;
X		for (i = 0; i < OUTSIZE; i += 1) {
X			if ((c = getchar()) != EOF) {
X				if (isalnum(c)  || c == ' ' || c == '*' || c == '/'
X					|| c == '#' || c == '<' || c == '>' || c == '.'
X					|| c == '_' || c == '[' || c == ']' || c == '(' 
X					|| c == ')' || c == '{' || c == '}'
X					) {
X					*p++ = c;
X				} else {
X					*p++ = '\\';
X					sprintf(p, "%o", (unsigned int)c);
X					i += strlen(p);
X					p += strlen(p);
X				}
X			} else {
X				goto done;
X			}
X		}
Xdone:
X		*p = '\0';
X		printf(" .ascii \"%s\"\n", buff);
X	}
X	printf(" .ascii \"\\0\"\n",'\\');
X	printf(" .even\n");
X	printf(" .globl _%s\n", argv[1]);
X	printf("_%s:\n", argv[1]);
X	printf(" .long __start_of_text\n");
X}
END_OF_source_converter.c
if test 1445 -ne `wc -c version.c <<'END_OF_version.c'
Xchar *version =  "Version 189 of ballast, Thu May  7 00:04:37 EDT 1987";
END_OF_version.c
if test 73 -ne `wc -c