1 1.19 andvar /* $NetBSD: trek.h,v 1.19 2024/02/10 08:24:50 andvar Exp $ */ 2 1.3 cgd 3 1.1 cgd /* 4 1.3 cgd * Copyright (c) 1980, 1993 5 1.3 cgd * The Regents of the University of California. All rights reserved. 6 1.1 cgd * 7 1.1 cgd * Redistribution and use in source and binary forms, with or without 8 1.1 cgd * modification, are permitted provided that the following conditions 9 1.1 cgd * are met: 10 1.1 cgd * 1. Redistributions of source code must retain the above copyright 11 1.1 cgd * notice, this list of conditions and the following disclaimer. 12 1.1 cgd * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 cgd * notice, this list of conditions and the following disclaimer in the 14 1.1 cgd * documentation and/or other materials provided with the distribution. 15 1.9 agc * 3. Neither the name of the University nor the names of its contributors 16 1.1 cgd * may be used to endorse or promote products derived from this software 17 1.1 cgd * without specific prior written permission. 18 1.1 cgd * 19 1.1 cgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20 1.1 cgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 1.1 cgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 1.1 cgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23 1.1 cgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 1.1 cgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 1.1 cgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 1.1 cgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 1.1 cgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 1.1 cgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 1.1 cgd * SUCH DAMAGE. 30 1.1 cgd * 31 1.3 cgd * @(#)trek.h 8.1 (Berkeley) 5/31/93 32 1.1 cgd */ 33 1.1 cgd 34 1.1 cgd /* 35 1.1 cgd ** Global Declarations 36 1.1 cgd ** 37 1.1 cgd ** Virtually all non-local variable declarations are made in this 38 1.1 cgd ** file. Exceptions are those things which are initialized, which 39 1.1 cgd ** are defined in "externs.c", and things which are local to one 40 1.1 cgd ** program file. 41 1.1 cgd ** 42 1.1 cgd ** So far as I know, nothing in here must be preinitialized to 43 1.1 cgd ** zero. 44 1.1 cgd */ 45 1.1 cgd 46 1.1 cgd /* external function definitions */ 47 1.1 cgd 48 1.1 cgd /********************* GALAXY **************************/ 49 1.1 cgd 50 1.1 cgd /* galactic parameters */ 51 1.13 dholland #define NSECTS 10 /* dimensions of quadrant in sectors */ 52 1.13 dholland #define NQUADS 8 /* dimension of galazy in quadrants */ 53 1.13 dholland #define NINHAB 32 /* number of quadrants which are inhabited */ 54 1.1 cgd 55 1.14 dholland /* definition for each quadrant */ 56 1.14 dholland struct quad { 57 1.5 christos unsigned char bases; /* number of bases in this quadrant */ 58 1.1 cgd char klings; /* number of Klingons in this quadrant */ 59 1.1 cgd char holes; /* number of black holes in this quadrant */ 60 1.1 cgd int scanned; /* star chart entry (see below) */ 61 1.4 thorpej short stars; /* number of stars in this quadrant */ 62 1.1 cgd char qsystemname; /* starsystem name (see below) */ 63 1.1 cgd }; 64 1.1 cgd 65 1.13 dholland #define Q_DISTRESSED 0200 66 1.13 dholland #define Q_SYSTEM 077 67 1.1 cgd 68 1.14 dholland /* 69 1.14 dholland * systemname conventions: 70 1.1 cgd * 1 -> NINHAB index into Systemname table for live system. 71 1.1 cgd * + Q_DISTRESSED distressed starsystem -- systemname & Q_SYSTEM 72 1.1 cgd * is the index into the Event table which will 73 1.1 cgd * have the system name 74 1.1 cgd * 0 dead or nonexistent starsystem 75 1.1 cgd * 76 1.1 cgd * starchart ("scanned") conventions: 77 1.1 cgd * 0 -> 999 taken as is 78 1.1 cgd * -1 not yet scanned ("...") 79 1.1 cgd * 1000 supernova ("///") 80 1.1 cgd * 1001 starbase + ??? (".1.") 81 1.14 dholland */ 82 1.1 cgd 83 1.1 cgd /* ascii names of systems */ 84 1.6 hubertf extern const char *const Systemname[NINHAB]; 85 1.1 cgd 86 1.1 cgd /* quadrant definition */ 87 1.8 jsm extern struct quad Quad[NQUADS][NQUADS]; 88 1.1 cgd 89 1.1 cgd /* defines for sector map (below) */ 90 1.13 dholland #define EMPTY '.' 91 1.13 dholland #define STAR '*' 92 1.13 dholland #define BASE '#' 93 1.13 dholland #define ENTERPRISE 'E' 94 1.13 dholland #define QUEENE 'Q' 95 1.13 dholland #define KLINGON 'K' 96 1.13 dholland #define INHABIT '@' 97 1.13 dholland #define HOLE ' ' 98 1.1 cgd 99 1.1 cgd /* current sector map */ 100 1.8 jsm extern char Sect[NSECTS][NSECTS]; 101 1.1 cgd 102 1.1 cgd 103 1.5 christos 104 1.1 cgd /************************ DEVICES ******************************/ 105 1.1 cgd 106 1.13 dholland #define NDEV 16 /* max number of devices */ 107 1.1 cgd 108 1.1 cgd /* device tokens */ 109 1.13 dholland #define WARP 0 /* warp engines */ 110 1.13 dholland #define SRSCAN 1 /* short range scanners */ 111 1.13 dholland #define LRSCAN 2 /* long range scanners */ 112 1.13 dholland #define PHASER 3 /* phaser control */ 113 1.13 dholland #define TORPED 4 /* photon torpedo control */ 114 1.13 dholland #define IMPULSE 5 /* impulse engines */ 115 1.13 dholland #define SHIELD 6 /* shield control */ 116 1.13 dholland #define COMPUTER 7 /* on board computer */ 117 1.13 dholland #define SSRADIO 8 /* subspace radio */ 118 1.13 dholland #define LIFESUP 9 /* life support systems */ 119 1.13 dholland #define SINS 10 /* Space Inertial Navigation System */ 120 1.13 dholland #define CLOAK 11 /* cloaking device */ 121 1.13 dholland #define XPORTER 12 /* transporter */ 122 1.13 dholland #define SHUTTLE 13 /* shuttlecraft */ 123 1.1 cgd 124 1.1 cgd /* device names */ 125 1.14 dholland struct device { 126 1.6 hubertf const char *name; /* device name */ 127 1.6 hubertf const char *person; /* the person who fixes it */ 128 1.1 cgd }; 129 1.1 cgd 130 1.8 jsm extern const struct device Device[NDEV]; 131 1.1 cgd 132 1.1 cgd /*************************** EVENTS ****************************/ 133 1.1 cgd 134 1.13 dholland #define NEVENTS 12 /* number of different event types */ 135 1.1 cgd 136 1.13 dholland #define E_LRTB 1 /* long range tractor beam */ 137 1.13 dholland #define E_KATSB 2 /* Klingon attacks starbase */ 138 1.13 dholland #define E_KDESB 3 /* Klingon destroys starbase */ 139 1.13 dholland #define E_ISSUE 4 /* distress call is issued */ 140 1.13 dholland #define E_ENSLV 5 /* Klingons enslave a quadrant */ 141 1.13 dholland #define E_REPRO 6 /* a Klingon is reproduced */ 142 1.13 dholland #define E_FIXDV 7 /* fix a device */ 143 1.13 dholland #define E_ATTACK 8 /* Klingon attack during rest period */ 144 1.13 dholland #define E_SNAP 9 /* take a snapshot for time warp */ 145 1.13 dholland #define E_SNOVA 10 /* supernova occurs */ 146 1.13 dholland 147 1.13 dholland #define E_GHOST 0100 /* ghost of a distress call if ssradio out */ 148 1.13 dholland #define E_HIDDEN 0200 /* event unreportable because ssradio out */ 149 1.13 dholland #define E_EVENT 077 /* mask to get event code */ 150 1.1 cgd 151 1.14 dholland struct event { 152 1.5 christos unsigned char x, y; /* coordinates */ 153 1.5 christos double date; /* trap stardate */ 154 1.5 christos char evcode; /* event type */ 155 1.5 christos unsigned char systemname; /* starsystem name */ 156 1.1 cgd }; 157 1.14 dholland 158 1.14 dholland /* 159 1.14 dholland * systemname conventions: 160 1.1 cgd * 1 -> NINHAB index into Systemname table for reported distress calls 161 1.1 cgd * 162 1.1 cgd * evcode conventions: 163 1.1 cgd * 1 -> NEVENTS-1 event type 164 1.1 cgd * + E_HIDDEN unreported (SSradio out) 165 1.1 cgd * + E_GHOST actually already expired 166 1.1 cgd * 0 unallocated 167 1.1 cgd */ 168 1.1 cgd 169 1.14 dholland /* max number of concurrently pending events */ 170 1.14 dholland #define MAXEVENTS 25 171 1.1 cgd 172 1.14 dholland /* dynamic event list; one entry per pending event */ 173 1.14 dholland extern struct event Event[MAXEVENTS]; 174 1.1 cgd 175 1.1 cgd /***************************** KLINGONS *******************************/ 176 1.1 cgd 177 1.14 dholland struct kling { 178 1.5 christos unsigned char x, y; /* coordinates */ 179 1.1 cgd int power; /* power left */ 180 1.1 cgd double dist; /* distance to Enterprise */ 181 1.1 cgd double avgdist; /* average over this move */ 182 1.1 cgd char srndreq; /* set if surrender has been requested */ 183 1.1 cgd }; 184 1.1 cgd 185 1.13 dholland #define MAXKLQUAD 9 /* maximum klingons per quadrant */ 186 1.1 cgd 187 1.1 cgd /********************** MISCELLANEOUS ***************************/ 188 1.1 cgd 189 1.1 cgd /* condition codes */ 190 1.13 dholland #define GREEN 0 191 1.13 dholland #define DOCKED 1 192 1.13 dholland #define YELLOW 2 193 1.13 dholland #define RED 3 194 1.1 cgd 195 1.1 cgd /* starbase coordinates */ 196 1.13 dholland #define MAXBASES 9 /* maximum number of starbases in galaxy */ 197 1.1 cgd 198 1.1 cgd /* distress calls */ 199 1.13 dholland #define MAXDISTR 5 /* maximum concurrent distress calls */ 200 1.1 cgd 201 1.1 cgd /* phaser banks */ 202 1.13 dholland #define NBANKS 6 /* number of phaser banks */ 203 1.1 cgd 204 1.14 dholland struct xy { 205 1.5 christos unsigned char x, y; /* coordinates */ 206 1.1 cgd }; 207 1.1 cgd 208 1.1 cgd 209 1.1 cgd /* 210 1.1 cgd * note that much of the stuff in the following structs CAN NOT 211 1.1 cgd * be moved around!!!! 212 1.1 cgd */ 213 1.1 cgd 214 1.1 cgd 215 1.1 cgd /* information regarding the state of the starship */ 216 1.14 dholland struct Ship_struct { 217 1.1 cgd double warp; /* warp factor */ 218 1.1 cgd double warp2; /* warp factor squared */ 219 1.1 cgd double warp3; /* warp factor cubed */ 220 1.1 cgd char shldup; /* shield up flag */ 221 1.1 cgd char cloaked; /* set if cloaking device on */ 222 1.1 cgd int energy; /* starship's energy */ 223 1.1 cgd int shield; /* energy in shields */ 224 1.1 cgd double reserves; /* life support reserves */ 225 1.1 cgd int crew; /* ship's complement */ 226 1.1 cgd int brigfree; /* space left in brig */ 227 1.1 cgd char torped; /* torpedoes */ 228 1.1 cgd char cloakgood; /* set if we have moved */ 229 1.1 cgd int quadx; /* quadrant x coord */ 230 1.1 cgd int quady; /* quadrant y coord */ 231 1.1 cgd int sectx; /* sector x coord */ 232 1.1 cgd int secty; /* sector y coord */ 233 1.5 christos unsigned char cond; /* condition code */ 234 1.14 dholland /* sinsbad is set if SINS is working but not calibrated */ 235 1.15 dholland char sinsbad; /* Space Inertial Navigation System condition*/ 236 1.6 hubertf const char *shipname; /* name of current starship */ 237 1.1 cgd char ship; /* current starship */ 238 1.1 cgd int distressed; /* number of distress calls */ 239 1.8 jsm }; 240 1.8 jsm extern struct Ship_struct Ship; 241 1.1 cgd 242 1.1 cgd 243 1.1 cgd /* game related information, mostly scoring */ 244 1.14 dholland struct Game_struct { 245 1.1 cgd int killk; /* number of klingons killed */ 246 1.1 cgd int deaths; /* number of deaths onboard Enterprise */ 247 1.1 cgd char negenbar; /* number of hits on negative energy barrier */ 248 1.1 cgd char killb; /* number of starbases killed */ 249 1.1 cgd int kills; /* number of stars killed */ 250 1.1 cgd char skill; /* skill rating of player */ 251 1.1 cgd char length; /* length of game */ 252 1.1 cgd char killed; /* set if you were killed */ 253 1.1 cgd char killinhab; /* number of inhabited starsystems killed */ 254 1.1 cgd char tourn; /* set if a tournament game */ 255 1.1 cgd char passwd[15]; /* game password */ 256 1.1 cgd char snap; /* set if snapshot taken */ 257 1.1 cgd char helps; /* number of help calls */ 258 1.1 cgd int captives; /* total number of captives taken */ 259 1.8 jsm }; 260 1.8 jsm extern struct Game_struct Game; 261 1.1 cgd 262 1.1 cgd /* per move information */ 263 1.14 dholland struct Move_struct { 264 1.1 cgd char free; /* set if a move is free */ 265 1.1 cgd char endgame; /* end of game flag */ 266 1.1 cgd char shldchg; /* set if shields changed this move */ 267 1.1 cgd char newquad; /* set if just entered this quadrant */ 268 1.1 cgd char resting; /* set if this move is a rest */ 269 1.1 cgd double time; /* time used this move */ 270 1.8 jsm }; 271 1.8 jsm extern struct Move_struct Move; 272 1.1 cgd 273 1.1 cgd /* parametric information */ 274 1.14 dholland struct Param_struct { 275 1.5 christos unsigned char bases; /* number of starbases */ 276 1.1 cgd char klings; /* number of klingons */ 277 1.1 cgd double date; /* stardate */ 278 1.1 cgd double time; /* time left */ 279 1.1 cgd double resource; /* Federation resources */ 280 1.1 cgd int energy; /* starship's energy */ 281 1.1 cgd int shield; /* energy in shields */ 282 1.1 cgd double reserves; /* life support reserves */ 283 1.1 cgd int crew; /* size of ship's complement */ 284 1.1 cgd int brigfree; /* max possible number of captives */ 285 1.1 cgd char torped; /* photon torpedos */ 286 1.1 cgd double damfac[NDEV]; /* damage factor */ 287 1.1 cgd double dockfac; /* docked repair time factor */ 288 1.1 cgd double regenfac; /* regeneration factor */ 289 1.1 cgd int stopengy; /* energy to do emergency stop */ 290 1.1 cgd int shupengy; /* energy to put up shields */ 291 1.1 cgd int klingpwr; /* Klingon initial power */ 292 1.1 cgd int warptime; /* time chewer multiplier */ 293 1.1 cgd double phasfac; /* Klingon phaser power eater factor */ 294 1.1 cgd char moveprob[6]; /* probability that a Klingon moves */ 295 1.1 cgd double movefac[6]; /* Klingon move distance multiplier */ 296 1.1 cgd double eventdly[NEVENTS]; /* event time multipliers */ 297 1.1 cgd double navigcrud[2]; /* navigation crudup factor */ 298 1.1 cgd int cloakenergy; /* cloaking device energy per stardate */ 299 1.1 cgd double damprob[NDEV]; /* damage probability */ 300 1.1 cgd double hitfac; /* Klingon attack factor */ 301 1.1 cgd int klingcrew; /* number of Klingons in a crew */ 302 1.1 cgd double srndrprob; /* surrender probability */ 303 1.1 cgd int energylow; /* low energy mark (cond YELLOW) */ 304 1.8 jsm }; 305 1.8 jsm extern struct Param_struct Param; 306 1.1 cgd 307 1.1 cgd /* Sum of damage probabilities must add to 1000 */ 308 1.1 cgd 309 1.1 cgd /* other information kept in a snapshot */ 310 1.14 dholland struct Now_struct { 311 1.5 christos unsigned char bases; /* number of starbases */ 312 1.1 cgd char klings; /* number of klingons */ 313 1.1 cgd double date; /* stardate */ 314 1.1 cgd double time; /* time left */ 315 1.1 cgd double resource; /* Federation resources */ 316 1.1 cgd char distressed; /* number of currently distressed quadrants */ 317 1.1 cgd struct event *eventptr[NEVENTS]; /* pointer to event structs */ 318 1.1 cgd struct xy base[MAXBASES]; /* locations of starbases */ 319 1.8 jsm }; 320 1.8 jsm extern struct Now_struct Now; 321 1.1 cgd 322 1.1 cgd /* Other stuff, not dumped in a snapshot */ 323 1.14 dholland struct Etc_struct { 324 1.15 dholland struct kling klingon[MAXKLQUAD];/* sorted Klingon list */ 325 1.15 dholland short nkling; /* number of Klingons in this sector */ 326 1.15 dholland /* < 0 means automatic override mode */ 327 1.15 dholland char fast; /* set if speed > 300 baud */ 328 1.15 dholland struct xy starbase; /* starbase in current quadrant */ 329 1.15 dholland char snapshot[sizeof Quad + sizeof Event + sizeof Now]; 330 1.15 dholland /* snapshot for time warp */ 331 1.15 dholland char statreport; /* set to get a status report on a srscan */ 332 1.8 jsm }; 333 1.8 jsm extern struct Etc_struct Etc; 334 1.1 cgd 335 1.1 cgd /* 336 1.1 cgd * eventptr is a pointer to the event[] entry of the last 337 1.1 cgd * scheduled event of each type. Zero if no such event scheduled. 338 1.1 cgd */ 339 1.1 cgd 340 1.19 andvar /* Klingon move indices */ 341 1.13 dholland #define KM_OB 0 /* Old quadrant, Before attack */ 342 1.13 dholland #define KM_OA 1 /* Old quadrant, After attack */ 343 1.13 dholland #define KM_EB 2 /* Enter quadrant, Before attack */ 344 1.13 dholland #define KM_EA 3 /* Enter quadrant, After attack */ 345 1.13 dholland #define KM_LB 4 /* Leave quadrant, Before attack */ 346 1.13 dholland #define KM_LA 5 /* Leave quadrant, After attack */ 347 1.1 cgd 348 1.1 cgd /* you lose codes */ 349 1.13 dholland #define L_NOTIME 1 /* ran out of time */ 350 1.13 dholland #define L_NOENGY 2 /* ran out of energy */ 351 1.13 dholland #define L_DSTRYD 3 /* destroyed by a Klingon */ 352 1.13 dholland #define L_NEGENB 4 /* ran into the negative energy barrier */ 353 1.13 dholland #define L_SUICID 5 /* destroyed in a nova */ 354 1.13 dholland #define L_SNOVA 6 /* destroyed in a supernova */ 355 1.13 dholland #define L_NOLIFE 7 /* life support died (so did you) */ 356 1.13 dholland #define L_NOHELP 8 /* you could not be rematerialized */ 357 1.13 dholland #define L_TOOFAST 9 /* pretty stupid going at warp 10 */ 358 1.13 dholland #define L_STAR 10 /* ran into a star */ 359 1.13 dholland #define L_DSTRCT 11 /* self destructed */ 360 1.13 dholland #define L_CAPTURED 12 /* captured by Klingons */ 361 1.13 dholland #define L_NOCREW 13 /* you ran out of crew */ 362 1.1 cgd 363 1.1 cgd /****************** COMPILE OPTIONS ***********************/ 364 1.1 cgd 365 1.1 cgd /* Trace info */ 366 1.13 dholland #define xTRACE 1 367 1.8 jsm extern int Trace; 368 1.5 christos 369 1.13 dholland #define TOOLARGE (DBL_MAX / 2) /* < DOUBLE_MAX for everyone */ 370 1.12 christos 371 1.5 christos /* abandon.c */ 372 1.10 jsm void abandon(int); 373 1.5 christos 374 1.5 christos /* attack.c */ 375 1.10 jsm void attack(int); 376 1.5 christos 377 1.5 christos /* autover.c */ 378 1.10 jsm void autover(void); 379 1.5 christos 380 1.5 christos /* capture.c */ 381 1.10 jsm void capture(int); 382 1.5 christos 383 1.5 christos /* check_out.c */ 384 1.10 jsm int check_out(int); 385 1.5 christos 386 1.5 christos /* checkcond.c */ 387 1.10 jsm void checkcond(void); 388 1.5 christos 389 1.5 christos /* compkl.c */ 390 1.10 jsm void compkldist(int); 391 1.5 christos 392 1.5 christos /* computer.c */ 393 1.10 jsm void computer(int); 394 1.5 christos 395 1.5 christos /* damage.c */ 396 1.10 jsm void damage(int, double); 397 1.5 christos 398 1.5 christos /* damaged.c */ 399 1.10 jsm int damaged(int); 400 1.5 christos 401 1.5 christos /* dcrept.c */ 402 1.10 jsm void dcrept(int); 403 1.5 christos 404 1.5 christos /* destruct.c */ 405 1.10 jsm void destruct(int); 406 1.5 christos 407 1.5 christos /* dock.c */ 408 1.10 jsm void dock(int); 409 1.10 jsm void undock(int); 410 1.5 christos 411 1.5 christos /* dumpgame.c */ 412 1.10 jsm void dumpgame(int); 413 1.10 jsm int restartgame(void); 414 1.5 christos 415 1.5 christos /* dumpme.c */ 416 1.10 jsm void dumpme(int); 417 1.5 christos 418 1.5 christos /* dumpssradio.c */ 419 1.10 jsm int dumpssradio(void); 420 1.5 christos 421 1.5 christos /* events.c */ 422 1.10 jsm int events(int); 423 1.5 christos 424 1.5 christos /* externs.c */ 425 1.5 christos 426 1.5 christos /* getcodi.c */ 427 1.10 jsm int getcodi(int *, double *); 428 1.5 christos 429 1.5 christos /* help.c */ 430 1.10 jsm void help(int); 431 1.5 christos 432 1.5 christos /* impulse.c */ 433 1.10 jsm void impulse(int); 434 1.5 christos 435 1.5 christos /* initquad.c */ 436 1.10 jsm void initquad(int); 437 1.10 jsm void sector(int *, int *); 438 1.5 christos 439 1.5 christos /* kill.c */ 440 1.10 jsm void killk(int, int ); 441 1.10 jsm void killb(int, int ); 442 1.10 jsm void kills(int, int , int); 443 1.10 jsm void killd(int, int , int); 444 1.5 christos 445 1.5 christos /* klmove.c */ 446 1.10 jsm void klmove(int); 447 1.5 christos 448 1.5 christos /* lose.c */ 449 1.17 dholland void lose(int) __dead; 450 1.5 christos 451 1.5 christos /* lrscan.c */ 452 1.10 jsm void lrscan(int); 453 1.5 christos 454 1.5 christos /* move.c */ 455 1.10 jsm double move(int, int, double, double); 456 1.5 christos 457 1.5 christos /* nova.c */ 458 1.10 jsm void nova(int, int ); 459 1.5 christos 460 1.5 christos /* out.c */ 461 1.10 jsm void out(int); 462 1.5 christos 463 1.5 christos /* phaser.c */ 464 1.10 jsm void phaser(int); 465 1.5 christos 466 1.5 christos /* play.c */ 467 1.17 dholland void play(void) __dead; 468 1.5 christos 469 1.5 christos /* ram.c */ 470 1.10 jsm void ram(int, int ); 471 1.5 christos 472 1.5 christos /* ranf.c */ 473 1.10 jsm int ranf(int); 474 1.10 jsm double franf(void); 475 1.5 christos 476 1.5 christos /* rest.c */ 477 1.10 jsm void rest(int); 478 1.5 christos 479 1.5 christos /* schedule.c */ 480 1.10 jsm struct event *schedule(int, double, int, int , int); 481 1.10 jsm void reschedule(struct event *, double); 482 1.10 jsm void unschedule(struct event *); 483 1.10 jsm struct event *xsched(int, int, int, int , int ); 484 1.10 jsm void xresched(struct event *, int, int); 485 1.5 christos 486 1.5 christos /* score.c */ 487 1.10 jsm long score(void); 488 1.5 christos 489 1.5 christos /* setup.c */ 490 1.10 jsm void setup(void); 491 1.5 christos 492 1.5 christos /* setwarp.c */ 493 1.10 jsm void setwarp(int); 494 1.5 christos 495 1.5 christos /* shield.c */ 496 1.10 jsm void shield(int); 497 1.5 christos 498 1.5 christos /* snova.c */ 499 1.10 jsm void snova(int, int ); 500 1.5 christos 501 1.5 christos /* srscan.c */ 502 1.10 jsm void srscan(int); 503 1.5 christos 504 1.5 christos /* systemname.c */ 505 1.10 jsm const char *systemname(const struct quad *); 506 1.5 christos 507 1.5 christos /* torped.c */ 508 1.10 jsm void torped(int); 509 1.5 christos 510 1.5 christos /* visual.c */ 511 1.10 jsm void visual(int); 512 1.5 christos 513 1.5 christos /* warp.c */ 514 1.10 jsm void dowarp(int); 515 1.10 jsm void warp(int, int, double); 516 1.5 christos 517 1.5 christos /* win.c */ 518 1.17 dholland void win(void) __dead; 519