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