1This file contains the most recent changes to the COW client, with example
2.xtrkrc options to deal with them, and the clips from the documentation that
3explain them. If you're upgrading from an old version of COW, this file should
4make it a painless experience.
5
6*****************************************************************
71) Change Log
8*****************************************************************
91.02 pl2 Feb. 20, 1995
10- One year expire time [siegl]
11- put back sortPlayers option for unsorted playerlist [Soutter]
12- send full update request when joining [siegl]
13- Fixed some bugs with galactic map updates [Soutter]
14- Fixed some bugs with color map allocations [siegl]
15- Added sample xtrekrc file to the docs [siegl]
16- audio.c: replaced SIGCLD with SIGCHLD [ahabig]
17- config.h.in: include stdio.h for suns [gosselin]
18
191.02 pl1 Feb. 9, 1995
20- phaserShrink option to remove the bottom of your phaser [Soutter]
21- change TTS Y-location [Joseph]
22- Ignore Caps_Lock on key events [sheldon (taken from SWINE)]
23- Race Colors [Kellen]
24- removed message handler for Dashboard [Siegl]
25- fixed multi-line macro bug [Soutter]
26- metserver window rewritten [Soutter,Kellen]
27- playerlist window rewritten [Soutter]
28- The player list is now always sorted and so the "sortPlist"
29 option has been removed [Soutter]
30- The key "/" now changes the playerlist style rather than selecting
31 between sorted and unsorted player lists [Soutter]
32- Reimplemented the option "showPlanetOwner". [Soutter]
33- New layout for the option menus [Soutter].
34- Removed the options "mapmode" and "showShields". Effectively,
35 these options are now treated as always being true [Soutter]
36- Added range checking on the options "showlocal", "showgalactic", and
37 "showLock" [Soutter]
38- Redraw the galactic map when you change teams [Soutter].
39- All handlers (both for X events and for packets) now return a void
40 rather than an integers. This fixes some compiler errors [Soutter].
41
42*****************************************************************
432) Cut and past changes to make COW work like it used to.
44*****************************************************************
45
46sortPlayers: on
47#
48# The default for "sortPlayers" is a bit strange and so we recommend
49# that you set the "sortPlayers" option in your .xtrekrc. The following
50# will impose the old default.
51#
52
53
54ignoreCaps: off
55#
56# By default, the caps lock key is now ignored. If you would like
57# the old behaviour then set "ignoreCaps" to "off".
58#
59
60*****************************************************************
613) Cut and past changes to turn on *all* new features.
62*****************************************************************
63
64phaserShrink: 10
65#
66# possible values: 0-16
67#
68# Don't draw the first <phaserShrink>/16 th of your phaser. This makes
69# it easier to see incoming torps.
70#
71# Most people who tested this feature really like it (even thought it
72# sounds weird).
73#
74
75
76playerListStyle: 3
77#
78# possible values: 0-4
79#
80# This is a new way of choosing which playerlist you want, although
81# newPlist still works. Options are:
82#
83# (0) Custom player list as defined by the
84# playerlist variable above,
85# (1) Old player list,
86# (2) Traditional COW player list,
87# (3) Kill watch player list,
88# (4) BRMH Player list.
89#
90# If "playerListStyle" is set, newPlist is ignored.
91# Use the options menu (shift-O) to try the different styles.
92#
93# The "Kill watch player list" is a new built in style. It makes scanning
94# kills easier and it shows the kind of thing klew players were already
95# doing with the "playerlist" option.
96#
97
98
99partitionPlist: on
100#
101# Add blank lines to a sorted player list to separate the
102# different teams.
103#
104
105
106metaCache: .metaCache
107#
108# Enable caching of meta-server information into the file
109# "$HOME/.metaCache".
110#
111# Use "cow -k" to use the cached information rather than waiting
112# to contact the metaServer.
113#
114# For more details, see the "MetaServer Options" manual in
115# section (4).
116#
117
118
119metaStatusLevel: 4
120#
121# Select the level of detail to be displayed on the meta-server window.
122#
123# The status levels are coded as follows.
124#
125# 0 Servers which have players but not a wait queue.
126# 1 + Servers with a wait queue.
127# 2 + Servers with nobody playing. (see NOTE1).
128# 3 + Servers which have Timed Out for the MetaServer (see NOTE2).
129# 4 + Servers which the MetaServer has not been able to connect to.
130#
131
132
133ignoreCaps: on
134#
135# By default, the caps lock key is now ignored and so this is not
136# strictly necessary.
137#
138
139
140showPlanetOwner: on
141#
142# showPlanetOwner is an old feature that has been reimplemented.
143# When on, the appropriate race letter is drawn next to each
144# planet on the galactic.
145#
146
147tts_time: 25
148#tts_max_len:
149#tts_font:
150#tts_color: ivory
151tts_pos: 20
152#
153# Some of these are new TTS options. This set of parameters moves any TTS
154# messages to near the top of the screen. tts_pos is # of pixels down from the
155# top to print the message, the other parameters allow control of how the text
156# looks.
157
158color.Rom: tomato
159color.Kli: green2
160color.Ori: light steel blue
161color.Fed: goldenrod
162color.Ind: aliceblue
163#
164# You can use these resources to change the colors of the race's bitmaps,
165# without messing up the border colors and things from the old style
166# "color.red" resources.
167
168****************************************************************
1694) New manual sections
170****************************************************************
171
172
173MetaServer Options
174==================
175
176The MetaServer and the MetaServerCache are provided to help you find a
177netrek game to join. Both services provide a list of the popular
178netrek servers. The MetaServer is neat because provides information
179on the number of players at each site. The MetaServerCache is neat
180because it is much faster if you can guess where a game will be.
181
182To access the MetaServer, use the command line switch "-m". For
183example "cow -m". To access the MetaServerCache, use the "-k" switch
184instead.
185
186
187
1881) Where to find the MetaServer:
189
190You can use the options "metaport" and "metaserver" to point COW
191to a new MetaServer. The defaults for these options are:
192
193 metaport: 3521
194 metaserver: metaserver.ecst.csuchico.edu
195
196
1972) How to create a list of known servers for the MetaServerCache:
198
199Before you can use the MetaServerCache, you must give COW a file in
200which to cache the information from the MetaServer. Use the .xtrekrc
201option "metaCache" to specify this file. The files path will be
202relative to your home directory unless you start the file name with a
203slash (/).
204
205For example, to set the cache file to "~/.metaCache" use:
206
207 metaCache: .metaCache
208
209Unlike the MetaServer, the MetaServerCache will not show the number of
210people playing at a server. If a server is contactable, it will be
211shown as "Active".
212
213
2143) How much information will be shown:
215
216You can now control the amount of information that the MetaServer
217displays for you by setting the "metaStatusLevel" flag. The default
218is:
219
220 metaStatusLevel: 3
221
222
223The status levels are coded as follows.
224
2250 Servers which have players but not a wait queue.
2261 + Servers with a wait queue.
2272 + Servers with nobody playing. (see NOTE1).
2283 + Servers which have Timed Out for the MetaServer (see NOTE2).
2294 + Servers which the MetaServer has not been able to connect to.
230
231NOTE1: When using the MetaServerCache, "metaStatusLevel" values of
232less than 3 are treated as the value 3. This minimum is enforced
233because the cache does not attempt to show the number of people
234playing at a site.
235
236NOTE2: If you are a long way from the MetaServer, you are advised to
237ignore TimeOut errors. For example, the MetaServer in America may
238have difficulty contacting to a server in Holland while the link from
239England to Holland is very good.
240
241
2424) The Fallback
243
244If you attempt to contact the MetaServer, and the connection times
245out, COW will try to show the MetaServerCache instead.
246
247Similarly, if you attempt to use the MetaServerCache, and your
248"metaCache" file does not exist, COW will attempt to call
249theMetaServer.
250
251
252
253Player List Options
254===================
255
2561) Configurable Player List:
257
258 I've added a new .xtrekrc option called "playerlist" what it allows
259you to do is specify which columns of the player list you want to show
260and in what order. The following is a table of the available columns.
261
262Spc Let Name Header
263--- --- -------------------- -------------------
264 3 'n' Ship Number " No"
265 3 'T' Ship Type " Ty"
266 11 'R' Rank " Rank "
267 17 'N' Name " Name "
268 6 'K' Kills " Kills"
269 17 'l' Login Name " Login "
270 6 'O' Offense " Offse"
271 6 'W' Wins " Wins"
272 6 'D' Defense " Defse"
273 6 'L' Losses " Loss"
274 6 'S' Total Rating (stats) " Stats"
275 6 'r' Ratio " Ratio"
276 8 'd' Damage Inflicted(DI) " DI"
277 1 ' ' White Space " "
278PLIST1
279 6 'B' Bombing " Bmbng"
280 6 'b' Armies Bombed " Bmbed"
281 6 'P' Planets " Plnts"
282 6 'p' Planets Taken " Plnts"
283 17 'M' Display/Host Machine " Host Machine "
284 7 'H' Hours Played " Hours "
285 6 'k' Max Kills " Max K"
286 6 'V' Kills per Hour " KPH"
287 6 'v' Deaths per Hour " DPH"
288PLIST2
289 9 'w' War staus " War Stat"
290 3 's' Speed " Sp"
291
292So for example if you just wanted to see names and rank you'd add this
293line to your .xtrekrc:
294
295playerlist: NR
296
297 In order for this mod to be in effect you must compile with PLIST
298defined, otherwise you will get either of the two currently available
299defaults. The things shown after PLIST1 are only available if you
300have PLIST1 defined, the same goes for the things after PLIST2, but
301you must have PLIST defined or neither of these will do anything.
302
303dave
304gosselin@ll.mit.edu
305
306
307NOTE FROM SOURCE KEEPER:
308PLIST2 is not active in BRM currently. Some players feel that placing
309speed on the playerlist gives a strategic advantage.
310
311NOTE ON SB STATS :
312On servers which support the SBHOURS .feature, you will see slightly
313different things when you info a SB, or show the SB player on the
314playerlist. The usual offense and defense lines are replaced with SB
315kills/hour and deaths/hour. The kills, deaths, hours and ratio entries
316are all the player's SB stats as long as he is in the SB, and his normal
317stats otherwise.
318
319
3202) Predefined "playerlist" styles:
321
322For your viewing pleasure we have predefined some playerlist layouts
323that you might like to try. These predefined styles can be selected
324using the "playerListStyle" option in your .xtrekrc or by using the
325options menu (shift-O).
326
327The "playerListStyle" options are:
328
329 0: Custom style = playerlist
330 1: Old style = "nTRNKWLr O D d "
331 2: COW style = "nTR N K lrSd"
332 3: Kill watch style = "nTK RNlr Sd"
333 4):BRMH style = "nTR N K l M"
334
335
336For backward compatability, the option "newPlist" will still select
337between the old style playerlist (off) and the COW style playerlist
338(on) if the "playerListStyle" option does not appear in your .xtrekrc.
339
340
3413) The "partitionPlist" option:
342
343Lets face it, the main role of the player list is so that you can keep
344track of who has kills.
345
346To make life easier, the player list is sorted so that enemy and
347friendly teams are always in the same place in the list. However, in
348mono it is not immediatly obvious where one team starts and another
349team ends. If the "partitionPlist" option is "on", white space will
350be added to the player list to separate your teams from the other
351teams and the players entering the game. In color, this option is not
352usually required because the teams are distinct anyway.
353
354Race Colors README
355------------------
356You can now change the color in which a given race is drawn *without*
357having to also change other objects currently drawn in the same color.
358
359The race color defaults to the color in which the race is normally drawn
360(ie, Roms are drawn in color.red, which itself defaults to red).
361
362This option defaults transparently to off and uses up NO CPU time in
363normal play. (so there :-b)
364
365resource default resource default color
366---------- ------------------ -------------
367color.Ind: color.light grey light grey
368color.Fed: color.yellow yellow
369color.Rom: color.red red
370color.Kli: color.green green
371color.Ori: color.cyan cyan
372
373###############################################################
374# Example .xtrekrc lines
375color.Rom: tomato
376color.Kli: green2
377color.Ori: light steel blue
378
379
1This file contains the most recent changes to the COW client, with example
2.xtrekrc options to deal with them, and the clips from the documentation that
3explain them. If you're upgrading from an old version of COW, this file should
4make it a painless experience.
5
6*****************************************************************
71) Change Log
8*****************************************************************
9
103.00 pl3 Jan. 2, 2000
11- Expiry date removed [siegl]
12- minor bugfixes [various authors]
13
143.00 pl2 Jan. 7, 2000
15- New default portSwap for UDP_PORTSWAP feature [siegl]
16- System wide .xtrekrc file set to "/etc/netrekrc" [siegl]
17- Cambot recording replay [koconnor]
18- various Win32 fixes [siegl]
19- V,B core dump with rabit ears fix [siegl]
20- remove DEFINES (BRMH NEW_DASHBOARD_2 RABBIT_EARS) [siegl]
21- MAX_MACRO increased to 255 [siegl]
22- -B options for automatic bug sumition [siegl]
23- new sample netrekrc file [siegl]
24- WindowMaker docking support [siegl]
25- Win32 Sound support [siegl]
26
273.00 pl1 Mar. 27, 1999
28- Added UDP queries to the metaserver. [cameron, villalpando]
29- Added Multiple metaserver support. [cameron, villalpando]
30- Metaserver KEYGOD alias: clientkeys@clientkeys.netrek.org [villalpando]
31- New xtrekrc variables: metaverbose, metaUDPcache, metaType [cameron,
32 villalpando]
33- modified behavior of metaserver to do multiple metaservers [cameron]
34- changed metaserver menu. Added age of data and refresh button [cameron]
35- new option, -M for TCP metaserver [cameron]
36- changed option -m for UDP metaserver [cameron]
37- Port to Cygnus Win32 [siegl]
38- Autoconfig detects Cygnus Win32 [siegl]
39- Win32 fixes [Gosselin]
40- Fix Pixmap transparancy [siegl]
41- Added hockey rink background XPM on galactic [siegl]
42
433.00 pl0 Feb. 28, 1998
44- full color client [kellen]
45- metaserver defaults to: metaserver.netrek.org [sven]
46- new cow mailing list alias: cow@netrek.org [sven]
47- 32 views color pixmaps [Shawn]
48-- recording feature [koconnor]
49- KDE sound support (.wav files) [siegl]
50- Tab key fixes [koconnor]
51- OpenVMS fixes [cameron]
52- Auto upgrade via netscape [siegl]
53- whydead message fixes [siegl]
54- GMP 2 key generator fix [siegl]
55
56
57
58*****************************************************************
592) Cut and past changes to make COW work like it used to.
60*****************************************************************
61
623.00 pl0
63
64 The "-b" option disables the use of color pixmaps by the client.
65
66
67*****************************************************************
683) Cut and past changes to turn on *all* new features.
69*****************************************************************
70
713.00 pl1
72
73WARNING: Sometimes the colored ships have color disturbences
74 when having the shields up. In this case start COW
75 with the option:
76
77 [-n] use nearest colors in shared colormap
78
793.00 pl0
80
81All new .xtrekrc entrys with defaults are:
82
83# backgroundPix: 1
84# cloakPix: 1
85# explosionPix: 1
86# fedPix: 1
87# indPix: 1
88# kliPix: 1
89# mapPix: 1
90# oriPix: 1
91# romPix: 1
92# shipPix: 1
93# weaponPix: 1
94
95
96****************************************************************
974) New manual sections
98****************************************************************
99
1003.00 pl0
101
102 3.1.8 NO PIXMAPS OPTION
103
104 The "-b" option disables the use of color pixmaps by the client.
105
106
107 3.2 Pixmaps (Full Color COW)
108
109 With the release of COW 3.00, dynamic color images are available. No
110color images have been compiled into the client, so without the additional
111files (described below) the client will behave as before.
112
113 3.2.1 Setup
114
115 The xpm files should be available at the same site from which you got
116the client, in a file named pixmaps.tgz (PIXMAPS.ZIP for windows users).
117
118>>> YOU MUST DOWNLOAD AND UNPACK THIS FILE TO USE THE COLOR FEATURES. <<<
119
120 It should create a subdirectory named "pixmaps" which should have several
121(obviously named) subdirectories. There should be several XPM files in each
122(except for Planets, which has a further subdirectory). UNIX users will see
123that they are gzipped to save space. You do NOT need to ungzip them unless
124you do not have gzip on your machine.
125
126>>> DO NOT REARRANGE OR RENAME THESE FILES IF YOU WANT TO USE THEM. <<<
127
128 You need to add a line to your .xtrekrc telling the client where to look
129for the pixmaps. If you do not, it will assume that they are in a subdirectory
130of the directory you are in when you start the client. The option is called
131"pixmapDir". Tilde and environment variables WILL NOT WORK. Relative paths
132will only work if you always start netrek from the same directory.
133
134 You should be ready to rock and roll. Fire it up. You may see some
135warnings about not being able to read some pixmaps. Some of the pixmaps
136that the client looks for haven't been drawn yet. Feel free to make your
137own set. OTOH, if you see any lines which read
138
139 "TYPE <type> PIXMAPS NOT AVAILABLE"
140
141it means that none of a certain type of pixmap were found. Check to make sure
142that the pixmaps are where you told it to look. If they are, and you are on
143a UNIX system, you may not have gzip installed. Go get it from any GNU mirror
144and either install it or use it to ungzip the XPM files.
145
146 3.2.2 Configuration
147
148 In addition to simply creating your own XPMs with a paint program, you
149may want greater control over the pictures used. For example, you may find
150the explosions are too pretty, and you are dying because you forgot to dodge.
151The crude approach is to just remove that pixmap. The client will default back
152to the standard bitmaps in this case.
153
154 The more elegant approach is to turn off just those pixmaps you don't
155like and keep the rest. This also allows you to switch back and forth WITHOUT
156having to exit and restart. So if the machine you are playing on is busy
157today, you can turn off the pixmaps until things improve, then switch back to
158full color without losing your 5 kills.
159
160 Pixmaps can be turned on or off in groups on the new "Pixmap Menu" in the
161options window (shift-O). Each line in the window also corresponds to an
162.xtrekrc resource which you can use to set the initial values. If one type
163of pixmaps is not available, you will be unable to turn on that option.
164
165 resource name default description
166
167 indPix on \
168 fedPix on | Control whether or not the XPMs
169 romPix on | for the ships of a given team
170 kliPix on | should be used
171 oriPix on /
172
173 weaponPix on Torps and plasmatorps & their clouds
174 explosionPix on ship and starbase explosions
175 cloakPix on fade-in/-out and cloak icon
176 mapPix on Color Planet icons on galactic
177 (replaces the "colorgalactic" option)
178
179 backgroundPix on Background stars & genocide/gb images
180 (replaces the "babes" option)
181
182 ownerhalo off Draws a colored ring around each
183 planet on the galactic
184
185as a convenience, the option "shipPix" may be used to control all of the
186ship XPMs in one line.
187
188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
189 + POWER USERS +
190 + +
191 + The MegaResource "pixFlags" can be used in your .xtrekrc +
192 + to save a bit of typing. Simply bitwise OR together the +
193 + things you want turned off: +
194 + +
195 + 0x0001 IND pixmaps +
196 + 0x0002 FED pixmaps +
197 + 0x0004 ROM pixmaps +
198 + 0x0008 KLI pixmaps +
199 + 0x0010 ORI pixmaps +
200 + +
201 + 0x0020 Weapons +
202 + 0x0040 Explosions +
203 + 0x0080 Cloaking +
204 + 0x0100 Galactic Map Planet Icons +
205 + +
206 + 0x0400 Backgrounds +
207 + +
208 + 0x1000 Halos +
209 + +
210 + so, for exaple, no halos and no explosions would be +
211 + specified as: (0x1040=4160) +
212 + +
213 + pixFlags: 4160 +
214 + +
215 + +
216 + (Note that this OVERRIDES all the other resources) +
217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
218
219
220 If you hate them all, you can either set the "pixmapDir" to "None" or
221start the client with the -b (bitmap only) command line option. Then go ahead
222and delete all of the XPMS. Go ahead. We don't mind at all. It's not like
223we put any WORK into this ... :,-(
224
225 3.2.3 Babes/M31 and Generalized Backgrounds
226
227 Gone. You can put up any picture you like when you GENO, GB, or just
228enter or hit shift-K. Just specify the genocide.xpm, ghostbust.xpm and/or
229hello.xpm. It's really none of my business what you look at in your off time.
230
231 Absolutely no picture will be shown if you do not have an XPM in the
232specified place. It didn't belong in the client in the first place.
233
234 DEAL WITH IT.
235
236 And BTW, the ' key (quote) has the default action of retiling your local
237and galactic windows with the normal background (either black or your specified
238pixmap) to repair the damage done by the other possible pix.
239
240 3.2.4 AGRI pixmaps and FEATURE_PACKETS
241
242 The client shows a different pixmap for AGRI planets than all others.
243This was announced, voted on and overwhelmingly adopted (80%+ in favor). But
244JUST IN CASE, this option can be disabled at the server by use of the
245feature packet "AGRI_PIXMAP".
246
247 Users can choose to remove the AGRI.xpm file. The client will default
248to using the regular planet pixmap if it is missing.
249
250
251****************************************************************
2525) Changes details
253****************************************************************
254
2553.00 pl0
256
257From: James Cameron <cameron@stl.dec.com>
258Subject: COW 2.02pl2 OpenVMS Patch [Resend]
259
260The last time I built COW for OpenVMS was back in 1994, when it was
2611.01pl0. Since my department is releasing a CD-ROM to it's private
262customers I was asked to provide a variety of Netrek software, as
263pre-built binaries for OpenVMS, Digital UNIX, and others.
264
265So I took 2.02pl2 and got it working again on OpenVMS. The new DEC C
266compiler on OpenVMS was quite reasonable about the code and had no
267significant trouble. I submit the patch to you for consideration.
268
269The changes were
270
271 - removal of fopen declarations from functions, as it conflicted
272 with the OpenVMS variant of (const char *, const char *, ... )
273
274 - a macro replacement of the select() call so that OpenVMS
275 specific code could be called; the X-Windows implementation on
276 OpenVMS does not support the use of ConnectionNumber() and
277 select() to wait on X events. Code to support this was split
278 out into a new file, vmsio.c.
279
280 - suppression of the tools window behaviour, in the same manner as
281 on WIN32, since SIGCHLD and popen() are only available in recent
282 OpenVMS versions.
283
284 - minor changes to vmsutils.c to comply with ANSI standard on
285 initialisation of structures, (before I found the qualifier to
286 turn off strict ANSI checking).
287
288 - a new file config.h.vms, with OpenVMS version checking to work
289 around old versions of OpenVMS.
290
291I've attached the patch to this message in MIME format.
292
293Strangely, the patch included cflags.c changes. I'm not sure why
294cflags.c should be in the manifest ... it created a needless diff output
295for it.
296
297Would you have preferred me moving the OpenVMS specific files into a
298subdirectory?
299
300For your interest, the 1.01pl0 port I did evolved into a bridged client,
301using serial I/O that was OpenVMS specific. This allowed me to run the
302Netrek protocol over a 14k4 modem without any SLIP or PPP overhead.
303Now, of course, OpenVMS has joined the ranks of operating systems
304providing serial internet protocol layers, and so my work is no longer
305required. Moving to 33k6 also helped. ;-)
306
307--
308James Cameron (cameron@stl.dec.com)
309Digital Equipment Corporation (Australia) Pty. Ltd. A.C.N. 000 446 800
310
3113.00 pl1
312
313From: Jonathan Ellis <ellisj@cs.byu.edu>
314
315(1)
316Replaced WINSIDE #define for SMALL_SCREEN with TWINSIDE and GWINSIDE for
317independent specification of tactical and galactic sizes on machines with
318painfully small displays. (I prefer to use a smaller galactic with a
319full-size tactical.) A lot of other functions used WINSIDE besides the
320actual drawing routines--mostly computing default window geometries. I
321tried to keep it consistent with the original look, but I might have goofed
322in a couple places.
323
324(2)
325cowmain changed so that if no server is specified, it tries to connect
326to the metaserver. This is much better behavior IMHO.
327
328Note: COW.DOC states, "The compiled in default server is bronco.ece.cmu.edu"
329This seems to be outdated:
330
331grep bronco *.c *.h
332defs.h:#define DEFAULT_SERVER "bronco.ece.cmu.edu"
333
334grep DEFAULT_SERVER *.c *.h
335defaults.c: * Otherwise we try DEFAULT_SERVER. */
336defs.h:#define DEFAULT_SERVER "bronco.ece.cmu.edu"
337
338Note that the only time DEFAULT_SERVER was used is inside a comment (that,
339apparently, doesn't reflect the actual code.
340
341(3) added description of highlightFriendlyPhasers, censorMessages, and
342 the new default server behavior to COW.DOC.
343
344(4) removed from COW.DOC:
345 "Multiline macros are no-longer allowed at all.
346 Primarily this is based on network traffic arguments."
347 I suppose it's historical, but outdated documentation isn't cool.
348
349(5) Added note to COW.DOC that not specifying any plist options will
350 default to old plist. (This wasn't obvious to me because 2 is called
351 the "traditional" plist... perhaps an unintended connotation.)
352
353(6) removed from socket.c
354#ifdef FOR_MORONS
355 { /* it _is_ an 'info' borg,
356 * after all. ;-) */
357 extern int For_Morons;
358
359 if (For_Morons)
360 return;
361 }
362#endif
363
364FOR_MORONS and For_Morons appeared nowhere else.
365I assume this is obsolete code.
366
367(7) removed from data.h
368extern int babes;
369 after all, they're gone. ;)
370
371(8) merged the "Moo" docs (section 8 of COW-DOC) with the rest of it.
372 It had to happen sometime. Cope. (This includes a bunch of minor changes
373 that I won't ennumerate.)
374
375a. replaced an inaccurate line of defwin.c with
376 "warnShields", BOOL_DEF, "Shield color based on alert status",
377
378b. someone who understands the server's ntserv/socket.c needs to explain
379 what udpClientRecv really does. "simple" and "fat" don't say a whole
380 lot. I don't have time to try to learn the server-side code right now.
381
382(9) the option menu as well as the example .xtrekrc claimed that the udpDebug
383 resource took different options:
384 0 = OFF 1 = ON (conect msgs only) 2 = ON (verbose output)
385
386 but in the code, udpDebug == 1 behaved exactly the same as udpDebug == 2
387 I tried to changed this to reflect the documentation by taking out
388 all the UDPDIAG but printUdpInfo from udpDebug == 1.
389
390(10) <superceded by 11>
391
392(11) defaults.c: deleted legacy code from findDefaults dealing with server-
393 specific .xtrekrc files. The code was broken (try it: move .xtrekrc
394 to .xtrekrc-continuum, or whatever--it won't work). I don't know how
395 long it's been broken, but
396
397 if (serverName)
398 {
399 sprintf(serverfile, NETREKRCSERVER, serverName);
400 if (findfile(serverfile, file))
401 return 1;
402 sprintf(serverfile, XTREKRCSERVER, serverName);
403 if (findfile(serverfile, file))
404 return 1;
405 }
406
407 never gets executed because serverName hasn't been initialized by the
408 (first) call to findDefaults. If anybody actually used this feature
409 there would have been complaints that it was broken... since, apparently,
410 nobody really cared, I just got rid of it. Simplify, simplify. ;)
411
412Also: reread_defaults in input.c and newinput.c didn't work the way it was
413 apparently intended to if no rc file was present. In order to get it
414 to issue the warning that none was found, some things had to be
415 changed, including initializing defaultsFile in data.c to "" instead
416 of ".xtrekrc"
417
418(12) removed unused variables from dmessage.c
419 char cmupigcall[80];
420 char pigcall[160];
421
422(13) The ghost start option is still present in the code, but it doesn't
423 seem to work. I have no clue what's wrong (possibly a server problem?)
424 or if the idea is just inherently problematic. I left the documentation
425 in, though, and even added it to what -u prints out.
426
427(14) Added -i to printUsage
428
429(15) Removed from options.c
430char *mapupdates[] =
431{"Don't update galactic map",
432 "Update galactic map rarely",
433 "Update galactic map frequently",
434 ""};
435 apparently this isn't used anymore.
436
437(16) changed hard-coded geometries to be more sane, with focus on creating
438 #ifdef-d alternates for SMALL_SCREEN. Parents of some windows were
439 changed, so it should look pretty much like you'd expect without any
440 foo.geometry: in your .xtrekrc.
441
442(17) Combined newPlanetBitmaps and whichNewPlanetBitmaps resources with
443 showLocal/showGalactic. Cleaned up code in local.c. map.c doesn't
444 perform the same things local.c does with equivalent options, but
445 this is the bitmaps' fault. moobitmaps.h and rabbitbitmaps.h would
446 need to be modified extensively. That's not my department. ;)
447
448ObBugReport: cloaking doesn't display correctly on my linux machine with
449pixmaps on; there's no state in between fully cloaked and fully uncloaked.
450One update you're visible, the next you're not. Very disconcerting.
451
452Other ideas: (sort of an addenum to the TODO ;)
453
454html-ize the new COW.DOC. cow.html was more than two years out of date
455even before my changes. ;) If COW.DOC were consistant in its use of section
456and subsection numbering this could be automated.
457 a. "highlight" default value for xtrekrc options
458
459Make the xtrekrc sections of COW.DOC consistant with the shift-O menus and
460defwin.c (i.e. use the same categories for all three)
461
462********************************************************************
463March 1999
464********************************************************************
465
466(1) ------
467 Added UDP metaserver, and multiple metaserver queries to client.
468
469 Multiple metaservers is available only in UDP mode. Multiple
470 metaservers may be listed in the metaservers variable, or a host name
471 may have multiple IPs.
472
473 Client essentially sends a '?' using UDP to the metaserver(s) and
474 waits for a response. Client should expect anywhere from 0 to
475 infinite responses. Response comes back in the form:
476
477 r,NN\n
478
479 Where r is the literal 'r', and NN is the nuber of servers
480 returned. Server format is 1 per line in the following format, comma
481 separated: (from the metaserver code snippet from disp_udp.c)
482
483 sprintf(bp,"%s,%d,%d,%d,%d,%d,%c\n",
484 sp->hostname, /* host name of server */
485 sp->port, /* port number of server */
486 extendedstatus, /* metaserver status code */
487 now - sp->last_update, /* age of data in seconds */
488 sp->player_count, /* count of players on server */
489 sp->queue_size, /* length of wait queue */
490 sp->type[0] ); /* type code, B, P, etc */
491
492 Two notes are required:
493
494 1) Line length is defind in the metaserver as:
495 MAX_HOSTNAME+1 +6+1 +3+1 +6+1 +3+1 +3+1 +1+1 +1
496 host port stat age play que type \n
497
498 where MAX_HOSTNAME is
499 #define MAX_HOSTNAME 64
500
501 An example output is:
502
503 r,19
504 hp06.ee.ualberta.ca,2592,6,244,0,0,P
505 megalag.netrek.org,2592,4,1780,0,0,F
506 moore.machine2.dsl.psn.net,2592,6,1804,0,0,B
507 netrek.unh.edu,2592,6,524,0,0,B
508 paradise.games.uk.demon.net,2592,6,1604,0,0,P
509 tanya.ucsd.edu,2592,4,1781,0,0,P
510 defiant.theo-physik.uni-kiel.de,2592,3,630,0,0,P
511 europa.informatik.uni-frankfurt.de,2592,3,676,0,0,P
512 mit.netrek.org,2592,3,676,0,0,B
513 netrek.cs.mcgill.ca,2592,3,796,0,0,B
514 netrek.syd.att.net.au,2592,3,800,0,0,B
515 se.netrek.org,2592,3,864,0,0,B
516 soda.csua.berkeley.edu,2592,3,878,0,0,B
517 spamburger.openface.ca,2592,3,871,0,0,B
518 kirk.hal-pc.org,2592,2,121,1,0,B
519 continuum.us.netrek.org,2592,2,123,6,0,B
520 hockey.netrek.org,2592,2,123,6,0,H
521 monster.wormwood.org,2592,2,203,7,0,C
522 guinness.crhc.uiuc.edu,2592,1,323,0,4,B
523
524
525 2) In TCP mode, if a game server is dead, the metaserver will print
526 out sp->why_dead instead of sp->status. Since metastatuslevel
527 filters out the metaserver output based on the game server status,
528 sp->status had to be expanded in the metaserver to extended status
529 when reporting back to the client. From disp_udp.c in the
530 metaserver:
531
532 /* this if structure is to satisfy COW's server filtering based on */
533 /* the TCP ouput of the metaserver. TCP was text, this is only #s */
534 if (sp->status == SS_NOCONN )
535 extendedstatus = (sp->why_dead == WD_TIMEOUT) ? 6 : 4;
536 else
537 extendedstatus = sp->status;
538
539 And in the client, parsemeta.c:
540
541 #define SS_WORKING 0
542 #define SS_QUEUE 1
543 #define SS_OPEN 2
544 #define SS_EMPTY 3
545 #define SS_NOCONN 4
546 #define SS_INIT 5
547 /* not a real metaserver number, but overcomes a limitation of dropping */
548 /* text description of sp->why_dead */
549 #define SS_TOUT 6
550
551
552 This note is here mainly for people looking at metaserver and
553 client code at the same time.
554
555(2) ---
556 A refresh button was added to the client selection window to re-query
557 the metaservers.
558
559(3) ---
560 KEYGOD changed to clientkeys@clientkeys.netrek.org
561
562(4) ---
563 New command line option behavior was added. -m and -M set the default
564 connection type to the metaserver UNLESS metaType is defined in the
565 .xtrekrc.
566
567 -m Default to UDP
568 -M Default to TCP
569
570 Out of bounds values for metaType default to TCP.
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585