home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 7 Games / 07-Games.zip / netrek10.zip / cow.txt < prev    next >
Text File  |  1997-02-15  |  75KB  |  2,073 lines

  1. 0.0 Table of Contents
  2. ********************************************************************************
  3. *                                                                              *
  4. *            General Documentation for the Client Of Win (COW)                 *
  5. *                                                                              *
  6. *  Comments, suggestions and bug reports to brmbugs@crown.EECS.Berkeley.EDU    *
  7. *                                                                              *
  8. *                                                                              *
  9. *  CREDITS: Chris Guthrie, Ed James, Scott Silvey, and Kevin Smith,            *
  10. *           Tedd Hadley, Andy McFadden, Eric Mehlhaff, J. Mark Noworolski,     *
  11. *           Nick Trown, Lars Bernhardsson, Sam Shen, Rick Weinstein,           *
  12. *           Jeff Nelson, Jeff Waller, Robert Kenney, Steve Sheldon,            *
  13. *           Dave Gosselin, Heiko Wengler, Kurt Siegl and many others.          *
  14. *                                                                              *
  15. ********************************************************************************
  16.  
  17.  
  18.  
  19.                                 Table of Contents
  20.  1.0  Overview
  21.  2.0  Acknowledgements
  22.  3.0  Features
  23.  4.0  Xtrekrc
  24.  8.0  Compiling
  25.  9.0  Guide to Related Valuable information
  26.  
  27.  
  28.  
  29. 1.0  Overview
  30.  
  31.      This document describes the COW client, its capabilities, and the client's
  32. features.  COW started as the successor of the BRM client after release 3. 
  33. BRM started as a merger of the Berkeley client with Rick's Moo 
  34. client.  Since then, all three clients have developed fairly independant of one
  35. other.  Familiarity with netrek is presumed throughout this document.  Please
  36. consult section 9.0 for information on the game itself.
  37.  
  38.      COW has an expire function which insures that players obtain new copies
  39. regularly.  This alleviates the client's caretakers from having to support
  40. ancient clients.  Generally, a client will expire 60 days after its compile
  41. date.
  42.  
  43. 2.0  Acknowledgements
  44.  
  45.      Many people have contributed to COW and many many others contributed
  46. to its ancestor clients.  Here is an undoubtedly incomplete list of credits
  47. presented in no particular order.  Where possible their typical netrek name is
  48. provided in the hope that you will ogg them:
  49.  
  50.               Scott Silvey
  51.               Kevin Smith
  52.               Rick Weinstein
  53.               J. Mark Noworolski        Passing Wind
  54.               Tedd Hadley            pteroducktyl
  55.               Heiko Wengler            Musashi
  56.               Andy McFadden            ShadowSpawn
  57.               Chris Guthrie
  58.               Ed James
  59.               Eric Mehlhaff
  60.               Nick Trown            Netherworld
  61.               Lars Bernhardsson            lab
  62.               Sam Shen
  63.               Rick                Videodrome
  64.               Jeff Nelson            Miles Teg
  65.               Jeff Waller
  66.               Robert Kenney            Zhi'Gau
  67.               Steve Sheldon            Ceasar
  68.               Dave Gosselin            Tom Servo
  69.               Kurt Siegl            007
  70.               Kevin Powell            seurat
  71.           Alec Habig            Entropy
  72.  
  73.  
  74. 3.0  Features
  75.  
  76.      The COW client has many features that make it stand out from earlier
  77. clients.  This section will attempt to describe all of its features, including
  78. those that are common to all clients.
  79.  
  80.    3.1  Command Line Options
  81.  
  82.      This section will describe COW features that are selected from the command
  83. line when the client is invoked.  Selecting "-u" for usage or any invalid 
  84. option will provide a brief summary of this section ( -help will work too ).
  85.  
  86.  
  87.    3.1.1  SERVER SELECTION
  88.  
  89.      The "-h server_address" option will allow the user to select a specific 
  90. server.  The client will look to the .xtrekrc file for a default server should 
  91. this option be absent.  Examples of server addresses would be 136.165.1.12 or
  92. starbase.louisville.edu.
  93.  
  94.    3.1.2  PORT SPECIFICATION
  95.  
  96.      The "-p port_number" option will allow the user to select a specific port
  97. address.  An example of a port_number would be 1111, 2222, or 2592.
  98.  
  99.    3.1.3  DEFAULTS FILE SPECIFICATION
  100.  
  101.      The "-r defaultsfile" option will allow the user to select a defaults file
  102. other than .xtrekrc.  The defaults file contains all of the user selectable
  103. defaults ( please see Section 4.0 for more information on .xtrekrc ).  Using 
  104. this option, two users can run netrek from the same userid / account and still
  105. have unique defaults files.
  106.  
  107.    3.1.4  VERIFICATION OPTIONS
  108.  
  109.      The "-o" option instructs the client to use the old reserved.c verification
  110. to identify itself to the server.  Upgraded RSA servers will require that the
  111. client use RSA verification.  This is selected using the "-R" option.
  112.    
  113.    3.1.5  RECORD GAME OPTION
  114.  
  115.      The "-f record_file"  will record the game into record_file.
  116.  
  117.    3.1.5  METASERVER OPTION
  118.  
  119.      The "-m" option will instruct the client to search the Meta Server at 
  120. metaserver.ecst.csuchico.edu, port 3521 and present the user with a list of 
  121. available servers.  The user may then select the most desirable server 
  122. directly from the client.
  123.      Alternatively, the "-k" option may be used to show the "known servers",
  124. using the same format as the Meta Server list.  The client generates
  125. a list of "known servers" after each call to the meta server but only if
  126. the "metaCache" option is set in your .xtrekrc.
  127.     To find out about customising the meta-server, set the Chapter
  128. "MetaServer Options", later in this document.
  129. t
  130.  
  131.    3.1.2  AUTOLOGIN OPTION
  132.  
  133.      The "-A passowrd" allows the client to automatically enter the specified 
  134. character password without having to prompt the user.  This option is normally 
  135. used with the "-C character_name" option, which automatically enters the 
  136. character name.  The "-C" option must be followed by a character name string.
  137.  
  138.  
  139.  
  140.  
  141.  
  142. *** Hockey Lines  
  143. Due to popular demand, hockey lines have been added.
  144. For those of you who want to see a hockey rink on the tactical,
  145. just use the features menu (shift-O) and toggle them on.
  146.  
  147. You get:
  148.    Blue lines (blue)
  149.    Center line (red)
  150.    Side lines, i.e. the rink edges (grey)
  151.    Goal lines (red)
  152.    Goal boxes (the color of the team)
  153.  
  154. They are a little awkward at first, but once you get used to them,
  155. you'll wonder how you lived without them.
  156.  
  157. Since this is a first pass, I'm looking for more input on what
  158. would make them better.  Here are some of my comments:
  159.  
  160. 1)  Lines are hard coded into the software.  They should be 
  161. based upon planet location, so the hockey gods can move the
  162. planets around.
  163.  
  164. 2)  You either have them all or none.  Perhaps the set of
  165. desired lines should be configurable from the xtrekrc.  Also,
  166. you cannot change the colors.
  167.  
  168. 3)  Lines on the galactic would look pretty
  169.  
  170. If you have any comments, mail them to kantner@hot.caltech.edu
  171.  
  172. *** Shell escape tool
  173. You may execute any Unix shell comand within the client. Read your mail 
  174. now within the client. To do so, just send a message to the destination 
  175. "!" and you get a shell prompt. Enter the comand and it's output will 
  176. be displayed in the tools window. Works also with macros to "!".
  177. You may disable it in the .xtrekrc for security reasons with shellTools: off
  178. CAUTION: The client will be blocked for the time the comand is executed.
  179. Also some programs suspend the client if it is started in the background.
  180.  
  181. *** Fast quit
  182. Hitting 'q' will quit the client out without ever going back to the
  183. team selection window, the normal 'Q' still goes back to the team
  184. selection window.
  185.  
  186. *** Reread defaults file
  187. You can reread your netrek default file by hitting '&', it is also
  188. possible to enter a new default file name at anytime by sending
  189. a message to 'M' which contains the file name.
  190.  
  191. *** Phaser window
  192. A seperate window now exists for showing the results of your phasering.
  193. Use the options window to bring it up.
  194.  
  195. *** New dashboard
  196. Uses sliding bars instead of numbers at the bottom of your screen.
  197. newDashboard: 3
  198. in your .xtrekrc will activate it.
  199.  
  200. *** Galactic rotation
  201. For those who like to fight with some specific orientation, the
  202. galaxy is now rotate-able.  This can be done in the options window.
  203. This works now also with short packages.
  204.  
  205. *** Gateway
  206. Lots of cool gateway code in this client, unfortunately I don't
  207. use nor do I know what it does other than get past firewalls.
  208.  
  209. *** Observer support
  210. Many servers allow you to *observe* a game instead of playing, sort of
  211. like watching football.  COW supports this feature.  Currently in order
  212. to be an observer, all you have to do is connect to the observer port
  213. for a server, generally only INL tournament servers will have observer
  214. ports active.  A good guess at the observer ports is 4000 and 5000.
  215.  
  216. *** Auto torp aiming and dodge
  217. Get outa here...
  218.  
  219.  
  220. ***************************************************************
  221. 4.0 Xtrekrc:
  222. ***************************************************************
  223.  
  224. COW looks for a .xtrekrc file in your home directory.  Alternatively
  225. this file may be called home, and it may be in whatever directory
  226. the client is executed from.
  227.  
  228. A file called "SAMPLE.xtrekrc" should have been included with this
  229. client.  Below is an attempt to explain the many,many options you
  230. can include in a .xtrekrc file.  Some of this was borrowed from
  231. various other documentation such as MOO documentation.
  232.  
  233. For other options, see MACROs and Receiver Configurable Distress Calls.
  234.  
  235.  
  236. rank.mapped:    (on/off)
  237. rank.parent:    (window name) ie root, review_all, netrek, etc
  238. rank.geometry:  (geometry specification) ie 80x26+554+624
  239.         Every window may have these three defaults set for it.
  240.         Some windows are resizeable, others are not.
  241.  
  242. font:        fixed
  243. bigfont:    lucidasans-24
  244. italicfont:    -schumacher-clean-medium-i-normal--10-*-*-*-c-80-iso8859-1
  245. boldfont:    -schumacher-clean-bold-r-normal--10-100-*-*-c-60-iso8859-1
  246.         Specifies which fonts you want to use,
  247.         not sure that all of these are still used in COW
  248.  
  249. color.white:            white
  250. color.black:            black
  251. color.red:              #ffa0ff
  252. color.green:            green
  253. color.yellow:           yellow
  254. color.cyan:             cyan
  255. color.light grey:       light grey
  256.         Specify what colors should be used by the client.
  257.         This is generic X color specification (right?).
  258.         All the possible left hand sides are listed I think.
  259.  
  260. name:        (string of chars) default name
  261.  
  262. password:    (string of chars) default password; if both name and password
  263.         are included in your .xtrekrc, COW will attempt to do
  264.         an autologin for you.
  265.  
  266. newDistress:    (on/off) right justified distress call or not, default value
  267.         is to right justify (on)
  268.  
  269. showIND:    (on/off) mark independent planets with a X drawn over it.
  270.  
  271. varyShields:    (on/off) Shield color and bitmap depends on shield status.
  272.  
  273. varyHull:     (on/off) graphical indication of your hull condition. kinda
  274.         like varyShields
  275.  
  276. cloakChars:    (string of one or two chars) what to use for cloakers on
  277.         galactic instead of '??'.
  278.  
  279. enemyPhasers:    (integer 0-10) enemy phasers thickness at starting point.
  280.  
  281. phaserShrink:    (integer 0-16) Don't draw the first "phaserShrink"/16 th of
  282.         your phaser.  This makes it easier to see incomming torps.
  283.  
  284. theirPhaserShrink: (integer 0-16) "phaserShrink" for other player's ships.
  285.  
  286. shrinkPhaserOnMiss: (on/off) Use "phaserShrink" and "theirPhaserShrink" even
  287.         if a phaser misses.
  288.         
  289. showstats:    (on/off) show stats window
  290.  
  291. reportkills:    (on/off) display kill messages or ignore these
  292.  
  293. babes:        (on/off) The Sexist Feature: shows Kathy Ireland when
  294.         you ghostbust
  295.  
  296. netstats:    (on/off) collect network statistics for measuring lag
  297.  
  298. netstatfreq:    (integer) how often to update the network statistics
  299.  
  300. newPlanetBitmaps: (on/off) new planet bitmaps, less junk to
  301.         get in the way of seeing torps
  302.  
  303. newDashboard:    (integer 0-3) new dashboard 1 and 2, has sliding bars instead of
  304.         numbers at the bottom of the screen, 3 uses triangle sliders,
  305.         definately worth a look.
  306.  
  307. ignoreCaps:   (on/off) ignore the Capslock key.
  308.  
  309. newPlist:    (on/off) new playerlist, instead of total kills, deaths
  310.         offense and defense it shows login and stats (off+bomb+planet).
  311.  
  312. playerlist:    (string) The layout for the player list.  See below.
  313.  
  314. playerListStyle: (0-4) The style for the player list.  The options are:
  315.         
  316.         (0) Custom player list as defined by the
  317.             playerlist variable above,
  318.         (1) Old player list,
  319.         (2) Traditional COW player list,
  320.         (3) Kill watch player list,
  321.         (4) BRMH Player list.
  322.         
  323.         If "playerListStyle" is set, newPlist is ignored.
  324.         Use the options menu (shift-O) to try the different styles.
  325.         
  326. sortPlayers:    (on/off) Sort the playerlist with the enemy team players
  327.         first, then your team and then the neutral players.
  328.  
  329. sortMyTeamFirst: (on/off) Modifies "sortPlayers" so that your team is sorted
  330.         immediately before the enemy teams.
  331.         
  332. partitionPlist: Add blank lines to a sorted player list to separate the
  333.         different teams.  This is useful in mono where the teams
  334.         can not be distinguished by their color.
  335.                         
  336. keepInfo:    (integer) number of updates to keep info windows on the
  337.         screen before automatically removing them
  338.  
  339. logging:    (on/off) displays messages to stdout if set.
  340.  
  341. logfile:    (filename) alternatively saves messages to a text file
  342.  
  343. useRSA:        (on/off) default setting for whether the client should use RSA
  344.         verification.
  345.  
  346. tryShort:    (on/off) default setting for whether to use short packets.
  347.  
  348. autoquit:    (integer) length of time to wait on team selection screen
  349.         before Auto-quit exits for you.
  350.  
  351. showmotd:    (on/off) display motd if in wait queue
  352.  
  353. keymap:        (string of chars) remaps the keyboard, syntax is simply the
  354.         key to map onto, followed by the key to map, repeated.
  355.         Thus to map the "fire torps" key 't' onto 'f', use
  356.         keymap: ft
  357.         (See also the sections on control keymaps and ship
  358.         dependent keymaps below.)
  359.  
  360. buttonmap:  map the mouse buttons to something else.
  361.             i.e. the default mapping is:
  362.          1t2p3k
  363.  
  364. server:        bronco.ece.cmu.edu
  365.     default server that is called when no -h argument is
  366.         specified.  The compiled in default server is bronco.ece.cmu.edu
  367. port:        2596
  368.     default port that gets called. The compiled default is 2592
  369.  
  370. server.rio:     riovista.berkeley.edu
  371.         Allows you to specify a server abbreviation.  Thus instead of
  372.     using "-h riovista.berkeley.edu" you now use only "-h rio"
  373. port.rio:    4566
  374.     default port that gets called for the server abbreviation.
  375.  
  376. showtractorpressor:  toggle showing tractor/pressor  beams
  377.  
  378.        UDp control
  379. tryUdp:     (on/off) Automaticaly use UDP if on
  380. udpDebug:
  381. udpClientSend:
  382. udpClientRecv:
  383. udpSequenceChk:
  384.  
  385. extraAlertBorder:  Draws border in internal netrek windows, as well
  386.         as external ones (which get ignored in X11 with window-managers )
  387.  
  388. forcemono:     if on, the client windows are set to be monochrome
  389.  
  390. redrawDelay:  if >0 synchron screen refresh every n/10 sec 
  391.         (useful for slow X-terms and high lag).    
  392.  
  393. Can show nothing, resources, or owner on galactic by default.
  394. resource--  showgalactic:    1
  395. 2 = nothing
  396. 1 = resources
  397. 0 = ownership
  398.  
  399. Can use color pixmaps instead of bitmaps on galactic.
  400. resource-- colorgalactic:    off
  401.  
  402. Use starry background on galactic map.
  403. resource-- showstars:    off
  404.  
  405. Draw a circle in the owning team's color around planets (pixmaps only)
  406. resource-- ownerhalo:    off
  407.  
  408. Can show nothing, resources, or owner on local map by default.
  409. resource--  showlocal:    2
  410. 2 = nothing
  411. 1 = resources
  412. 0 = ownership
  413.  
  414. Can turn off planet names by default.
  415. resource-- showplanetnames:   off
  416.  
  417. Can sort player list by team. code fixed by Greg. (gc2n@andrew.cmu.edu)
  418. resource-- sortPlayers:   on
  419.  
  420. Can show lock on galactic, local, galactic & local, or none.
  421. resource-- showLock:  3
  422. 0 = none
  423. 1 = galactic
  424. 2 = local
  425. 3 = both
  426.  
  427. Can be set to not continue the visible tractors.
  428. resource-- continuetractors:    on
  429. on = continue
  430. off = turns off after 2 updates.
  431.  
  432. --------------------
  433. Ship dependent keymaps, buttonmaps and .xtrekrc files 
  434.  
  435. You can add one of: sc, dd, ca, bb, as, sb, ga, att, default to the
  436. following default options to override them based on ship type:
  437.  
  438. rcfile-??:      ship specific .xtrekrc file,
  439. keymap-??:    ship dependent keymap,
  440. ckeymap-??:    ship dependent CTRL keymap,
  441. buttonmap-??:    ship dependent buttonmap.
  442.  
  443. It will automatically reload the specified defaults if you change the
  444. shiptype. If a ship-specific option is not specified, the default
  445. option is used for that ship.  For e.g., keymap-sc: will be used
  446. instead of keymap: whenever you switch to an SC.
  447.  
  448. Used well, this is a very powerful feature.  For instance, you might
  449. bind a key to your prefered cruising speed, with a different speed for
  450. each ship type.
  451.  
  452. Here's part of my keymap as an example.
  453. # default: q = warp 2, w = 1/2 maxwarp, e = maxwarp
  454. ckeymap:     q2w#e%
  455. # override some of the above, based on ship type
  456. ckeymap-ca:     w4
  457. ckeymap-bb:     w3
  458. ckeymap-sb:     q1w2
  459.  
  460. For a more detailed explanation of the interaction between keymaps,
  461. ckeymaps, and their -?? versions, read the later section on "Control
  462. keymaps".
  463.  
  464.  
  465. ***************************************************************
  466. Connection Types: UDP and TCP explained
  467. ***************************************************************
  468.  
  469. UDP provides an unreliable, packet-based protocol for sending data
  470. across an IP network.  There are a variety of ways that a UDP packet
  471. can be lost or discarded, including a failure of the underlying
  472. communication mechanism.  UDP implements a checksum over the data
  473. portion of the packet.  If the checksum of a received packet is in
  474. error, the packet will be dropped with no indication given to the
  475. user.  A queue of received packets is provided for each UDP socket.
  476. This queue has a limited capacity.  Arriving datagrams which will not
  477. fit within its high-water capacity are silently discarded.
  478.  
  479. Guest              Rd     71       27            2% /  13%
  480.  
  481. The stats above show a typically UDP connection.  It has loss of
  482. packets but its round-trip times are fairly low.
  483.  
  484.  
  485. TCP provides a reliable, flow-controlled, in order transfer of data
  486. across an IP network.  There is nothing fundamentally different about
  487. the way UDP and TCP packets travel over the wire.  The only real
  488. difference is that TCP will keep sending the same packet over and over
  489. again until it gets an acknowledgement back.  As a result, TCP
  490. connects are typically slower than UDP connections and usually require
  491. more bandwidth.  TCP is slower because it guarantees that packets will
  492. arrive in order and so a lost packet can hold up later packets.
  493.  
  494. Example:
  495.  
  496. Guest          Ff    405      669            0% /   0%
  497.                      ^^^      ^^^            ^^^^^^^^^
  498.  
  499. The above shows possibly the same connection with UDP turned off.
  500. There is no loss but the round trip times are much higher.
  501.  
  502.  
  503. NOTES:
  504.  
  505. *  COW always uses TCP for some things.  For example, the text messages
  506.    that you can send to other players are implement in TCP to guarentee
  507.    that they always arrive.  However, if a UDP connection is also
  508.    available, it is used for the vast majority of communication.
  509.    
  510. *  COW will fall back to using a TCP only if it fails to open
  511.    a UDP link.  If you find that you have high lag and no loss, you
  512.    probably should display the UDP control window (the default key is
  513.    `+') and turn UDP back on by pressing the top button.
  514.  
  515. *  You are recommended to use a TCP connection if you are at the same
  516.    site (within a few milliseconds lag) of the server you are playing on.
  517.    The main reason for using UDP is to reduce your round trip times.
  518.  
  519. *  The option "tryUdp" can be used to set a preference for using
  520.    UDP (tryUdp: on) or TCP only (tryUdp: off).
  521.    
  522.  
  523.  
  524. ***************************************************************
  525. Short Packets:
  526. ***************************************************************
  527.  
  528. For a more technical description of short packets, see README.SHORT_PCK.
  529.  
  530. Short packets are supported by COW.  These have been shown
  531. to substantially reduce the volume of traffic between the client
  532. and server, and will improve lag in many situations.  Not all
  533. servers support short packets yet, but that is changing rapidly.
  534.  
  535. COW has a short packet window which is brought up with the ` key.
  536. In this window you can turn short packets on and off as well as
  537. configure it in various ways.
  538.  
  539. Also in your netrek defaults file you can add the line
  540.  
  541. tryShort:    on
  542.  
  543. in order to have short packets automatically turned on whenever
  544. you connect to a server which allows it.
  545.  
  546. Don't forget about the - and | keys for requesting updates.
  547.  
  548.  
  549. ***************************************************************
  550. 5.0 Options:
  551. ***************************************************************
  552.  
  553. Summary of command line options available for COW.
  554.  
  555. u    (existance) prints usage information for the client
  556.  
  557. C    (sting of chars) name to auto-login with
  558.  
  559. A    (sting of chars) password to auto-login with
  560.  
  561. c    (existance) checking - this will check server_port-1 and spew out
  562.     a list of all players currently playing on that server - not all
  563.     servers are intelligent enough to do this
  564.  
  565. s    (integer) passive port to use, generally only server gods would ever
  566.     use this option and even they can get by without it
  567.  
  568. f    (filename) file to record packets in
  569.  
  570. l    (filename) file to log messages
  571.  
  572. p    (integer) port to connect to server 
  573.  
  574. d    (sting of chars) display name
  575.  
  576. m    (existance) use meta window instead of selecting a server with
  577.     command line options - TRY THIS, IT's COOOOOOL!!
  578.  
  579. k       (existance) use known server window instead of selecting a server
  580.     with command line options.
  581.     
  582. o    (existance) use reserved.c blessing for client authentification
  583.  
  584. R    (existance) use RSA blessing for client authentification (default)
  585.  
  586. h    (sting of chars) server name
  587.  
  588. H    (sting of chars) Gateway name
  589.  
  590. P    (existance) log packets, generally don't want to use this
  591.  
  592. t    (sting of chars) title- the name of the window the client makes
  593.  
  594. r    (filename) netrek default file, instead of .xtrekrc
  595.  
  596. D    (existance) debug mode
  597.  
  598. v    (existance) display version/expiration info then exit
  599.  
  600.  
  601.  
  602.  
  603. ***************************************************************
  604. 6.0 MACROs, RCD, RCM:
  605. ***************************************************************
  606.  
  607. Three types of macros exist in the COW client:  NBT, NEWMACRO, and
  608. SMARTMACRO.  NBT is always on, however NEWMACRO and SMARTMACRO can
  609. be turned off by a server which does not allow them.
  610.  
  611. You may see a list of what macros are in your client by hitting
  612. 'X' followed by '?'.  At the top of this list it shows which macros
  613. are enabled in the client right now.
  614.  
  615. NBT macros allow you enter a message in your .xtrekrc which you
  616. send regularly.  
  617.  
  618. macro.x.X:      <text here>
  619. #x is any ascii character; it is the "name" of the macro (the key you press
  620. #in macro mode to send the associated macro)
  621. #X can be A,T,F,R,K,O where A=all, T=team, F=fed, R=rom, K=kli, O=ori
  622. #(determines the message board to which the text body of the macro is sent)
  623. Example: 
  624. macro.b.T:              BOMB!!!!
  625.  
  626. For more information on NEWMACRO and SMARTMACRO see the NEWMACRO 
  627. section below.
  628.  
  629.  
  630. ***************************************************************
  631. Receiver Configurable Distress Calls (RCD):
  632. ***************************************************************
  633.  
  634. 9/2/93 - jmn, jn (no relation 8^)
  635. 6/7/95 - updated by ATH
  636.  
  637. Receiver configurable distress calls have been added to the client
  638. and use a MACRO-like syntax.
  639.  
  640. In order to change the distress type a line such as the following
  641. should be in your defaults file.
  642.  
  643. dist.T.taking:        (%i) Carrying %a to %l%?%n>-1%{ @ %n%}
  644.  
  645.     or simply
  646.  
  647. dist.taking:        (%i) Carrying %a to %l%?%n>-1%{ @ %n%}
  648.  
  649. This has the format 
  650. dist.[key].[name of distress]:        [macro]
  651.  
  652. Arguments for the macro and SMARTMACRO syntax are exactly the same
  653. as before.  Any argument can be used, but usually only those
  654. in the groups "Standard" and "FULLY CAPITALIZED" apply.
  655.  
  656. Note that if you don't want to ever see a certain distress, use the
  657. macro characters : %*.  For example,
  658.  
  659.       dist.free_beer: %*
  660.  
  661. will allow your client to simply ignore any "free beer" RCD's that get sent.
  662.  
  663. Below is a table giving the name of each distress, the key it
  664. is assigned to, and the default macro (at the time of this writing).
  665. Note that except for E and F, these are all control keys.
  666.  
  667. Key  Name    Default Distress Macro
  668. t    taking    %T%c->%O (%S) Carrying %a to %l%?%n>-1%{ @ %n%}
  669. o    ogg    %T%c->%O Help Ogg %p at %l
  670. b    bomb    %T%c->%O %?%n>4%{bomb %l @ %n%!bomb%}
  671. c    space_control    %T%c->%O Help Control at %L
  672. 1    save_planet    %T%c->%O Emergency at %L!!!!
  673. 2    base_ogg    %T%c->%O Sync with --]> %g <[-- OGG ogg OGG base!!
  674. 3    help1    %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.
  675. 4    help2    %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.
  676. e    escorting    %T%c->%O ESCORTING %g (%d%%D %s%%S %f%%F)
  677. O    ogging    %T%c->%O Ogging %h
  678. B    bombing    %T%c->%O Bombing %l @ %n
  679. C    controlling    %T%c->%O Controlling at %l
  680. 5    asw    %T%c->%O Anti-bombing %p near %b.
  681. 6    asbomb    %T%c->%O DON'T BOMB %l. Let me bomb it (%S)
  682. 7    doing1    %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  %d%% dam, %s%% shd, %f%% fuel
  683. 8    doing2    %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  %d%% dam, %s%% shd, %f%% fuel
  684. f    free_beer    %T%c->%O %p is free beer
  685. n    no_gas    %T%c->%O %p @ %l has no gas 
  686. h    crippled    %T%c->%O %p @ %l crippled
  687. 9    pickup    %T%c->%O %p++ @ %l
  688. 0    pop    %T%c->%O %l%?%n>-1%{ @ %n%}!
  689. F    carrying    %T%c->%O %?%S=SB%{Your Starbase is c%!C%}arrying %?%a>0%{%a%!NO%} arm%?%a=1%{y%!ies%}.
  690. @    other2    %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)
  691. #    other3    %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)
  692. E    help    %T%c->%O Help(%S)! %s%% shd, %d%% dmg, %f%% fuel,%?%S=SB%{ %w%% wtmp,%!%}%E%{ ETEMP!%}%W%{ WTEMP!%} %a armies!
  693.  
  694.  
  695. Here is some documentation written by jmn about how receiver
  696. configurable distress calls work:
  697.  
  698. ===========================
  699. Well... here's how it works.... Each RC_DISTRESS compatible client can make
  700. the distress call appear as whatever you like through their .xtrekrc...
  701. If you DONT have a new enough client the server will do a default parsing
  702. of the distress call and you will see it like that. Also if the server is
  703. old then the distress call sent out by each client will appear the way
  704. _the sender_ likes to have them displayed.
  705.  
  706. Let me summarize with an example:
  707. F0 likes 'F' to say 'Carrying 4 maggots.'
  708. F1 likes 'F' to say 'Carrying 4 armies.'
  709. F2 likes 'F' to say 'Carrying 4 lawyers. 20% fuel'
  710. The server default is 'Carrying 4.'
  711. Note:
  712. Advanced RC_DISTRESS users should note that 'F' can be remapped easily in
  713. at least 2 different ways. For example throught .xtrekrc
  714.  
  715. dist.(.carrying: %T%c: Carrying %a maggots.
  716. singleMacro: (
  717. (this will make 'X(' or '(' be the same as 'F' used to be)
  718. There will be more documentation on this coming later but basically the
  719. syntax is the same as SMARTMACRO and NEWMACRO.
  720.  
  721. -----------
  722. On a NEW server:
  723. Case 1: All of them are using a new client.
  724. F1 will ALWAYS see 'Carrying x armies.' No matter who sent it.
  725.  
  726. Case 2: Only F1 is using an old client.
  727. F1 will see the _server_ set defaults for the carrying call from everybody.
  728. Note that the calls from F0 and F2 will appear in the same format to him on
  729. this server (but may appear in a different format on different servers).
  730. F2 and F0 will see F1's client-defined distress calls.
  731.  
  732. ---------------
  733. On an old server:
  734. F1 will see whatever the sender likes to see (in this case the sender sends
  735. the pre-formatted text instead of the RC_DISTRESS short-hand).
  736. So a 'F' from F2 will appear to everybody as:
  737. 'Carrying 4 lawyers. 20% fuel'
  738. a 'F' from F0 will appear to everybody as:
  739. 'Carrying 4 maggots.'
  740. ===========================
  741.  
  742.  
  743. -------------------------------------------------------------------------
  744. 8/16/93 - jn
  745. New feature for default file...    
  746. rejectMacro:  on    (on/off) default to off, if on, COW automatically
  747.             stops NEWMACROs from being sent when the server
  748.             has turned NEWMACROs off.  That is any
  749.             macro in your defaults file defined by a
  750.             mac.*.*:   (TEXT)    line.            
  751.  
  752. Multiline macros are no-longer allowed at all.
  753. Primarily this is based on network traffic arguments.
  754.  
  755. ***************************************************************
  756. NEWMACRO and SMARTMACRO documentation - Jeff Nelson 6/4/1993 
  757. ***************************************************************
  758.  
  759.  
  760. *WARNING*  *WARNING*  *WARNING*  *WARNING*  *WARNING*
  761.  
  762. These features default ON in the COW client!  A server may turn them
  763. off *for you* if they are not allowed at that server.  The BRM client will
  764. inform you by sending you a message line like:
  765. BRM: Features enabled: NO_NEWMACRO, NO_SMARTMACRO
  766.  
  767. If you are not at a server that allows NEWMACRO, then all targetted
  768. macros will be treated as normal NBT macros (no argument substitution,
  769. %a will broadcast as %a).  If you are not on a server that allows
  770. SMARTMACRO, then any conditional text or tests will *not* be evaluated,
  771. instead they will be sent as the macro appears in your defaults file!
  772.  
  773. If you don't like this, complain to the server god!!  Make a difference!!
  774.  
  775.  
  776. Compilers:
  777. In order to use the below features, NBT and NEWMACRO must be defined.
  778. In addition, SMARTMACRO must be defined to use the most advanced
  779. features.
  780.  
  781.  
  782. Here is the idea:
  783. A player should be able to include in his/her macros whatever
  784. reasonable information is available.  And configuring its display
  785. in whatever way is desired.  In order to do this, the following
  786. syntax is used (while remaining completely compatible with old NBT
  787. macros).
  788.  
  789. A key is assigned in the defaults file (ie .xtrekrc, etc)
  790. by a line like:
  791.  
  792. mac.F.T        Help!  Carrying %a!!
  793.  
  794. This defines a macro which will send a distress containing
  795. the number of armies a player is carrying to his team.
  796.  
  797. Note, this is NOT printf syntax!  Any attempt to use formatting will
  798. fail miserably.  Maybe in the future someone will want to develop
  799. a means of formatting the variables used in macros, but the only
  800. means I can think of are both bulky and ugly.
  801.  
  802. Here is another example:
  803.  
  804. mac.f        Help!  Carrying %a!!
  805.  
  806. Unlike the first, this macro will not send directly to the team,
  807. instead it requires that you give a third keystroke specifying the
  808. recipient.  For example, it could be invoked by:
  809.  
  810. XfT        <- to your team
  811. Xf1        <- to player 1
  812. XfG        <- if you are desperate, send to God
  813. XfA        <- if you are stupid, send to ALL
  814.  
  815. Old macros will still work in addition to these, thus be sure there are
  816. no conflicts.  These generally cause suprising results.  For example,
  817. if this is in your macro file:
  818.  
  819. mac.E.T        Help!  I'm carrying!!
  820. macro.E.A    You all suck!
  821. mac.E        Help!  I'm a twink!!
  822. mac.E.T        Help!  I'm carrying again!!
  823. macro.E.A    You all suck even worse NOW!
  824.  
  825. The suprising results would be that pressing XE would broadcast the
  826. first two messages, and then wait for the destination of the third.
  827. It would be impossible to ever use the last two.  Unfortunately, multiline
  828. macros also do not work if they require a destination.  There is no
  829. good reason for this, but since multiline macros annoy the hell out
  830. of me, I ain't fixing it.  You can still do something like:
  831.  
  832. mac.D.A:    D
  833. mac.D.A:    O
  834. mac.D.A:    O
  835. mac.D.A:    S
  836. mac.D.A:    H
  837.  
  838. This would properly broadcase 5 messages containing 1 character to all.
  839. If you tried to specify the destination for these by using "mac.D:",
  840. only 'D' would be sent.
  841.  
  842. Also '?' can still not be used as a macro key.
  843. The following definitions will work in a macro:
  844.  
  845. Standard:
  846.  
  847. %o    3 charcter team name of sender
  848. %a      armies carried by sender
  849. %d      sender damage percentage
  850. %s      sender shield percentage
  851. %f      sender fuel percentage
  852. %w      sender wtemp percentage
  853. %e      sender etemp percentage
  854. %t      team id character of target planet
  855. %T      team id character of sender team
  856. %r    team id character of target team
  857. %c      sender id character
  858. %n      armies on target planet
  859. %E      1 if etemped, 0 if not
  860. %W      1 if wtemped, 0 if not
  861. %S      sender two character ship type
  862. %p      id character of target player
  863. %g    id char of target friendly player
  864. %h    id char of target enemy player
  865. %P      id character of player nearest sender
  866. %G    id char of friendly player nearest sender
  867. %H    id char of enemy player nearest sender
  868. %l      three character name of target planet
  869. %N    full name of target planet
  870. %i    sender full player name (16 character max)
  871. %u    full name of target player (16 character max)
  872. %z    3 letter team id of target planet
  873. %b      3 char name of sender nearest planet
  874. %k    kills of sender
  875. %K    kills of target player
  876.  
  877. FULLY CAPITALIZED:
  878. %O    three character team name of sender
  879. %L    three character name of target planet
  880. %I    sender full player name (16 character max)
  881. %U    full name of target player (16 character max)
  882. %Z    3 letter team id of target planet
  883. %B      3 char id of sender nearest planet
  884.  
  885. Ping stats: (may differ slightly from server '!' ping stats)
  886. %v    average ping stat round trip time 
  887. %V    ping stat round trip standard deviation
  888. %y    percent total packet loss as calculated by server formula
  889.  
  890. Miscellanous:
  891. %m      the last message you sent
  892. %M    the last message you sent in all caps
  893. %w    whydead number for RCM
  894. %W    whydead text for RCM only
  895. %>nn    Tab stop at position nn
  896.  
  897. As a further extension to NEWMACRO, a macro may now be sent
  898. to any of the following destinations:
  899.  
  900. %i %I %c    send message to self
  901. %u %U %p    send message to player nearest mouse
  902. %t %z %Z    send message to team of player nearest mouse
  903. %g        send message to nearest friendly player to my ship
  904. %h        send message to nearest enemy player to my ship
  905.  
  906. with a syntax like
  907.  
  908. #useful for INL...
  909. mac.C.%i:    CAPTAIN
  910. mac.N.%i:    NEWGALAXY
  911. mac.S.%i:    START
  912. mac.T.%i:    %Z
  913.  
  914. mac.W.%t:    SHUT UP, TWINKS!!
  915. mac.I.%u:    %u: det when you escort!
  916. mac.O.%u:    (%i) ogging
  917.  
  918. What this does is allows you to send a macro to a player or
  919. team specified by your mouse location instead of requiring
  920. a 3rd character to be input.  Also, it allows you to send
  921. message to yourself without having to actual sit there and
  922. figure out who you are (they tried and failed back in the '60s).
  923.  
  924.  
  925. >>>>The above is available when NEWMACRO is defined;  from here on,
  926. >>>>SMARTMACRO must be defined *in addition*.
  927.  
  928. Further, tests may be done within the macro system, the syntax
  929. for these test is as follows.
  930. %?    introduces a test
  931. =    equivalence
  932. >    greater
  933. <    less
  934.  
  935. Expressions are evaluated on a character by character basis until the
  936. test is resolved.  The text of the test is then replaced in the macro
  937. by 1 or 0.
  938.  
  939. Test are then fed to a syntax I call conditional text.  The best way
  940. to demonstrate how this works is example.
  941.  
  942. 1%{included if true%!included if false%}
  943.  
  944. This would print:
  945. included if true
  946.  
  947. 0%{included if true%!included if false%}
  948. included if false
  949.  
  950. Combining the whole package, a very robust macroing system is
  951. quickly generated.  One can easily design or mimic Distress calls,
  952. including the variable NBT distress of the COW client and all the
  953. hardcoded message macroing built into my own client but never released.
  954.  
  955. Here are a few more samples to work from:
  956.  
  957. mac.F.T:    Help!  Carrying %a!!
  958. mac.f:        Help!  Carrying %a!!
  959. mac.c.T:    %p++ near %l
  960. mac.b.T:    %?%n>4%{bomb %l at %n%!bomb%}
  961. mac.d.T:    %E%{%!%W%{%!I'm fine.  How are you?  %}%}%E%{ETEMPED!!!  %}%W%{WTEMPED!!!  %}Carrying %?%a>0%{%a armies!%!NO armies.%}
  962. mac.a.T:        %E%{ETEMPED!!!  %}%W%{WTEMPED!!!  %}Carrying %?%a>0%{%a armies!%!NO armies.%}
  963. mac.R.A:    I'm a %?%S=SB%{star base!%!twink!%}
  964. mac.K.A:    KissMy%S
  965. mac.t:        thanks
  966. mac.y:        yes
  967. mac.n:        no
  968. mac.B:        bye, getting hungry/sleep/horny
  969. mac.e.T:    need escort going to %l%?%a>0%{, carrying %a armies!%}
  970. mac.v.%t:       %T%c PING stats: Average: %v ms, Stdv: %V ms, Loss: %y%%
  971.  
  972. #My Favorite:
  973. mac.m:        %m
  974.  
  975. ***************************************************************
  976. * Symbolic names for macro destinations - Kurt Siegl 27/4/95
  977. ***************************************************************
  978.  
  979. You always wanted to send a macro directly to the captain, base,
  980. or the second SC bomber?
  981.  
  982. Symbolic macro keys will solve your problems. Here how it goes:
  983.  
  984. In the .xtrekrc file you assign a key to a symbolic name:
  985.  
  986.      key.[key].[dest]:    [name of key]
  987.  
  988. If the destination isn't specified the key defaults to team.
  989.  
  990. Examples:
  991. key.C:        captain
  992. key.B.t:    base
  993. key.m.A:        me
  994.  
  995. Then you can use that new key in your macros.
  996.  
  997. Examples:
  998. mac.o.C:        Hi Captain let me suggest a base ogg?
  999. mac.a.B:     BASE: Free armies for me?
  1000. mac.t.m:        TIME
  1001.  
  1002. Finally during runtime you may change the actual destination 
  1003. by sending a message:
  1004.  
  1005.     set [name of key] [destination id]
  1006.  
  1007. to the shell ("!") tools. Of corse this may be done with macros as well.
  1008.  
  1009. Examples:
  1010. mac.^C.!:    set captain %g
  1011. mac.^m.!:    set me %c
  1012.  
  1013. You can check the settings on the shell tools window "M".
  1014.  
  1015.  
  1016. ***************************************************************
  1017. Receiver Configurable Server Messages (RCM)
  1018. ***************************************************************
  1019.  
  1020. Short package kill messages may be freely configured using
  1021. the macro syntax interpreter where
  1022.  
  1023. * the killed person corresponds to the sender,
  1024. * the killer corresponds to the target player,
  1025. * involved planet (killed by, destroyed, taken) to the target planet,
  1026. * damage is int part of kills and shield fraction part.
  1027. * whydead goes with wtmp.
  1028.  
  1029. All others are undefined.
  1030.  
  1031. The format of the messages is:
  1032.  
  1033. msg.[name of message]: [RCM macro]
  1034.  
  1035. Available messages and their defaults are:
  1036.  
  1037. msg.kill:  ........
  1038. msg.kill:GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%}) was kill %?%d>0%{%k%!NO CREDIT)%} for %u (%r%p) %?%w>0%{%W%!%}
  1039. msg.planet:GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%} killed by %l (%z) %?%w>0%{%W%!%}
  1040. msg.bomb:%N->%Z We are being attacked by %i (%T%c) who is %d%% damaged.
  1041. msg.destroy:%N->%Z %N destroyed by %i (%T%c)
  1042. msg.take:%N->%O %N taken by %i (%T%c)
  1043. msg.ghostbust:GOD->ALL %i (%S) (%T%c) was kill %k for the GhostBusters
  1044.  
  1045.  
  1046. BRMH formated kill windows may be optain by something like:
  1047.  
  1048. msg.kill:  %i (%S) (%T%c%?%a>0%{+%a armies%!%}) %>30 kill %?%d>0%{%k%!NO CREDIT)%} for %u (%r%p) %?%w>0%{%>65%W%!%}
  1049.  
  1050.  
  1051. ***************************************************************
  1052. MetaServer Options
  1053. ***************************************************************
  1054.  
  1055. The MetaServer and the MetaServerCache are provided to help you find a
  1056. netrek game to join.  Both services provide a list of the popular
  1057. netrek servers.  The MetaServer is neat because provides information
  1058. on the number of players at each site.  The MetaServerCache is neat
  1059. because it is much faster if you can guess where a game will be.
  1060.  
  1061. To access the MetaServer, use the command line switch "-m".  For
  1062. example "cow -m".  To access the MetaServerCache, use the "-k" switch
  1063. instead.
  1064.  
  1065.     
  1066.  
  1067. 1) Where to find the MetaServer:
  1068.  
  1069. You can use the options "metaport" and "metaserver" to point COW
  1070. to a new MetaServer.  The defaults for these options are:
  1071.  
  1072.      metaport: 3521
  1073.      metaserver: metaserver.ecst.csuchico.edu
  1074.  
  1075.  
  1076. 2) How to create a list of known servers for the MetaServerCache:
  1077.  
  1078. Before you can use the MetaServerCache, you must give COW a file in
  1079. which to cache the information from the MetaServer.  Use the .xtrekrc
  1080. option "metaCache" to specify this file.  The files path will be
  1081. relative to your home directory unless you start the file name with a
  1082. slash (/).
  1083.  
  1084. For example, to set the cache file to "~/.metaCache" use:
  1085.  
  1086.     metaCache: .metaCache
  1087.  
  1088. Unlike the MetaServer, the MetaServerCache will not show the number of
  1089. people playing at a server.  If a server is contactable, it will be
  1090. shown as "Active".
  1091.  
  1092. Warning: If "metaCache" is set, COW will also use a second, temporary
  1093. file.  This file with have the name of the metaCache file with the
  1094. last character changed to either a 'T' or an 'R'.  Eg, ".metaCache"
  1095. becomes ".metaCachT" and "BEAST" becomes "BEASR".  Ensure that this
  1096. temporary file does not overwrite something important.
  1097.  
  1098.  
  1099. 3) How much information will be shown:
  1100.  
  1101. You can now control the amount of information that the MetaServer
  1102. displays for you by setting the "metaStatusLevel" flag.  The default
  1103. is:
  1104.     
  1105.     metaStatusLevel: 3
  1106.     
  1107.     
  1108. The status levels are coded as follows.
  1109.  
  1110. 0    Servers which have players but not a wait queue.
  1111. 1    + Servers with a wait queue.
  1112. 2    + Servers with nobody playing. (see NOTE1).
  1113. 3    + Servers which have Timed Out for the MetaServer (see NOTE2).
  1114. 4    + Servers which the MetaServer has not been able to connect to.
  1115.  
  1116. NOTE1: When using the MetaServerCache, "metaStatusLevel" values of
  1117. less than 3 are treated as the value 3.  This minimum is enforced
  1118. because the cache does not attempt to show the number of people
  1119. playing at a site.
  1120.  
  1121. NOTE2: If you are a long way from the MetaServer, you are advised to
  1122. ignore TimeOut errors.  For example, the MetaServer in America may
  1123. have difficulty contacting to a server in Holland while the link from
  1124. England to Holland is very good.
  1125.  
  1126.  
  1127. 4) The Fallback
  1128.  
  1129. If you attempt to contact the MetaServer, and the connection times
  1130. out, COW will try to show the MetaServerCache instead.
  1131.  
  1132. Similarly, if you attempt to use the MetaServerCache, and your
  1133. "metaCache" file does not exist, COW will attempt to call
  1134. theMetaServer.
  1135.  
  1136.  
  1137. ***************************************************************
  1138. Player List Options
  1139. ***************************************************************
  1140.  
  1141. 1) Configurable Player List:
  1142.  
  1143.     I've added a new .xtrekrc option called "playerlist" what it allows
  1144. you to do is specify which columns of the player list you want to show
  1145. and in what order.  The following is a table of the available columns.
  1146.  
  1147. Spc  Let   Name                 Header
  1148. ---  ---   -------------------- -------------------
  1149.   3  'n'   Ship Number          " No"
  1150.   3  'T'   Ship Type            " Ty"
  1151.  11  'R'   Rank                 " Rank      "
  1152.  17  'N'   Name                 " Name            "
  1153.   6  'K'   Kills                " Kills"
  1154.  17  'l'   Login Name           " Login           "
  1155.   6  'O'   Offense              " Offse"
  1156.   6  'W'   Wins                 "  Wins"
  1157.   6  'D'   Defense              " Defse"
  1158.   6  'L'   Losses               "  Loss"
  1159.   6  'S'   Total Rating (stats) " Stats"
  1160.   6  'r'   Ratio                " Ratio"
  1161.   8  'd'   Damage Inflicted(DI) "      DI"
  1162.   1  ' '   White Space          " "
  1163. PLIST1
  1164.   6  'B'   Bombing              " Bmbng"
  1165.   6  'b'   Armies Bombed        " Bmbed"
  1166.   6  'P'   Planets              " Plnts"
  1167.   6  'p'   Planets Taken        " Plnts"
  1168.  17  'M'   Display/Host Machine " Host Machine    "
  1169.   7  'H'   Hours Played         " Hours "
  1170.   6  'k'   Max Kills            " Max K"
  1171.   6  'V'   Kills per Hour       "   KPH"
  1172.   6  'v'   Deaths per Hour      "   DPH"
  1173. PLIST2
  1174.   9  'w'   War staus            " War Stat"
  1175.   3  's'   Speed                " Sp"
  1176.  
  1177. So for example if you just wanted to see names and rank you'd add this
  1178. line to your .xtrekrc:
  1179.  
  1180. playerlist: NR
  1181.  
  1182.      In order for this mod to be in effect you must compile with PLIST
  1183. defined, otherwise you will get either of the two currently available
  1184. defaults.  The things shown after PLIST1 are only available if you
  1185. have PLIST1 defined, the same goes for the things after PLIST2, but
  1186. you must have PLIST defined or neither of these will do anything.
  1187.  
  1188. dave
  1189. gosselin@ll.mit.edu
  1190.  
  1191. NOTE FROM SOURCE KEEPER:
  1192. PLIST2 is not active in BRM currently.  Some players feel that placing
  1193. speed on the playerlist gives a strategic advantage.
  1194.  
  1195. NOTE ON SB STATS :
  1196. On servers which support the SBHOURS .feature, you will see slightly 
  1197. different things when you info a SB, or show the SB player on the 
  1198. playerlist.  The usual offense and defense lines are replaced with SB 
  1199. kills/hour and deaths/hour.  The kills, deaths, hours and ratio entries
  1200. are all the player's SB stats as long as he is in the SB, and his normal
  1201. stats otherwise.
  1202.  
  1203.  
  1204. 2) Predefined "playerlist" styles:
  1205.  
  1206. For your viewing pleasure we have predefined some playerlist layouts
  1207. that you might like to try.  These predefined styles can be selected
  1208. using the "playerListStyle" option in your .xtrekrc or by using the
  1209. options menu (shift-O).
  1210.  
  1211. The "playerListStyle" options are:
  1212.  
  1213.     0: Custom style     = playerlist
  1214.     1: Old style         = "nTRNKWLr O D d "
  1215.     2: COW style         = "nTR N  K lrSd"
  1216.     3: Kill watch style    = "nTK  RNlr Sd"
  1217.     4):BRMH style        = "nTR N  K l M"
  1218.  
  1219.  
  1220. For backward compatability, the option "newPlist" will still select
  1221. between the old style playerlist (off) and the COW style playerlist
  1222. (on) if the "playerListStyle" option does not appear in your .xtrekrc.
  1223.  
  1224.  
  1225. 3) The "partitionPlist" option:
  1226.  
  1227. Lets face it, the main role of the player list is so that you can keep
  1228. track of who has kills.
  1229.  
  1230. To make life easier, the player list is sorted so that enemy and
  1231. friendly teams are always in the same place in the list.  However, in
  1232. mono it is not immediatly obvious where one team starts and another
  1233. team ends.  If the "partitionPlist" option is "on", white space will
  1234. be added to the player list to separate your teams from the other
  1235. teams and the players entering the game.  In color, this option is not
  1236. usually required because the teams are distinct anyway.
  1237.  
  1238.  
  1239.  
  1240. ***************************************************************
  1241. 7.0 MOO Client Doc:
  1242. ***************************************************************
  1243.  
  1244. Since BRM is based on the Moo client, many of the features
  1245. in BRM are derived from it.  Here is some documentation
  1246. for this client.
  1247.  
  1248. ---------------------------------------------------------------
  1249.  
  1250. Recent updates to the "moo" client. 
  1251. (sort of a tribute to harvard Admiral Moooooooo!) (aka ryche)
  1252.  
  1253. future changes i'm working on:
  1254.     having the outgoing message you are composing to redraw.
  1255.     Configurable bitmaps for your cursors and your women,
  1256.     if you happen to be sick enough not to like Kathy and Steph.
  1257. --> RSA soon to be added by bronco gods.
  1258.  
  1259. i'm open to suggestions...
  1260.  
  1261. Changes to 'original' Mehlhaff client as of Apr 17, 1993:
  1262.  
  1263. BRAND NEW FEATURES!!--
  1264.  
  1265. o enemy phasers are now dotted lines so people on color
  1266.   machines have less advantage over us b&w users.
  1267. o you can turn the babes off if you want. .netrekrc resource:
  1268.   babes: on/off
  1269. o In color, you can have your shield be color of your warning
  1270.   status, like your slot number.  resource:  
  1271.   warnshields:  on/off
  1272. o lagmeter now working.  \ to see the window and . to see the
  1273.   netstat window  resources:
  1274.   netstats:  on    netstatfreq:  5      (how many updates to
  1275.   the lagmeter per second)
  1276. o silly info-borg planet bitmaps are now optional.
  1277.   resource:   newPlanetBitmaps:  on/off 
  1278. o client now responds to pigcall with "ricksmoo ver. 1.08"
  1279.   will only respond to individual messages. not 5 spaces to ALL.
  1280. o added hadley's ping stuff. the "," key brings the window up.
  1281. o Windows can now be resized!!
  1282. o zorg type XSendEvents will not be accepted by moo.
  1283. o moo has no default server compiled in. you must use -h
  1284.   or the .netrekrc resource
  1285. o New Sexist Features:  Stephanie Seymour now welcomes you to MOO
  1286.   when you enter your name. Kathy Ireland informs you if you get
  1287.   ghostbusted.
  1288. o the 'you were killed by' messages now redraw.
  1289.   sometimes they change the names when they do... not sure why.
  1290. o Phaser hits can now be logged in different places.
  1291.   resource--  PhaserMsg:   2
  1292.  
  1293.   0 = Don't log phaser hits
  1294.   1 = Log phasers on all window
  1295.   2 = Log phasers on team window
  1296.   3 = Log phasers on indiv window
  1297.   4 = Log phasers on kill window
  1298.   5 = Log phasers on review window
  1299.  
  1300.   the additional phaser window is controlled just like the other
  1301.   review windows.  e.g.:
  1302.      review_phaser.mapped:   on
  1303.      review_phaser.parent:   netrek
  1304.      review_phaser.geometry: 81x2+0+555
  1305. o Changed the 'you were killed by' messages to be more 
  1306.   degrading. (You were SMACKed by a plasma from R3)
  1307. o client now tells you what server you have connected 
  1308.   to in the name entry screen, also in the wait queue
  1309. o added kill messages to the message logging feature.
  1310. o you can change the defaults file you want to read in
  1311.   by sending the name of the file to 'M' (you->MOO)
  1312.   currently, you have to put the full path to the file in
  1313.   but I'll see about ~ completion...
  1314.       example:  F0->MOO  /afs/andrew.cmu.edu/cm5m/.netrekrc
  1315.                 then hit & to re read the defaults.
  1316. o defaults file can now be re-read in. using the & key.
  1317.   this way you can change defaults without quitting out.
  1318.    Currently the only changes that will take effect are
  1319.    the message macros and the keymap.
  1320. o Configurable message macros to the all board. control-jkliop
  1321.   send to ALL board messages from your .xtrekrc
  1322.   resource--   message1: your control-j message
  1323.                message2: your control-k message
  1324.                message3: your control-l message
  1325.                message4: your control-i message
  1326.                message5: your control-o message
  1327.                message6: your control-p message
  1328. o Made the regular info window smaller. the shift-i info window
  1329.   is bigger. It contains the deleted info from the regular one.
  1330. o Made the time-out for entering your name 199 seconds.
  1331.   Used to be 99.
  1332. o Client now calls you by your real rank, not just "Captain!"
  1333. o added message logging on/off by default file.
  1334.   resource--   logging: on
  1335. o Added time stamping to logged messages.
  1336. o Added message logging. Will log TEAM and ALL board messages,
  1337.   either to standard out (your xterm, whatever) or, to a file.
  1338.   usage:  moo -l /path/to/messagelog OR in .xtrekrc- logfile: file
  1339.   the message logging is toggled with the ':' key.
  1340. o Player list sorting is now toggleable with the '/' key, which
  1341.   you can remap like any normal key.
  1342. o show shields/don't show shields removed from shift-O window.
  1343.   if this bothers you, see a pshychiatrist
  1344. o show stats/don't show stats removed from shift-O window.
  1345.   if this bothers you, use shift-S. that's what it's for.
  1346. o Removed 'M' key. If this bothers you, see a doctor.
  1347.   ('M' key used to turn off the galactic map)
  1348. o Show resources on galactic map by default.
  1349. o Update galactic map frequently by default.
  1350. o Visible tractor/pressors turn off when tractee cloaks.
  1351. o Show My Speed is no longer an option.
  1352. o bug in x11window.c fixed.
  1353. o beeps twice when you make the queue.
  1354. o Small clock is displayed on the far right of tstat window.
  1355. o Distress calls show armies carried as last field. (easier to read)
  1356. o SB distress call says "HELP!!" (to attract more attention)
  1357. o New (better?) cursor for tactical & galactic.
  1358. o Option to not continue the visible tractors. (a la Bert's client)
  1359.  
  1360. Can write TEAM and ALL messages to a file when you hit ':'
  1361. resource--  logfile:    /tmp/messagelog
  1362. the logfile can also be given on the command line.
  1363.  
  1364. Can show nothing, resources, or owner on galactic by default.
  1365. resource--  showgalactic:    1
  1366. 2 = nothing
  1367. 1 = resources
  1368. 0 = ownership
  1369.  
  1370. Can show nothing, resources, or owner on local map by default.
  1371. resource--  showlocal:    2
  1372. 2 = nothing
  1373. 1 = resources
  1374. 0 = ownership
  1375.  
  1376. Can turn off planet names by default.
  1377. resource-- showplanetnames:   off
  1378.  
  1379. Can sort player list by team. code fixed by Greg. (gc2n@andrew.cmu.edu)
  1380. resource-- sortPlayerlist:   on
  1381.  
  1382. Can show lock on galactic, local, galactic & local, or none.
  1383. resource-- showLock:  3
  1384. 0 = none
  1385. 1 = galactic
  1386. 2 = local
  1387. 3 = both
  1388.  
  1389. Can be set to not continue the visible tractors.
  1390. resource-- continuetractors:    on
  1391. on = continue
  1392. off = turns off after 2 updates.
  1393.  
  1394. ---- OLD README, from Mehlhaff client ---
  1395. New key commands:
  1396.     >  increase speed by 1
  1397.     <  decrease speed by 1
  1398.     }  turn on cloaking device.
  1399.     {  turn off cloaking device.
  1400.  
  1401.     F  send a report of armies carried. This sends a message to your team
  1402.        saying how many armies you are carrying.  Many players used to use
  1403.        distress signals to quickly convey the same information, lessening
  1404.        the impact of the distress signal.  Distress signals should be for
  1405.        emergencies, not just common usage.
  1406.  
  1407. Changed distress signals:
  1408.     The distress signal of ships tells your team if you are low on fuel.
  1409.     Many ships are just as doomed when out of fuel as they are when they are 
  1410.     damaged.  
  1411.     Alternately, if you are flying a starbase, the distress signal 
  1412.     tells instead how your weapon temperature is doing, because starbases
  1413.     overheat far more often than they run out of fuel.
  1414.     Also, after the percentage weapon temperature, it will put a 'W' if 
  1415.     your weapons are currently overheated.
  1416.  
  1417.  
  1418. Help Window:  
  1419.     Basically, this was done to show what keys were
  1420.     actually mapped to what functions.  Every key function has a line in 
  1421.     the help window. Her'es a sample line:
  1422.  
  1423.     s gb  Toggle shields
  1424.     ||\\_ The 'b' key has been mapped to toggle shields
  1425.     || \_ The 'g' key has also been mapped toggle to  the shields
  1426.     |\____This space is always there, as a separator.
  1427.     \_____This is the default key for this function, and the hook that you
  1428.       use when defining things to this function. I.e. to set the 'g' 
  1429.       and 'b' mappings mentioned here, you'd have to put 'gsbs' in 
  1430.       your .xtrekrc or your keymap options.
  1431.       NOTE:  This character will appear here, even if it is mapped
  1432.         to something else.
  1433.  
  1434. Featues from the Calvin_bwo client, by Tedd Hadley:
  1435.     These features had been available in the hadley client for quite some
  1436.     time.  If they bother you, you should bother him.
  1437.  
  1438. Lock-on Icon:
  1439.     A little triangle is put above the icon of planet that you are 
  1440.     locked onto.  If you are locked onto a ship, this icon goes on the
  1441.     bottom.
  1442.  
  1443. Message-Warp:  The non-warp version.
  1444.        Hit the 'm' key and start typing. Your cursor changes to the
  1445.     'text' cursor, and all keystrokes go to the message window.  Sending
  1446.     the mesage or the ESC key ends this.  Note, the mouse pointer is not moved, 
  1447.     and in fact, you could even still shoot and/or steer with mouse
  1448.     events while in 'message' state.
  1449.  
  1450. Changed cursors:
  1451.     The cursor changes in different windows. Of specific importance
  1452.     is the tactical cursor and how it changes when non-warp message-warp.
  1453.     Is activated.
  1454.    
  1455. New xtrekrc features:
  1456.     A sample xtrekrc should come with the client, but here are some of the
  1457.     new xtrekrc options:
  1458.  
  1459.     buttonmap:  map the mouse buttons to something else.
  1460.     i.e. the default mapping is:
  1461.       1t2p3k
  1462.  
  1463.     server: default server that is called when no -h argument is
  1464.     specified.  The compiled in default server is bronco.ece.cmu.edu
  1465.     port:   default port that gets called. The compiled default is 2592
  1466.  
  1467.     showtractorpressor:  toggle showing tractor/pressor  beams
  1468.  
  1469.        UDp control
  1470.     tryUdp:    (on/off) Automaticaly use UDP if on
  1471.     udpDebug:
  1472.     udpClientSend:
  1473.     udpClientRecv:
  1474.     udpSequenceChk:
  1475.  
  1476.     extraAlertBorder:  Draws border in internal netrek windows, as well
  1477.     as external ones (which get ignored in X11 with window-managers )
  1478.  
  1479.     forcemono:       if on, the client windows are set to be monochrome
  1480.  
  1481.  
  1482. ***************************************************************
  1483. 8.0 Compiling:
  1484. ***************************************************************
  1485.  
  1486. COW has the best and easiest to use installation procedure a client
  1487. ever had.
  1488.  
  1489. 1 *** If you are compiling COW and do not intend to release the client
  1490.   *** for public distribution with an RSA blessing, simply type:
  1491.  
  1492. make
  1493.  
  1494. In case you will need some additional flags for your compiler or linker,
  1495. edit the "sample_key.def" file and change the corresponding parameters
  1496. at the bottom.
  1497.  
  1498. 2 *** If you are compiling COW with the intention of releasing a client
  1499.   *** for public distribution with an RSA blessing, read below.
  1500.  
  1501. First, please contact brmbugs@crown.EECS.Berkeley.EDU so we know about
  1502. the existance of the client and where other people might obtain it.
  1503.  
  1504. Make sure that you have MP or GMP available on your system.
  1505. If you do not have the GMP installation, you need to obtain it.
  1506. It should be available from gatekeeper.dec.com.
  1507.  
  1508. To install it do the following:
  1509.  
  1510. 1) Take the sample_key.def file as a basis to generate an own RSA key
  1511.    definition file.
  1512. 2) Edit the Makefile and set KEYDEF to the name of the new generated file.
  1513. 3) make
  1514.     If you don't have already a key a new key will be generated.
  1515. 4) make distkey
  1516.     Sends a mail to the RSA key keeper to get your key installed 
  1517.     at the servers.
  1518. 5) you are done!  watch that GPA hit the floor!!
  1519.  
  1520.  
  1521. brmbugs@crown.EECS.Berkeley.EDU always likes to receive bug reports for
  1522. the client and if you have any suggestion for how to improve the
  1523. Makefiles or this description, please email us.  Remember that
  1524. fixes are the best way to complain. Working patches should be sent to:
  1525. brmbugs@crown.EECS.Berkeley.EDU
  1526.  
  1527.  
  1528. ***************************************************************
  1529. 9.0 NEW STUFF:
  1530. ***************************************************************
  1531.  
  1532. The following are additions to BRM made after the time of
  1533. the writing of the above document.  The most recent changes
  1534. are at the bottom.
  1535.  
  1536.  
  1537. From: powell@csl.biosci.arizona.edu (Kevin R. Powell)
  1538. Date: Fri, 17 Sep 93 18:26:04 MST
  1539.  
  1540. --------Mouse Extensions--------
  1541.  
  1542. The new mouse extensions expand the ways in which you interact with 
  1543. the mouse.  The mouse extensions come in 3 distinct areas of functionality.
  1544.  
  1545. The mouse handling has been expanded in the following ways:
  1546.  
  1547.         1. Continuous tracking has been added to the mouse code.
  1548.         2. Shift and control keys now extend the number of commands
  1549.                 that can be issued from a single mouse button.
  1550.         3. Any mouse button may now be used as a sort of shift
  1551.                 key.  Multiple function can be assigned to any key
  1552.                 by pressing while a mouse button is down.
  1553.  
  1554. Note that the first 2 extensions in the above list do not affect the normal
  1555. behavior of the mouse a great deal.  They just add more functionality, while 
  1556. the 3 extension, does some bizarre things with the way you deal with the 
  1557. mouse:)
  1558.  
  1559. --------Continuous tracking--------
  1560.  
  1561. Continuous tracking allows you to cause multiple commands to be issued to the
  1562. server when dragging the mouse with a button down.  For instance you can 
  1563. drag the mouse while pressing button 3 (which defaults to set_course).  This
  1564. provides more feedback for the user, and allows for smoother control.
  1565.  
  1566. The xtrekrc value continuousMouse controls whether or not this extension is 
  1567. enabled, the default value is on.
  1568.  
  1569. Example xtrekrc value:
  1570.  
  1571. # This enables continuous mouse tracking
  1572. continuousMouse:        on
  1573.  
  1574. --------Shift and control mouse buttons--------
  1575.  
  1576. The shift and control keys can be used to modify the default function
  1577. assigned to a button.  The shift key acts as a switch which brings an
  1578. alternate mapping to the mouse buttons.  In a simliar way control and
  1579. shift + control act to switch mappings again.
  1580.  
  1581. You should be able to use button remapping by the normal mechanism, but you 
  1582. will need to include buttons 1-c instead of the normal 1-3.
  1583. Breakdown of values:
  1584. Normal buttons 1, 2, 3, 
  1585. <shift + button 1, 2, or 3> maps to 4, 5, 6,
  1586. <control + button 1, 2, or 3> maps to 7, 8, 9, 
  1587. <shift + control + button 1, 2, or 3> maps to a, b, and c. 
  1588.  
  1589. The xtrekrc value shiftedMouse controls whether or not this extension is 
  1590. enabled, the default value is on.
  1591.  
  1592. Example xtrekrc values:
  1593.  
  1594. # This enables shift/control/shift+control modifiers to the mousebuttons
  1595. shiftedMouse:   on
  1596. # This remaps all the possible mouse buttons
  1597. buttonmap: 1t2p3k4c5s6y7E8z9xaFbdcD
  1598.  
  1599. --------Mouse buttons as shift--------
  1600.  
  1601. Mouse buttons 1-3 can be remapped to enable an alternate key set.  This is
  1602. similar to how the shift key works.  When you press the shift key it causes
  1603. the keys to respond differently (i.e., the letters are capitalized.)  This
  1604. mouse extension does something very similar making the mouse buttons 1-3
  1605. act like shift keys.  Each button "shifts" or causes a new set of key 
  1606. mappings to come into affect.  For people who are used to complicated key
  1607. mappings this extension may actually be useful:)
  1608.  
  1609. This extension can in some ways be viewed as the natural extension of the 
  1610. shift/control key + button combinations.  Instead of the keyboard remapping
  1611. the mouse, the mouse now remaps the keyboard.  Each key on the keyboard now
  1612. has several possible mappings.  
  1613.  
  1614. In the xtrekrc example below the 'a' key has the following functions: by 
  1615. itself it does nothing, with button 1 it is fire_torpedoe, and with button 2
  1616. it is set_speed warp 2.  Likewise s is shield toggle with no mouse buttons,
  1617. phaser with button 1, and warp 3 with button 2.  Note that it is possible 
  1618. to remap all the buttons (1-3) this way.
  1619.  
  1620. The xtrekrc value mouseAsShift controls whether or not this extension is 
  1621. enabled, the default value is off.
  1622.  
  1623. Example xtrekrc values:
  1624.  
  1625. # experimental mouse a shift-like function
  1626. mouseAsShift:           on
  1627. b1keymap:               atspdc
  1628. b2keymap:               a2s3d#
  1629. # I use the 3rd button as set, I like it on th mouse
  1630. #b3keymap:              a2s3d#
  1631.  
  1632. --------Availability--------
  1633.  
  1634. These mouse mods will be available in iBRM v1.00a and in the future in 
  1635. BRM v3.xx.  The BRM group is currently modifying the much of the code 
  1636. that the mouse extensions also effect.  So to avoid conflicting patches I am 
  1637. waiting for the completion of the above mentioned code.  I will then splice 
  1638. my mouse code into the BRM group's code, and submit it to them.  We'll see 
  1639. if it makes it in:)  
  1640.  
  1641.  
  1642. ----
  1643.  
  1644. The following things are on by default:
  1645.  
  1646.         1. continuous mouse code
  1647.         2. shift/control mouse code
  1648.  
  1649. The stuff which is off:
  1650.  
  1651.         1. mouse as shift
  1652.         2. ignore signals
  1653.  
  1654. To turn on ignore signals on the command line use the -i (i.e. brm -i ...).
  1655. To turn on ignore signals in the .xtrekrc add the following line:
  1656. ignoreSignals:  on
  1657.  
  1658. The dashboard is enabled by:
  1659. newdashboard2:  on
  1660.  
  1661. Any comments or suggestions would be greatly appreciated.
  1662.  
  1663. Kevin
  1664. aka ingres, seurat, The Tick
  1665. powell@cs.arizona.edu
  1666.  
  1667.  
  1668. ------------------------------------------------------------------------
  1669.  
  1670. Added xtrekrc option which turns the motion mouse feature off,
  1671. motion mouse still defaults to on.  - jn 9/19/93
  1672.  
  1673. motionMouse:    off
  1674.  
  1675. ------------------------------------------------------------------------
  1676.  
  1677. GHOST START
  1678.  
  1679. After a client dies, or even if you kill the client on purpose,
  1680. you can recover the game and continue playing.  In fact the
  1681. server won't have any idea that anything but bad lag (called
  1682. a ghostbust) has occurred.
  1683.  
  1684. The benefits of this feature include the ability to change
  1685. displays, recompile code (if you happen to be a code hack),
  1686. or simply recover from a core dump.
  1687.  
  1688. In order to use it, you have to pay attention to two numbers
  1689. which are displayed when you connect to the server.  A line
  1690. like this appears:
  1691. ***  socket 11323, player 0  ***
  1692.  
  1693. This indicates which player slot you have been assigned, and
  1694. which socket number has been chosen as your ghostbust socket.
  1695.  
  1696. Now in order to restart, just do:
  1697. brm -G 0 -s 11323
  1698.  
  1699. The important options are -G followed by the player slot you
  1700. occupy, and -s followed by the ghostbust socket.  Notice that
  1701. you don't even specify a server!
  1702.  
  1703. This feature may NOT work on all servers.  Many server gods use
  1704. server code which is too old to support this feature.  Also,
  1705. keep an eye out for small details that are off.  It is NOT
  1706. logically possible to account for everything with this feature.
  1707. Such things as the motd are not resent by the server when you
  1708. connect, so you won't have that around anymore.  Further, the
  1709. client won't know who it is even connected to (see above), thus
  1710. don't be shocked if the client claims you are connected to a
  1711. bogus server.
  1712.  
  1713. WARNING:  Some servers have *very* short ghostbust timeout
  1714. periods.  You must reconnect before this timeout expires or
  1715. your slot will be given to someone else, you won't be able
  1716. to reconnect.  On most servers it is around 6 minutes long.
  1717.  
  1718. Note to experts:  The server will reverify clients using whatever
  1719. available means it has, including RSA or reserved.c when a ghostbust
  1720. occurs and therefore whenever this feature is used.
  1721.  
  1722.  
  1723. --------TNG Bitmaps--------
  1724.  
  1725. TNG bitmaps are an extension that allows for a different set of Federation 
  1726. bitmaps.  These bitmaps are more in the with the next generation style
  1727. ships.  
  1728.  
  1729. The xtrekrc value useTNGBitmaps enables this extension, the default value
  1730. is off.
  1731.  
  1732. Example xtrekrc value:
  1733.  
  1734. # This enables TNG bitmaps
  1735. useTNGBitmaps:        on
  1736.  
  1737. --------Warn Hull--------
  1738.  
  1739. The warnHull extension is a direct analogue of the varyShields extension to 
  1740. BRM client.  Like varyShields, warnHull tries to keep the player informed of 
  1741. the state of your hull by using a bitmap.  The bitmap consists of eight pixels 
  1742. arranged around your ship in a circle just outside you shields (see diagrams 
  1743. below).  When warnHull is on your ship looks like it has small spikes sticking 
  1744. out of the shields:) 
  1745.  
  1746. The xtrekrc value warnHull enables this extension, the defaults value is off.
  1747.  
  1748. Example xtrekrc value:
  1749. warnHull:        on
  1750.  
  1751.  
  1752. It works by using 8 pixels arrayed at the 4 cardinal point of the compass and 
  1753. 4 more at equal intervals between them.
  1754.         o
  1755.    o         o
  1756.  
  1757.  
  1758. o            o    ; 100% neato diagram 1:)
  1759.  
  1760.  
  1761.    o         o
  1762.         o
  1763.  
  1764. So as the hull is damaged, the pixels disappear for every 12% of damage 
  1765. accumulated (clockwise from the top).
  1766.  
  1767.          
  1768.    o          
  1769.  
  1770.  
  1771. o                 ; <76% neato diagram 2:)
  1772.  
  1773.  
  1774.    o         o
  1775.         o
  1776.  
  1777.  
  1778. --------New Dashboard 2--------
  1779.  
  1780. The new dashboard besides defaulting to green (a much more informative color 
  1781. I believe:) uses different levels (fuel, hull damage etc) for green-to-
  1782. yellow-to-red transitions.  It also defaults to displaying how much hull
  1783. and shields you have left, not how much you have lost (i.e. this is an
  1784. optimistic dashboard, it sees the cup as half full:)
  1785.  
  1786. The default value of newdashboard2 is off.
  1787.  
  1788. Example xtrekrc value:
  1789. newdashboard2:        on
  1790.  
  1791. --------Ignore Signals--------
  1792.  
  1793. Ignore signals ignores segmentation faults and bus faults and **tries** to 
  1794. reset the game so you can continue.  It is meant to be used when playing that
  1795. really important game:)  You may never actually see it function, or at least
  1796. we hope so.  You can probably keep it safely on.  You will see a message like:
  1797. "Caught signal SIGSEGV or SIGBUS; attempting to continue" if a segmentation 
  1798. or bus fault occurs.
  1799.  
  1800. The default value of ignoreSignals is off.
  1801.  
  1802. Example xtrekrc value:
  1803. ignoreSignals:        on
  1804.  
  1805. The command line option: '-i' enables this feature as well.  You will see
  1806. a message like: "Ignoring signals SIGSEGV and SIGBUS" when this features is
  1807. enabled by the xtrekrc value or the command line option.
  1808.  
  1809. --------Personalized Cursors--------
  1810.  
  1811. The personalized cursor extensions allows the user to specify their own 
  1812. cursors for the map, local, text, menus and info list windows.  
  1813.  
  1814. Tell me  if you have problems, I need feedback on this because I know of at 
  1815. least one X terminal which this doesn't work properly for.  It works fine on 
  1816. my sun:)
  1817.  
  1818. For infoCursorDef, textCursorDef, arrowCursorDef an optional mask may 
  1819. be specified.  To specify a mask, first create your new cursor, say called
  1820. mycursor, then create the mask and call it mycursor.mask.  They both need to
  1821. be on the same path.  Cursor and mask *must* be the same size, if not the 
  1822. cursor cannot be used (why anybody would want to do this makes no sense, 
  1823. but...:)
  1824.  
  1825. These are the xtrekrc values:
  1826.  
  1827. localCursorDef:        /usr/me/.local.xbm
  1828. mapCursorDef:        /usr/me/.map.xbm
  1829. infoCursorDef:        /usr/me/.info.xbm
  1830. textCursorDef:        /usr/me/.text.xbm  # the mask would be called /usr/me/.text.xbm.mask
  1831. arrowCursorDef:        /usr/me/.arrow.xbm
  1832.  
  1833. --------------------------------------------------------------------
  1834.  
  1835. From: powell@csl.biosci.arizona.edu (Kevin R. Powell)
  1836.  
  1837. --------Control keymaps--------
  1838.  
  1839. Control keymaps (ckeymap) handle the remapping of keys in an
  1840. analoguous manner to the normal keymap (keymap).  The control keymap
  1841. also allows the user to map both *upper* and *lower* case letters keys
  1842. when pressed with the control key.  This means that ^u and ^U are
  1843. *different* keys when it come to mapping them.
  1844.  
  1845. Any combination of normal keys and control keys can be mapped to one 
  1846. another.  In other words, you can map from control key to control key,
  1847. control key to normal key, normal key to normal key, and normal key
  1848. to control key.  
  1849.  
  1850. New format for ckeymap is:
  1851. c = any printable ascii character.
  1852. ^ = introduce control mapping (the key '^' not control + key.)
  1853.  
  1854. Each entry is a pair, like:
  1855. cc              # regular format
  1856. c^c             # regular->control
  1857. ^cc             # control->regular
  1858. ^c^c            # control->control
  1859.  
  1860. Example ckeymap:
  1861. ckeymap:                 ^a%r^b^m^ca%d5 tfDFf^^E
  1862.  
  1863. Special case:
  1864. The '^' must be mapped with a double ^ ("^^") in either the bound or
  1865. binding key position.
  1866.  
  1867. Notes:
  1868. * If you experience difficulties (you shouldn't) you might wish to use
  1869.   a normal keymap and a new ckeymap in combination.  Both are read in,
  1870.   the keymap first then the ckeymap.  This means that if a key is
  1871.   defined in both the keymap and ckeymap, the ckeymap's definition
  1872.   will be the one used.
  1873. * If you wish to use ckeymaps in conjunction with keymaps based on
  1874.   ship type (keymap-??, etc.), note that ckeymap still overrides
  1875.   keymap-??.  For e.g., if you define a key in ckeymap and in
  1876.   keymap-bb, the ckeymap binding hides the other binding.  You should
  1877.   use ckeymap-bb instead.
  1878. * Since ckeymaps are a superset of keymaps, you might consider using
  1879.   ckeymaps in all situations where you would use keymaps.  This will
  1880.   make things a lot simpler for you.  (But keep in mind that `^' has a
  1881.   special meaning in ckeymaps!)
  1882.  
  1883. Analogously, control keys may be used for buttonmap, singleMacro and
  1884. all macro and RCD definitions.
  1885.  
  1886. ----------------
  1887. Rabbit Ear Bitmaps
  1888.  
  1889. How to use rabbit ear bitmaps.  A new resource value called
  1890. whichNewPlanetBitmaps is used to enable rabbit ear bitmaps.  You must also 
  1891. have the newPlanetBitmaps enabled as well for whichNewPlanetBitmaps to have 
  1892. any effect.
  1893.  
  1894. Resources:
  1895.  
  1896. # newPlanetBitmaps automatically sets whichNewPlanetBitmaps to 1 if
  1897. # no whichNewPlanetBitmaps resource is set.
  1898. newPlanetBitmaps:    on
  1899. # newPlanetBitmaps must be on for the following to work
  1900. whichNewPlanetBitmaps:    (integer) choose which planet bitmaps to use
  1901.     0 = normal old style bitmaps
  1902.     1 = default moobitmaps
  1903.     2 = rabbit ear bitmaps
  1904.  
  1905. ----------------
  1906. Documentation Window
  1907.  
  1908. The documentation window is used to view documentation while actually 
  1909. playing.  In order to do this you must either have the COW.DOC file in 
  1910. the directory you are running the client from or you must set the 
  1911. documentation resource value with the full path to the file with the
  1912. documentation.  Control-y brings this window up.
  1913.  
  1914. The 'f', 'b' keys scroll forward and back by 28 lines, like the motd 
  1915. window.  While 'F' and 'B' keys scroll by 4 lines.
  1916.  
  1917. Resources:
  1918.  
  1919. documentation:    /home/kensho/powell/misc/netrek/brm3002/myCOW.DOC
  1920. ----------------
  1921. Xtrekrc File Window
  1922.  
  1923. The xtrekrc file window is used to view your current xtrekrc file online.
  1924. It is currently very stupid in that if you used the command line
  1925. option '-r' to specify your xtrekrc file, this viewer will not find
  1926. it (it currently hard wired for $HOME/.xtrekrc:(  Control-X (that 
  1927. is control-shift-x) will bring up this window.
  1928.  
  1929. The 'f', 'b' keys scroll forward and back by 28 lines, like the motd 
  1930. window.  While 'F' and 'B' keys scroll by 4 lines.
  1931. ----------------
  1932.  
  1933. Kevin
  1934.  
  1935. ----------------
  1936. Race Colors
  1937.  
  1938. For those of you who like different colors than the defaults, but are 
  1939. tired of going on "Purple Alert", here is a patch that allows you to 
  1940. define race colors separately from the alert colors.
  1941.  
  1942. The new .xtrekrc options are:
  1943.  
  1944. #resource               example value
  1945. #--------               --------------
  1946. color.Ind:              light grey
  1947. color.Fed:              yellow
  1948. color.Rom:              tomato
  1949. color.Kli:              green2
  1950. color.Ori:              light steel blue
  1951.  
  1952. If a color is not set, it defaults to the usual. (ie, if you omit 
  1953. color.Ori above, the orions will be color.cyan, which defaults to cyan)
  1954.  
  1955. -------------------------------------------------------------------
  1956.    BEEPLITE.DOC
  1957. -------------------------------------------------------------------
  1958. Local weenies cheat.  They talk to each other.  Those of us who have
  1959. never met another netrek player are forced to relie heavily on the
  1960. message window.
  1961.  
  1962. In order to even the playing field, the current feature was proposed.
  1963. This feature causes certain types of RCD messages to beep or even
  1964. highlite specific objects on the screen.  This is done via a
  1965. macro-like interface which is highly configurable.  Further, bitmaps
  1966. used to highlite can be substituted with your preferences.
  1967.  
  1968. ***  TURNING BEEPING AND HIGHLITING ON
  1969.  
  1970. In order to turn message beeping and highliting on, you must include the
  1971. following in your .xtrekrc.
  1972.  
  1973. UseLite: on
  1974.  
  1975. The above leaves you with the feature on, but nothing is automatically
  1976. setup.  If you want to configure it yourself, go to the "CONFIGURING
  1977. VIA XTREKRC" section.  You can include a set of reasonable defaults,
  1978. instead of bothering to learn to configure it yourself by including
  1979. the lines.
  1980.  
  1981. DefLite: on
  1982.  
  1983. At any time, you can extend these simply by including some of the
  1984. configuration syntax in your .xtrekrc as described in the "CONFIGURING VIA
  1985. XTREKRC" section.
  1986.  
  1987. WARNING:  Use beep _sparingly_, people (including you) will get sick 
  1988. very quickly of hearing your workstation beep every 5 seconds.
  1989.  
  1990.  
  1991. ***  CONFIGURING VIA XTREKRC
  1992.  
  1993.  
  1994. Message beeps are configured as on and off.  They are turned on if the
  1995. proper line is in your .xtrekrc.  Otherwise they are left off.
  1996.  
  1997. Message lites are configured in a way very similar to macros.
  1998. However, in addition to the original set of macro arguments, a new
  1999. class of arguments is introduced to handle the highliting.
  2000.  
  2001. To configure message highliting, include something like the line below.
  2002. Here "name of distress" is the RCD message type.  "macro" is the macro
  2003. style syntax specifying what is to be highlited.
  2004.  
  2005. lite.[name of distress]:  [macro]
  2006.  
  2007.  
  2008. Below are the configurations which are equivalent to the defaults
  2009. which are setup for you if using DefLite.  These provide good 
  2010. examples for how the system works.
  2011.  
  2012. lite.taking:   /c/l
  2013. lite.base_ogg: /g/m
  2014. lite.pickup:   /h
  2015. lite.help:  %?%S=SB%{/c%}
  2016.  
  2017. The above does the following,
  2018. "taking" message highlites the planet and taker
  2019. "base_ogg" message highlites the person to sync and your ship 
  2020.       (to REALLY get your attention)
  2021. "pickup" message highlites the enemy who picked up
  2022. "help" tests to see if the player sending the distress is a base, if so
  2023.       he is highlited
  2024.  
  2025. You might like to change the last one to:
  2026. lite.help:  %?%S=SB%{/c%}%?%a>0%{/c%}
  2027.  
  2028. This will highlite bases who distress AND carriers who distress.
  2029.  
  2030. Using TTS you may change the pickup macro to:
  2031. lite.pickup:   /h/|%p++ @ %l|
  2032.  
  2033. This sends a big ++ message on the tactical map in addition to the light.
  2034.  
  2035. Note that all the MACRO parsing routines are run on these, and plain 
  2036. text left over is ignored.  Only the highlite argument matter.
  2037.  
  2038. The following are the arguments for highliting.
  2039.  
  2040. /c /i /I   sender
  2041. /m /M      _your_ ship
  2042.  
  2043. /p      target player
  2044. /g      target friendly player
  2045. /h      target enemy player
  2046. /P      player nearest sender
  2047. /G      friendly player nearest sender
  2048. /H      enemy player nearest sender
  2049. /b      planet nearest sender
  2050. /l      target planet
  2051.  
  2052. The following are the arguments for sounds.
  2053.  
  2054. /0         Standard window beep (incoming message sound if sound is on) 
  2055. /1 - /9 Play nt_message1 - nt_message9 sound.
  2056.  
  2057. Tactical Text Solution for the Tactical Tunnel Syndrome (TTS):
  2058.  
  2059. /| .. | displays Text in between via TTS. 
  2060.  
  2061.  
  2062. Additional defaults:
  2063.  
  2064. planetCycleTime:    highlighting time for planets
  2065. playerCycleTime:     highlighting time for players
  2066.  
  2067. tts_color:         color of TTS message (should be dark)
  2068. tts_font:         Font (large prefered)
  2069. tts_max_len:         Max length of a message
  2070. tts_time:         Time a TTS message is displayed
  2071. tts_pos:        y location of the TTS message
  2072.  
  2073.