Mercurial > ~darius > hgwebdir.cgi > paradise_server
comparison src/data.c @ 2:2719a89505ba
First entry of Paradise Server 2.9 patch 10 Beta
author | darius |
---|---|
date | Sat, 06 Dec 1997 04:37:01 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1:4d6502ffaa5e | 2:2719a89505ba |
---|---|
1 /*-------------------------------------------------------------------------- | |
2 NETREK II -- Paradise | |
3 | |
4 Permission to use, copy, modify, and distribute this software and its | |
5 documentation, or any derivative works thereof, for any NON-COMMERCIAL | |
6 purpose and without fee is hereby granted, provided that this copyright | |
7 notice appear in all copies. No representations are made about the | |
8 suitability of this software for any purpose. This software is provided | |
9 "as is" without express or implied warranty. | |
10 | |
11 Xtrek Copyright 1986 Chris Guthrie | |
12 Netrek (Xtrek II) Copyright 1989 Kevin P. Smith | |
13 Scott Silvey | |
14 Paradise II (Netrek II) Copyright 1993 Larry Denys | |
15 Kurt Olsen | |
16 Brandon Gillespie | |
17 --------------------------------------------------------------------------*/ | |
18 | |
19 | |
20 #include "config.h" | |
21 #include "defs.h" | |
22 #include "struct.h" | |
23 #include "data.h" | |
24 | |
25 char *argv0; | |
26 | |
27 int oldalert = PFGREEN; /* Avoid changing more than we have to */ | |
28 int remap[9] = {0, 1, 2, -1, 3, -1, -1, -1, 4}; | |
29 int selfdest; | |
30 int lastm; | |
31 int delay; /* delay for decaring war */ | |
32 int rdelay; /* delay for refitting */ | |
33 int mustexit = 0; | |
34 int keeppeace = 0; | |
35 char *shipnos = "0123456789abcdefghijklmnopqrstuvwxyz"; | |
36 int sock = -1; | |
37 int xtrekPort = 2592; | |
38 int shipPick; | |
39 int tmpPick = (int) CRUISER; /* just to assign something :) */ | |
40 int teamPick; | |
41 int repCount = 0; | |
42 char namePick[16]; | |
43 char passPick[16]; | |
44 int inputMask = -1; | |
45 int nextSocket; | |
46 char *host; | |
47 int noressurect = 0; | |
48 int userVersion = 0, userUdpVersion = 0; | |
49 int timerDelay = 200000; /* delay between sending stuff to client */ | |
50 char testdata[KEY_SIZE]; | |
51 int RSA_Client; | |
52 char RSA_client_type[256]; /* LAB 4/1/93 */ | |
53 int testtime = -1; | |
54 int chaos = 0; | |
55 int topgun = 0; /* added 12/9/90 TC */ | |
56 int hourratio = 1; /* Fix thing to make guests advance fast */ | |
57 int blk_flag = 0; /* added 1/19/93 KAO */ | |
58 int udpSock = (-1); /* UDP - the almighty socket */ | |
59 int commMode = 0; /* UDP - initial mode is TCP only */ | |
60 int blk_metaserver = 0; /* 1 if this call is from meta-server */ | |
61 char *galaxyValid; /* 0 if galaxy invalid */ | |
62 | |
63 #ifdef FEATURE /* plus defaults, to protect client */ | |
64 int F_feature_packets = 1; /* allow feature packets */ | |
65 int F_allowViewBox = 1; /* allow view box */ | |
66 int F_allowShowAllTractorPressor = 1; /* allow all tracts/presses */ | |
67 int F_allowContinuousMouse = 1; /* allow continuous mouse */ | |
68 int F_UseNewMacro = 1; /* allow new macros */ | |
69 int F_UseSmartMacro = 1; /* Allow smart macros */ | |
70 int F_multiline_enabled = 1; /* Allow multiline macros */ | |
71 int F_why_dead = 1; /* Allow why_dead reporting */ | |
72 int F_cloakerMaxWarp = 1; /* Allow cloaker to go maxwarp */ | |
73 int F_gen_distress = 0; /* No RCDs (not yet implemented in server) */ | |
74 int F_allow_beeplite = 0; /* No RCDs ==> no allowed beeplite */ | |
75 unsigned char F_beeplite_flags; /* flags for beeplite */ | |
76 int F_terrain = 0; /* Client isn't capable of terrain by default */ | |
77 unsigned char F_terrain_major; /* Major terrain version client can handle */ | |
78 unsigned char F_terrain_minor; /* Minor terrain version client can handle */ | |
79 int F_gz_motd = 0; /* Client can't handle GZipped MOTD packets */ | |
80 unsigned char F_gz_motd_major; /* Major gzipped format client can handle */ | |
81 unsigned char F_gz_motd_minor; /* Minor gzipped format client can handle */ | |
82 #endif | |
83 | |
84 double oldmax = 0.0; | |
85 | |
86 extern double Sin[], Cos[]; /* Initialized in sintab.c */ | |
87 | |
88 char pseudo[PSEUDOSIZE]; | |
89 char login[PSEUDOSIZE]; | |
90 | |
91 #ifdef RANKS2 | |
92 struct rank ranks[NUMRANKS] = | |
93 { | |
94 /* genos DI batl strat spec name */ | |
95 {0, 0, 0.00, 0.0, 0.0, "Recruit"}, | |
96 {1, 10, 0.30, 0.3, 0.0, "2nd Mate"}, | |
97 {2, 25, 0.40, 0.6, 0.0, "1st Mate"}, | |
98 {3, 45, 0.50, 0.9, 0.0, "Bosun"}, | |
99 {4, 70, 0.70, 1.2, 0.0, "Ensign"}, | |
100 {5, 100, 0.90, 1.5, 0.0, "2nd Lieutenant"}, | |
101 {6, 140, 1.10, 2.0, 0.0, "1st Lieutenant"}, | |
102 {8, 190, 1.30, 2.5, 0.0, "Lt. Cmdr."}, | |
103 {10, 250, 1.50, 3.0, 0.5, "Commander"}, | |
104 {15, 300, 1.80, 3.5, 0.7, "Battle Cmdr."}, | |
105 {18, 350, 2.00, 4.0, 1.0, "Captain"}, | |
106 {25, 400, 2.10, 4.3, 2.5, "Fleet Capt."}, | |
107 {50, 500, 2.15, 4.8, 3.0, "Commodore"}, | |
108 {75, 700, 2.20, 5.3, 3.3, "Rear Adml."}, | |
109 {100, 900, 2.25, 5.7, 3.6, "Admiral"}, | |
110 {200, 1200, 2.30, 6.0, 3.8, "Grand Adml."}, | |
111 {300, 1700, 2.35, 6.1, 4.0, "Moff"}, | |
112 {500, 2500, 2.40, 6.2, 4.2, "Grand Moff"} | |
113 }; | |
114 #ifdef CASSIUS_ROYALTY | |
115 struct royalty royal[NUMROYALRANKS] = { | |
116 {"none"}, | |
117 {"Wesley"}, | |
118 {"Footslog"}, | |
119 {"COMMODORE"}, | |
120 {"Dread"}, | |
121 {"Agent"}, | |
122 {"Gorilla"}, | |
123 {"Lord"}, | |
124 {"Emperor"}, | |
125 {"Q"} | |
126 }; | |
127 #else | |
128 struct royalty royal[NUMROYALRANKS] = { | |
129 {"none"}, | |
130 {"Wesley"}, | |
131 {"Agent"}, | |
132 {"Emperor"}, | |
133 {"Q"} | |
134 }; | |
135 #endif /* Royalty */ | |
136 #else | |
137 struct rank ranks[NUMRANKS] = | |
138 { | |
139 /* gen DI batl strat spec name */ | |
140 {0, 0, 0.00, 0.0, 0.0, "Recruit"}, | |
141 {1, 10, 0.30, 0.3, 0.0, "Specialist"}, | |
142 {2, 25, 0.40, 0.6, 0.0, "Cadet"}, | |
143 {3, 45, 0.50, 0.9, 0.0, "Midshipman"}, | |
144 {4, 70, 0.70, 1.2, 0.0, "Ensn., J.G."}, | |
145 {5, 100, 0.90, 1.5, 0.0, "Ensign"}, | |
146 {6, 140, 1.10, 2.0, 0.0, "Lt., J.G."}, | |
147 {8, 190, 1.30, 2.5, 0.0, "Lieutenant"}, | |
148 {10, 250, 1.50, 3.0, 0.5, "Lt. Cmdr."}, | |
149 {15, 300, 1.80, 3.5, 0.7, "Commander"}, | |
150 {18, 350, 2.00, 4.0, 1.0, "Captain"}, | |
151 {25, 400, 2.10, 4.3, 2.5, "Fleet Capt."}, | |
152 {50, 500, 2.15, 4.8, 3.0, "Commodore"}, | |
153 {75, 700, 2.20, 5.3, 3.3, "Moff"}, | |
154 {100, 900, 2.25, 5.7, 3.6, "Grand Moff"}, | |
155 {300, 1200, 2.30, 6.0, 3.8, "Rear Adml."}, | |
156 {700, 1700, 2.35, 6.1, 4.0, "Admiral"}, | |
157 {1000, 2500, 2.40, 6.2, 4.2, "Grand Adml."} | |
158 }; | |
159 | |
160 struct royalty royal[NUMROYALRANKS] = { | |
161 {"none"}, | |
162 {"Wesley"}, | |
163 {"Centurion"}, | |
164 {"Praetor"}, | |
165 {"Q"} | |
166 }; | |
167 #endif | |
168 | |
169 /* ping stuff */ | |
170 int ping = 0; /* to ping or not to ping, client's decision */ | |
171 long packets_sent = 0; /* # all packets sent to client */ | |
172 long packets_received = 0; /* # all packets received from client */ | |
173 int ping_ghostbust = 0; /* ghostbust timer */ | |
174 | |
175 | |
176 char _PARAVERS[] = "@(#)version 2.4 patch 10 ALPHA"; | |
177 char *PARAVERS = &(_PARAVERS[4]); | |
178 char MCONTROL[] = "CONTROL->"; | |
179 char UMPIRE[] = "Umpire "; | |
180 /* for sending messages from GOD/Server to others */ | |
181 char MSERVA[] = "SRV->ALL"; | |
182 char SERVNAME[] = "SRV"; |