1*38821839Sdholland /* $NetBSD: globals.c,v 1.16 2010/08/06 09:14:40 dholland Exp $ */ 2982615d7Scgd 361f28255Scgd /* 4982615d7Scgd * Copyright (c) 1983, 1993 5982615d7Scgd * The Regents of the University of California. All rights reserved. 661f28255Scgd * 761f28255Scgd * Redistribution and use in source and binary forms, with or without 861f28255Scgd * modification, are permitted provided that the following conditions 961f28255Scgd * are met: 1061f28255Scgd * 1. Redistributions of source code must retain the above copyright 1161f28255Scgd * notice, this list of conditions and the following disclaimer. 1261f28255Scgd * 2. Redistributions in binary form must reproduce the above copyright 1361f28255Scgd * notice, this list of conditions and the following disclaimer in the 1461f28255Scgd * documentation and/or other materials provided with the distribution. 15e5aeb4eaSagc * 3. Neither the name of the University nor the names of its contributors 1661f28255Scgd * may be used to endorse or promote products derived from this software 1761f28255Scgd * without specific prior written permission. 1861f28255Scgd * 1961f28255Scgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2061f28255Scgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2161f28255Scgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2261f28255Scgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2361f28255Scgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2461f28255Scgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2561f28255Scgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2661f28255Scgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2761f28255Scgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2861f28255Scgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2961f28255Scgd * SUCH DAMAGE. 3061f28255Scgd */ 3161f28255Scgd 32bf72b656Schristos #include <sys/cdefs.h> 3361f28255Scgd #ifndef lint 34982615d7Scgd #if 0 35156daa7aStls static char sccsid[] = "@(#)globals.c 8.2 (Berkeley) 4/28/95"; 36982615d7Scgd #else 37*38821839Sdholland __RCSID("$NetBSD: globals.c,v 1.16 2010/08/06 09:14:40 dholland Exp $"); 38982615d7Scgd #endif 3961f28255Scgd #endif /* not lint */ 4061f28255Scgd 4161a39e0bSjwise #include <sys/types.h> 4261a39e0bSjwise #include <setjmp.h> 43156daa7aStls #include "extern.h" 4461f28255Scgd 45da121b33Sdholland static struct shipspecs specs[]; 46da121b33Sdholland 47*38821839Sdholland struct scenario scene[NSCENE] = { 4861f28255Scgd /* 4961f28255Scgd * int winddir; 5061f28255Scgd * int windspeed; 5161f28255Scgd * int windchange; 5261f28255Scgd * int vessels; 5361f28255Scgd * char *name; 5461f28255Scgd * struct ship ship[NSHIP]; 5561f28255Scgd */ 56bf72b656Schristos { 5, 3, 5, 2, "Ranger vs. Drake", 5761f28255Scgd { 5861f28255Scgd { "Ranger", specs+0, N_A, 7, 20, 4, 0 }, 5961f28255Scgd { "Drake", specs+1, N_B, 7, 31, 5, 0 } 60bf72b656Schristos } 6161f28255Scgd }, 62bf72b656Schristos { 1, 3, 6, 2, "The Battle of Flamborough Head", 6361f28255Scgd { 6461f28255Scgd { "Bonhomme Rich", specs+2, N_A, 13, 40, 2, 0 }, 6561f28255Scgd { "Serapis", specs+3, N_B, 2, 42, 2, 0 } 66bf72b656Schristos } 6761f28255Scgd }, 68bf72b656Schristos { 5, 5, 5, 10, "Arbuthnot and Des Touches", 6961f28255Scgd { 7061f28255Scgd { "America", specs+4, N_B, 7, 37, 4, 0 }, 7161f28255Scgd { "Befford", specs+5, N_B, 5, 35, 4, 0 }, 7261f28255Scgd { "Adamant", specs+6, N_B, 3, 33, 4, 0 }, 7361f28255Scgd { "London", specs+7, N_B, 1, 31, 4, 0 }, 7461f28255Scgd { "Royal Oak", specs+8, N_B, -1, 29, 4, 0 }, 7561f28255Scgd { "Neptune", specs+9, N_F, 6, 44, 4, 0 }, 7661f28255Scgd { "Duc Bougogne", specs+10, N_F, 8, 46, 4, 0 }, 7761f28255Scgd { "Conquerant", specs+48, N_F, 10, 48, 4, 0 }, 7861f28255Scgd { "Provence", specs+11, N_F, 12, 50, 4, 0 }, 7961f28255Scgd { "Romulus", specs+12, N_F, 20, 58, 4, 0 } 80bf72b656Schristos } 8161f28255Scgd }, 82bf72b656Schristos { 1, 3, 5, 10, "Suffren and Hughes", 8361f28255Scgd { 8461f28255Scgd { "Monmouth", specs+52, N_B, 9, 45, 2, 0 }, 8561f28255Scgd { "Hero", specs+5, N_B, 13, 49, 2, 0 }, 8661f28255Scgd { "Isis", specs+6, N_B, 12, 48, 2, 0 }, 8761f28255Scgd { "Superb", specs+50, N_B, 10, 46, 2, 0 }, 8861f28255Scgd { "Burford", specs+48, N_B, 11, 47, 2, 0 }, 8961f28255Scgd { "Flamband", specs+13, N_F, 7, 59, 4, 0 }, 9061f28255Scgd { "Annibal", specs+9, N_F, 4, 56, 4, 0 }, 9161f28255Scgd { "Severe", specs+11, N_F, 2, 54, 4, 0 }, 9261f28255Scgd { "Brilliant", specs+49, N_F, -1, 51, 4, 0 }, 9361f28255Scgd { "Sphinx", specs+51, N_F, -5, 47, 4, 0 } 94bf72b656Schristos } 9561f28255Scgd }, 96bf72b656Schristos { 1, 3, 4, 2, "Nymphe vs. Cleopatre", 9761f28255Scgd { 9861f28255Scgd { "Nymphe", specs+14, N_B, 13, 30, 2, 0 }, 9961f28255Scgd { "Cleopatre", specs+15, N_F, 3, 41, 2, 0 } 100bf72b656Schristos } 10161f28255Scgd }, 102bf72b656Schristos { 1, 3, 5, 2, "Mars vs. Hercule", 10361f28255Scgd { 10461f28255Scgd { "Mars", specs+16, N_B, 13, 30, 2, 0 }, 10561f28255Scgd { "Hercule", specs+17, N_F, 3, 41, 2, 0 } 106bf72b656Schristos } 10761f28255Scgd }, 108bf72b656Schristos { 5, 3, 5, 2, "Ambuscade vs. Baionnaise", 10961f28255Scgd { 11061f28255Scgd { "Ambuscade", specs+18, N_B, 13, 30, 2, 0 }, 11161f28255Scgd { "Baionnaise", specs+19, N_F, 3, 41, 2, 0 } 112bf72b656Schristos } 11361f28255Scgd }, 114bf72b656Schristos { 1, 5, 6, 2, "Constellation vs. Insurgent", 11561f28255Scgd { 11661f28255Scgd { "Constellation", specs+20, N_A, 9, 50, 8, 0 }, 11761f28255Scgd { "Insurgent", specs+22, N_F, 4, 24, 2, 0 } 118bf72b656Schristos } 11961f28255Scgd }, 120bf72b656Schristos { 1, 3, 5, 2, "Constellation vs. Vengeance", 12161f28255Scgd { 12261f28255Scgd { "Constellation", specs+20, N_A, 12, 40, 2, 0 }, 12361f28255Scgd { "Vengeance", specs+21, N_F, 1, 43, 2, 0 } 124bf72b656Schristos } 12561f28255Scgd }, 126bf72b656Schristos { 1, 3, 6, 10, "The Battle of Lissa", 12761f28255Scgd { 12861f28255Scgd { "Amphion", specs+23, N_B, 8, 50, 4, 0 }, 12961f28255Scgd { "Active", specs+24, N_B, 6, 48, 4, 0 }, 13061f28255Scgd { "Volage", specs+25, N_B, 4, 46, 4, 0 }, 13161f28255Scgd { "Cerberus", specs+26, N_B, 2, 44, 4, 0 }, 13261f28255Scgd { "Favorite", specs+27, N_F, 9, 34, 2, 0 }, 13361f28255Scgd { "Flore", specs+21, N_F, 13, 39, 2, 0 }, 13461f28255Scgd { "Danae", specs+64, N_F, 15, 37, 2, 0 }, 13561f28255Scgd { "Bellona", specs+28, N_F, 17, 35, 2, 0 }, 13661f28255Scgd { "Corona", specs+29, N_F, 12, 31, 2, 0 }, 13761f28255Scgd { "Carolina", specs+30, N_F, 15, 28, 2, 0 } 138bf72b656Schristos } 13961f28255Scgd }, 140bf72b656Schristos { 2, 5, 6, 2, "Constitution vs. Guerriere", 14161f28255Scgd { 14261f28255Scgd { "Constitution", specs+31, N_A, 7, 35, 1, 0 }, 14361f28255Scgd { "Guerriere", specs+32, N_B, 7, 47, 4, 0 } 144bf72b656Schristos } 14561f28255Scgd }, 146bf72b656Schristos { 1, 3, 5, 2, "United States vs. Macedonian", 14761f28255Scgd { 14861f28255Scgd { "United States", specs+33, N_A, 1, 52, 6, 0 }, 14961f28255Scgd { "Macedonian", specs+34, N_B, 14, 40, 1, 0 } 150bf72b656Schristos } 15161f28255Scgd }, 152bf72b656Schristos { 1, 3, 6, 2, "Constitution vs. Java", 15361f28255Scgd { 15461f28255Scgd { "Constitution", specs+31, N_A, 1, 40, 2, 0 }, 15561f28255Scgd { "Java", specs+35, N_B, 11, 40, 2, 0 } 156bf72b656Schristos } 15761f28255Scgd }, 158bf72b656Schristos { 1, 3, 5, 2, "Chesapeake vs. Shannon", 15961f28255Scgd { 16061f28255Scgd { "Chesapeake", specs+36, N_A, 13, 40, 2, 0 }, 16161f28255Scgd { "Shannon", specs+37, N_B, 1, 42, 2, 0 } 162bf72b656Schristos } 16361f28255Scgd }, 164bf72b656Schristos { 1, 1, 6, 5, "The Battle of Lake Erie", 16561f28255Scgd { 16661f28255Scgd { "Lawrence", specs+38, N_A, 4, 55, 8, 0 }, 16761f28255Scgd { "Niagara", specs+42, N_A, 7, 61, 8, 0 }, 16861f28255Scgd { "Lady Prevost", specs+39, N_B, 4, 25, 2, 0 }, 16961f28255Scgd { "Detroit", specs+40, N_B, 7, 22, 2, 0 }, 17061f28255Scgd { "Q. Charlotte", specs+41, N_B, 10, 19, 2, 0 } 171bf72b656Schristos } 17261f28255Scgd }, 173bf72b656Schristos { 1, 1, 5, 2, "Wasp vs. Reindeer", 17461f28255Scgd { 17561f28255Scgd { "Wasp", specs+42, N_A, 3, 41, 2, 0 }, 17661f28255Scgd { "Reindeer", specs+43, N_B, 10, 48, 2, 0 } 177bf72b656Schristos } 17861f28255Scgd }, 179bf72b656Schristos { 1, 2, 5, 3, "Constitution vs. Cyane and Levant", 18061f28255Scgd { 18161f28255Scgd { "Constitution", specs+31, N_A, 10, 45, 2, 0 }, 18261f28255Scgd { "Cyane", specs+44, N_B, 3, 37, 2, 0 }, 18361f28255Scgd { "Levant", specs+45, N_B, 5, 35, 2, 0 } 184bf72b656Schristos } 18561f28255Scgd }, 186bf72b656Schristos { 5, 5, 5, 3, "Pellew vs. Droits de L'Homme", 18761f28255Scgd { 18861f28255Scgd { "Indefatigable", specs+46, N_B, 12, 45, 6, 0 }, 18961f28255Scgd { "Amazon", specs+47, N_B, 9, 48, 6, 0 }, 19061f28255Scgd { "Droits L'Hom", specs+48, N_F, 3, 28, 5, 0 } 191bf72b656Schristos } 19261f28255Scgd }, 193bf72b656Schristos { 2, 2, 3, 10, "Algeciras", 19461f28255Scgd { 19561f28255Scgd { "Caesar", specs+49, N_B, 7, 70, 6, 0 }, 19661f28255Scgd { "Pompee", specs+50, N_B, 5, 72, 6, 0 }, 19761f28255Scgd { "Spencer", specs+5, N_B, 3, 74, 6, 0 }, 19861f28255Scgd { "Hannibal", specs+7, N_B, 1, 76, 6, 0 }, 19961f28255Scgd { "Real-Carlos", specs+53, N_S, 9, 20, 3, 0 }, 20061f28255Scgd { "San Fernando", specs+54, N_S, 11, 16, 3, 0 }, 20161f28255Scgd { "Argonauta", specs+55, N_S, 10, 14, 4, 0 }, 20261f28255Scgd { "San Augustine", specs+56, N_S, 6, 22, 4, 0 }, 20361f28255Scgd { "Indomptable", specs+51, N_F, 7, 23, 5, 0 }, 20461f28255Scgd { "Desaix", specs+52, N_F, 7, 27, 7, 0 } 205bf72b656Schristos } 20661f28255Scgd }, 207bf72b656Schristos { 5, 3, 6, 7, "Lake Champlain", 20861f28255Scgd { 20961f28255Scgd { "Saratoga", specs+60, N_A, 8, 10, 1, 0 }, 21061f28255Scgd { "Eagle", specs+61, N_A, 9, 13, 2, 0 }, 21161f28255Scgd { "Ticonderoga", specs+62, N_A, 12, 17, 3, 0 }, 21261f28255Scgd { "Preble", specs+63, N_A, 14, 20, 2, 0 }, 21361f28255Scgd { "Confiance", specs+57, N_B, 4, 70, 6, 0 }, 21461f28255Scgd { "Linnet", specs+58, N_B, 7, 68, 6, 0 }, 21561f28255Scgd { "Chubb", specs+59, N_B, 10, 65, 6, 0 } 216bf72b656Schristos } 21761f28255Scgd }, 218bf72b656Schristos { 5, 3, 6, 4, "Last Voyage of the USS President", 21961f28255Scgd { 22061f28255Scgd { "President", specs+67, N_A, 12, 42, 5, 0 }, 22161f28255Scgd { "Endymion", specs+64, N_B, 5, 42, 5, 0 }, 22261f28255Scgd { "Pomone", specs+65, N_B, 7, 82, 6, 0 }, 22361f28255Scgd { "Tenedos", specs+66, N_B, 7, -1, 4, 0 } 224bf72b656Schristos } 22561f28255Scgd }, 226bf72b656Schristos { 7, 5, 5, 2, "Hornblower and the Natividad", 22761f28255Scgd { 22861f28255Scgd { "Lydia", specs+68, N_B, 12, 40, 2, 0 }, 22961f28255Scgd { "Natividad", specs+69, N_S, 2, 40, 4, 0 } 230bf72b656Schristos } 23161f28255Scgd }, 232bf72b656Schristos { 1, 3, 6, 2, "Curse of the Flying Dutchman", 23361f28255Scgd { 23461f28255Scgd { "Piece of Cake", specs+19, N_S, 7, 40, 2, 0 }, 23561f28255Scgd { "Flying Dutchy", specs+71, N_F, 7, 41, 1, 0 } 236bf72b656Schristos } 23761f28255Scgd }, 238bf72b656Schristos { 1, 4, 1, 4, "The South Pacific", 23961f28255Scgd { 24061f28255Scgd { "USS Scurvy", specs+70, N_A, 7, 40, 1, 0 }, 24161f28255Scgd { "HMS Tahiti", specs+71, N_B, 12, 60, 1, 0 }, 24261f28255Scgd { "Australian", specs+18, N_S, 5, 20, 8, 0 }, 24361f28255Scgd { "Bikini Atoll", specs+63, N_F, 2, 60, 4, 0 } 244bf72b656Schristos } 24561f28255Scgd }, 246bf72b656Schristos { 7, 3, 6, 5, "Hornblower and the battle of Rosas bay", 24761f28255Scgd { 24861f28255Scgd { "Sutherland", specs+5, N_B, 13, 30, 2, 0 }, 24961f28255Scgd { "Turenne", specs+10, N_F, 9, 35, 6, 0 }, 25061f28255Scgd { "Nightmare", specs+9, N_F, 7, 37, 6, 0 }, 25161f28255Scgd { "Paris", specs+53, N_F, 3, 45, 4, 0 }, 252862f7b5fSglass { "Napoleon", specs+56, N_F, 1, 40, 6, 0 } 253bf72b656Schristos } 25461f28255Scgd }, 255bf72b656Schristos { 6, 4, 7, 5, "Cape Horn", 25661f28255Scgd { 25761f28255Scgd { "Concord", specs+51, N_A, 3, 20, 4, 0 }, 25861f28255Scgd { "Berkeley", specs+7, N_A, 5, 50, 5, 0 }, 25961f28255Scgd { "Thames", specs+71, N_B, 10, 40, 1, 0 }, 26061f28255Scgd { "Madrid", specs+53, N_S, 13, 60, 8, 0 }, 26161f28255Scgd { "Musket", specs+10, N_F, 10, 60, 7, 0 } 262bf72b656Schristos } 26361f28255Scgd }, 264bf72b656Schristos { 8, 3, 7, 3, "New Orleans", 26561f28255Scgd { 26661f28255Scgd { "Alligator", specs+71, N_A, 13, 5, 1, 0 }, 26761f28255Scgd { "Firefly", specs+50, N_B, 10, 20, 8, 0 }, 26861f28255Scgd { "Cypress", specs+46, N_B, 5, 10, 6, 0 } 269bf72b656Schristos } 27061f28255Scgd }, 271bf72b656Schristos { 5, 3, 7, 3, "Botany Bay", 27261f28255Scgd { 27361f28255Scgd { "Shark", specs+11, N_B, 6, 15, 4, 0 }, 27461f28255Scgd { "Coral Snake", specs+31, N_F, 3, 30, 6, 0 }, 27561f28255Scgd { "Sea Lion", specs+33, N_F, 13, 50, 8, 0 } 276bf72b656Schristos } 27761f28255Scgd }, 278bf72b656Schristos { 4, 3, 6, 4, "Voyage to the Bottom of the Sea", 27961f28255Scgd { 28061f28255Scgd { "Seaview", specs+71, N_A, 6, 3, 3, 0 }, 28161f28255Scgd { "Flying Sub", specs+64, N_A, 8, 3, 3, 0 }, 28261f28255Scgd { "Mermaid", specs+70, N_B, 2, 5, 5, 0 }, 28361f28255Scgd { "Giant Squid", specs+53, N_S, 10, 30, 8, 0 } 284bf72b656Schristos } 28561f28255Scgd }, 286bf72b656Schristos { 7, 3, 6, 3, "Frigate Action", 28761f28255Scgd { 28861f28255Scgd { "Killdeer", specs+21, N_A, 7, 20, 8, 0 }, 28961f28255Scgd { "Sandpiper", specs+27, N_B, 5, 40, 8, 0 }, 29061f28255Scgd { "Curlew", specs+34, N_S, 10, 60, 8, 0 } 291bf72b656Schristos } 29261f28255Scgd }, 293bf72b656Schristos { 7, 2, 5, 6, "The Battle of Midway", 29461f28255Scgd { 29561f28255Scgd { "Enterprise", specs+49, N_A, 10, 70, 8, 0 }, 29661f28255Scgd { "Yorktown", specs+51, N_A, 3, 70, 7, 0 }, 29761f28255Scgd { "Hornet", specs+52, N_A, 6, 70, 7, 0 }, 29861f28255Scgd { "Akagi", specs+53, N_J, 6, 10, 4, 0 }, 29961f28255Scgd { "Kaga", specs+54, N_J, 4, 12, 4, 0 }, 30061f28255Scgd { "Soryu", specs+55, N_J, 2, 14, 4, 0 } 301bf72b656Schristos } 30261f28255Scgd }, 303bf72b656Schristos { 1, 3, 4, 8, "Star Trek", 30461f28255Scgd { 30561f28255Scgd { "Enterprise", specs+76, N_D,-10, 60, 7, 0 }, 30661f28255Scgd { "Yorktown", specs+77, N_D, 0, 70, 7, 0 }, 30761f28255Scgd { "Reliant", specs+78, N_D, 10, 70, 7, 0 }, 30861f28255Scgd { "Galileo", specs+79, N_D, 20, 60, 7, 0 }, 30961f28255Scgd { "Kobayashi Maru", specs+80, N_K, 0,120, 7, 0 }, 31061f28255Scgd { "Klingon II", specs+81, N_K, 10,120, 7, 0 }, 31161f28255Scgd { "Red Orion", specs+82, N_O, 0, 0, 3, 0 }, 31261f28255Scgd { "Blue Orion", specs+83, N_O, 10, 0, 3, 0 } 31361f28255Scgd } 314bf72b656Schristos } 31561f28255Scgd }; 31661f28255Scgd int nscene = sizeof scene / sizeof (struct scenario); 31761f28255Scgd 318da121b33Sdholland static struct shipspecs specs[] = { 31961f28255Scgd /* bs fs ta guns hull crew1 crew3 gunR carR rig2 rig4 pts */ 32061f28255Scgd /* class qual crew2 gunL carL rig1 rig3 */ 321bf72b656Schristos /*00*/{ 4, 7, 3, 19, 5, 5, 4, 2, 2, 2, 2, 2, 0, 0, 4, 4, 4, 4, 7 }, 322bf72b656Schristos /*01*/{ 4, 7, 3, 17, 5, 5, 4, 2, 2, 2, 0, 0, 4, 4, 3, 3, 3, 3, 6 }, 323bf72b656Schristos /*02*/{ 3, 5, 2, 42, 4, 7, 4, 2, 2, 2, 2, 2, 0, 0, 5, 5, 5, -1, 11 }, 324bf72b656Schristos /*03*/{ 4, 6, 3, 44, 3, 7, 4, 2, 2, 2, 3, 3, 0, 0, 5, 5, 5, 5, 12 }, 325bf72b656Schristos /*04*/{ 3, 5, 2, 64, 2, 17, 4, 8, 6, 6, 12, 12, 2, 2, 7, 7, 7, -1, 20 }, 326bf72b656Schristos /*05*/{ 3, 5, 2, 74, 2, 20, 4, 8, 8, 8, 16, 16, 2, 2, 7, 7, 7, -1, 26 }, 327bf72b656Schristos /*06*/{ 3, 5, 2, 50, 2, 12, 4, 6, 4, 4, 8, 8, 2, 2, 6, 6, 6, -1, 17 }, 328bf72b656Schristos /*07*/{ 3, 5, 1, 98, 1, 23, 4, 10, 10, 10, 18, 18, 2, 2, 8, 8, 8, -1, 28 }, 329bf72b656Schristos /*08*/{ 3, 5, 2, 74, 2, 20, 4, 8, 8, 8, 16, 16, 2, 2, 7, 7, 7, -1, 26 }, 330bf72b656Schristos /*09*/{ 3, 5, 2, 74, 2, 21, 3, 10, 10, 8, 20, 20, 0, 0, 7, 7, 7, -1, 24 }, 331bf72b656Schristos /*10*/{ 3, 5, 1, 80, 1, 23, 3, 12, 12, 10, 22, 22, 0, 0, 7, 7, 7, -1, 27 }, 332bf72b656Schristos /*11*/{ 3, 5, 2, 64, 2, 18, 3, 8, 8, 6, 12, 12, 0, 0, 7, 7, 7, -1, 18 }, 333bf72b656Schristos /*12*/{ 3, 5, 2, 44, 2, 11, 3, 4, 4, 4, 6, 6, 2, 2, 5, 5, 5, -1, 10 }, 334bf72b656Schristos /*13*/{ 3, 5, 2, 50, 2, 14, 3, 6, 6, 4, 8, 8, 0, 0, 6, 6, 6, -1, 14 }, 335bf72b656Schristos /*14*/{ 4, 6, 3, 36, 3, 11, 4, 4, 4, 2, 4, 4, 2, 2, 5, 5, 5, 5, 11 }, 336bf72b656Schristos /*15*/{ 4, 6, 3, 36, 3, 11, 3, 4, 4, 4, 4, 4, 2, 2, 5, 5, 5, 5, 10 }, 337bf72b656Schristos /*16*/{ 3, 5, 2, 74, 2, 21, 4, 10, 8, 8, 18, 18, 2, 2, 7, 7, 7, -1, 26 }, 338bf72b656Schristos /*17*/{ 3, 5, 2, 74, 2, 21, 3, 10, 10, 8, 20, 20, 2, 2, 7, 7, 7, -1, 23 }, 339bf72b656Schristos /*18*/{ 4, 6, 3, 32, 3, 8, 3, 4, 2, 2, 4, 4, 2, 2, 5, 5, 5, 5, 9 }, 340bf72b656Schristos /*19*/{ 4, 6, 3, 24, 4, 6, 3, 4, 4, 4, 2, 2, 0, 0, 4, 4, 4, 4, 9 }, 341bf72b656Schristos /*20*/{ 4, 7, 3, 38, 4, 14, 5, 6, 4, 4, 4, 4, 6, 6, 5, 5, 5, 5, 17 }, 342bf72b656Schristos /*21*/{ 4, 6, 3, 40, 3, 15, 3, 8, 6, 6, 6, 6, 4, 4, 5, 5, 5, 5, 15 }, 343bf72b656Schristos /*22*/{ 4, 7, 3, 36, 4, 11, 3, 6, 6, 4, 4, 4, 2, 2, 5, 5, 5, 5, 11 }, 344bf72b656Schristos /*23*/{ 4, 6, 3, 32, 3, 11, 5, 4, 4, 2, 4, 4, 2, 2, 5, 5, 5, 5, 13 }, 345bf72b656Schristos /*24*/{ 4, 6, 3, 38, 3, 14, 5, 4, 4, 4, 6, 6, 4, 4, 5, 5, 5, 5, 18 }, 346bf72b656Schristos /*25*/{ 4, 6, 3, 22, 3, 6, 5, 2, 2, 2, 0, 0, 8, 8, 4, 4, 4, 4, 11 }, 347bf72b656Schristos /*26*/{ 4, 6, 3, 32, 3, 11, 5, 4, 4, 2, 4, 4, 2, 2, 5, 5, 5, 5, 13 }, 348bf72b656Schristos /*27*/{ 4, 6, 3, 40, 3, 14, 3, 6, 6, 4, 6, 6, 4, 4, 5, 5, 5, 5, 15 }, 349bf72b656Schristos /*28*/{ 4, 6, 3, 32, 3, 11, 2, 4, 4, 4, 4, 4, 0, 0, 5, 5, 5, 5, 9 }, 350bf72b656Schristos /*29*/{ 4, 6, 3, 40, 3, 14, 2, 6, 6, 4, 6, 6, 4, 4, 5, 5, 5, 5, 12 }, 351bf72b656Schristos /*30*/{ 4, 6, 3, 32, 3, 8, 2, 4, 4, 1, 2, 2, 0, 0, 4, 4, 4, 4, 7 }, 352bf72b656Schristos /*31*/{ 4, 7, 3, 44, 4, 18, 5, 6, 6, 6, 8, 8, 6, 6, 6, 6, 6, 6, 24 }, 353bf72b656Schristos /*32*/{ 4, 6, 3, 38, 3, 14, 4, 4, 4, 2, 6, 6, 4, 4, 5, 5, 5, 5, 15 }, 354bf72b656Schristos /*33*/{ 4, 5, 3, 44, 3, 18, 5, 8, 6, 6, 8, 8, 8, 8, 6, 6, 6, 6, 24 }, 355bf72b656Schristos /*34*/{ 4, 6, 3, 38, 3, 14, 4, 4, 4, 4, 6, 6, 4, 4, 5, 5, 5, 5, 16 }, 356bf72b656Schristos /*35*/{ 4, 7, 3, 38, 4, 14, 4, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 19 }, 357bf72b656Schristos /*36*/{ 4, 6, 3, 38, 3, 14, 3, 6, 6, 4, 6, 6, 6, 6, 5, 5, 5, 5, 14 }, 358bf72b656Schristos /*37*/{ 4, 6, 3, 38, 3, 14, 5, 6, 4, 4, 6, 6, 6, 6, 5, 5, 5, 5, 17 }, 359bf72b656Schristos /*38*/{ 4, 7, 3, 20, 5, 6, 4, 4, 2, 2, 0, 0, 6, 6, 4, 4, 4, 4, 9 }, 360bf72b656Schristos /*39*/{ 4, 7, 3, 13, 6, 3, 4, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 5 }, 361bf72b656Schristos /*40*/{ 4, 7, 3, 19, 5, 5, 4, 2, 2, 2, 2, 2, 0, 0, 4, 4, 4, 4, 7 }, 362bf72b656Schristos /*41*/{ 4, 7, 3, 17, 5, 5, 4, 2, 2, 2, 2, 2, 0, 0, 3, 3, 3, 3, 6 }, 363bf72b656Schristos /*42*/{ 4, 7, 3, 20, 5, 6, 5, 4, 2, 2, 0, 0, 6, 6, 4, 4, 4, 4, 12 }, 364bf72b656Schristos /*43*/{ 4, 7, 3, 18, 5, 5, 5, 2, 2, 2, 0, 0, 6, 6, 4, 4, 4, 4, 9 }, 365bf72b656Schristos /*44*/{ 4, 7, 3, 24, 5, 6, 4, 4, 2, 2, 0, 0,10,10, 4, 4, 4, 4, 11 }, 366bf72b656Schristos /*45*/{ 4, 7, 3, 20, 5, 6, 4, 2, 2, 2, 0, 0, 8, 8, 4, 4, 4, 4, 10 }, 367bf72b656Schristos /*46*/{ 4, 6, 3, 44, 3, 11, 5, 4, 4, 4, 4, 4, 2, 2, 5, 5, 5, 5, 14 }, 368bf72b656Schristos /*47*/{ 4, 6, 3, 36, 3, 12, 4, 4, 4, 4, 6, 6, 2, 2, 5, 5, 5, 5, 14 }, 369bf72b656Schristos /*48*/{ 3, 5, 2, 74, 2, 21, 3, 10, 8, 8, 20, 20, 2, 2, 4, 4, 7, -1, 24 }, 370bf72b656Schristos /*49*/{ 3, 5, 2, 80, 2, 24, 4, 10, 8, 8, 20, 20, 2, 2, 8, 8, 8, -1, 31 }, 371bf72b656Schristos /*50*/{ 3, 5, 2, 74, 2, 21, 4, 8, 8, 6, 16, 16, 4, 4, 7, 7, 7, -1, 27 }, 372bf72b656Schristos /*51*/{ 3, 5, 2, 80, 2, 24, 3, 12, 12, 10, 22, 22, 2, 2, 7, 7, 7, -1, 27 }, 373bf72b656Schristos /*52*/{ 3, 5, 2, 74, 2, 21, 3, 10, 10, 8, 20, 20, 2, 2, 7, 7, 7, -1, 24 }, 374bf72b656Schristos /*53*/{ 3, 5, 1, 112, 1, 27, 2, 12, 12, 12, 24, 24, 0, 0, 9, 9, 9, -1, 27 }, 375bf72b656Schristos /*54*/{ 3, 5, 1, 96, 1, 24, 2, 12, 12, 10, 20, 20, 0, 0, 8, 8, 8, -1, 24 }, 376bf72b656Schristos /*55*/{ 3, 5, 2, 80, 2, 23, 2, 10, 10, 8, 20, 20, 0, 0, 7, 7, 7, -1, 23 }, 377bf72b656Schristos /*56*/{ 3, 5, 2, 74, 2, 21, 2, 10, 8, 8, 16, 16, 4, 4, 7, 7, 7, -1, 20 }, 378bf72b656Schristos /*57*/{ 4, 6, 3, 37, 3, 12, 4, 4, 4, 2, 6, 6, 4, 4, 5, 5, 5, 5, 14 }, 379bf72b656Schristos /*58*/{ 4, 7, 3, 16, 5, 5, 5, 2, 2, 2, 0, 0, 4, 4, 4, 4, 4, 4, 10 }, 380bf72b656Schristos /*59*/{ 4, 7, 3, 11, 6, 3, 4, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 5 }, 381bf72b656Schristos /*60*/{ 4, 7, 3, 26, 5, 6, 4, 4, 2, 2, 2, 2, 6, 6, 4, 4, 4, 4, 12 }, 382bf72b656Schristos /*61*/{ 4, 7, 3, 20, 5, 6, 4, 4, 2, 2, 0, 0, 6, 6, 4, 4, 4, 4, 11 }, 383bf72b656Schristos /*62*/{ 4, 7, 3, 17, 5, 5, 4, 2, 2, 2, 0, 0, 6, 6, 4, 4, 4, 4, 9 }, 384bf72b656Schristos /*63*/{ 4, 7, 3, 7, 6, 3, 4, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 4 }, 385bf72b656Schristos /*64*/{ 4, 6, 3, 40, 3, 15, 4, 4, 4, 4, 8, 8, 6, 6, 5, 5, 5, 5, 17 }, 386bf72b656Schristos /*65*/{ 4, 6, 3, 44, 3, 15, 4, 8, 8, 6, 10, 10, 2, 2, 6, 6, 6, 6, 20 }, 387bf72b656Schristos /*66*/{ 4, 6, 3, 38, 3, 14, 4, 4, 4, 4, 6, 6, 6, 6, 5, 5, 5, 5, 15 }, 388bf72b656Schristos /*67*/{ 4, 5, 3, 44, 3, 18, 5, 8, 6, 6, 8, 8, 8, 8, 6, 6, 6, 6, 24 }, 389bf72b656Schristos /*68*/{ 4, 6, 3, 36, 3, 9, 5, 4, 4, 2, 4, 4, 2, 2, 5, 5, 5, 5, 13 }, 390bf72b656Schristos /*69*/{ 3, 5, 2, 50, 2, 14, 2, 6, 6, 6, 8, 8, 0, 0, 6, 6, 6, -1, 14 }, 391bf72b656Schristos /*70*/{ 3, 5, 1, 136, 1, 30, 1, 8, 14, 14, 28, 28, 0, 0, 9, 9, 9, -1, 27 }, 392bf72b656Schristos /*71*/{ 3, 5, 1, 120, 1, 27, 5, 16, 14, 14, 28, 28, 2, 2, 9, 9, 9, -1, 43 }, 393bf72b656Schristos /*72*/{ 3, 5, 1, 120, 2, 21, 5, 15, 17, 15, 25, 25, 7, 7, 9, 9, 9, -1, 36 }, 394bf72b656Schristos /*73*/{ 3, 5, 1, 90, 3, 18, 4, 13, 15, 13, 20, 20, 6, 6, 5, 5, 5, 5, 28 }, 395bf72b656Schristos /*74*/{ 4, 7, 3, 6, 6, 3, 4, 2, 2, 2, 20, 20, 6, 6, 2, 2, 3, 3, 5 }, 396bf72b656Schristos /*75*/{ 3, 5, 1, 110, 2, 20, 4, 14, 15, 11, 26, 26, 8, 8, 7, 8, 9, -1, 34 }, 397bf72b656Schristos /*76*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 398bf72b656Schristos /*77*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 399bf72b656Schristos /*78*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 400bf72b656Schristos /*79*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 401bf72b656Schristos /*80*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 402bf72b656Schristos /*81*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 403bf72b656Schristos /*82*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 }, 404bf72b656Schristos /*83*/{ 4, 7, 3, 450, 1, 99, 5, 50, 40, 40, 50, 50,25,25, 9, 9, 9, -1, 75 } 40561f28255Scgd /* bs fs ta guns hull crew1 crew3 gunR carR rig2 rig4 pts */ 40661f28255Scgd /* class qual crew2 gunL carL rig1 rig3 */ 40761f28255Scgd }; 40861f28255Scgd 409092d3130Sjsm const struct windeffects WET[7][6] = { 41061f28255Scgd { {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9}, {9,9,9,9} }, 41161f28255Scgd { {3,2,2,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {2,1,0,0}, {2,1,0,0} }, 41261f28255Scgd { {1,1,1,0}, {1,1,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0}, {1,0,0,0} }, 41361f28255Scgd { {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} }, 41461f28255Scgd { {0,0,0,0}, {1,0,0,0}, {1,1,0,0}, {1,1,0,0}, {2,2,1,0}, {2,2,1,0} }, 41561f28255Scgd { {1,0,0,0}, {1,1,0,0}, {1,1,1,0}, {1,1,1,0}, {3,2,2,0}, {3,2,2,0} }, 41661f28255Scgd { {2,1,1,0}, {3,2,1,0}, {3,2,1,0}, {3,2,1,0}, {3,3,2,0}, {3,3,2,0} } 41761f28255Scgd }; 41861f28255Scgd 419092d3130Sjsm const struct Tables RigTable[11][6] = { 42061f28255Scgd { {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0} }, 42161f28255Scgd { {0,0,0,0}, {0,0,0,0}, {0,0,0,1}, {0,0,1,0}, {1,0,0,1}, {0,1,1,1} }, 42261f28255Scgd { {0,0,0,0}, {0,0,0,1}, {0,0,1,1}, {0,1,0,1}, {0,1,0,1}, {1,0,1,2} }, 42361f28255Scgd { {0,0,0,0}, {0,0,1,1}, {0,1,0,1}, {0,0,0,2}, {0,1,0,2}, {1,0,1,2} }, 42461f28255Scgd { {0,1,0,1}, {1,0,0,1}, {0,1,1,2}, {0,1,0,2}, {0,0,1,3}, {1,0,1,4} }, 42561f28255Scgd { {0,0,1,1}, {0,1,0,2}, {1,0,0,3}, {0,1,1,3}, {1,0,0,4}, {1,1,1,4} }, 42661f28255Scgd { {0,0,1,2}, {0,1,1,2}, {1,1,0,3}, {0,1,0,4}, {1,0,0,4}, {1,0,1,5} }, 42761f28255Scgd { {0,0,1,2}, {0,1,0,3}, {1,1,0,3}, {1,0,2,4}, {0,2,1,5}, {2,1,0,5} }, 42861f28255Scgd { {0,2,1,3}, {1,0,0,3}, {2,1,0,4}, {0,1,1,4}, {0,1,0,5}, {1,0,2,6} }, 42961f28255Scgd { {1,1,0,4}, {1,0,1,4}, {2,0,0,5}, {0,2,1,5}, {0,1,2,6}, {0,2,0,7} }, 43061f28255Scgd { {1,0,1,5}, {0,2,0,6}, {1,2,0,6}, {1,1,1,6}, {2,0,2,6}, {1,1,2,7} } 43161f28255Scgd }; 432092d3130Sjsm const struct Tables HullTable[11][6] = { 43361f28255Scgd { {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {1,0,0,0}, {0,1,0,0} }, 43461f28255Scgd { {0,0,0,0}, {0,0,0,0}, {0,1,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1} }, 43561f28255Scgd { {0,1,0,0}, {1,0,0,0}, {1,1,0,0}, {1,0,1,0}, {1,0,1,1}, {2,1,0,0} }, 43661f28255Scgd { {0,1,1,0}, {1,0,0,0}, {1,1,1,0}, {2,0,0,1}, {2,0,1,0}, {2,2,0,0} }, 43761f28255Scgd { {0,1,1,0}, {1,0,0,1}, {2,1,0,1}, {2,2,1,0}, {3,0,1,0}, {3,1,0,0} }, 43861f28255Scgd { {1,1,1,0}, {2,0,2,1}, {2,1,1,0}, {2,2,0,0}, {3,1,0,1}, {3,1,1,0} }, 43961f28255Scgd { {1,2,2,0}, {2,0,2,1}, {2,1,0,1}, {2,2,0,0}, {3,1,1,0}, {4,2,1,0} }, 44061f28255Scgd { {2,1,1,0}, {2,0,1,1}, {3,2,2,0}, {3,2,0,0}, {4,2,1,0}, {4,2,1,1} }, 44161f28255Scgd { {2,1,2,0}, {3,1,1,1}, {3,2,2,0}, {4,2,1,0}, {4,1,0,2}, {4,2,2,0} }, 44261f28255Scgd { {2,3,1,0}, {3,2,2,0}, {3,2,2,1}, {4,2,2,0}, {4,1,0,3}, {5,1,2,0} }, 44361f28255Scgd { {2,2,4,0}, {3,3,1,1}, {4,2,1,1}, {5,1,0,2}, {5,1,2,1}, {6,2,2,0} }, 44461f28255Scgd }; 44561f28255Scgd 446092d3130Sjsm const char AMMO[9][4] = { 44761f28255Scgd { -1, 1, 0, 1 }, 44861f28255Scgd { -1, 1, 0, 1 }, 44961f28255Scgd { -1, 1, 0, 1 }, 45061f28255Scgd { -2, 1, 0, 2 }, 45161f28255Scgd { -2, 2, 0, 2 }, 45261f28255Scgd { -2, 2, 0, 2 }, 45361f28255Scgd { -3, 2, 0, 2 }, 45461f28255Scgd { -3, 2, 0, 3 }, 45561f28255Scgd { -3, 2, 0, 3 } 45661f28255Scgd }; 45761f28255Scgd 458092d3130Sjsm const char HDT[9][10] = { 45961f28255Scgd { 1, 0,-1,-2,-3,-3,-4,-4,-4,-4 }, 46061f28255Scgd { 1, 1, 0,-1,-2,-2,-3,-3,-3,-3 }, 46161f28255Scgd { 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 }, 46261f28255Scgd { 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 }, 46361f28255Scgd { 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 }, 46461f28255Scgd { 3, 3, 2, 1, 0, 0,-1,-1,-1,-1 }, 46561f28255Scgd { 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 }, 46661f28255Scgd { 4, 4, 3, 2, 1, 1, 0, 0, 0, 0 }, 46761f28255Scgd { 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 } 46861f28255Scgd }; 46961f28255Scgd 470092d3130Sjsm const char HDTrake[9][10] = { 47161f28255Scgd { 2, 1, 0,-1,-2,-2,-3,-3,-3,-3 }, 47261f28255Scgd { 2, 2, 1, 0,-1,-1,-2,-2,-2,-2 }, 47361f28255Scgd { 3, 2, 1, 0,-1,-1,-2,-2,-2,-2 }, 47461f28255Scgd { 4, 3, 2, 1, 0, 0,-1,-1,-1,-1 }, 47561f28255Scgd { 5, 4, 3, 2, 1, 1, 0, 0, 0, 0 }, 47661f28255Scgd { 6, 5, 4, 3, 2, 2, 1, 1, 1, 1 }, 47761f28255Scgd { 7, 6, 5, 4, 3, 3, 2, 2, 2, 2 }, 47861f28255Scgd { 8, 7, 6, 5, 4, 4, 3, 3, 3, 3 }, 47961f28255Scgd { 9, 8, 7, 6, 5, 5, 4, 4, 4, 4 } 48061f28255Scgd }; 48161f28255Scgd 482092d3130Sjsm const char QUAL[9][5] = { 48361f28255Scgd { -1, 0, 0, 1, 1 }, 48461f28255Scgd { -1, 0, 0, 1, 1 }, 48561f28255Scgd { -1, 0, 0, 1, 2 }, 48661f28255Scgd { -1, 0, 0, 1, 2 }, 48761f28255Scgd { -1, 0, 0, 2, 2 }, 48861f28255Scgd { -1,-1, 0, 2, 2 }, 48961f28255Scgd { -2,-1, 0, 2, 2 }, 49061f28255Scgd { -2,-1, 0, 2, 2 }, 49161f28255Scgd { -2,-1, 0, 2, 3 } 49261f28255Scgd }; 49361f28255Scgd 494092d3130Sjsm const char MT[9][3] = { 49561f28255Scgd { 1, 0, 0 }, 49661f28255Scgd { 1, 1, 0 }, 49761f28255Scgd { 2, 1, 0 }, 49861f28255Scgd { 2, 1, 1 }, 49961f28255Scgd { 2, 2, 1 }, 50061f28255Scgd { 3, 2, 1 }, 50161f28255Scgd { 3, 2, 2 }, 50261f28255Scgd { 4, 3, 2 }, 50361f28255Scgd { 4, 4, 2 } 50461f28255Scgd }; 50561f28255Scgd 506092d3130Sjsm const char rangeofshot[] = { 50761f28255Scgd 0, 50861f28255Scgd 1, /* grape */ 50961f28255Scgd 3, /* chain */ 51061f28255Scgd 10, /* round */ 51161f28255Scgd 1 /* double */ 51261f28255Scgd }; 51361f28255Scgd 514092d3130Sjsm const char *const countryname[] = { 51561f28255Scgd "American", "British", "Spanish", "French", "Japanese", 51661f28255Scgd "Federation", "Klingon", "Orion" 51761f28255Scgd }; 51861f28255Scgd 519092d3130Sjsm const char *const classname[] = { 52061f28255Scgd "Drift wood", 52161f28255Scgd "Ship of the Line", 52261f28255Scgd "Ship of the Line", 52361f28255Scgd "Frigate", 52461f28255Scgd "Corvette", 52561f28255Scgd "Sloop", 52661f28255Scgd "Brig" 52761f28255Scgd }; 52861f28255Scgd 529*38821839Sdholland const char *const shortclassname[] = { 530*38821839Sdholland "Rowboat", 531*38821839Sdholland "Ship", 532*38821839Sdholland "Ship", 533*38821839Sdholland "Frigate", 534*38821839Sdholland "Corvette", 535*38821839Sdholland "Sloop", 536*38821839Sdholland "Brig" 537*38821839Sdholland }; 538*38821839Sdholland 539092d3130Sjsm const char *const directionname[] = { 54061f28255Scgd "dead ahead", 54161f28255Scgd "off the starboard bow", 54261f28255Scgd "off the starboard beam", 54361f28255Scgd "off the starboard quarter", 54461f28255Scgd "dead astern", 54561f28255Scgd "off the port quarter", 54661f28255Scgd "off the port beam", 54761f28255Scgd "off the port bow", 54861f28255Scgd "dead ahead" 54961f28255Scgd }; 55061f28255Scgd 551b8c43a1fSdholland const char *const qualname[] = { 552b8c43a1fSdholland "dead", 553b8c43a1fSdholland "mutinous", 554b8c43a1fSdholland "green", 555b8c43a1fSdholland "mundane", 556b8c43a1fSdholland "crack", 557b8c43a1fSdholland "elite" 558b8c43a1fSdholland }; 55961f28255Scgd 560092d3130Sjsm const char loadname[] = { '-', 'G', 'C', 'R', 'D', 'E' }; 56161f28255Scgd 562092d3130Sjsm const char dr[] = { 0, 1, 1, 0, -1, -1, -1, 0, 1 }; 563092d3130Sjsm const char dc[] = { 0, 0, -1, -1, -1, 0, 1, 1, 1 }; 56473479d22Sjsm 56573479d22Sjsm int mode; 56673479d22Sjsm jmp_buf restart; 56773479d22Sjsm 568*38821839Sdholland bool randomize; /* -x, give first available ship */ 569*38821839Sdholland bool longfmt; /* -l, print score in long format */ 570*38821839Sdholland bool nobells; /* -b, don't ring bell before Signal */ 57173479d22Sjsm 57201be1267Sjsm gid_t gid; 57301be1267Sjsm gid_t egid; 57473479d22Sjsm 57573479d22Sjsm struct scenario *cc; /* the current scenario */ 57673479d22Sjsm struct ship *ls; /* &cc->ship[cc->vessels] */ 57773479d22Sjsm 57873479d22Sjsm int winddir; 57973479d22Sjsm int windspeed; 58073479d22Sjsm int turn; 58173479d22Sjsm int game; 58273479d22Sjsm int alive; 58373479d22Sjsm int people; 584d62e34ecSjwise int hasdriver; 585