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
101.03 pl1
11- map/unmap the motd window button [dearing]
12- RCD docs update [ahabig]
13- FTP server switched from infant2 to bigbang [ahabig]
14- SGI X crash bug fixed [siegl]
15- security enhancements [siegl]
16
171.03 pl0
18- configurable destination macro keys [siegl]
19- added lots of tricks to XTREKRC.example [siegl]
20- invalid robots race char fix [siegl]
21- upgraded to autoconfig 2 [siegl]
22- add external rint() replacement function [siegl]
23 Fixes by  [Soutter]
24*  Added a playerlist option "sortMyTeamFirst".
25*  Added phaser shrink options "shrinkPhaserOnMiss" and "theirPhaserShrink".
26*  map() now has its own module and is a little faster I think.
27*  local() now has its own module and is a little faster I think.
28*  Bug fixed: Lock symbol sometimes blurs on the galactic.
29*  Bug fixed: Macros of the form "mac.<key>: <defn>" don't work.
30*  Bug fixed: Tractors sometimes drawn out of place if shrinkPhasers used.
31*  Bug fixed: Local map not updated until you first move.
32*  Bug fixed: Playerlist kills not updated when you first enter the game.
33*  Bug fixed: Some buttons in the Short Packet window are not always drawn.
34*  Bug fixed: When two ships overlap, the resulting color is sometimes black.
35*  Bug fixed: Planets on the galactic are sometimes partially erased.
36*  Bug fixed: You can write slightly longer messages than can be sent.
37*  Bug improved: Stationary players can be hidden by planets on the galactic.
38*  Bug fixed: When observing a player, the dashboard does not show
39        torps, kills or max armies as it would in normal mode.
40*  Bug Fixed: Holding down the `n' key for a few seconds will crash the client.
41*  Bug fixed: Obviously dead torps/phasers/plasmas are sometimes drawn.
42*  Bug fixed: The why-dead message is slightly different after window refresh.
43*  Bug Fixed: Failed meta-server reads effect the metaCache file.
44*  Bug Fixed: No positive feedback of selection from the meta-server window.
45
46
47*****************************************************************
482)  Cut and past changes to make COW work like it used to.
49*****************************************************************
50
511.03 pl1
52
53The WQ window looks different now and there's no way to get back
54the old one ;)
55
561.03 pl0
57
58No changes visible exept all the bug fixes :)
59
60*****************************************************************
613)  Cut and past changes to turn on *all* new features.
62*****************************************************************
63
641.03 pl1
65
66No new features
67
681.03 pl0
69
70#
71# Set symbolic names for macro
72# key.[key].[dest]:	[name of key]
73# If the destination isn't specified the key default to team.
74# Set the actual destination by sending a message:
75#	set [name of key] [destination id]
76# to the shell ("!")
77#
78key.C:		captain
79# Set Captian  to target player
80mac.^C.!:	set captain %g
81# Macros to the captain.
82mac.o.C:        Hi Captain let me suggest a base ogg?
83#
84key.B:		base
85# Set Base to target player
86mac.^B.!:       set base %g
87# Macros to the Base
88mac.a.B: 	BASE: Free armies for me?
89#
90key.m.A:        me
91# set the me (m) key to myself
92mac.^m.!:	set me %c
93# some Macro sent to myself
94mac.t.m:        TIME
95
96
97
98theirPhaserShrink: 6
99#
100#  Range: 0-16
101#
102#  How much to shrink everybody else's phasers by.  "phaserShrink"
103#  still effects your own phasers.
104#
105
106
107shrinkPhaserOnMiss: on
108#
109#  If on, a phaser is shrunk even if the phaser does not hit.
110#
111
112
113sortMyTeamFirst: on
114#
115#  This option only applies if "sortPlayers" is on.
116#
117#  With this option, the playerlist is order with your team at the top.
118#  Otherwise, the playerlist has the enemy team(s) first.
119#
120
121
122****************************************************************
1234) New manual sections
124****************************************************************
125
126***************************************************************
127* Symbolic names for macro destinations - Kurt Siegl 27/4/95
128***************************************************************
129
130You always wanted to send a macro directly to the captain, base,
131or the second SC bomber?
132
133Symbolic macro keys will solve your problems. Here how it goes:
134
135In the .xtrekrc file you assign a key to a symbolic name:
136
137	 key.[key].[dest]:	[name of key]
138
139If the destination isn't specified the key defaults to team.
140
141Examples:
142key.C:		captain
143key.B.t:	base
144key.m.A:        me
145
146Then you can use that new key in your macros.
147
148Examples:
149mac.o.C:        Hi Captain let me suggest a base ogg?
150mac.a.B: 	BASE: Free armies for me?
151mac.t.m:        TIME
152
153Finally during runtime you may change the actual destination
154by sending a message:
155
156	set [name of key] [destination id]
157
158to the shell ("!") tools. Of corse this may be done with macros as well.
159
160Examples:
161mac.^C.!:	set captain %g
162mac.^m.!:	set me %c
163
164You can check the settings on the shell tools window "M".
165
166
167***************************************************************
168Connection Types: UDP and TCP explained
169***************************************************************
170
171UDP provides an unreliable, packet-based protocol for sending data
172across an IP network.  There are a variety of ways that a UDP packet
173can be lost or discarded, including a failure of the underlying
174communication mechanism.  UDP implements a checksum over the data
175portion of the packet.  If the checksum of a received packet is in
176error, the packet will be dropped with no indication given to the
177user.  A queue of received packets is provided for each UDP socket.
178This queue has a limited capacity.  Arriving datagrams which will not
179fit within its high-water capacity are silently discarded.
180
181Guest              Rd     71       27            2% /  13%
182
183The stats above show a typically UDP connection.  It has loss of
184packets but its round-trip times are fairly low.
185
186
187TCP provides a reliable, flow-controlled, in order transfer of data
188across an IP network.  There is nothing fundamentally different about
189the way UDP and TCP packets travel over the wire.  The only real
190difference is that TCP will keep sending the same packet over and over
191again until it gets an acknowledgement back.  As a result, TCP
192connects are typically slower than UDP connections and usually require
193more bandwidth.  TCP is slower because it guarantees that packets will
194arrive in order and so a lost packet can hold up later packets.
195
196Example:
197
198Guest          Ff    405      669            0% /   0%
199                     ^^^      ^^^            ^^^^^^^^^
200
201The above shows possibly the same connection with UDP turned off.
202There is no loss but the round trip times are much higher.
203
204
205NOTES:
206
207*  COW always uses TCP for some things.  For example, the text messages
208   that you can send to other players are implement in TCP to guarentee
209   that they always arrive.  However, if a UDP connection is also
210   available, it is used for the vast majority of communication.
211
212*  COW will fall back to using a TCP only if it fails to open
213   a UDP link.  If you find that you have high lag and no loss, you
214   probably should display the UDP control window (the default key is
215   `+') and turn UDP back on by pressing the top button.
216
217*  You are recommended to use a TCP connection if you are at the same
218   site (within a few milliseconds lag) of the server you are playing on.
219   The main reason for using UDP is to reduce your round trip times.
220
221*  The option "tryUdp" can be used to set a preference for using
222   UDP (tryUdp: on) or TCP only (tryUdp: off).
223
224