/Volumes/Plantain/MyDocuments/Projects/MacTrek/MacTrek/Design Stuff/COW/data.c

00001 /* data.c
00002  *
00003  * $Log: data.c,v $
00004  * Revision 1.8  2001/08/21 20:52:15  siegl
00005  *
00006  * mouse wheel support
00007  *
00008  * Revision 1.7  2001/04/28 04:03:56  quozl
00009  * change -U to also adopt a local port number for TCP mode.
00010  *              -- Benjamin `Quisar' Lerman  <quisar@quisar.ambre.net>
00011  *
00012  * Revision 1.6  2000/12/28 12:36:38  siegl
00013  * CVS info
00014  *
00015  * Revision 1.5  2000/05/19 14:24:52  jeffno
00016  * Improvements to playback.
00017  * - Can jump to any point in recording.
00018  * - Can lock on to cloaked players.
00019  * - Tactical/galactic repaint when paused.
00020  * - Can lock on to different players when recording paused.
00021  *
00022  * Revision 1.4  1999/08/05 16:46:32  siegl
00023  * remove several defines (BRMH, RABBITEARS, NEWDASHBOARD2)
00024  *
00025  * Revision 1.3  1999/07/24 19:23:43  siegl
00026  * New default portSwap for UDP_PORTSWAP feature
00027  *
00028  * Revision 1.2  1999/06/11 16:14:17  siegl
00029  * cambot replay patches
00030  *
00031  * Revision 1.1.1.1  1998/11/01 17:24:09  siegl
00032  * COW 3.0 initial revision
00033  * */
00034 #include "config.h"
00035 
00036 #include <stdio.h>
00037 #include "defs.h"
00038 #include "struct.h"
00039 #include "data.h"
00040 
00041 struct player *players;
00042 struct player *me = NULL;
00043 struct torp *torps;
00044 struct plasmatorp *plasmatorps;
00045 struct status *status;
00046 struct ship *myship;
00047 struct stats *mystats;
00048 struct planet *planets;
00049 struct phaser *phasers;
00050 struct message *messages;
00051 struct mctl *mctl;
00052 struct memory universe;
00053 
00054 int     ghoststart = 0;                          /* is this a ghostbust *
00055 
00056                                                   * 
00057                                                   * * restart? */
00058 int     ghost_pno = 0;                           /* is this a ghostbust *
00059 
00060                                                   * 
00061                                                   * * restart? */
00062 int     keepInfo = 15;                           /* how many updates to keep
00063 
00064                                                   * 
00065                                                   * * * infowins 6/1/93 LAB */
00066 int     showPlanetOwner = 0;
00067 
00068 int     phaserShrink = 0;
00069 int     theirPhaserShrink = 0;
00070 int     shrinkPhaserOnMiss = 0;
00071 
00072 int     newDashboard = 0;                        /* use new graphic *
00073 
00074                                                   * 
00075                                                   * * dashboard, 6/2/93 LAB */
00076 int     old_db = 0;                              /* should be same as *
00077 
00078                                                   * 
00079                                                   * * newDashboard */
00080 int     fastQuit = 0;
00081 int     gen_distress = 0;                        /* generic distress/macro *
00082 
00083                                                   * 
00084                                                   * * system support */
00085 int     niftyNewMessages = 1;
00086 int     oldalert = 0;
00087 int     remap[16] =
00088 {0, 1, 2, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0};
00089 int     messpend = 0;
00090 
00091 #ifdef XTRA_MESSAGE_UI
00092 int     messageHUD = 0;                          /* Show message being typed
00093 
00094                                                   * 
00095                                                   * * on the local display *
00096                                                   *     */
00097 int     messHoldThresh = 0;                      /* Threshold value for
00098 
00099                                                   * 
00100                                                   * * putting a message on
00101                                                   * hold  * (squared) */
00102 int     messMouseDelta = 0;                      /* To keep track of mouse
00103 
00104                                                   * 
00105                                                   * * movement delta *
00106                                                   * */
00107 #endif
00108 int     lastcount = 0;
00109 int     mdisplayed = 0;
00110 int     udcounter = 0;
00111 int     showTractorPressor = 1;
00112 int     showLock = 3;
00113 int     showPhaser = 2;
00114 int     autoKey = 0;
00115 int     extraBorder = 1;
00116 
00117 /* udp options */
00118 int     tryUdp = 1;
00119 int     tryUdp1 = 1;
00120 struct plupdate pl_update[MAXPLANETS];
00121 char    buttonmap[0x20] =
00122 {'\0', '\0', '\0', '\0', '\0', '\0'};
00123 int     lastm = 0;
00124 int     delay = 0;                               /* delay for decaring war */
00125 int     rdelay = 0;                              /* delay for refitting */
00126 int     namemode = 1;
00127 int     quittime = 60;
00128 int     showStats = 0;
00129 int     warnShields = 0;
00130 int     ROMVLVS = 0;
00131 int     warncount = 0;
00132 int     warntimer = -1;
00133 int     infomapped = 0;
00134 int     mustexit = 0;
00135 int     messtime = 5;
00136 int     keeppeace = 0;
00137 
00138 #ifdef GATEWAY
00139 unsigned LONG netaddr = 0;                       /* for blessing */
00140 
00141 #endif
00142 
00143 int     msgBeep = 1;                             /* ATM - msg beep */
00144 int     scanmapped = 0;                          /* ATM - scanners */
00145 
00146 int     logmess = 0;
00147 int     continuetractor = 1;
00148 int     tcounter = 2;
00149 int     showlocal = 2;
00150 int     showgalactic = 2;
00151 
00152 #ifdef HAVE_XPM
00153 int     pixMissing = 0;
00154 int     pixFlags = 0;
00155 
00156 #endif
00157 char   *title = NULL;
00158 char   *shipnos = "0123456789abcdefghijklmnopqrstuvwxyz";
00159 
00160 #ifndef RSA
00161 /* Um, not that I could find... SAC 1 Aug 1996 */
00162 /* Search for it in the rsa_box*.c files ... 007 15 Aug 1996 */
00163 int     sock = -1;                               /* randomized into RSA code
00164 
00165                                                   * 
00166                                                   * *  08/24/95 [007] */
00167 #endif
00168 int     xtrekPort = -1;
00169 int     queuePos = -1;
00170 int     pickOk = -1;
00171 int     lastRank = -1;
00172 int     promoted = 0;
00173 
00174 #ifdef ROTATERACE
00175 int     rotate = 0;
00176 int     rotate_deg = 0;
00177 
00178 #endif
00179 
00180 int     loginAccept = -1;
00181 unsigned localflags = 0;
00182 int     tournMask = 15;
00183 int     nextSocket = 0;                          /* socket to use when we get
00184 
00185                                                   * 
00186                                                   * * * ghostbusted... */
00187 char   *serverName = NULL;
00188 
00189 /* if there's an rc file, defaultsFile gets set by initDefaults; 
00190  * if there isn't one, we want to know */
00191 char    defaultsFile[80] = "";
00192 
00193 char   *myname = NULL;
00194 int     loggedIn = 0;
00195 int     reinitPlanets = 0;
00196 int     timerDelay = 200000;                     /* micro secs between *
00197 
00198                                                   * 
00199                                                   * * updates */
00200 int     redrawDelay = 0;                         /* 1/10 secs beetween *
00201 
00202                                                   * 
00203                                                   * * redraws */
00204 int     reportKills = 1;                         /* report kill messages (in
00205 
00206                                                   * 
00207                                                   * * * review window)? */
00208 int     phaserWindow = 0;                        /* What window to show
00209 
00210                                                   * 
00211                                                   * * phaser msgs in */
00212 
00213 #ifdef PHASER_STATS
00214 int     phaserShowStats = 0;                     /* How to show phaser stats */
00215 int     phaserStatTry = 0;                       /* Try/attemps to phaser */
00216 int     phaserStatHit = 0;                       /* Number of hits */
00217 
00218 #endif
00219 int     censorMessages = 0;
00220 
00221 #ifdef RECORDGAME
00222 FILE   *recordFile = NULL;                       /* recorder: slurp packets * 
00223 
00224                                                   * 
00225                                                   * 
00226                                                   * * here */
00227 FILE   *recordIndexFile = NULL;                   
00228 FILE   *recordContextFile = NULL;                        
00229 
00230 int     playback = 0;
00231 
00232 #endif
00233 
00234 FILE   *logFile = NULL;                          /* log messages to this file 
00235 
00236                                                   * 
00237                                                   * 
00238                                                   */
00239 int     scanplayer = 0;                          /* who to scan */
00240 int     showTractor = 1;                         /* show visible tractor *
00241 
00242                                                   * 
00243                                                   * * beams */
00244 int     commMode = 0;                            /* UDP: 0=TCP only, 1=UDP *
00245 
00246                                                   * 
00247                                                   * * updates */
00248 int     commModeReq = 0;                         /* UDP: req for comm *
00249 
00250                                                   * 
00251                                                   * * protocol change */
00252 int     commStatus = 0;                          /* UDP: used when switching
00253 
00254                                                   * 
00255                                                   * * * protocols */
00256 int     commSwitchTimeout = 0;                   /* UDP: don't wait forever */
00257 int     udpTotal = 1;                            /* UDP: total #of packets *
00258 
00259                                                   * 
00260                                                   * * received */
00261 int     udpDropped = 0;                          /* UDP: count of packets *
00262 
00263                                                   * 
00264                                                   * * dropped */
00265 int     udpRecentDropped = 0;                    /* UDP: #of packets dropped
00266 
00267                                                   * 
00268                                                   * * * recently */
00269 int     udpSock = -1;                            /* UDP: the socket */
00270 int     udpDebug = 0;                            /* UDP: debugging info *
00271 
00272                                                   * 
00273                                                   * * on/off */
00274 int     udpClientSend = 1;                       /* UDP: send our packets *
00275 
00276                                                   * 
00277                                                   * * using UDP? */
00278 int     udpClientRecv = 1;                       /* UDP: receive with simple
00279 
00280                                                   * 
00281                                                   * * * UDP */
00282 int     udpSequenceChk = 1;                      /* UDP: check sequence *
00283 
00284                                                   * 
00285                                                   * * numbers */
00286 int     weaponUpdate = 0;                        /* Have any weapon packets * 
00287 
00288                                                   * 
00289                                                   * 
00290                                                   * * been received recently */
00291 
00292 #ifdef GATEWAY
00293 int     gw_serv_port, gw_port, gw_local_port;    /* UDP */
00294 char   *gw_mach = NULL;                          /* UDP */
00295 
00296 #endif
00297 
00298 /* for router-based firewalls, we need to tunnel through at a specific port */
00299 int     baseLocalPort = 0;                       /* UDP */
00300 
00301 int     debug = 0;
00302 
00303 int     messageon = 0;
00304 
00305 #ifdef RSA
00306 char    testdata[16];
00307 int     RSA_Client = 1;
00308 
00309 #endif
00310 
00311 int     SBhours = 0;
00312 
00313 #ifdef SHORT_PACKETS
00314 int     why_dead = 0;
00315 int     tryShort = 1;                            /* for .xtrekrc option */
00316 int     tryShort1 = 1;
00317 int     recv_short = 0;
00318 int     recv_mesg = 1;
00319 int     recv_kmesg = 1;
00320 int     recv_threshold = 0;
00321 char    recv_threshold_s[8] =
00322 {'0', '\0'};
00323 int     recv_warn = 1;
00324 
00325 #endif
00326 
00327 
00328 int     netstat = 0;
00329 int     netstatfreq = 5;
00330 //W_Window netstatWin, lMeter;
00331 int     updatespeed = 5;
00332 
00333 
00334 char   *metaserver = "metaserver.netrek.org";    /* US metaserver. */
00335 int     metaport = 3521;                         /* HAVE to use nicely *
00336 
00337                                                   * 
00338                                                   * * formated version */
00339 #ifdef NBT
00340 struct macro_list macro[MAX_MACRO];              /* NBT 2/26/93 */
00341 int     MacroMode = 0;
00342 int     macrocnt = 0;
00343 
00344 #endif
00345 
00346 extern double Sin[], Cos[];
00347 
00348 /*
00349  W_Icon  stipple, clockpic, icon;
00350 
00351 W_Color borderColor, backColor, textColor, myColor, warningColor, shipCol[5],
00352         rColor, yColor, gColor, unColor, foreColor;
00353 
00354 W_Icon  expview[EX_FRAMES];
00355 W_Icon  sbexpview[SBEXPVIEWS];
00356 W_Icon  cloud[NUMDETFRAMES];
00357 W_Icon  plasmacloud[NUMDETFRAMES];
00358 W_Icon  etorp, mtorp;
00359 W_Icon  eplasmatorp, mplasmatorp;
00360 
00361 #ifdef VSHIELD_BITMAPS
00362 W_Icon  shield[SHIELD_FRAMES], cloakicon;
00363  */
00364 int     VShieldBitmaps = 1;
00365 /*
00366 #else
00367 W_Icon  shield, cloakicon;
00368 
00369 #endif
00370 
00371 W_Icon  tractbits, pressbits;                   
00372 W_Icon  fed_bitmaps[NUM_TYPES][VIEWS], kli_bitmaps[NUM_TYPES][VIEWS], rom_bitmaps[NUM_TYPES][VIEWS],
00373         ori_bitmaps[NUM_TYPES][VIEWS], ind_bitmaps[NUM_TYPES][VIEWS], ROMVLVS_bitmap[VIEWS];
00374 W_Icon  bplanets[7];
00375 W_Icon  mbplanets[7];
00376 W_Icon  bplanets2[8];
00377 W_Icon  mbplanets2[8];
00378 W_Icon  bplanets3[NUM_PLANET_BITMAPS2];          
00379 W_Icon  mbplanets3[NUM_PLANET_BITMAPS2];         
00380 W_Icon  noinfoplanet;
00381 */
00382 /* jn - SMARTMACRO */
00383 
00384 #ifdef NEWMACRO
00385 int     MacroNum = 0;
00386 
00387 #endif /* NEWMACRO */
00388 char    lastMessage[80];
00389 char   *classes[] =
00390 {"SC", "DD", "CA", "BB", "AS", "SB", "GA", "AT"};
00391 char    teamlet[] =
00392 {'I', 'F', 'R', 'X', 'K', 'X', 'X', 'X', 'O', 'X', 'X', 'X',
00393  'X', 'X', 'X', 'A'};
00394 char   *teamshort[16] =
00395 {"IND", "FED", "ROM", "X", "KLI", "X", "X", "X", "ORI",
00396  "X", "X", "X", "X", "X", "X", "ALL"};
00397 char    pseudo[PSEUDOSIZE];
00398 char    defpasswd[PSEUDOSIZE];
00399 char    login[PSEUDOSIZE];
00400 
00401 struct ship shipvals[NUM_TYPES];
00402 
00403 /* 10 Aug 96 - Added curt (short) names -SAC */
00404 struct rank ranks[NUMRANKS] =
00405 {
00406   {0.0, 0.0, 0.0, "Ensign", "Esgn"},
00407   {2.0, 1.0, 0.0, "Lieutenant", "Lt "},
00408   {4.0, 2.0, 0.0, "Lt. Cmdr.", "LtCm"},
00409   {8.0, 3.0, 0.0, "Commander", "Cder",},
00410   {15.0, 4.0, 0.0, "Captain", "Capt"},
00411   {20.0, 5.0, 0.0, "Flt. Capt.", "FltC"},
00412   {25.0, 6.0, 0.0, "Commodore", "Cdor"},
00413   {30.0, 7.0, 0.0, "Rear Adm.", "RAdm"},
00414   {40.0, 8.0, 0.0, "Admiral", "Admr"}};
00415 /*
00416 W_Window messagew, w, mapw, statwin, baseWin = 0, infow, iconWin, tstatw,
00417         war, warnw, helpWin, teamWin[4], qwin, messwa, messwt, messwi,
00418         messwk, playerw, planetw, rankw, optionWin = 0, reviewWin;
00419 W_Window scanw, scanwin, udpWin, phaserwin;
00420 
00421 #ifdef SHORT_PACKETS
00422 W_Window spWin = NULL;
00423 
00424 #endif
00425 
00426 #ifdef NBT
00427 W_Window macroWin = NULL;
00428 
00429 #endif
00430 
00431 #ifdef META
00432 W_Window metaWin = NULL;
00433 
00434 #endif
00435 */
00436 int     ping = 0;                                /* to ping or not to ping */
00437 LONG    packets_sent = 0;                        /* # all packets sent to *
00438 
00439                                                   * 
00440                                                   * * server */
00441 LONG    packets_received = 0;                    /* # all packets received */
00442 //W_Window pStats = NULL;
00443 
00444 char    deathmessage[80];
00445 char    outmessage[85];                          /* 80 chars made sun4's core
00446 
00447                                                   * 
00448                                                   * * * dump and I'm too lazy 
00449                                                   * to * * calculate the
00450                                                   * exact * * number required 
00451                                                   * here */
00452 char   *xdisplay_name = NULL;
00453 
00454 int     UseNewDistress = 0;
00455 int     UseNewMacro = 1;
00456 int     UseSmartMacro = 1;
00457 int     rejectMacro = 0;
00458 int     maskrecip = 0;
00459 
00460 unsigned char singleMacro[65] = "";
00461 
00462 int     enemyPhasers = 1;
00463 
00464 char    cloakChars[3] = "??";
00465 
00466 int     showIND = 0;
00467 int     newPlist = 0;
00468 
00469 /* tried to automate this as much as possible... the entries are * the
00470  * character, string identifier, and the default macro for * each distress
00471  * type. */
00472 
00473 /* the index into distmacro array should correspond with the correct
00474  * dist_type */
00475 
00476 #define NUM_DIST 27
00477 
00478 
00479 struct dmacro_list dist_prefered[NUM_DIST];
00480 
00481 /* the index into distmacro array should correspond with the correct
00482  * dist_type */
00483 /* the character specification is ignored now, kept here anyway for reference */
00484 struct dmacro_list dist_defaults[] =
00485 {
00486   {'X', "no zero", "this should never get looked at"},
00487 /* ^t */
00488   {'\xd4', "taking", " %T%c->%O (%S) Carrying %a to %l%?%n>-1%{ @ %n%}\0"},
00489 /* ^o */
00490   {'\xcf', "ogg", " %T%c->%O Help Ogg %p at %l\0"},
00491 /* ^b */
00492   {'\xc2', "bomb", " %T%c->%O %?%n>4%{bomb %l @ %n%!bomb%}\0"},
00493 /* ^c */
00494   {'\xc3', "space_control", " %T%c->%O Help Control at %L\0"},
00495 /* ^1 */
00496   {'\x91', "save_planet", " %T%c->%O Emergency at %L!!!!\0"},
00497 /* ^2 */
00498   {'\x92', "base_ogg", " %T%c->%O Sync with --]> %g <[-- OGG ogg OGG base!!\0"},
00499 /* ^3 */
00500   {'\x93', "help1", " %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.\0"},
00501 /* ^4 */
00502   {'\x94', "help2", " %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.\0"},
00503 /* ^e */
00504   {'\xc5', "escorting", " %T%c->%O ESCORTING %g (%d%%D %s%%S %f%%F)\0"},
00505 /* ^p */
00506   {'\xd0', "ogging", " %T%c->%O Ogging %h\0"},
00507 /* ^m */
00508   {'\xcd', "bombing", " %T%c->%O Bombing %l @ %n\0"},
00509 /* ^l */
00510   {'\xcc', "controlling", " %T%c->%O Controlling at %l\0"},
00511 /* ^5 */
00512   {'\x95', "asw", " %T%c->%O Anti-bombing %p near %b.\0"},
00513 /* ^6 */
00514   {'\x96', "asbomb", " %T%c->%O DON'T BOMB %l. Let me bomb it (%S)\0"},
00515 /* ^7 */
00516   {'\x97', "doing1", " %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  (%d%% dam, %s%% shd, %f%% fuel)\0"},
00517 /* ^8 */
00518   {'\x98', "doing2", " %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  (%d%% dam, %s%% shd, %f%% fuel)\0"},
00519 /* ^f */
00520   {'\xc6', "free_beer", " %T%c->%O %p is free beer\0"},
00521 /* ^n */
00522   {'\xce', "no_gas", " %T%c->%O %p @ %l has no gas\0"},
00523 /* ^h */
00524   {'\xc8', "crippled", " %T%c->%O %p @ %l crippled\0"},
00525 /* ^9 */
00526   {'\x99', "pickup", " %T%c->%O %p++ @ %l\0"},
00527 /* ^0 */
00528   {'\x90', "pop", " %T%c->%O %l%?%n>-1%{ @ %n%}!\0"},
00529 /* F */
00530   {'F', "carrying", " %T%c->%O %?%S=SB%{Your Starbase is c%!C%}arrying %?%a>0%{%a%!NO%} arm%?%a=1%{y%!ies%}.\0"},
00531 /* ^@ */
00532   {'\xa0', "other1", " %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)\0"},
00533 /* ^# */
00534   {'\x83', "other2", " %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)\0"},
00535 /* E */
00536   {'E', "help", " %T%c->%O Help(%S)! %s%% shd, %d%% dmg, %f%% fuel,%?%S=SB%{ %w%% wtmp,%!%}%E%{ ETEMP!%}%W%{ WTEMP!%} %a armies!\0"},
00537   {'\0', '\0', '\0'},
00538 };
00539 
00540 struct dmacro_list *distmacro = dist_defaults;
00541 
00542 int     sizedist = sizeof(dist_defaults);
00543 
00544 #ifdef BEEPLITE
00545 char   *distlite[NUM_DIST] =
00546 {
00547   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
00548   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
00549   NULL, NULL, NULL, NULL, NULL, NULL, NULL
00550 };
00551 
00552 int     DefLite = 0;
00553 int     UseLite = 0;
00554 
00555 int     emph_planet_seq_n[MAXPLANETS] =
00556 {0,};
00557 int     emph_player_seq_n[MAXPLAYER] =
00558 {0,};
00559 //W_Icon  emph_planet_seq[10];
00560 //W_Icon  emph_player_seq[10];
00561 //W_Icon  emph_player_seql[10];
00562 int     beep_lite_cycle_time_player = 10;
00563 int     beep_lite_cycle_time_planet = 10;
00564 int     liteflag = 0;
00565 char    F_beeplite_flags = LITE_PLAYERS_MAP |
00566 LITE_PLAYERS_LOCAL |
00567 LITE_SELF |
00568 LITE_PLANETS |
00569 LITE_SOUNDS |
00570 LITE_TTS;
00571 
00572 int     tts_len = 0;
00573 int     tts_max_len = 40;
00574 int     tts_width = 0;
00575 int     tts_timer = 0;
00576 int     tts_time = 25;
00577 int     tts_pos = TWINSIDE / 2 - 16;             /* as found in redraw.c *
00578 
00579                                                   * 
00580                                                   * * originally */
00581 char    lastIn[100];
00582 
00583 #endif /* BEEPLITE */
00584 
00585 #ifdef RCM                                       /* Receiver configurable * * 
00586                                                   * Server messages */
00587 struct dmacro_list rcm_msg[] =
00588 {
00589   {'0', "none", "Unknown RCM message"},
00590   {'1', "kill", "GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%}) was kill %?%d>0%{%k%!NO CREDIT)%} for %u (%r%p) %?%w>0%{%W%!%}"},
00591   {'2', "planet", "GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%} killed by %l (%z) %?%w>0%{%W%!%}"},
00592   {'3', "bomb", "%N->%Z We are being attacked by %i (%T%c) who is %d%% damaged."},
00593   {'4', "destroy", "%N->%Z %N destroyed by %i (%T%c)"},
00594   {'5', "take", "%N->%O %N taken by %i (%T%c)"},
00595   {'6', "ghostbust", "GOD->ALL %i (%S) (%T%c) was kill %k for the GhostBusters"},
00596   {'\0', '\0', '\0'},
00597 };
00598 
00599 #endif /* RCM */
00600 
00601 int     highlightFriendlyPhasers = 0;
00602 
00603 #ifdef IGNORE_SIGNALS_SEGV_BUS
00604 /* KRP */
00605 /* Handle (hopefully) non-fatal segmentation and bus faults. */
00606 int     ignore_signals = 0;
00607 
00608 #endif
00609 
00610 #ifdef MOTION_MOUSE
00611 /* KRP */
00612 int     motion_mouse = 0;
00613 int     user_motion_thresh = 16;
00614 int     motion_mouse_enablable = 1;
00615 int     motion_mouse_steering = 0;
00616 
00617 #endif
00618 
00619 #ifdef SHIFTED_MOUSE
00620 /* KRP */
00621 int     extended_mouse = 0;
00622 
00623 #endif
00624 
00625 int     ignoreCaps = 1;                          /* Default is to ignore the
00626 
00627                                                   * 
00628                                                   * * * Capslock key SRS */
00629 
00630 #ifdef MOUSE_AS_SHIFT
00631 /* KRP */
00632 int     mouse_as_shift = 0;
00633 int     b1_as_shift = 0;
00634 int     b2_as_shift = 0;
00635 int     b3_as_shift = 0;
00636 
00637 #endif
00638 
00639 #ifdef TNG_FED_BITMAPS
00640 int     use_tng_fed_bitmaps = 0;
00641 //W_Icon  tng_fed_bitmaps[NUM_TYPES][VIEWS];
00642 
00643 #endif
00644 
00645 #ifdef VARY_HULL
00646 //W_Icon  hull[8];
00647 int     vary_hull = 0;
00648 
00649 #endif
00650 
00651 #ifdef XTREKRC_HELP
00652 //W_Window defWin = NULL;
00653 
00654 #endif
00655 
00656 #ifdef CONTROL_KEY
00657 int     use_control_key = 1;
00658 
00659 #endif
00660 
00661 #ifdef DOC_WIN
00662 //W_Window docwin = NULL, xtrekrcwin = NULL;
00663 int     maxdoclines = 0, maxxtrekrclines = 0;
00664 
00665 #endif
00666 
00667 //W_Icon  bplanets4[8];
00668 //W_Icon  mbplanets4[8];
00669 
00670 #ifdef REFRESH_INTERVAL
00671 int     refresh_interval = 0;
00672 
00673 #endif
00674 
00675 int     max_fd = 3;
00676 
00677 #ifdef TOOLS
00678 //W_Window toolsWin = NULL;
00679 int     shelltools = 1;
00680 struct key_list macroKeys[MAX_KEY];
00681 unsigned char keys[MAX_KEY] = "";
00682 char   *wwwlink = "netscape -remote \"openURL(%s)\"";
00683 char   *upgradeURL = "http://cow.netrek.org/current/index.html#%s";
00684 char   *releaseURL = "http://cow.netrek.org/%s/README.html#pl%i";
00685 char   *bugURL = "http://sourceforge.net/bugs/?group_id=968";
00686 /*
00687 char   *bugURL = "http://bugzilla.us.netrek.org/cow?version=%s&pl=%i&arch=%s";
00688 */
00689 #endif
00690 
00691 #ifdef SOUND
00692 int     sound_init = 0;
00693 int     sound_toggle = 0;
00694 char   *sounddir = NULL;
00695 //W_Window soundWin = NULL;
00696 
00697 #endif
00698 
00699 #ifdef HOCKEY_LINES
00700 int     hockey_s_lines = 0;
00701 struct s_line s_lines[NUM_HOCKEY_LINES + 1];
00702 int     normal_s_lines = 0;
00703 
00704 #endif
00705 
00706 #ifdef MULTILINE_MACROS
00707 int     multiline_enabled = 0;
00708 
00709 #endif
00710 
00711 #ifdef FEATURE_PACKETS
00712 int     F_feature_packets = 0;
00713 
00714 #endif
00715 
00716 int     F_cloak_maxwarp = 0;
00717 int     F_self_8flags = 1;
00718 int     F_self_8flags2 = 0;
00719 int     F_ship_cap = 0;
00720 
00721 #ifdef HAVE_XPM
00722 int     F_agri_pix = 1;
00723 
00724 #endif
00725 
00726 #ifdef WARP_DEAD
00727 int     F_dead_warp = 0;
00728 
00729 #endif
00730 
00731 int F_many_self = 0;
00732 
00733 #ifdef UDP_PORTSWAP
00734 int     portSwap = 0;
00735 #endif

Generated on Fri Jul 28 19:15:17 2006 for MacTrek by  doxygen 1.4.7