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 WeiserComp.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