1 /* 2 * data.h 3 */ 4 #include "copyright.h" 5 6 #ifndef _h_data 7 #define _h_data 8 9 #define MAP_PIX 0 10 #define LOCAL_PIX 1 11 #define GHOST_PIX 2 12 #define GENO_PIX 3 13 #define GREET_PIX 4 14 #ifdef HOCKEY_LINES 15 #define HOCKEY_PIX 5 16 #endif 17 18 #define EX_FRAMES 5 19 #define SBEXPVIEWS 7 20 #define NUMDETFRAMES 5 /* number of frames in torp or plasma 21 explosion, must match cloud_frames and 22 plasmacloud_frames */ 23 #define ex_width 64 24 #define ex_height 64 25 #define sbexp_width 80 26 #define sbexp_height 80 27 #define cloud_width 8 28 #define cloud_height 8 29 #define plasmacloud_width 13 30 #define plasmacloud_height 13 31 #define etorp_width 3 32 #define etorp_height 3 33 #define eplasmatorp_width 7 34 #define eplasmatorp_height 7 35 #define mplasmatorp_width 5 36 #define mplasmatorp_height 5 37 #define mtorp_width 3 38 #define mtorp_height 3 39 #define crossmask_width 16 40 #define crossmask_height 16 41 #define planet_width 30 42 #define planet_height 30 43 #define mplanet_width 16 44 #define mplanet_height 16 45 #define shield_width 20 46 #define shield_height 20 47 #define cloak_width 20 48 #define cloak_height 20 49 #define icon_width 112 50 #define icon_height 80 51 52 extern struct player *players; 53 extern struct player *me; 54 extern struct torp *torps; 55 extern struct plasmatorp *plasmatorps; 56 extern struct status *status; 57 extern struct ship *myship; 58 extern struct stats *mystats; 59 extern struct planet *planets; 60 extern struct phaser *phasers; 61 extern struct message *messages; 62 extern struct mctl *mctl; 63 extern struct context *context; 64 extern struct team *teams; 65 extern struct ship shipvals[]; 66 extern struct memory universe; 67 extern struct planet pdata[]; 68 69 extern int oldalert; 70 extern unsigned int sound_flags; 71 extern int remap[]; 72 extern int udcounter; 73 extern char *title; 74 extern struct plupdate pl_update[]; 75 extern char buttonmap[]; 76 extern int messpend; 77 78 #ifdef XTRA_MESSAGE_UI 79 extern int messageHUD; /* Show message being typed 80 81 * 82 * * on the local display */ 83 extern int messHoldThresh; /* Threshold value for 84 85 * 86 * * putting a message on 87 * hold */ 88 extern int messMouseDelta; /* To keep track of mouse 89 90 * 91 * * movement delta */ 92 #endif 93 extern int lastcount; 94 extern int mdisplayed; 95 extern int lastm; 96 extern int delay; 97 extern int rdelay; 98 extern int namemode; 99 extern int warnShields; 100 extern int ROMVLVS; 101 extern int showStats; 102 extern int myPlanetBitmap; 103 104 #ifdef RECORDGAME 105 extern FILE *recordFile; /* recorder */ 106 extern FILE *recordIndexFile; /* To jump around recordings. */ 107 extern FILE *recordContextFile; /* To jump around recordings. */ 108 extern int playback; /* State playback is in (pause, forward, reverse) */ 109 110 #define PL_OFF 0 /* not playing back, but in a real game */ 111 #define PL_PAUSE 1 /* playing back, paused */ 112 #define PL_FORWARD 2 /* playing back, in forward direction */ 113 #define PL_REVERSE 3 /* playing back, in reverse direction */ 114 #endif 115 extern FILE *logFile; /* message log */ 116 extern int msgBeep; /* ATM - msg beep */ 117 extern int warncount; 118 extern int warntimer; 119 extern int infomapped; 120 extern int mustexit; 121 extern int messtime; 122 extern int keeppeace; 123 extern int gen_distress; 124 125 #ifdef GATEWAY 126 extern unsigned LONG netaddr; /* for blessing */ 127 128 #endif 129 130 extern int messageon; 131 132 #ifdef META 133 extern char *metaserver; 134 extern int metaport; 135 136 #endif 137 138 #ifdef NBT 139 extern int MacroMode; 140 extern int macrocnt; 141 extern struct macro_list macro[]; /* NBT 2/26/93 */ 142 143 #endif 144 145 #ifdef ROTATERACE 146 extern int rotate; 147 extern int rotate_deg; 148 149 #endif 150 151 extern int netstat; 152 extern int netstatfreq; 153 extern W_Window netstatWin, lMeter; 154 extern int client_ups; /* client requested updates per second */ 155 extern int server_ups; /* server responded updates per second */ 156 extern int server_fps; /* server configured frames per second */ 157 158 extern int SBhours; 159 160 #ifdef SHORT_PACKETS 161 extern int why_dead; 162 extern int tryShort, tryShort1; 163 extern int recv_short; 164 extern int recv_mesg; 165 extern int recv_kmesg; 166 extern int recv_threshold; 167 extern char recv_threshold_s[]; 168 extern int recv_warn; 169 170 /* S_P2 */ 171 extern int shortversion; /* Which version do we use? */ 172 173 #endif 174 175 extern int ghoststart; 176 extern int ghost_pno; 177 extern int keepInfo; 178 extern int showPlanetOwner; 179 extern int phaserShrink; 180 extern int theirPhaserShrink; 181 extern int shrinkPhaserOnMiss; 182 extern int newDashboard, old_db; 183 extern int niftyNewMessages; 184 extern int detCircle; 185 extern int fastQuit; 186 extern int babes; 187 extern int showlocal, showgalactic; 188 189 #define NO_IND_PIX 0x0001 190 #define NO_FED_PIX 0x0002 191 #define NO_ROM_PIX 0x0004 192 #define NO_KLI_PIX 0x0008 193 #define NO_ORI_PIX 0x0010 194 #define NO_WEP_PIX 0x0020 195 #define NO_EXP_PIX 0x0040 196 #define NO_CLK_PIX 0x0080 197 #define NO_MAP_PIX 0x0100 198 #define NO_BG_PIX 0x0400 199 #define NO_HALOS 0x1000 200 #define NO_PIXMAPS 0x8000 201 extern int pixMissing; 202 extern int pixFlags; 203 extern char *shipnos; 204 extern int sock; 205 extern int xtrekPort; 206 extern int queuePos; 207 extern int pickOk; 208 extern int lastRank; 209 extern int promoted; 210 extern int loginAccept; 211 extern unsigned localflags; 212 extern int tournMask; 213 extern int nextSocket; 214 extern char *serverName; 215 extern char defaultsFile[80]; 216 extern int loggedIn; 217 extern int reinitPlanets; 218 extern int lastUpdate[]; 219 extern int timerDelay; 220 extern int redrawDelay; 221 extern int reportKills; 222 extern int phaserWindow; 223 224 #ifdef PHASER_STATS 225 extern int phaserShowStats; 226 extern int phaserStatTry; 227 extern int phaserStatHit; 228 229 #endif 230 extern int censorMessages; 231 232 extern int showTractor; 233 extern int commMode; /* UDP */ 234 extern int commModeReq; /* UDP */ 235 extern int commStatus; /* UDP */ 236 extern int commSwitchTimeout; /* UDP */ 237 extern int udpTotal; /* UDP */ 238 extern int udpDropped; /* UDP */ 239 extern int udpRecentDropped; /* UDP */ 240 extern int udpSock; /* UDP */ 241 extern int udpDebug; /* UDP */ 242 extern int udpClientSend; /* UDP */ 243 extern int udpClientRecv; /* UDP */ 244 extern int udpSequenceChk; /* UDP */ 245 extern int weaponUpdate; 246 247 #ifdef GATEWAY 248 extern int gw_serv_port, gw_port, gw_local_port; /* UDP */ 249 extern char *gw_mach; /* UDP */ 250 251 #endif 252 extern int baseLocalPort; /* UDP and TCP */ 253 254 255 extern int showTractorPressor; 256 extern int showLock; 257 extern int showPhaser; 258 extern int logmess; 259 extern int continuetractor; 260 extern int tcounter; 261 extern int autoKey; 262 extern int extraBorder; 263 264 /* udp options */ 265 extern int tryUdp, tryUdp1; 266 267 extern int debug; 268 269 extern double Sin[], Cos[]; 270 271 extern W_Icon stipple, clockpic, icon; 272 273 #define VIEWS 16 274 #define NUM_TYPES 8 275 extern W_Icon expview[EX_FRAMES]; 276 extern W_Icon sbexpview[SBEXPVIEWS]; 277 extern W_Icon cloud[NUMDETFRAMES]; 278 extern W_Icon plasmacloud[NUMDETFRAMES]; 279 extern W_Icon etorp, mtorp; 280 extern W_Icon eplasmatorp, mplasmatorp; 281 282 #ifdef VSHIELD_BITMAPS 283 #define SHIELD_FRAMES 5 284 extern W_Icon shield[SHIELD_FRAMES], cloakicon; 285 extern int VShieldBitmaps; 286 287 #else 288 extern W_Icon shield, cloakicon; 289 290 #endif 291 292 extern W_Icon tractbits, pressbits; 293 extern W_Icon fed_bitmaps[NUM_TYPES][VIEWS], kli_bitmaps[NUM_TYPES][VIEWS], 294 rom_bitmaps[NUM_TYPES][VIEWS], ori_bitmaps[NUM_TYPES][VIEWS], ind_bitmaps[NUM_TYPES][VIEWS], 295 ROMVLVS_bitmap[VIEWS]; 296 extern W_Icon bplanets[7]; 297 extern W_Icon mbplanets[7]; 298 extern W_Icon bplanets2[8]; 299 extern W_Icon mbplanets2[8]; 300 extern W_Icon bplanets3[NUM_PLANET_BITMAPS2]; /* isae: added this */ 301 extern W_Icon mbplanets3[NUM_PLANET_BITMAPS2]; /* isae: added this */ 302 extern W_Icon noinfoplanet; 303 extern W_Color borderColor, backColor, textColor, myColor, warningColor, 304 shipCol[5], rColor, yColor, gColor, unColor, foreColor; 305 306 /* jn - SMARTMACRO */ 307 extern char lastMessage[]; 308 extern int MacroNum; 309 extern char *classes[]; 310 extern char teamlet[]; 311 extern char *teamshort[]; 312 extern char pseudo[PSEUDOSIZE]; 313 extern char defpasswd[PSEUDOSIZE]; 314 extern char login[PSEUDOSIZE]; 315 316 extern struct rank default_ranks[DEFAULT_NUMRANKS]; 317 extern struct rank *ranks; 318 extern int nranks; 319 320 extern W_Window messagew, w, mapw, statwin, baseWin, infow, iconWin, tstatw, 321 war, warnw, helpWin, teamWin[4], qwin, messwa, messwt, messwi, 322 messwk, planetw, rankw, playerw, optionWin, reviewWin; 323 extern W_Window scanw, udpWin, phaserwin; 324 325 #ifdef SHORT_PACKETS 326 extern W_Window spWin; 327 328 #endif 329 330 #ifdef NBT 331 extern W_Window macroWin; 332 333 #endif 334 335 extern int ping; /* to ping or not to ping */ 336 extern LONG packets_sent; /* # all packets sent to * 337 338 * 339 * * server */ 340 extern LONG packets_received; /* # all packets received */ 341 extern W_Window pStats; 342 343 extern char deathmessage[80]; 344 extern char outmessage[]; 345 extern char *xdisplay_name; 346 347 extern int UseNewDistress; 348 extern int UseNewMacro; 349 extern int UseSmartMacro; 350 extern int rejectMacro; 351 extern int maskrecip; 352 extern unsigned char singleMacro[MAX_MACRO]; 353 354 355 extern int enemyPhasers; 356 357 extern char cloakChars[3]; 358 359 extern int showIND; 360 extern int newPlist; 361 362 363 extern struct dmacro_list *distmacro; 364 extern struct dmacro_list dist_defaults[]; 365 extern struct dmacro_list dist_prefered[]; 366 extern int sizedist; 367 368 #ifdef BEEPLITE 369 extern char *distlite[]; 370 extern int UseLite; 371 extern int DefLite; 372 extern int emph_planet_seq_n[]; 373 extern int emph_player_seq_n[]; 374 extern W_Icon emph_planet_seq[]; 375 extern W_Icon emph_player_seq[]; 376 extern W_Icon emph_player_seql[]; 377 378 #define emph_planet_seq_frames 5 379 #define emph_planet_seq_width 24 380 #define emph_planet_seq_height 24 381 #define emph_player_seq_frames 3 382 #define emph_player_seq_width 24 383 #define emph_player_seq_height 24 384 #define emph_player_seql_frames 3 385 #define emph_player_seql_width 30 386 #define emph_player_seql_height 30 387 extern int beep_lite_cycle_time_player; 388 extern int beep_lite_cycle_time_planet; 389 extern int liteflag; 390 extern char F_beeplite_flags; 391 392 extern int tts_len; 393 extern int tts_max_len; 394 extern int tts_width; 395 extern int tts_timer; 396 extern int tts_time; 397 extern int tts_pos; 398 extern char lastIn[100]; 399 400 #endif /* BEEPLITE */ 401 402 #ifdef RCM 403 extern struct dmacro_list rcm_msg[]; 404 405 #endif 406 407 extern int highlightFriendlyPhasers; 408 409 #ifdef IGNORE_SIGNALS_SEGV_BUS 410 /* Handle (hopefully) non-fatal segmentation and bus faults. */ 411 extern int ignore_signals; 412 413 #endif 414 415 #ifdef MOTION_MOUSE 416 extern int motion_mouse; 417 extern int user_motion_thresh; 418 extern int motion_mouse_enablable; 419 extern int motion_mouse_steering; 420 421 #endif 422 423 #ifdef SHIFTED_MOUSE 424 extern int extended_mouse; 425 426 #endif 427 428 extern int ignoreCaps; 429 430 #ifdef MOUSE_AS_SHIFT 431 extern int mouse_as_shift; 432 extern int b1_as_shift; 433 extern int b2_as_shift; 434 extern int b3_as_shift; 435 436 #endif 437 438 #ifdef TNG_FED_BITMAPS 439 extern int use_tng_fed_bitmaps; 440 extern W_Icon tng_fed_bitmaps[NUM_TYPES][VIEWS]; 441 442 #endif 443 444 #ifdef VARY_HULL 445 extern W_Icon hull[]; 446 extern int vary_hull; 447 448 #endif 449 450 #ifdef XTREKRC_HELP 451 extern W_Window defWin; 452 453 #endif 454 455 #ifdef CONTROL_KEY 456 extern int use_control_key; 457 458 #endif 459 460 #ifdef DOC_WIN 461 extern W_Window docwin, xtrekrcwin; 462 extern int maxdoclines, maxxtrekrclines; 463 464 #endif 465 466 extern W_Icon bplanets4[8]; 467 extern W_Icon mbplanets4[8]; 468 469 #ifdef REFRESH_INTERVAL 470 extern int refresh_interval; 471 472 #endif 473 474 extern int max_fd; 475 476 #ifdef TOOLS 477 extern W_Window toolsWin; 478 extern int shelltools; 479 extern struct key_list macroKeys[MAX_KEY]; 480 extern unsigned char keys[MAX_KEY]; 481 extern char *wwwlink; 482 extern char *upgradeURL; 483 extern char *releaseURL; 484 extern char *bugURL; 485 486 #endif 487 488 #ifdef SOUND 489 #include "sound.h" 490 extern int sound_init; 491 extern int sound_toggle; 492 extern char *sounddir; 493 extern W_Window soundWin; 494 495 #endif 496 497 #ifdef HOCKEY_LINES 498 extern struct s_line s_lines[NUM_HOCKEY_LINES + 1]; 499 extern int normal_s_lines; 500 extern int hockey_s_lines; 501 502 #endif 503 504 #ifdef MULTILINE_MACROS 505 extern int multiline_enabled; 506 507 #endif 508 509 #ifdef FEATURE_PACKETS 510 extern int F_feature_packets; 511 512 #endif 513 514 extern int F_cloak_maxwarp; 515 extern int F_self_8flags; 516 extern int F_self_8flags2; 517 extern int F_ship_cap; 518 extern int F_sp_generic_32; 519 extern char A_sp_generic_32; 520 extern int F_agri_pix; 521 522 #ifdef WARP_DEAD 523 extern int F_dead_warp; 524 525 #endif 526 527 extern int F_many_self; 528 529 extern int F_many_self; 530 531 #ifdef UDP_PORTSWAP 532 extern int portSwap; 533 #endif 534 535 extern int F_show_all_tractors; 536 extern int fastGuest; 537 extern int identityBlind; 538 extern int versionHide; 539 extern int F_sp_rank; 540 extern int F_sp_ltd; 541 extern int F_tips; 542 extern char *program; 543 extern int small_screen; 544 #endif /* _h_data */ 545