
         +--------------------------------------------------------+
         |  CCC    OOO   N   N   QQQ   U   U  EEEEE   SSSS  TTTTT |
         | C   C  O   O  NN  N  Q   Q  U   U  E      S        T   |
         | C      O   O  N N N  Q   Q  U   U  EEE     SSS     T   |
         | C   C  O   O  N  NN  Q  Q   U   U  E          S    T   |
         |  CCC    OOO   N   N   QQ Q   UUU   EEEEE  SSSS     T   |
         +--------------------------------------------------------+

                              Conquest HISTORY

8.3 (stable) 09/03/2007

  - stable release.  We hope.  The main features for this release are: 

  - Sound support. This version of conquest updates the GL client to
    support sound via SDL and SDL_mixer.  A wide variety of effects
    and sounds are now provided.  No more of that insipid X11 beeping.

    Cat provided the original patch and samples adding this support,
    though it was completely rewritten using a new internal cqs* API
    within conquest, and is configurable via CQI config files (soundrc).

    The conquest distribution includes the sounds used for the
    effects.

    An optional musicpak tarball is available seperately, due to it's
    size.  To use it, simply unpack the musicpak tarball into your
    ~/.conquest/ directory.

    To use sound support, you must have SDL and SDL_Mixer libraries
    and headers.  

  - The ability to zoom in and out in SR/LR scan was added to the GL
    client, based loosely on a patch from Cat.  You can zoom in or out
    in +/- 5 steps (magfactors) in either LR or SR scan.

  - In addition, several changes and improvements have taken place
    regarding rendering in the GL client:

    - The HUD is laid out a little differently (and more configurably)
      via CQI.

    - The VBG and NEB are rendered better (scaling and appearence).

    - A large number of scaling bugs were fixed.

    - A crosshair cursor is now used in the GL client.    

    - The torp pips have been relocated next to the phaser recharge
      indicator.

    - explosions are now visible in LR scan.

    - several other fixes too minor to mention.

  - optional TCP Wrappers support for conquestd and conqmetad.

  - fixed some security (possble buffer overruns) in the client
    (meta.c and CLIENTSTAT processing) reported by Luigi Auriemma.

  The following is the more detailed history of the intervening devel
  releases, if you really have nothing better to do than read it :).

  8.2c (devel) 07/08/2007

  - bug report from Adam Sampson: 'make install' should not
    chgrp/chmod $(DESTDIR)$(CONQSYSCONFDIR)/*rc . Depending on where
    $(DESTDIR)$(CONQSYSCONFDIR) actually is (say, /etc) this can cause
    'issues' :)

  - fix bug whereby statistics data (ALT-S) in conquestgl (FPS, ping
    RTT, bandwidth, etc) would not be shown unless althud was also
    enabled.

  - clear all of the message/prompt lines when initting the CP node.
    If you self-destructed for example, then re-entered, you could
    still see the destruct confirmation message in the prompt area. 

  - add the ability to zoom in/out during playback of a previously
    recorded game.

  - fix issue where in SR scan, but zoomed all the way out, you could
    see ships that you can't really see.  

  - when quitting from the main menu, or in the CP via ^\ , stop all
    music and FX channels before leaving to avoid stuttering audio.

  - added warp2 (background warp) textures from Cat (with some slight
    changes).

  - add tcp wrappers support to conquestd and conqmetad - not compiled
    in by default.  You can enable by specifying
    '--enable-tcpwrappers' to the configure command line.  You will
    need to have tcpd.h and libwrap installed.  The daemon name (for
    your system hosts.allow file) is 'conquestd' and 'conqmetad'
    respectively. 


  8.2b (devel) 06/04/2007

  - 8.2b devel release

  - fix bug that prevented timed effects from being triggered for
    delayms (if specified in the soundrc file) after the game started.
 
  - disable allocation of a depth buffer.  We aren't using it,
    so...

  - added sound effect for torp alerts.

  - fixed up configure so that it won't barf if sdl-config or other
    SDL checks fail.  If that happens, sound support will just be
    disabled. 

    Also fixed some problems that prevented the GL client from being
    built when sound support was not available.  Sorry about that.

  - add capability of specifying named texture rectangles (texareas)
    as part of a texture definition into CQI.  This makes it possible
    to define the element positions of the 2 decals used in the hud in
    the texturesrc file, rather than hardcoding all that crap into
    updateIconHudGeo().  Simplified alot of the hud computations,
    especially in updateIconHudGeo().

    Simplified scale/gauge drawing considerably.  No more stupid stuff
    in there anymore I hope :)

    Added the new item rectangles to the various team decal1 and
    decal2 texture definitions in texturesrc.  Knock yourself out Cat
    :)

    Moved the torp status pips to the right of the icon ship, next
    to the phaser charge status gauge.

  - new hud decal1 and decal2 textures are provided.  These have been
    modified to contain all of the relevant decal data, so there is
    no more seperate fuel gauge and fuel number rendering, for
    example.  The number boxes are contained within the decal textures
    now - their locations are specified via texarea subsections in
    their respective texture definitions.

  - the compiled-in texture default configuration header file
    (texdata.h) has been removed.  All texture data is read from the
    texture config files at startup time, always.  The GL client will
    fail to start if the main texturesrc file cannot be found, or
    contains a syntax error.

  - more NEB rework so it looks a little better.  Added support
    to CQI texanim to modify the texture's s and t offsets.  Now use a
    'neb' animdef for rendering it to provide that 'high speed
    streaming cloud' look. :)

  - add new '-v' option to the clients to increase verbosity

  - output some basic GL info.  Using '-v' will list the GL
    implementation's various limits.

  - some sillyness fixed in cu2GLSize.  

  - major rework of the vbg rendering.  It was pretty screwy,
    especially when you threw magfactors into it :)  

  - Animdefs now always handle sizes in CUs, (istate and deltas and
    geo size).  These values must be rescaled via cu2GLSize or glScale
    prior to rendering now, in order for the magfactors to work
    properly.

  - Due to the size/scaling rework for the animdefs, explosions can
    now be drawn properly in LR scan, and therefore, are now drawn in
    LR scan :).  Planet bombing could work as well in LR, but for now
    it isn't.

  - make sure the mag change sound doesn't play more than once
    every 60 seconds.  Same for the info sound.

  - based on 'mag factor' idea from Cat, implemented zoom in/out in
    both SR and LR views.  There are 5 levels of zoom out and zoom in.
    You can zoom in/out with the '[' and ']' keys.  ^L resets the view
    to default zoom (none).

    During this work some subtle bugs in GLcvtcoords() were fixed,
    yielding much more accurate placing of objects.  Limit checks in
    GLcvtcoords fixed to properly account for magscaling.  It's main
    weakness now is accounting for the sizes of objects.  Oh well :)
    
    There were a variety of other scaling and sizing bugs fixed as a
    result of this work.  

  - cursor now uses cross-hair shape.  With a fixed GLcvtcoords, it is
    actually accurate in the viewer now. :)

  - fixed some security (possble buffer overruns) in the client
    (meta.c and CLIENTSTAT processing) reported by Luigi Auriemma.


  8.2a (devel) 11/27/2006

  - Added sound support using SDL and the SDL_mixer API based on
    patches and samples from Cataboligne.

    This version supports sound effects for phasers, torps,
    explosions, and pile of other things.

    In addition, an optional 'musicpak' tarball provides some
    appropriate Conquest music to listen to during your campaign of
    terror.

    The musicpak is located on the webpage with the source tarball and
    can be installed by unpacking it into your ~/.conquest/ directory.

    SDL and SDL_mixer development header files and libs are required.
    All sound effects and music are supplied in OGG Vorbis (.ogg)
    format.  I believe all linux systems at least, support OGG in
    their SDL implementation.

    Sound is only supported in the OpenGL (conquestgl) client. 

    I have to say thanks again to Mr. Cataboligne - sound is a
    definite improvment to the Conquest experience :)

    The following is a somewhat more detailed log of the sound work.
    You do not really need to read it unless you are curious about the
    details :)

       - Add option (-S) to disable sound in conquestgl.

       - Effect and Music volume (if you installed the musicpak) are
         configurable from the options page.  Sounds, like textures,
         can be overridden by the user.

       - moved the music into a seperate area in the repository
         (music/).  Music is packaged in it's own tarball since it's
         pretty large (15MB).  To hear the glorious music of Conquest,
         you must unpack the musicpak tarball into your ~/.conquest/
         directory.

         The effects are shipped in the main src tarball as they are
         small in comparison :)

         If you have a checked out version of the repository, you can
         create the musicpak tarball by running 'makemuspkg'.

       - fixed doomsday beam sound to not try to fire more than once
         per second, and made it a positional sound.

       - moved doomsday_theme checks into nCP.c.

       - add beep sounds for alert, message, and error conditions.
         No more X11 beeping :)  

       - hook up 'hit' effect.  If you take more then 5 points of
         damage, it will play.

       - fix problem with volume.  If an effect isn't using a panning
         mixer effect, then make sure all panning is disabled for that
         channel.  Failure to do this results in non-positional
         effects playing at half their normal volume.

         As a result of this fix, went through soundrc and re-adjusted
         (equalized) some of the effect volumes.

       - rework themes() stuff, move into nCP.c

       - set the alert klaxon loop couts in soundrc to 0 (infinite).

       - Apply Cat's patch adding the themes() stuff and a few misc
         effect hookups.

       - fix clbCheckLaunch() to fail if weapons are overloaded. 

       - Add option (-S) to disable sound in conquestgl.

       - Add support for .src (add-on sound RC files).  These work the
         same as texture add-on files (.trc), allowing operators or
         users to override sound related definitions.  They are looked
         for in the system-wide <install prefix>/etc/ directory, then
         the user's ~/.conquest/ directory.

       - beef up configure a bit.  Properly detect when SDL headers
         are missing (sound support) and glut/GL headers are missing
         (OpenGL support).  Don't try to build the relevant OpenGL and
         sound bits if not supported.

       - when searching for .trc and .src files, sort the filenames
         first before loading them, so that they are always loaded in
         a consistent order (alphabetically).

       - add engine background sound (engine).

       - converted all .wav's to .ogg's.  

       - Initial sound support based on work by Cat.  soundrc and
         associate parser working.  Can init SDL/SDL_mixer and
         load/use sounds.  Yay.

8.2 (stable) 9/1/2006

       This version represents a major update to Conquest, primarily
       in the GL client, conquestgl.

       A variety of new enhancments and bugs fixes are present.  The
       following section will outline the major changes to the various
       Conquest components in this version (compared to the last
       stable revision 8.1.2).  Following that is the much more
       detailed HISTORY that went into each intervening development
       release (if you are bored). 

       By far the most work went into the GL client.  There were
       several important server fixes as well, so please upgrade your
       servers to this release if you run one :)
       
       - General

         - Conquest now creates a ~/.conquest/ directory in which to
           store conquestrc (the user config file), the conquest.log
           file, and texture/animation definitions, and images
           (~/.conquest/img/).

           If you have an existing ~/.conquestrc config file you
           should copy it into ~/.conquest/conquestrc if you want to
           keep your settings.  The ~/.conquestrc is no longer used.

         - Using the new conqinit (CQI) parser, the planet
           initialization code was rewritten.  This makes it easier
           for someone to create 'custom' planet configuations for
           their server(s).

         - manpages for all of the commands.  Text documentation
           (README, CONQINIT.TXT, etc) are installed in
           <prefix>/share/doc/conquest now.

         - rework remote OPER commands.  Now use '/' as a prefix for
           sending certain commands to 'GOD' from within the game.
           Only users with the 'OPER' bit set in their user record can
           send oper commands to the server.  New commands allow
           OPER's to create robots and kill ships, in addition to
           starting/stopping server-based game recording.

         - correct problem where clients might exit incorrectly when
           an unexpected packet arrives during the welcome phase.

         - enhance recording protocol so that server recordings are
           easier to determine.  Always store the ship number that
           made the recording into the header.

           Existing recording (CQR) files are compatible.

         - previously, the client(s) tried to be smart and not waste
           the server's time with requests it knew the server would
           reject, for example, firing a phaser when you are cloaked.

           Unfortunately, this introduced race conditions when the
           connection had any significant lag, which would cause the
           client's idea of what would succeed to be incorrect.

           Now, we simply send such commands to the server, regardless
           of the local client's state, and let the server sort it
           out.
    
         - Add a new 'conqurule.easy' robot AI definition to the
           distribution.  This rule file makes the robots a bit less
           lethal to new players.  You can install it for a running
           game with something like 'conqstrat -U <conqrule.easy'.

         - switched to Subversion (svn) source code control.  An svn
           conquest repository can be found at:

           - 'current' (possibly unstable) development:
             svn://radscan.com/conquest/trunk

           - tagged (officially released) revisions:
             svn://radscan.com/conquest/tags/


       - conquestgl

         - All new cockpit (CP) with new ship artwork provided by
           Cataboligne (aka Roy).  He spent incredible amounts of time
           on acquiring new textures and adding them into Conquest.
           The CP looks *much* nicer as a result.  Among these:

           - new ship textures
           - team specific torp texture animations.  Torps are
             'directionally' displayed.
           - new per-team phaser textures
           - team-specific LR tactical grids
           - new doomsday texture.  Doomsday now fires a visible AP
             beam at unfortunate planets.
           - new shield textures (now you can see your shields as well
             as other ship's shields and their strengths).
           - Iconic ship status representation
           - new gauges
           - new conquest logos
           - he also supplied new texture management and planet
             configuration support.  However, these were removed and
             replaced with the CQI infrastructure I was already
             working on at the time.

         - rework some of the status indicators:

           - self destruct and current alert target are now shown in
             the viewer.
           - New alert 'pulse' messages are displayed in the viewer
             indicating: engines critical, engines overloaded,
             weapons critical, weapons overloaded, shield critical,
             hull critical, and fuel critical.
           - add torp 'pip' display based on original work by Cat.
             These indicate torp status (ready, in-flight,
             exploding). 
           - show shield recharge status (when down)
           - show phaser charging status

         - bombing graphics.  You can see your explosions as you bomb
           victim planets.

         - Mouse support in the CP.  You can now assign macros to
           mouse buttons (+ modifiers).  This allows you to use the
           mouse in the viewer while in the CP to do... just about
           anything you can cram into a macro :)  

           The default configuration assigns the left button to fire
           phasers at the indicated angle, middle button to set
           course, and right button to fire a torp.  Of course you
           can redefine these in the Options menu or by editing your
           ~/.conquest/conquestrc file directly.

           See the comments in the conquestrc file or the conquest(6)
           manpage for more information.

         - complete rewrite of the texture managent code.  Previously
           Conquest used 37 'hardcoded' textures.  With the new
           atrwork from Cat (173 textures), this was no longer a good
           way to do things :)  [Note the release distribution
           contains approximately 107 textures - many were removed
           from the orginal patch from Cat].

           CQI provides a way of adding (and allowing users to add or
           redefine) textures and animations using external human
           readable/editable text files parsed by CQI.  

           For a complete description of CQI, See the CONQINIT.TXT
           file in the source distribution.  See the conqinit(6)
           manpage for information on the conqinit utility.

         - texture loader now suports RLE compressed TGA files.  All
           textures are supplied in compressed format now.

         - New negative energy barrier (NEB) rendering.

         - default resolution is 1024x768 now.  Can run in fullscreen
           by passing the -f flag to conquestgl.

         - UDP keepalive's are sent from the client to the server
           every 30 seconds from the GL client, regardless of what
           screen you are on.  Previously these were only sent if you
           were in the cockpit (CP).  This is needed to keep some
           firewalls happy.

         - fix off-by-one in GL ship list.


       - conquestd (game server)         

         - fix very old (and rather serious) bug that prevented
           phasers fired within 315-360 degrees from causing any
           damage.  Server operators, please upgrade to this release
           :).

         - fix problem where the recording packet cache was not
           cleared when starting a new recording, except for the first
           one.

         - always emit at least one ship update via UDP (if enabled)
           to prevent some firewalls from closing down the connection
           after a period of seeming inactivity.

         - propagate SHIP_F_REPAIR flag for ships other than your own
           that are within scanning range so that shield status is
           accurate when repairing.

         - new SHIP_F_BOMBING flag so that clients can easily
           determine who is bombing a planet (for the bombing
           graphics).


       The following are the detailed notes for the intervening
       development versions leading up to this release.  Probably not
       worth reading unless you are looking for more details on the
       changes described above :)


       8.1.2k (devel - not publically released) 8/29/2006

       - get rid of '-d n.n' option, use '-B' option now for
         'benchmark mode'.  Still needs work to be useful.

       - add 'AUTO_RECORD' define in defs.h (default is undefined).
         When defined, the server automatically records all games.

       - convert remaining glutGet(GLUT_ELAPSED_TIME) to
         clbGetMillis(). 

       - When loading textures, we now look for system-wide *.trc
         files in CONQETC after loading the main 'texturedrc' file.

         So the texture/anim config loading order is now:

           System-wide CONQETC/texturesrc
           System-wide CONQETC/*.trc
           User ~/.conquest/*.trc

         This will make it easier to add 'misc' texture definitions to
         the distribution w/o neccessarily having to change
         texturesrc, which should only contain 'base' information. 

         Along those lines, added system-wide '00_plantex.trc' file
         that specifies some different texures for some of the class D
         planets.  

         Added new texture images for jupiter, neptune, and uranus.

       - add new 'conrule.easy' robot rule file.  This file specifies
         a robot stragegy that should make robots more 'fun' (read:
         less hopelessly lethal) for newbies.  Experienced players
         might have some fun dogfighting them too. :)

         You can setup your universe's robots to use this strategy
         with:

         conqstrat -U < conqrule.easy

         I will probably run this one on the public server at
         conquest.radscan.com:1701, since alot of new people show up
         there (and get their butts kicked by robots). 

       - randomize robot headings when created.

       - when initializing (e)verything or (u)niverse in conqoper,
         enable the game by default.  Previously the game had to
         always be manually enabled after initializing any of these
         things. 

       - arrange for the conquest AI rule files, and the non-manpage
         documentation to be installed in $prefix/share/doc/conquest/ 

       - manpages/documentation: 

         - add contents of conquest.doc into the conquest manpage.
           Get rid of conquest.doc.  Also add section on macros to the
           conquest manpage.

         - add contents (other than telnet server info) of SERVER.TXT
           into conquestd manpage.  Remove SERVER.TXT from
           distribution (but keep in the repository).

         - add conquestgl manpage (sources conquest manpage).

         - various minor fixes


       8.1.2j (devel) 8/9/2006

       - 8.2 pre-release, barring significant issues.

       - draw a line below the shield gauge that will indicate current
         shield strength when shields are down.  This is useful for
         allowing you to check your shield's recharge status without
         having to raise them first.

       - change 'REPAIRING' icon decal color from green to cyan-ish.

       - add a conqinit man page.

       - move CLAMP() macro into conqdef.h for everyone to use.

       - fixup the cygwin build

         - update README.cygwin for current info and methods for
           enabling IPC services.

         - re-arrange the lib ordering a bit at link time so the
           stupid linker can handle libconqinit/libconquest
           dependancies (cqiInitPlanets).

       8.1.2i (devel - not released) 7/29/2006

       - fixed an old (and serious) bug that prevented phasers from
         damaging a target if it's angle was between 315 and 360 from
         your ship.  It is definitely advisable for server operators
         to upgrade to this version if you want phasers to work when
         fired within this angle range

       - fixed torpdir stuff in GL.c - should no longer get occasional
         incorrect directional torp angles.

       - changed ship textures and drawShip() to not use lower left as
         the ship's texture origin, like the other textures.

       - fix off-by-one in GL ship list.

       8.1.2h (devel - not released) 7/21/2006

       - patches from Clint Adams, putting the manpages in their proper
         place (section 6 rather than 1), and supplying a conqai and
         conqstrat manpage.

       - in initGLPlanets, use the classd texture by default (for
         class A, O, and Z, for example) rather than the moon
         texture. 

       - When looking for ~/.conquest/*.trc files, only look for files
         that *end* in .trc .

       - previously, the client(s) tried to be smart and not waste
         the server's time with requests it knew the server would
         reject, for example, firing a phaser when you are cloaked.  

         Unfortunately, this introduced race conditions when the
         connection had any significant lag, which would cause the
         client's idea of what would succeed to be incorrect.

         Now, we simply send such commands to the server, regardless
         of the local client's state, and let the server determine
         the validity of a command.

       8.1.2g (devel) 7/16/2006

       - add 'Hull Critical' and 'Shields Critical' pulse messages to
         viewer.  Remove icon sh/hull critical texture decals.

       - server fix: propagate SHIP_F_REPAIR flag for ships other than
         your own that are within scanning range so that shield status
         is accurate when repairing.

       - added man pages for conqdriv, conqmetad, conqoper,
         conquest/conquestgl (one manpage for both), conquestd, and
         conquestsh.

         These will be beefed up more in the future from info in the
         README and other files.

       8.1.2f (devel - not publically released)

       - fixed bug with mouse macros and angles that would cause the
         computed angle to be off by a few degrees depending on where
         you clicked.

       - Engine/weapon critical alerts now pulsed in viewer.  Got rid
         of iconhud eng/wep critical decal textures.

       - added 'Fuel Critical' alert pulse in viewer when fuel is < 100.

       - 'alert bars' are gone.  In their place are torp status pips,
         indicating torpedo status for each torp (left), and a
         vertical phaser status gauge, indicating phaser recharge
         state (right).

         Torp pip colors:
              Green - ready to fire
              White - in flight
              Red   - exploding
         
         Phaser recharge:
              Green - ready to fire
              Red   - recharging

       - Alert text is now displayed at bottom of viewer, instead of
         hud icon area.

       - army counts and team owner are now displayed on SR scan as
         well when numeric_planet_map is enabled.  Previously this
         only worked when in LR scan.

       - 'p', 'P', and 'f' firing commands always accept an angle,
         even if you can't actually fire them.  This avoids certain
         'accidents' when using macros, where if the fire command
         could not succeed for some reason, the angle would be
         mistakenly interpreted as a warp command.

       - When in orbit, use 'Orbit' instead of 'o' in warp indicator.

       - add conquest homepage URL and mailing list suggestion to main
         menu. 

       - switched to Subversion (svn) source code control.  An svn
         conquest repository can be found at:

         - 'current' development:

           svn://radscan.com/conquest/trunk

         - tagged (officially released) revisions:

           svn://radscan.com/conquest/tags/


       8.1.2e (devel) 7/1/2006

       - added some mouse support in the GL client.  Macros can be
         assigned to mouse buttons + key modifiers (Control, Alt, and
         Shift).  Configuration of your mouse macros is available via
         the (O)ptions menu, or you can edit your conquestrc file
         directly. 

         The mouse only works when playing the game (in the Cockpit)
         and the cursor is within the viewer window in the GL client.  

         Three default mouse macros are provided to give you a taste,
         and will be saved in your conquestrc file the first time you
         run this version of the client.  They are:

         mouse button 0 (left): Fire phaser at <angle>
         mouse button 1 (middle): Set course to <angle>
         mouse button 2 (right): Fire Torp at <angle>

         Of course you can redefine these, as well as add others.

         See the mouse macro comment block in your conquestrc file for
         a description of the format.

         <angle> is represented as '\a' in the macro string.  When the
         particular mouse button is hit, the '\a' character sequence,
         if present in the macro, will be replaced with the angle of
         the cursor relative to the center of the viewer when the
         button was pressed.

         Up to 32 buttons (0-31) are supported, and can be used with
         any combination of the Modifier keys (Shift, Alt, and Control).

         That gives you a total of 256 macros, provided you have a
         mouse/input device with 32 buttons.

         Enjoy :)

       - Since it's going to be painful continuing with the alien
         language thing, they've been removed from this version (with
         the exception of the team-specific Conquest logos).  All
         teams use the same decal1/decal2 (scale) textures in the HUD
         now.  The 'do_native_lang' option is gone.  Fixed up the
         decal1/2 textures with new, easier to read fonts, changed a
         few colors, and re-organized the allocation scale.

         The 'critical' alert icons have also been changed to have an
         english font, and all ships use the same set.  Since each
         ship has a different shape, there was no good way to draw the
         lines between the text and the area of the ship of interest
         using a single set of textures.  So, they are more like lamp
         indicators overlayed on the iconhud now.

         Towed/towing status and carried army count is displayed
         semi-transparent at the bottom of the viewer now, rather than
         in the icon hud area - not enough room there :)

         New 'Engine Overload' and 'Weapons Overload' "pulsed"
         messages are displayed in the viewer when an overload
         condition exists (using a new animdef).  
         
       - removed the Irken planet textures and texture definitions.
         There does not seem to be an Irken server available anymore
         so there is no point in including them...

         The images and a .trc file are present in the irken-mod.tgz
         file available from Cat, should he wish to run a server again
         :) Just unpack the tarball in your ~/.conquest/ directory and
         you will be able to see the Irken planets in all their
         glory.  

       - removed all of the non-used textures (eng/sh fail, other team
         (alien) decal/icon textures, torpicon/beam/tow, etc).  In
         other words, massive texture cleanup and removal.  Went from
         179 to 107 textures.  Woohoo.

       - fixed up configure to not build static libs by default anymore.

       8.1.2d (not released)

       - added 'bombing' graphics.  Now when you bomb a planet, you
         see explosions on it.  
         
         The server protocol changed as a result, though the change is
         backward compatible.  

         When connecting to an older server (< 8.1.2d) you will only
         see explosions if you are bombing a planet yourself (we fake
         it on the client).  'Bombing' state for a ship won't be
         recorded, so you won't see the bombing graphics when playing
         it back.

         Playing on a newer server (>= 8.1.2d), you will see bombing
         graphics for any ship in scanning range that is currently
         bombing a planet.  In addition, recording files, when played
         back, will show bombing graphics for those ships that were
         bombing at the time. 

       - fixed problem in GL client, where if a planet's type, etc
         changed after initGLPlanets was run, the user would not see
         the change in texture/color/size, etc.  Now we update the GL
         display characteristics of a planet whenever a packet that
         could affect these characteristics arrives.

       - when doing a 'make install', only overwrite the system
         conqinitrc file if it does not already exist, to prevent
         accidentally overwriting any local planet modifications (yes,
         this happened to me :).  The texturesrc file is always
         overwritten on install.

       - cleaned up the Klingon warp indicator texture.

       - fixed drawTexBox to not gratutitously invert Y, and adjusted
         planet textures to compensate.  Same for drawTexQuad and the
         conq-logo textures. Now, WYSIWYG as far as texture editing
         goes.


       8.1.2c (devel) 5/7/2006

       - new user option 'do_native_lang'.  When set to true, you will
         see the scale labels in the HUD displayed in the team's
         'native' language.  When false (default) you will see the
         labels in english (Federation).  Yes, this is a bit of a
         hack.  When Cat can deliver to me Orion, Romulan, and Klingon
         language font files, then we can do it properly :)

       - fixed up the limit checks in GLcvtcoords().  Now we are a bit
         more agressive in checking the visbility of an object before
         rendering it, particularly in LR view.

       - UDP keepalive's are sent from the client to the server every
         30 seconds from the GL client, regardless of what screen you
         are on.  Previously these were only sent if you were in the
         cockpit (CP).

       - redid the Negative Energy Barrier (NEB).  

         The NEB is now drawn as a 'wall' (and at most, only 2 can
         possibly be in view at a time), rather than the large
         textured quad spanning the universe that was previously used.

         This allows us to be smart and not render it when it's not in
         view (saving frames and cycles).  Also, the TOS-bmsk texture
         is no longer needed now, and has been removed.

         In addition, the barrier is now drawn at the ship's depth
         plane, correcting it's position and size relative to the
         ship. It sure looks alot bigger in SR view when you are
         passing through it :)

       - finished CONQINIT.TXT, describing CQI, and the format of the
         conqinitrc and texturesrc files in all their glory.

       8.1.2b (not publically released)

       - fix bug in render.c that miscalculated the size of the warp
         indicator quad in certain situations.

       - enhance recording protocol so that server recordings are
         easier to determine.  Always store the ship number that made
         the recording into the header.

         Existing recording (CQR) files are compatible.

       - If you pass '-d 0.0' on the conquestgl command line, the 75
         FPS frame throttle is disabled.  This is mainly useful for
         'benchmarking' - having conquestgl always render at full
         speed.  This works for playing back a recording as well as
         playing the game normally.

       - remove doomsday AP firing timer and convert to an animdef
         (doomsday-ap-fire) specified in texturesrc.

       - modify CQI parser to allow (ab)using a texture {} section
         to store 'named' colors.  This is done by treating
         texture definitions that specify "" as the filename, as a
         special case, indicating that only a color is specified
         there.  I just didn't see the point in creating a whole new
         'colordef' section and related CQI infrastructure just for
         color parsing and storage.

         All colors used in conquestgl will eventually be specifed
         this way.

       - merge 8.1.2a into conquest HEAD branch.  


       8.1.2a (devel)  3/05/2006

       - at long last

       - This is a pretty major revision compared to the last stable
         8.1.2 release.  This version incorporates new artwork textures and
         a new 'Icon' HUD layout, curtesy of Cataboligne (aka Roy)
         including:

          - new ship textures
          - team specific photon torpedos/animations and phaser textures
          - team specific LR tactical grids
          - doomsday fires an anti-proton beam at unfortunate
            planets. 

         It also corrects some potential server problems and adds new
         OPER commands.  I would not hesitate to recommend upgrading
         to this server version at least :)

         Do to the rather large changes from Cat, it was clear that
         certain internal mechanisms (like texture management) in
         conquestgl needed major overhaul.  So, in addition to the new
         art, the texture and animation backend has been completely
         rewritten from scratch, based on the new cqi (conqinit)
         lex/yacc parser.

         Texture and Animation descriptions are defined in the global
         'texturesrc' file, or a user's own ~/.conquest/*.trc files.

         In addition, a much more complete customization of conquest's
         planets is possible via the global 'conqinitrc' file.

         The goal was to provide maximum flexibility to users/hackers
         w/o having to change the code each time :)  

         conqinit is discussed in more detail in the CONQINIT.TXT file
         (currently crude, but will be improved for a stable release. :)

       - changes since last snapshot release:

         - cqi animation specific parser done.  GLAnimDefs and
           the animQue runner/iterator done.  We have animations :)

         - re-added the team specific torp animators that Cat
           originally supplied in his patch, but were left out of the
           snapshot releases until the new animator 'engine' was done.

         - other animators currently present (and working :) are the
           'explosion', and blinker animations.

           See texturesrc for all texture and anim definitions if you
           want to see them for yourself.

           The only one(s) currently missing from the original patch,
           that will be added in the future, are the solar animators (for
           the suns).  But I need some better textures from Cat first
           :)

         - conquestd: reworked server OPER commands.  As you may (or
           may not) know, users marked as CONQ_OPER in conqoper, can
           send certain commands to the server when logged into the
           game, by sending a specially crafted message to GOD.  This
           version no longer uses 'EXEC' as the command prefix, rather
           '/' is now used.

           - kill a ship or user:

             /k[ill] <what>     

           - create robot(s)

             /r[obot] <username> [<number> <warlike if non-null>] 

           - start a server recording

             /recon

           - stop a server recording
        
             /recoff

         - conquestd: fix problem where the recording packet cache was
           not cleared when starting a new recording, except for the
           first one.

         - reduced the size of all of the 1kx1k textures, saving alot
           of texture memory/file space :)  The src package size went
           down to 5.2MB compared to 8.3MB in the snapshot releases.

       - The following are notes from the 3 previous snapshot
         releases leading up to this release.  Worth reading (if you
         are bored) as there were alot of important changes not
         mentioned above.

         8.1.2ng3 (snapshot release)  2/05/2006

         - Got rid of the old HUD.  The new Icon HUD is now the only
           hud in conquestgl and is a huge improvement over the old
           one.  Thanks Cat!  The DoIconHud and related options are
           now gone.

         - added new shield graphics.  It's basically an edited
           version of Cat's original 'layer' texture, but with the
           insides 'partially' hollowed out and color coded according
           to strength.  It think it gives a nice 'bubble effect'... I
           much prefer it - hope you do too!

           The shield layer options are gone, and only do_shields
           remains - indicating whether you want to see a shield
           graphic or not.

           do_shields is now on by default.

         - re-arranged the 'alert' indicator text, armies text and
           towing text around the ship icon.  The alert text was too
           hard to read in certain cases.

         - changed the doomsday AP beam rendering to be less cpu
           intensive.  The beam simply uses an on/off duty-cycle of
           600ms now.

         - correct problem where clients might exit incorrectly when
           an unexpected packet arrives during the welcome phase.

         - While playing on CyberBilly's server, I noticed that when
           no ships are moving (and hence no UDP traffic is occuring),
           his firewall would terminate the UDP connection after 60
           seconds, and the client would exit.
           
           It's basically the reverse of the problem that required
           implementing a client UDP keepalive mechanism in v8.1.1. 

           So the server has been modified to always emit at least one
           ship update for your ship every 5 seconds if UDP is active,
           and no other UDP data has been sent in that time.  This
           should work around the issue by keeping the connection
           'live'.

         - add more debugging to readPacket() so problems might be
           known. 

         - texturesrc - remove layer shield textures, added new shield
           textures.  Updated to load the correct one for each ship.
           There are only 3 new textures that all the ships use
           depending on their shape :)

         - add a little explanation for the mysteryies in
           updateIconHudGeo(). 

        8.1.2ng2 (snapshot release)  1/30/2006

        - The main focus of this release was to get the icon hud
          working.  It now scales properly.  

          The geometry setup was completely redone, since the code
          from Cat didn't quite work properly - probably because he
          didn't know what updateGeo() was really doing :) I will add
          some comments later.  I promise.

          Some things changed as well:

          - alert status/bars

            The alert is now identified by 'alert bars' located on
            either side of the iconic ship diagram.  The ship causing
            the alert is displayed just below the icon.

            The bars are coded the same as in the original hud, though
            there is no text on them.

            - steady yellow = proximity alert
            - blink yellow  = enemy ship in yellow alert range
            - steady red    = ship in red alert range
            - blink red     = ship in phaser range

          - Cat's torp 'pip' stuff is gone as well (though the texture
            is still there).  The main problem there was that each
            ship was different in where in the decal texture the pip
            array is located.  This made it far too tedious/painful to
            implement correctly.  I'd also like to try to make it
            reasonable for someone to add a new shiptype someday
            without severe pain.

            I like the idea though, so it may return in a more
            'generic' way that looks and acts the same on all ships,
            and is therfore easier to code and maintain.

          - The 'animated' tractor icon decal was removed for the same
            reason. 

          - The decal indicating you are carrying armies does not
            display the army count.  Same reasons as above.  I'll
            remove the empty '[]'s soon.

          - there is no room for some of the standard indicators in
            the new hud, so some are located in other areas, for
            example:

            numeric warp and heading, these are displayed to the
            bottom left of their respective icons.

            armies/ai - this is indicated by '%d armies' displayed in
            the upper left of the icon area, or by the action token
            when watching a robot.

            towing/towed by - this is indicated in the lower left of
            the icon area.

            destruct - this is now rendered in large, semi-transparent
            blinking letters centered in the viewer.  Don't know why I
            didn't do that in the first place, 'cause it looks kinda
            cool :)

          - changed default WxH to 1024x768 as 800x600 is difficult
            with the iconhud.

          - uiPutColor() can understand alpha now.  

          - fixed several minor conqinit parser issues.

          - ALT-G will toggle the tac display on/off in LR scan.


        8.1.2ng1 (snapshot release)  1/05/2006

        - This version incorporates Cataboligne's massive artwork
          patch.  Among them: 

          - new ship textures
          - team specific photon torpedos and phaser textures
          - team specific LR tactical grids
          - doomsday fires an anti-proton beam at unfortunate
            planets. 
          - original 8.1.2 Conquest included 37 textures.  This version
            includes 173 textures.  The src tarball got a little
            bigger :)

          This also includes the new 'icon hud' functionality, which
          promises to be the future default hud, once the kinks are
          worked out.

        - User config data (~/.conquestrc) is now stored in a new
          ~/.conquest/ directory.  The files that can currently be
          present in this directory are:

          conquestrc           # used to be ~/.conquestrc
          conquest.log         # what it says
          img/                 # directory containing user textures
                                 (.tga) files.
          *.trc                # user supplied texture definition files.

          If you already had a ~/.conquestrc with your settings in it,
          simply copy it into ~/.conquest/conquestrc before starting
          the game.

        - conquestgl will now emit it's log entries to stderr as well
          so that gl users might see something useful if something
          breaks :)

        - planet and texture configuration and intialization have been
          completely rewritten through the new CQI infrastructure.

        - texture loader now supports compressed tga files.

        - fix server recordings so they include TORPEVENT
          packets. These were only being recorded for clinet
          recordings.  This is important when rendering the new
          'directional' torp graphics Cat added when playing back a
          recording.

        - this version includes all of the bug fixes in 8.1.2.


Version 8.1.2 (stable) 12/27/2005

        - add patch by Ralph Moritz fixing an issue with FreeBSD and
          SIGCHLD. 

        - fixed localtime() libc futex wait hang in conquestd by
          moving drcheck() out of the signal handler.  Bad Juju.
          Thanks to Bill Patterson for letting me have access to his
          server to locate the problem and test a fix.

        - fixed potential problem with ship attributes that could
          cause ships (including your own) to appear to be stuck in
          Murisak when you enter a game.  Now the clients will
          issue a CPCMD_RELOAD request to the server upon entering a
          ship so that data is always accurate.

        - add patch by Bill Patterson adding a '-f' fullscreen option
          to conquestgl.  Add '-g WxH' option to set the intial window
          size as well.


Version 8.1.1 (stable)

        - during playback of a recording, honor the user config
          NoRobotMsgs option.

        - send a UDP keepalive packet every 60 seconds to keep
          UDP connections alive for certain firewalls that seem to
          timeout the connection if there is no client->server
          activity. 

          The symptom reported is that you could get into the game and
          play for awhile (10-15 minutes) when suddenly all ship
          movement would stop.  Everything else would work (commands,
          etc) just no ship movement (meaning UDP stopped).

        - clean up some compiler warnings regarding possible use of
          uninited variables.  

        - When a geno occurs, send a message notifying everyone.
          
        - redid explosion rendering in the GL client.

        - now use a textured quad for phasers rather than a line.

        - remove drawString(), not needed anymore.

        - properly report an error and exit if the texfont(s) cannot
          be loaded (rather than core). 

        - can see the negative energy barrier now in the GL client.



Version 8.1 (stable)

        - changes since the last development release (8.0.1q)

          - fixed bad bug that could prevent a ship from seeing enemy
            torps that were fired at it from >ACCINFO_DIST away,
            depending on the firing ship's war settings.
            Ouch.

          - block updates when a RELOAD is occuring to prevent
            possbility of sending a corrupt packet stream.  This could
            also happen when starting a client recording.

          - fixed problem with around() and round() which depend on
            BSD rint().  rint() seems to screw up rounding when the
            fractional part is exactly .5 - rounding down on even
            numbers, rounding up on odd.  How odd.  Now use our own
            rounding function that always does the right thing.

          - the wrong team was logged as the geno'd team to the logfile. 

          - remove code that killed armies on ships belonging to a
            geno'd team.  I did not expect that code would cause a war
            in itself :)

         - here is a brief overview of major features/changes since
           last stable release (8.0.1)

           - GLUT based OpenGL client, conquestgl.

           - the conqreplay program is gone, as the clients, conquest
             (curses) and conquestgl (OpenGL) are now used to replay
             .cqr files via the '-P <cqrfile>' cmdline option.

           - The game protocol changed (in devel version 8.0.1j).  This
             protocol corrects some shortcomings in the 8.0.1 protocol
             (like doomsday, planet realness, etc), and now provides
             for client-side computation of torpedo and planet
             movement.  This makes the game smoother, particularly in
             conquestgl, and significantly cuts down on the network
             bandwidth required.

           - a variety of game related bugs fixed, including, but not
             limited to:

             - doomsday protocol was 'missing'.

             - planet 'realness' was never propagated to a client.

             - geno's against the feds were rarely counted.

             - Slingshot flag could be bypassed.

             - a planet's army count is sent immediately to a newly
               scanning ship.

             - a bug in system entry selection could cause you
               to get stuck in Murisak when entering the game.

             - several lock contention, and signal interrupt
               issues/races fixed.

             - FEEDBACK messages are now sent directly to the client
               without making a round trip through the common block.

             - UDP support (auto-negotiated, but still perhaps a bit
               weak) for ship motion data.

               - UDP support can be disabled by specifying the '-u'
                 option to the client.

             - Improve TCP performance via TCP_NODELAY.

             - use CTL-R in the cockpit to force a complete packet
               refresh from the server.

           - new user options (~/.conquestrc)

             - 'do_enemyshipbox' - when set to 'true', will draw a 1
                pixel red square around enemy ships in the LR/SR views.
                (GL client only).

             - 'do_draw_viewerbg' - define this as 'true' if you want
               to see the rather attractive background image (Hubble
               Ultra Deep Field) displayed in the viewer.  (GL client
               only). 

           - conqdriv

             - conqdriv now updates planet positions every 10th/sec.
               Previously these were only updated every 5 seconds.
               This provides much smoother planet movement, especially
               in the GL client.

             - conqdriv now updates a ship's orbital position every
               10th/sec rather than 1/sec.  This makes orbiting
               planets much smoother.

           - meta server/protocol changes

             - The meta protocol has been updated to support new
               'server_contact' and 'localtime' fields.  

             - the meta server now sorts the server list by the number
               of currently active players, rather than the server
               registration order.

             - meta selection code in client can now differentiate
               between incompatible servers.

             - fixed a bug where the meta server could not distinguish
               between multiple servers that were running on the same
               host, but listening on different ports.
          
           - much code restructuring, new libraries, removal of dead code.

        - The rest of this section are the devel release notes leading
          up to this stable release.  Probably uninteresting unless
          you want some more details :)

        # 8.0.1q 12/11/2004 (devel)

        - FEEDBACK messages (beaming/bombing, etc) are now sent
          directly from the server rather than being enqueued into the
          common block's message ring for later delivery.  This avoids
          alot of uneccessary lock contention, and makes sure the
          client gets feedback messages quickly, without making a trip
          through the common block.

        - a server's client update interrupts are now blocked when a
          lock is aquired, and unblocked when the lock is released.
          This avoids some potential races that could cause a lock to
          be held too long, or to be improperly interrupted.

        - fixed a couple of problems with counting geno's.  Reported
          by Cat.  Fed geno's were almost never counted properly.

        - when couping, re-couped planets should not be marked
          scannable by anything other than the coup'ing team.

        - when cloaked and in orbit, approximate location data was not
          available to other ships as it should be for any cloaked
          ship that is moving.

        - When a team is geno'd, all armies of that team still
          residing on live ships are also destroyed.  A message is
          sent to a team when it is genocided notifying them of this.

        - semaphore interface cleaned up

        - fixed potential core in GL.c when padding message lines.
          This could happen most often when getting (i)nfo or locking
          onto a planet.

        - recording/playback of planet 'realness' was broken.  Now it
          isn't.  

        # 8.0.1p 11/21/2004 (devel)

        - added ping capability.  The GL client (conquestgl) will now
          ping the server every 2 seconds.  This measures the average
          TCP round-trip time (in ms) to the server and back.  To see
          the ping time, enable the status line in the cockpit by
          typing 'ALT-S' when playing.  Note, this is total round-trip
          time.

        - update meta protocol to add 'contact' - (server operator
          contact), and 'walltime' (local server time) to the meta
          protocol.  The Meta protocol version is now at 2.  The meta
          protocol is backward compatible with all servers and
          clients so there should be no compatibility problems.

          With servers and clients that support the version 2 meta
          protocol, a check is now also done in the client's Server
          Select page to ensure that you will only be allowed to
          connect to servers that are protocol compatible with your
          client.  Incompatible servers will be highlighted in blue on
          the meta select page.  This is more for the future since no
          current incompatible server supports the v2 meta protocol
          anyway.

        - now disabling the SlingShot flag works in all cases like
          it's supposed to :)

        - added "server_contact=" to the system-wide conquestrc file.

        - fixed bogus towedby reports when you attempt to tow a ship,
          but you are already being towed. 

        # 8.0.1o 11/21/2004 (devel)

        - incorporates 8.0.1n patch that fixes protocol problem with
          letting the client know the true 'realness' of a planet.

        - fixed planet sending logic to account for newly scanned
          planets.  Previously, it could take up to 5 seconds for the
          client to be told the true army count of a planet that was
          just scanned for the first time.  

          You should now get the real army count almost immediately
          after scanning a planet for the first time.

        - increased packet timeout waits for the initial server/client
          negotiation sequence that could cause problems connecting to
          a server with a high lag.  Where it used to only wait about
          10 seconds for the initial hello packets from the server, it
          now waits 60 seconds for example.  On a really laggy server
          it may take a minute or more to fully connect, by which time
          you will problably not want to play on that server anyway :)

        - small bug in curses client (conquest) that could cause
          problems if other than expected packets came in during
          welcome phase

        - In meta list, [ENTER] can be used as well as [TAB] to
          select a server to connect to.

        # 8.0.1m 11/14/2004 (devel)

        - builds under cygwin (11/11/2004) again.  Both the server and
          clients (including the OpenGL client, conquestgl) seem to
          run fine again.

          SW OpenGL is a little slow, but playable (depending on your
          processor speed).  You may want to turn off the viewer
          background image in (O)ptions to gain more FPS.  I get about
          20 FPS in SR view on a Pentium M 1.8 Ghz, fast enough for
          conquest's needs :)  

          Make sure to read README.cygwin for important info on
          building under Cygwin.

        - updated autotools/libtools to deal with some cygwin issues
          with curses linking.

        - move rndini() calls to be before rndlb usage to prevent
          infinite loops in rndlb on cygwin systems.  

        - doomsday protocol was not being recorded in client-side
          game recordings.  Sorry.

        - removed last traces of glut bitmap font usage

        - cleanup in asle 4 (render.c)

        - remove old, unused code (CONQUEST_USER, ALT_RND, etc)

        - Use ALT-S to toggle display of FPS and Kb/s stats in
          cockpit (conquestgl).

        - use CTL-R in the cockpit to force a complete packet refresh
          from the server.

        # 8.0.1l 10/22/2004 (devel)

        - finshed implementation of variable encapsulated packet
          handling.  Should make it easier to add packet types in the
          future without neccessarily breaking network compatiblity.
          Of course, if the server/client does not understand the
          enacpsulated packet type, it will just discard it.  This is
          better than losing packet sync and ruining your whole day :)

        - I am switching over the main public server (1701) to this
          release so it can get more testing.  This means that after
          this release, you will need a 8.0.1j or better client in
          order to connect to any of the conquest.radscan.com servers.
          I really hope to keep these network incompatibilities to a
          minimum in future releases.

          Of course for you die-hard retro telnet users, you shouldn't
          notice any change :)

        - I think the GL client is working well enough for a stable
          release now.  Of course there are tons of things that could
          be done to pretty it up more, but it's good enough for now.

        # 8.0.1k 9/25/2004 (devel)

        - when entering a game, pointer troubles could cause a
          client to get stuck sitting on top of Murisak, or offered
          the wrong list of systems to enter from, if their team
          owned more than one system.

        - user config viewer background preference was not honored
          during replay of a previously recorded game. (conquestgl)

        - modifiers (shift, ctl, etc) were improperly discarded when
          decoding the macro FKeys. (conquestgl)

        # 8.0.1j 9/11/2004 (devel)

        - conquestgl

          - implemented background image (Hubble Ultra Deep Field) to
            viewer.  Added user option 'do_draw_viewerbg' to enable.  It
            is enabled by default cause it just looks so darn good :)
            ALT-B can be used to temporarily toggle it on/off while in
            the CP if it proves too distracting.

          - fixed viewer backgroud image to be displaced properly when
            in Murisak centered LR view.

          - Using [SPACE] to toggle between ship and Murisak centered LR
            scans will only work when in LR mode.  No more inadvertant
            switching. 

          - more GL and render cleanups.

          - corrected bug in modifier key handling.  Several other
            potential key problems also fixed.

          - texture handling cleanups

          - planet and doomsday blend modes fixed so background image no
            longer interferes

          - fixed bug in options (GL) display where when the number of
            options exactly matched the number that could be displayed
            onscreen caused nothing to be displayed at all.

          - got rid of drawBox() - no longer used anywhere.

          - cleaned up the viewer background (vbg.tga) texture (reduced
            gamma).

        - conquestd

          - an attempt at better handling of UDP write errors that
            sometimes occurs when UDP was successfully negotiated, but
            the server finds itself unable to send them.  If more than
            15 write UDP errors are detected during the course of a
            session, the server will switch to TCP only, and a message
            will be sent to the client informing it of that fact.  


        # 8.0.1i 9/03/2004 (devel)


        - conquestgl

          - when in the cockpit, various screens that used to be
            seperate such as help, userlist, planetlist, etc, are now
            displayed on top of the cockpit display, which is then made
            transparent.  This allows you to still see what is going on
            with your ship while reading the info.  

            This also works when playing back a recorded game.

            Now you can see your ship explode while looking at the
            userlist for example :) 

          - redid the viewer fonts - now use a tex mapped font as well,
            instead of the glut bitmap fonts. 

          - fixed up GL version of cvtcoords to remove artifacts in when
            objects were considered to be 'in view'.  Previously the
            cvtcoords function from the curses client was being used to
            determine this... This could cause objects (planets, etc) to
            'disappear' when close to the min/max X/Y coordinates.
            Objects will now move properly into and out of view now in
            the viewer.

          - corrected perspective correction misunderstandings on my
            part :) Planet and ship labels now are always positioned
            correctly regardless of your position relative to the
            object.  Planets and ships are likewise positioned
            properly in relation to each other.

          - recolorized army count in planet names on long range display.

          - more GL related cleanups and re-organization.

        # 8.0.1h 8/10/2004 (devel)

        - conquestgl

          - added proper moon texture for Luna.

          - torp packets are no longer sent, only recorded.  TorpEvent
            packets are the only torp packets sent to the client now.

          - cleaned up GL.c a lot.  No longer use a seperate window (and
            associated GL context) for the viewer.

        # 8.0.1g 8/08/2004 (devel)

        - Planet and torpedo trajectories are now computed in the
          client for smoother motion and a significant reduction in
          the packet count needed from the server.

          The network protocol version changed as a result so only new
          clients can play with new servers.

          Recording files (.cqr) are still compatible.  

          The common block was not changed so your universe will
          continue to work.

        - got rid of conqreplay program.  The clients (conquest and
          conquestgl) are now used to playback recordings using the -P
          option.

        - fixed CPCMD_RELOAD to properly send a full update to the
          client when a client starts recording.        

        - addition of new CP_VARIABLE/SP_VARIABLE packet types so
          that new packets types can be added cleanly without
          neccessarily having to break the network protocol.

        - corrected pointer alignment issue with ctime() on Sparc
          architectures (or any other architecture that does not
          tolerate misaligned pointers).  Reported by Clint Adams
          (Debian).

        # 8.0.1f 7/11/2004 (devel)

        - conquestgl 

          - switch to TARGA (.tga) format textures rather than BMP.
            That alpha channel comes in handy.

          - replaced lousy classd texture with a Mars texture.  Maybe
            someone wants to create individual textures for each
            planet someday? :)
          
          - added new torp texture rather than re-using the star texture.

          - redid torp rendering somewhat.

        - hitting [SPACE] while looking at long-range map will toggle
          between a Murisak centered, or ship centered map.  The
          default map display is whatever you set for the
          'do_local_lrscan=' option in your ~/.conquestrc file.

        # 8.0.1e 7/7/2004 (devel)

        - patch from Clint Adams correcting a strange typedef bug in
          datatypes.h that niether of my compilers detected.

          Also, add $(DESTDIR) to the image copy routines in
          Makefile.am. 

        - cleaned up some logic in the server so that uneccessary
          computations are not performed on each iter - improving
          efficiency.

        - moved planet driver into conqlb

        - fixed sign bug in client meta list that caused high numbered
          ports to be listed as a negative number on the meta server
          list displayed in the client.

        - moved duplicate GL/curses client hello() functions into
          single clientHello() function in client.c.

        # 8.0.1c 7/2/2004 (devel)

        - UDP support for torp, ship, and planet 'location' packets.
          UDP is auto-negotiated, and appears to be NAT firewall safe.

          Use the '-u' option to conquestgl or conquest to disable udp
          negotiation if you are having problems with it.

          You can see whether or not your client has successfully
          negotiated UDP with the server by looking at the (O)ptions
          screen in the client, where UDP status is listed as 'On' or
          'Off'. 

          If you run server, you will need to also allow UDP port 1701
          (default) into your network in addition to the TCP port 1701
          you already allow.  

          UDP packets are used only for sending frequent 'location'
          data to clients, which improves the smoothness of play,
          especially in the OpenGL client, conquestgl.

        - bugs in nWelcome node that prevented server error conditions
          from being displayed to the user were fixed. (conquestgl)

        # 8.0.1b 5/31/2004 (devel)

        - use TCP_NODELAY to send packets immediately rather than save
          them up before sending.

        - add check for stdint.h, and use those defines if available
          in datatypes.h

        # 8.0.1a 5/08/2004 (devel)

        - Adds a GLUT/OpenGL client, conquestgl.  Oh yes.

          - See http://radscan.com/conquest/index.html for a couple of
            screen shots.

          - The gl client is called 'conquestgl' - use this to run the
            OpenGL version of the client.  The curses client
            'conquest' is still present of course, for those who
            really dig the retro experience.

          - if you do not have OpenGL and GLUT libraries/headers on
            your system, supply the '--disable-gl' command line
            argument to the 'configure' script, as in:

            ./configure --disable-gl

            This will prevent the GL related clients and libraries from
            being compiled, and you will be stuck with the curses only
            client :)

          - Note, the GL client does not provide a 6 DOF (flight
            simulator-type) playing experience.  Sorry - that would be
            an entirely new game.  OpenGL and GLUT are used to
            basically present the same game experience as the current
            curses client, however, the use of a graphical client
            provides a much nicer experience visually.  To be honest,
            I never use the curses client to play anymore :)

          - phaser shots from other ships are rendered in the GL
            client.  

          - new user option:

            do_enemyshipbox

            when set to 'true', will draw a 1 pixel red square around
            enemy ships in the LR/SR views in the GL client.

          - currently the maximum Frames Per Second (FPS) is capped
            around 100.  A 10ms delay will be inserted between
            frames if the FPS exceeds 75, which is really more than
            sufficient for conquestgl's rendering requirements.

          - there are no specific GL extensions required or used.
            OpenGL 1.1 and greater should be sufficient for
            building/running conquestgl.  

            I have not tried running conquestgl on a software GL
            implementation like Mesa.  With a fast enough processor,
            it could be playable though, since we are not talking
            about Quake 3 rendering requirements here :)

          - the mouse is not used in conquestgl - everything still
            runs by keyboard :)

          - up to 36 macros can be handled in conquestgl:

                  F1 - F12
            SHIFT F1 - F12
            CTL   F1 - F12

          - conquestgl can also play conquest recording (.cqr) files.
            Use the -P 'cqr filename' option.

            conquestgl -P dethfun.cqr

            It's much nicer to watch recordings in the OpenGL version
            than using the curses-only 'conqreplay' program.

            Other than this, the options are the same for conquestgl
            as the curses client 'conquest'.

          - there are many enhancements that could be made to the
            various displays still:

            - a better conquest logo display

            - phasers should probably be drawn using an alpha blended
              texture rather than a blended line.

            - need a better way to display explosions 

            - need to increase line length and number of lines for the
              display of incoming messages.

            - the list goes on. Sigh.

        - conquestd/conqdriv changes

          - on entry to the game, the server will send a complete user
            list to the client.  Previously, only users currently
            playing in the game or present in the history list were
            sent to the client.  This means the '(U)ser list' option
            in the clients will list all of the users now.

          - conqdriv now updates planet positions every 10th/sec.
            Previously these were only updated every 5 seconds.  This
            provides much smoother planet movement, especially in the
            GL client.  Of course this increases the required bandwith
            some.  If this is too much for your internet connection,
            reduce your 'updates_per_sec' option.

          - conqdriv now updates a ship's orbital position every
            10th/sec rather than 1/sec.  This makes orbiting planets
            much smoother - this is more noticable in the GL client.

        - missing doomsday protocol added.  Believe it or not, with
          the 8.0.1 release version. I forgot to added the protocol
          for the doomsday.  Using an older client (pre 8.0.1a) will
          results in an 'invisible' doomsday machine.  Upgrade to a
          8.0.1a or better client.  The GL client uses a texture made
          from the original Star Trek episode "The Doomsday Machine"
          :)

        - conqmeta changes

          - meta server now sorts output server list by the number of
            currently active players, rather than the server
            registration order.

          - fixed a bug where the meta server could not distinguish
            between multiple servers that were running on the same
            host, but listening on different ports.

        - alot of restructuring of the code and the creation of new
          libraries.  

          - No UI specific code is present in libconquest anymore.

          - new generic libUi

          - all curses functions and the functions that depend on them
            are now in libUiCU

          - GL related functions and their dependants are located in
            libUiGL. 

          - curses related functions removed from libconqclnt and
            libconqserv

          - new color implemetation, (colors.h) - UI agnostic.

          - much cleanup up of c_defs.h.

          - conqnews.doc renamed to HISTORY.

        - added CREDITS file to give credit where credit is due
          (netrek for the original pixmaps that formed the basis of
          the ship textures in conquestgl, etc)


Version 8.0.1 (stable) 1/17/2004

        - fixed rather serious problem with dead() handling.  When you
          were killed by an external (ship, sun, etc), you could get
          stuck in dead() once your ship exploded.

          I recommend that server operators upgrade to this version.

        - cleaned up some logic that should allow conquestd to handle
          unexpected client disconnects better.

        - fixed a VACANT check in conquestd:newship().  It might
          resolve an issue some users have seen where if their
          connection is terminated unexpectedly, they cannot reconnect
          to their ship for awhile ("already playing on another ship")
          because conquestd thinks it's still alive and active.

          If you still see this problem, let me know as well as a way
          to reproduce it.

        - fixed a stupid bug that prevented compilation on non-linux
          systems.  

        - added some casts for sa_addr in the network connection
          routines to eliminate some gcc warnings.

        - force 1-byte alignment of the wire packet structs to avoid
          future troubles.

        - a variety of other minor fixes and adjustments.

        - added patches from Clint Adams, adding portable snprintf()
          and friends.

        - Cygwin support under MS Windows (tested with XP):

          - read README.cygwin for cygwin requirements and information.

          - added better mmap() check for cygwin systems.  We don't
            use MAP_FIXED in Conquest anyways, so we don't care if it
            doesn't work.

          - default to 'Users" conquest group for cygwin.

          - isagod() checks pretty much disabled for conqoper under
            cygwin.  If you can get a shell, you can run conqoper, as
            there is no root user.

          - deals with .exe extensions properly

          - packet.c - clientPackets[]/serverPackets[] struct arrays
            are statically defined and no longer exported.  cygwin's
            linker seems to have 'issues' with external references to
            struct arrays.

          - sem.c - some changes to deal with unimplemented cygwin
            semctl() operations.

          - rxvt's choice of colors seems to be off... non-bold white
            (from conquest's perspective) comes out as black.  The
            normal Cygwin console seems to work fine.  



Version 8.0 (stable) 12/13/2003

    - the official v8.0 release

    - fixed bug in meta.c that counted active ships improperly.  Same
      with PrintStatus in clntauth.c.

    - conqdriv will kill VACANT ships if the Vacant flag is not
      enabled for the server and it happens to find a vacant ship.

    - PrintStatus in clntauth.c will now show the server's local
      time as sent in the server's spServerStat_t packet. 

    - changed AllowSigquit option to AllowVacant, to more properly
      reflect it's purpose.

    7.2h

    - This is a prerelease version of the Conquest v8.0 client/server
      release.  Much has changed.  Read the docs (README, SERVER.TXT,
      etc) if you really must know all the details.

    - added meta server browser into conquest.  To get a list of
      servers registered with the meta server, and select one to play
      use the '-m' option to conquest.

        $ conquest -m

    - updated documentation, for release.

    7.2e, 7.2f, 7.2g,

    - various bug fixes

    7.2d

    - merge of CS-12 (client/server branch) into main branch (7.2d)

    - removed '-p <port>' option from conquest.  To specify a port
      other than the default, add it to the server name seperated
      by a colon.  For example, to connect to a server at
      conquest.radscan.com, port 1702, use:

        conquest -s conquest.radscan.com:1702

    - added meta server (conqmetad) and functionality to conquestd,
      based on a suggestion and some ideas from Josef Jahn.

      - meta server listens on TCP and UDP port 1700.  The UDP port is
        incoming only, and is used to recieve updates from
        conquestd's.  TCP is outbound only, and will dump the current
        server list and their stats ('|' delimited) upon connect.

           Try the cgi script at
           http://radscan.com/cgi-bin/conqmeta.pl, or run conquest
           with the '-m' option.

    - See README and SERVER.TXT for server configuration and options.

    - fixed conquestd and conquest to improve responsivness.  conquest
      will now process packets as soon as they are received regardless
      of the update rate, instead of wating for a timer cycle.

          conquestd updates the client whenever the client does
          something (raise shields, etc).  

          These changes made a huge diff in responsiveness to
          commands, especially at lower update rates. Sorry about that
          oversight :)

    - client now processes incoming packets while in help, userlist,
      etc, rather than only when at the battle screen.


    7.2c-cs-12

    - feedback messages are no longer recorded.  Tersables are only
      recorded if the user has them enabled when the recording was
      made.  Server recordings never contain Tersables.

    - notify opers when someone enters conqoper

    - opers get all messages sent to GOD

    - fixed problem with reserved ship slots and no valid process
      controlling them in newship().  Also, when disconnecting from
      the main menu, turns off the ship before exiting.

    - clean up of the conf stuff

    - send relevant User packet *before* sending a Hist packet.

    - new '-t' option for conquest.

      When conquest is run with the '-t' flag, then no attempt will be
      made to read or write a user config file.  This is useful for
      people who still want to run telnetable servers, yet prevent
      such users from stomping over each other's settings.

      Such users always use the default options, which means they will
      need to set them to their preferences whenever they enter the
      game, since they are never saved.  If you (the user) find this
      annoying, then download the src, and use the client to connect
      to the server properly :).

    - new 'conquestsh' program for telnetable servers.  When setting
      up a telnetable server, use 'conquestsh' as the user's shell
      program.  conquestsh exec's the conquest client bianary, passing
      the '-t' flag, and the '-s localhost' flag.  Feel free to edit
      this program for your site, for example if you want the
      telnetable client to connect to a different server than
      'localhost'.

    - removed OpenGL/X11 dependancies that snuck in.  We aren't ready
      for that yet. :)

    7.2c-cs-11

    This is the first release of a development version of the
    client/server conquest.  There have been quite a few changes from
    v7.x!  Please read this document for the juicy details ;-)

    The common block revision has changed, making this version
    incompatible with previous versions.  

    Of course the major change in this release is that conquest uses a
    network based client server model.  There is now a seperate
    conquestd program that listens to network requests from clients
    (conquest).  If you want to run a game on your machine, you will
    need to start conquestd like so:

	/opt/conqnet/bin/conquestd &

    Please read SERVER.TXT for intructions on how to run a secure
    game, and the options available.

    I would do this from a seperate non-privileged account of course,
    if you intend to invite the unwashed internet masses onto your
    server to play.

    If you just type 'conquest', it will try to attach to the conquest
    daemon on your local host.  To connect to a remote host, use the
    '-s' switch.

    This will take you to the login screen.  Choose a username,
    password etc, login, and kick some ass.

    I have setup a public server here for this release that you can
    connect to like so:

	conquest -s conquest.radscan.com

    Once an official 'stable' release is made, the old telnet server
    there (v7.2) will be pointed toward the new version, for those who
    don't want to use the client.

    There may eventually be multiple servers running (one for
    experienced players, for example, running on a different port.)

    - conquest is now client/server.  In the old days, the conquest
      binary had to be run on the same machine as the common block
      (universe).  In order to run a 'server', a telnet interface was
      required so remote players could connect.

      Now, conquest is a client that can connect over the network to
      any conquest server (conquestd).  In the future, there will be a
      graphical client, using OpenGL to render the main battle
      screen.  It won't be a 6 DOF combat simulator, but it should
      look alot nicer than the curses interface :)

      The protocol is endian safe of course.

    - The conquest login screen provides information about the server
      you are attached to - number of active ships, server name,
      enabled flags (see below), MOTD, etc.

    - The daemon (conquestd) listens on TCP port 1701 by default.  You
      can change this by supplying '-p <port>' to the conquestd
      command line.

      If you want to run your own public internet server, you need to
      allow tcp/1701 into your firewall (or whatever port you
      configured your server to use).  I would recomend running the
      daemon as an unprivileged user.  Oh, and if it's going to be
      available to the internet at large, run conquestd with the '-m'
      option, so it will notify the metaserver so others can find your
      game.

      Please read SERVER.TXT for information on running a server.

    - Client Updates.  From the options menu, a player can set the
      update interval anywhere from 1 to 10 updates per second.  The
      default is currently 5.  There is no AllowFastUpdates capability
      anymore.  I would not recommend 10 per second on a modem. Try
      different ones until you find one that works best for your
      connection.  In the old conquest, 1 and 2 were the only options.

    - Conquest operators are now defined as any user with the
      OOPT_OPER option set in his or her user profile.  They will be
      listed in the (U)ser list with a '+' to the left of their name.

      Currently a user marked with OPER can only start and stop server
      recordings from within the game using 'EXEC' messages sent to
      GOD.  Other than that, there is no difference compared to a
      normal user.

      Of course, only someone with shell access on the server machine,
      and who is a member of the conquest group can run the conqoper
      program.  Root can always run conqoper.

      In the future, more EXEC commands may be provided to conquest
      operators so they can become the tin plated dictators with
      delusions of godhood most of them secretly want to be. :)

    - Previous versions of conquest (v7.x) used to distinguish
      between 'local' and 'remote' users.  Local users were users who
      were playing conquest from a shell account on the machine where
      conquest was installed.  Remote users were users playing from a
      generic conquest account, usually setup by the system
      administrator, that had the conquest executable as the shell.
      In this way a 'server' could be run by providing telnet access
      to this special account from the internet.

      'Remote' users were denoted by a '@' next to their usernames in
      conquest.

      Since Conquest now uses a client server model, all users are
      remote.  The '@' tag is gone.  Even playing on a local machine
      is still accomplished by connecting to a local conquest server
      via TCP, so there is no such thing as a 'local' user anymore.

      Also for this reason, the conquest client is no longer
      set-groupid conquest - no need, since no special privileges or
      access is required.  If you can connect to a server, you can
      play.

    - user and system configuration (conquestrc) have changed
      significantly.  Some options are gone now, others moved into
      user config, etc.

      Many of the Sysconf options have been moved into User options
      (ETA stats, LR torpscan, etc).

      Some user options like clear_old_msgs have been removed.

      The 'compile options' are no longer viewable, since they don't
      matter much from the player perspective, and are of no use to a
      client anyway.

      The server (conquestd) advertises certain game flags enabled by
      the conquest operator (using conqoper) to the client.  These
      flags are displayed on the client login screen, as well as from
      within the client's (O)ptions Menu.  The flags are configured by
      the operator using the Option menu in conqoper.

      The current flags are:

          Refit              - refits are allowed.  You can refit to
                               one of the 3 types of conquest ships
                               when you have at least one kill, and
                               are orbiting a team owned planet.

          Vacant             - vacant ships are allowed.  A ship goes
                               vacant when a client exits the game
                               without self destructing first, while
                               flying a ship.

                               When vacant ships are disabled by the
                               oper, such ships are immediately killed
                               by a 'lightning bolt'.

                               NOTE: In previous versions of conquest,
                               oper's would always go vacant in this
                               case, regardless of the vacant option
                               setting.  In this version, every user
                               is subject to this option.


          SlingShot          - the SlingShot bug is enabled.  This is
                               a towing bug that existed in the
                               original VMS/RatFor version of
                               conquest.  It's a fun bug, and I
                               recieved several emails about it when I
                               inadvertantly fixed it in a later
                               version without understanding it's
                               significance. 

                               If you don't know what it does,
                               well... figure it out!  You'll need a
                               buddy to make it work though ;-)

          NoDoomsday         - when set, the doomsday machine is
                               prevented from randomly starting up and
                               trashing the universe. 

          Killbots           - when this option is enabled, robots are
                               created with a random kill point
                               value.  The kill points a ship has
                               affects the efficiency of it's engines,
                               the strength of it's weapons, etc.

                               Normally when a robot is created (by
                               attacking an unguarded homeplanet, etc),
                               it is initialized to 0 kills.  When
                               this option is enabled, a kills value
                               is randomly selected.  This means that
                               a new robot might prove to be much more
                               deadly than the default 0 kill robot.

                               This may not be a good option to enable
                               on a public server where newcomers play.
                               Fighting a 25 kill robot takes some
                               skill ;-)

          SwitchTeam         - when enabled, users can switch teams at
                               the conquest main menu.

    - the 'I' command is no longer provided.  All of those options
      have been added to the User options menu.

    - Users can no longer have multiple ships running at the same
      time.  If you have a vacant ship, you will be automatically
      attached to it.  The game still has most of this code present,
      so this feature could be added back in the future if enough
      people whine.

    - When using the (U)sers command in the client, only those users
      attached to currently active ships, or attached to entries in
      the History ring will be listed.  There is no point in checking
      500 user slots on each client update ;-)

      For this reason, only the conqoper program will be able to list
      *all* users.

    - the client creates it's logfile in your home directory
      (~/.conquest.log).  The conquest server, driver, etc, will still
      use the system log.  Check these for any errors or other
      oddities.

    - When you die, you now get to see your ship explode first before
      being taken to the 'dead' screen.

    - Recording.

      - Recording has been completely reworked.  Unfortunately, any
        previous CQR files are incompatible with this release.

      - you can now select the long range or short range view of a
        ship you are watching in conqreplay.

      - The new format uses the same packet protocol that the clients
        use.  This means recording files (cqr's) are *much* smaller
        and much more efficient (cpu-wise) during the recording
        process.

        Another benefit is endian safety.  With the old format,
        recordings could only be played back on the same machine
        architecture the cqr was created on.  Since the recording data
        is now based on the packet protocol, recordings are now
        completely endian safe (network byte order is used).  So now,
        some poor slob on his Sun SPARC can play back a recording I
        make on a lintel machine.

      - There are two types of recordings: client and server.

        - see the README file, 'Recording' section for more information
          on the differences between the two, and how to create and
          play them back.

    - Thanks to Clint Adams, the autoconf stuff has been significantly
      updated.

    - I looked upon my creation, and saw that it was good. :)

   7.2b 1/6/2003

    - some reorganization of a few data structures - sysconf,
      userconf, HasColor, etc.. 

    - Logon() now specifically looks up the CONQUEST_USER home dir in
      /etc/passwd for cases where one is using a telnet daemon to
      automatically start conquest.  The is needed since telnetd does
      not changedir to the conquest homedir before execing the
      conquest executable.

    7.2a 12/9/2002

    - big patch from Clint Adams adding automake/libtool support and
      changing direct references from sys_errlist[] to strerror()

    - added new 'Friend' target for messages.  You can send a message
      to all friendly ships by specifying 'fr'as the destination for a
      message.

    - added 'distress_to_friendly' option.  If true, sends distress
      calls to all friendly ships, not just your teammates.  The
      default is off.

    - added a new, experimental AltHUD option.  This is like the
      regular HUD, but adds some of the information returned from
      infoship and infoplanet calls to the lower alert line on the
      main display.  This can be useful in battle when messages or
      other commands remove the info after requesting it.

      Current info presented is:

      FA: (Firing Angle).  This lets you know the direction that any
          further firing requests will use, unless a direction is
          explicitly specified to the 'p' or 'f' commands.

      TA/D: (Target Angle / Distance). This item displays the Target
	    name, Target Angle and Target Distance obtained in the
	    last infoship/infoplanet request, and is updated whenever
	    you do an info command on any ship or planet.

      There may be more items forthcoming, though space is limited.
      The idea here is to present or preserve information that the
      user can already request.  It isn't intended to provide a 'auto
      targeting' or other type of advantage.  It's for information
      purposes only ;-)

      To use this, enable the 'Allow Alt HUD' option in the (O)ptions
      menu from within conquest.  Set to 'false' by default.


Version 7.2 Sun Dec  1 15:55:27 MST 2002 Jon Trulson  <jon@radscan.com>

	- patch from Clint Adams for conqai.c changing 'char arg' to
          'int arg' for getopt.

	- fix problem in conqai.c defend() that would allow multiple
          robot defenders.  This was fairly serious to poor newbies
          ;-)  This bug was introduced in 7.1.2.  Sorry.
	  
	- fixup remote login screen a little, provide a status line
          (number of live users, ships, their status, etc)

	  Next maybe we can add a MOTD and a QOTD...

	- reworked cdredo() logic to redraw screen properly in
          cdget*().  ^L should work properly during prompting now.

	- bumped up to v7.2.  Let's be bold and daring.

Version 7.1.2 Sun Jul  4 16:19:40 MST 2002 Jon Trulson  <jon@radscan.com>

	- a long overdue update

	- automatically exclude VACANT ships when deciding whether to
          create a robot when a home planet is attacked.  This problem
          allowed some remote players to take over home planets
          without the excitement and stimulation of having to deal
          with the robots in the process.  Shame on you ;-)

	- way past due for a public update. Sorry.

	- added the ability to record and playback games ;-)

	  For example:

	   conquest -r somefile.cqr

	  Then to play it back:

	   conqreplay -f somefile.cqr

	  This isn't available to remote players, as I don't know of a
	  secure, reliable way to get the recoded file back to the
	  remote user. 

	12/27/2001

	- added patches by Clint Adams to handle configure's various
	  install location options (libexecdir, sysconfigdir, etc).  
	  The programs and data files will be installed according to
	  the values of these items. 

          If you already are using an older version of Conquest, you
          will need to move a couple of files to their new homes
          before running conqoper or conquest if you want to preserve
          your current state and configuration.

	  Old files: 

	  <prefix>/conquest/etc/conquest.common.img
	  <prefix>/conquest/etc/conquest.log
	  <prefix>/conquest/etc/conquestrc

          New files: 

	  <prefix>/var/conquest/conquest.common.img
	  <prefix>/var/conquest/conquest.log
	  <prefix>/etc/conquestrc

	  Other files have moved as well, but these are the important
	  ones for preserving state.


Version 7.1.1 Wed Dec 26 15:04:50 MST 2001 Jon Trulson  <jon@radscan.com>

	- corrected problem where genos weren't always counted.

	- sends a message when a user leaves the game

	- fixed bug that allowed a refit while carrying armies

	- 'E' distress call provides more info.  Can be used as a
	  quick status report to team mates.

	- many things now logged, like resignations, most conqoper
	  actions, and other things...

	- corrected problem where DEL wouldn't work properly
          on some systems for deleting text.


Version 7.1 Mon Jan  1 11:45:20 MST 2001 Jon Trulson  <jon@radscan.com>

	- added a ship refit capability.  It's sys-wide configurable
          (allow_refits), and enabled by default.  This allows users
          to be able to change ship types once they have at least one
          kill, and are orbiting a team owned planet.  There are 3
          ship types: Scout (Orion equiv), Destroyer
          (Klingon/Federation equiv) and Cruiser (Romulan equiv).

          Robots will be given a random ship type when they enter the
          game.

	  Users will get whatever shiptype is normal for their team
	  until they change it.  Use the 'r' option to refit during
	  play. 

	  This change required a new common block, so I had to reset
	  it, losing all current user data on the conquest.radscan.com
	  server.  Sorry.

	  The ship type a user is using can be determined by doing an
	  (i)nfo on the ship.  Also, the '(/)player list' option will
	  show an 'S' (Scout), 'D' (Destroyer), or 'C' (Cruiser) next
	  to their ship number, indicating the variety they are
	  flying.  

	- Worked with Jef Poskanzer (the original Conquest God) to fix
          semaphore problems on Sparc systems, and added a new
          '--with-conquest-group=<groupname>' option to the configure
          script so that you can easily choose which group you want
          conquest to run under.

	  Oh, and we did skirmish a bit, and I actually blew him up
	  ;-) 

	- added message logging sys-wide option (log_messages).  Now
          all messages can be saved into the logfile.

	- skip users with a negative difftime so they are not expired.
          I had a problem with my system clock one day - it reset to
          1996.  And of course, after logging into Conquest, it
          proceeded to expire all remote users.  Bummer.

	- Fixed typo in remote user login screen.

Version 7.0.1  Fri Sep  3 18:20:52 MST 1999 Jon Trulson  <jon@radscan.com>

        - This is a maintenance release, fixing some minor bugs and
          a major one for RH6.0 (uhg), as well as a new port.

        - Conquest now runs on on Digital Unix V4.0 (OSF1).  Thanks to
          an old Conquest junkie, Jim Anderson (janderson@NOVALIS.COM)
          for this port.  Thanks Jim!

          DU has the same lex problem that Solaris has... See the 
          SOLARIS/DU NOTES section in the INSTALL file for a hacky 
          workaround.  If anyone has the magic syntax to achieve the
          same effect, but work on all systems, please let me know... 
          It's annoying.

        - configure.in modified so that the options used on an UNKNOWN
          system type are more likly to succeed (it no longer assumes a 
          UnixWare system).

        - one fix to options.c, the ESC cancel wasn't working right

	- a cast problem picked up by Jim Anderson while doing the OSF/DU
          port

        - and of course, the addition of the -D__NO_MATH_INLINES CFLAG
          required on RH6.0 systems to work around a bug that
          caused strange conqdriv failures.


Version 7.0    Thu Jan 28 21:14:41 MST 1999 Jon Trulson  <jon@radscan.com>

        - Remote User support, which should make things much nicer for
          operators and internet players.  A 'remote' player's usernames
          are always prefixed with an '@' character in all output that
          shows usernames.  See the file SERVER.DOC for information on
          how to setup and run a conquest server.

        - A new (O)ptions menu is now available at the Conquest main
          menu, as well as while playing the game.  This menu allows
          users to view the options compiled into Conquest, view the
          system-wide options set by the Conquest operator, View/Edit
          the users ~/.conquestrc options, View/Edit macros, and for
          remote users: change your password.  Operators can change a
          remote user's password in the (e)dit User option in
          conqoper.  The conqoper program now lets operators View/Edit
          the system-wide configurables... Per-item help text for each
          option is also available.  You should never need to manually
          edit the conquestrc files again ;-)

        - conoper now understands some command line options.  Try
          'conqoper -?' to see which ones.  These make it rather
          trivial to reset the game on a regular basis from crontab for
          example.

	- common block data has been completely restructured.
          Actually, it is structured *now*, as opposed to the 70 or so
          parallel arrays that used to be there ;-)  The code is much
          easier to read and maintain, and several bugs were
          identified and fixed as a result.

        - new sys-wide options:
           allow_switchteams - whether new users are allowed to 
                               switch teams at the main menu
           user_expiredays   - number of days of inactivity for a
                               user before s/he is expired.

        - approximate elapsed time (accurate to 1 minute) per player
          is displayed for each entry in (H)istory now.

        - the ETA algorithm used for ship-to-ship (only) scans has
          been re-worked somewhat.  Now ship/ship ETA's are calculated
          using an average closure rate.  This mean you need to scan a
          ship at least twice in a row to get reasonable ETA's.  A
          single scan will assume that both ships are heading directly
          at each other, as no closure rate information is available.
          It will also list the ETA as 'never' if there's no hope
          you'll ever intercept the target ship.

        - keypad keys are translated into direction keys - now you can
          aim, and set course using the keypad the same way the
          direction keys are used.

        - new common block of 256KB - room for 500 users. (ha!)

        - standardized 'more' and 'done' prompts.

        - renamed at386 terminfo entry to at386-uwcq to avoid conflict
          with linux's at386 entry.  This entry is used by UnixWare
          users that play from the console.

	## Now for the bug fixes ##

        - fixed neg array reference in messaging code.

        - fixed neg array ref and write in conqoper that corrupted the
          message ring, user block, and anything else laying around.
          But only on Tuesdays.

        - fixed negative Users[] array ref in conqoper sighandler.

        - fixed off by one in takeplanet() that allowed you to conquer
          the universe without taking RigelB.

        - fixed conqoper to not send entry msg when COMMONBLOCK is
          invalid.  (can you say segv?)

        - fixed invisible user bug (resign, then re-enter).  Now
          Conquest exits when you resign.

        - fixed evil self destruct bug that caused two killship()
          calls to be executed when a user was killed while in the
          process of self destructing.

        - added extra checks for linux glibc problem, where for some
          reason fd_set is declared as a typedef rather than a
          struct. Wierd.

        - elapsed time bugs fixed.  Again.  'VACANT' ships no longer
          add to the elapsed/cpu times for teams and users.

        - (U)ser Statistics, and (S) More User Statistics screens now
          track arriving/departing users in real-time.

        - fixed locking bug in initeverything().

        - bug in listplan() ((?) Planet List) that corrupted page
          header fixed.

        - many bugs and oddities with cdgetp() (line based input
          routine) fixed.  Perhaps I should give the 'readline'
          library a try??

        - the lastentry time for a user is now updated whenever a user
          enters a ship, not just when the ship is first initialized.

        - isagod() checks are more stringent and reliable.

        - clog buffer increased.  Large logging events don't cause a
          segv anymore.

        - fixed bug in astservice relating to message display timing
          for those with 25 line screens.  Those without 25 lines (on
          which messages are displayed on the 23rd line), shouldn't
          miss messages anymore when entering a command at the same
          time a message is being displayed.  Those with 25 line
          terminals will get messages asyncronously on the 25th line,
          regardless of whether you're issuing other commands at the
          time or not. 

        - fixed bug where switching teams and then dying in a
          reincarnated ship would 'do the wrong' thing regarding
          ship's team selection when you re-entered the game.  This
          rather esoteric bug was found by Dave Payne.  Of course. ;-)

        - conqoper watch(): doomsday 'type' member and display code
          removed - useless.  The doomsday's status is now displayed
          symbolically in the doomsday watch() screen.

        - DCL subshell code finally excorsized.  Don't need it, don't
          want it. ;-)

        - all debug related logging turned off.

        - on planet list, number of armies is displayed in same color
          as planet now.


Version 6.6    Thu Dec 24 16:03:31 1997  Jon Trulson  <jon@radscan.com>

        - added 20 new 'extra' play planets for use by enterprising
          universe developers.  The various planet listers modified 
          to support more than one page of planets.

        - switched to the use of 'double' as the floating point type
          instead of 'float'

        - new common block due to the float -> double change, and the
          new play planets.

        - full coloring of LR/SR displays.  The color scheme used is
          alert based.. ie: dangerous things (like enemy ships or 
          planets) are red, team things are green etc.

	- all other text in the game (and conqoper) was colored by 
          David Payne <davep@radscan.com> using a new cprintf()
          function that can handle embedded attribute codes.

        - color in conqoper is different, as an operator doesn't
          (supposedly) take sides.  The goal in conqoper was to use 
          coloring for enhancement only (except when watching a ship).

        - exploding ships. Ouch.  Implemented by 'faking' a special
          type of torp launch.  

        - the messages sent regarding entering/dying in conquest
          now use per ship information, rather than per user 
          information.  This make things consistent, and also
          works properly for users with multiple ships.

        - watch display in conqoper is now interupt driven, like 
          conquest.

        - watch display in conqoper modified to use '<>' or arrow
          keys to switch from ship to ship.  Dave Payne provided
          this patch.

        - debug doomsday screen removed, watch display in conqoper
          now lets you watch from the doomsday's perspective.
          Patch by Dave Payne.

        - most frequently used commands (like (r)obot, (k)ill,
          (/)player list, etc) are available from watch in 
          conqoper.  Patch by Dave Payne.

	- (e)dit user in conqoper now removes the '+' current 
          field indicator as you move around between the various
          options.

        - destroying a warlike ship, no longer causes 'invisible'
          sticky war with that team if you weren't officially at war 
          with that team when you killed it (but it was at war with you).

        - beaming armies down to a self-ruled planet without bombing
          it, no longer works.  You could take planets this way without 
          suffering any damage, but it would take a long time, and alot
          of armies.  Now when you beam armies down to a self-ruled 
          planet, it is considered an act of war, just like bombing is.

        - playlist now lists the PID of the controlling ship, or
          "VACANT" if the ship has no controlling process, or "ROBOT" 
          if the ship is a robot.

        - you can type long messages now.  While typing a mesage, when 
          you reach the end of the line, what you've typed is sent, 
          followed by a '-', and then you are prompted for more text.  
          Much easier to type long messages.  Thanks to Dave Payne
          for this patch.

        - Conquest has been ported to Solaris 2.6 using gcc 2.7.2.1

        - the display will now operate properly when changing your
          name while flying. Yes. I got killed by changing my name, 
          and forgetting no screen updates were taking place. I had 
          24 kills too. ;-)

        - a bug in the driver that caused ship headings to briefly 
          go negative or invalid during a slow turn has been fixed.

        - a bug in towing that miscalculated relative velocities between
          two ships has been fixed.  This bug was in the original RATFOR 
          code.

        - fixed bug in untow that caused incorrect warp factors to be
          set for the towed ship when it was untractored, and the 
          tower was in orbit.  Can you say "hyperdimensional 
          shifting"?   This bug was in the original RATFOR code.

        - the handling of multiple ships, and entering while already
          playing are much improved.  Now you get the option of 
          re-incarnating to other ships (if you are allowed multiple 
          ships), and/or creating a new one. Players who are not 
          allowed multiple ships will no longer be blown out of the 
          game if the same user tries to enter conquest (from another
          terminal for instance).

        - lots of lint based cleanup... found and fixed several 
          'minor' bugs that way.  *Lots* of unused variables and code 
          removed.

        - gamlb module removed - no longer needed

        - most translation (Ratfor to C) macros removed.

        - combined ioxlb.c, ionlb.c, and ioplb.c into one module:
          iolb.c

        - removed conqfig.c module - relevant defs are in defs.h

        - Reviewing messages lets you scroll back and forth using
          the arrow keys.

        - display code moved into new display.c module

        - several rounding problems related to using abs() when should
          have been using fabs() fixed.

        - bug fixed in buildai() that scaled fuel incorrectly causing 
          robots to do dumb things when fuel was low (they always 
          thought they had plenty of fuel).  This fix has resulted 
          in smarter robots.  Two rules in conqrule had to be modified 
          to cover up a logic 'hole' that became apparent when this bug 
          was fixed.  This bug was in the original RATFOR code.

        - some terminfo entries that work good with conquest are now
          supplied with the source distribution.

        - a new 'realclean' target is provided in the Makefile.  This
          target is the same as a 'make clean', but additionally 
          removes files generated by configure.  You will need to 
          re-run configure after a 'make realclean'.

        - some commenting spiffed up.




Version 6.4    Fri Mar 28 15:09:02 1997  Jon Trulson  <jon@radscan.com>

        - changed phaser graphics to stop when it hits a ship.  Can be
          handy when 'probing' for a cloaked ship, when you're also
          cloaked.

        - docloak() fixed so that engine overload is checked, not weapons
          overload in determining whether you can cloak.

        - if you destroy another ship, you're automatically at sticky war 
          with that team.

        - now when you fire torps, phasers are aimed as well.

        - fixed safectoi() bugs. finally.  ctoi() and ctor() modified
          accordingly.

        - fixed misspelling in conqstrat so that ROB_SILENT is a valid
          action.

        - fixed bugs in targeting.  Invalid targets are now reported as
          such.

        - configure.in modified so that libl.a/libfl.a (flex/lex) libs 
          are looked for if the other can't be found.  


        
Version 6.3    Tue Dec 24 16:59:20 1996  Jon Trulson  <jon@radscan.com>

        - the conqstrat rule parser is now operational!  Now you can rebuild
          or modify the robot strategy tables.  The current strategy
          table used by the robots as shipped is defined in conqdata.h.
          This file was generated by conqstrat using the conqrule file, 
          which defines the robot's actions under certain conditions.
          I've already added one rule that should lessen accidental
          robot sun-deaths.  No more than 32 rules can be defined.
          I'm willing to incorporate other 'amusing' robot strategy
          definitions into the Conquest distribution if mailed to me.  
          Enjoy ;-)

        - fixed bugs in special() causing certain lookups to return
          inaccurate or invalid responses, like 'iwp'.

        - added allow_sigquit in sys-wide conquestrc file.  If true
          then all players can exit immediately using SIGQUIT (normally
          ^\).

        - moved player death notification msg code to killship() from 
          dead().  Now you get a message when a robot dies too.

	- fixed nasty variable collision bug with uname under newer
          Linux's... This caused a SEGV when uname[][] was mapped into 
          the common block.  I wonder why :-)

	- added extra check to cdinit() to ensure the bkgset() function
          isn't used with ncurses.



Version 6.0     Sat Nov 30 22:50:25 1996  Jon Trulson  <jon@radscan.com>

        - Conquest now uses GNU's autoconf facility for portability.

        - This version has been compiled on FreeBSD 2.2 100696-SNAP.

        - increased MAX_MACROS from 12 to 24.  Now SHIFT F1-12 can
          be defined as well.  Your terminfo entry must be configured
          properly to take advantage of any of the Fkeys and the 
          keypad.

	- The common block was modified to support 'phantom' kills for
          robots.  To enable this, define do_random_robotkills=true
          in the system-wide conquestrc file.  If defined, robots
          will be created with a random kills value, possibly making 
          them stronger, but without screwing up the statistics.  Makes
          them a little tougher and unpredictable.  Probably not for new
          players though ;-)

        - made some curses calls more efficient.

        - robots now use 30/70 power allocations instead of the old 40/60.

        - lots of fixes to the semaphore code to support linux and 
          FreeBSD.  Modified semaphore stats line in conqoper to 
          provide more information.

        - c_sleep() behaves itself better under linux/fbsd

        - ibuf.c: - moved ibuf related vars from global.h to a new ibuf.h 
          where they belong.

	- added capability to use 25th line on display (if you have it)
          to display messages.  Much nicer.  On some terminals you may
          need to set LINES=25 and export it in your shell before
          firing up conquest.  If you have color, messages will be
          displayed in cyan.

        - fixed rounding bugs in safectoi() and oneplace()

        - ^L (refresh) handling is much faster, and turns off
          the display interrupt before refreshing to prevent screen
          corruption.

        - if you don't have 25 lines, you will no longer get messages
          while reviewing old ones, causing strangness. 

        - sighandler modified.  CO's need to use QUIT (^\) to exit 
          (without self-destructing) instead of INTR.

        - removed syscall RESTART dependancies. Too unreliable.

        - added support for fastupdate option (see ~/.conquestrc and
          the system-wide conquestrc file).  This means that on systems
          that support setitimer(), you can get 2 updates per sec, 
          rather than one.  You get no advantage over another player if
          your doing 2 updates per sec, and the other player is only
          doing one, it just makes things seem a little smoother.

        - conqoper modified to support the -C (create new sys-wide 
          conquestrc file) option.  If the system-wide conquestrc
          file is determined to be out of date, conquest and conqoper
          will warn you when starting up, and use internal defaults for
          any new options, until it's updated by 'conqoper -C'.

        - mods to player edit so that arrow keys/keypad can be used for 
          navigating around the screen in conqoper.

        - many more formatting bugs fixed in conqoper.

        - modified planetlist screen to mark 'core' planets (planets
          you have to take to conquer the universe) with a preceeding
          '+' sign.

        - replaced bogus PLANET_SHITFACE with PLANET_ALTAIR, a new,
          non-core planet, yet *quite* valuable strategically. ;-)  
          Since it's creation, many fierce battles have been fought 
          over Altair. heh

        - tweaked shield alert displays during a red/yellow alert to be more
          consistent.

        - removed blink attr for anything other than a red alert status 
          with your shields down.
 
        - tweaked secdriv() to multiply the cooldown factors of weap and
          engines by PLANET_REPAIR_FAC if orbiting a friendly populated 
          planet.  This means you cool down faster in orbit about a 
          friendly planet.

        - made an adjustment to PHASER_HIT to compensate for the new 70/30
          energy split.  Rom's had too much adv at close range.  They could
          kill you with 2-3 phaser hits, even with shields up.  Romulan 
          phasers are still quite deadly up close.
 
        - tweaked COMMONSTAMP (new common block), DOUBLE_E_KILLS (to 40.0),
          MIN_COUP_MINUTES (not as long), MIN_UNINHAB_MINUTES (not as long).

        - configuration code mostly rewritten to make more maintainable.

        - modified cdinit() to not use bkgdset(...) if running under 
          ncurses.  It has a bug that corrupts the colors if a backgroud 
          is set, but not at color pair 0 (which under SVID is illegal). 
          Bummer.  if using ncurses, you might prefer a black background, 
          so if running under an xterm, set your background to black.

        - fixed oppedit so that (T)eam ownership works, and in the
          right circumstances.

        - changed newrob() to disable OPT_ALERTBELL so that conqoper
          won't beep when watch()'ing a robot.

        - conqutil.c: - fixed ownership problems when the log file is
          created.

        - do_fastupdate and do_limitbell options added to ~/.conquestrc

        - players, by default, can now switch teams at the main menu in 
          conquest.  

	- many other small fixes.



Version 5.8	Thu Jul 11 11:24:38 1996  Jon Trulson  <jon@radscan.com>

        - this version now runs on Linux.  This port was done by
          David Payne <davep@radscan.com>.  Here are the requirements:

          GCC 2.7.2
          libc.so.5.2.18
          ncurses-1.9.9e
          kernel 1.99.14 (pre-2.0.14)

          see the README.linux file (in the src dist) for more 
          information.

        - a new option, rcv_player_msgs has been added to ~/.conquestrc.
          See ~/.conquestrc for more info on this option.

        - lots of code cleanup in all modules.  Dead functions
          removed.

        - conqoper's debugdisplay now shows torp status for a ship
          symbolically.

        - all planet lists in conqoper and conquest are now sorted
          alphabetically.  Additionally, all user lists are now sorted
          by skill level.

        - torpedo launch() code made more efficient in it's use of
          semaphore operations.  The number of semaphore operations
          required to launch a spread (3) has been reduced by 2/3
          from 12 semops per spread, to 4.  This should improve
          'hairy' battle performance noticably (on a 486 anyway).

        - Made message beeping for conqoper #definable - see defs.h.  
          By default it's off.  When there's alot of message traffic, 
          it can beep continously.  How annoying.

        - changed logic in conqoper's planet list to eliminate 1
          second delay when entering that mode.

        - changed planet HELL from Empire armies to Self Ruled
          armies.  There is no Empire team at this time.

        - randomized 'virtual armies' for suns.  Used to determine
          the damage a ship takes when passing near/over one.

        - Suns are now immune from Malthusian Crisises.  This problem 
          sometimes resulted in *weak* suns.

        - Jinx is no longer created with 512 armies. Ooops. ;-)

        - fixed macro expansion bug that sometimes caused a Malthusian
          crisis to set a planet's population to 0.  This made for
          easy pickings.

        - Conquest no longer requires the 'conquest' user account.  
          The 'conquest' group will always be required (unless you
          run an 'insecure' game (planned for the future - see TODO)). 

        - added check to conquest/conqoper that requires your terminal 
          to have at least 80 cols, and 24 lines.



Version 5.7	Sat May 25 01:01:17 1996  Jon Trulson  <jon@radscan.com>

        - this version now supports a system-wide configuration file.
          Available options are:

          do_lr_torpscan - can see friendly torps on an LR scan?
          do_local_lrscan - LR (M)ap is ship centered or Murisak
                            centered?
          do_etastats - show ETA's on (I)nfo commands?
          no_doomsday - disable the doomsday machine?

          see /opt/conquest/etc/conquestrc for further information.

        - improved robustness of semaphore code.  You can now 
          conquer the universe without killing the game and your
          login session.

        - improved signal handling.  You can't susp out anymore
          and SIGQUIT/SIGTERM are enabled for conquest gods only.

        - conquest now determines whether a user is a conquest
          god by checking to see if they are a member of the 
          conquest group in /etc/group.  The root user is always
          a conquest god.  Being a conquest god means you can run
          the conqoper program.

        - fixed bug that made cpu usage stats totally bogus dude.  
          They should now be reasonably accurate.

        - fixed bug in the beaming code that caused extra beeping
          if you were beaming armies down to a hostile planet, and
          you were also within red-alert range of an enemy ship.

        - off-by-one error in robot defend() routine fixed.  Now
          Romulans have defenders.

        - robots are no longer created with random kills.  It 
          screwed up the statistics too much.

        - changed locking info bar in conqoper to display some
          semaphore statistics.




Version 5.6	Thu May  2 02:55:15 1996  Jon Trulson  <jon@radscan.com>

        - implemented the pagefile() function, so now there is documentation
          available from within conquest.  Try the (n)ews and (h)elp lesson
          from the conquest welcome screen.  NOTE: If your reading this,
	  then you have already tried the (n)ews option ;-)

        - this version of conquest now supports semaphores to syncronize
          writes to the conquest common block.  No longer should you be
          subject to random SEGV's due to 2 conquest's trying to aquire
          the same lock.  Yes!  Note: this is still undergoing testing.

        - the TAB key can now be used to ask for your 'next' last info. ie:
          it is equivalent to typeing 'i<TAB>'.  This matches the command
          change I made awhile back where RETURN is equivalent to 'i<RETURN>'

	- added code (enabled by defining DO_LR_TORPSCAN in defs.h)
	  that allows you to see your torps, and friendly torps
	  on a long range scan.  This option may may moved to the 
	  system configuration file when that capability is added in the
	  future.

	- added code to conqoper that will let the operator monitor
	  semaphore usage on the main screen.  Unfortunately, I can't 
	  seem to figure out how to get certain information, like the
	  PID of the last process to alter the semaphore(s).  Right
	  now all this info will tell you is: The status of the 
	  semaphores (LOCKED ("*") or UNLOCKED ("")), the number of
	  semaphore operations (since the last Universe INIT), and
	  the date/time of the last operation.

	- several more small fixes, and some dead code removed.



Version 5.5	Sun Apr 28 18:04:51 1996  Jon Trulson  <jon@radscan.com>

	- A user-customizable configuration file, ~/.conquestrc, is
	  now available!
	  The ~/.conquestrc file is now automatically created in the users
	  home directory if the file does not exist, or is out-of-date.
	  This file allows users to customize certain playing attributes
	  for conquest, as well as providing the only method whereby the 
	  FKey macros (F1-12) can be defined.  See your ~/.conquestrc 
	  file for information on the options available.
	  If your ~/.conquestrc file is out-of-date, a new one will be
	  created and your current settings (those that are still 
	  applicable with the new version) will be preserved in it.  
	  Note: Any comments (beginning with '#') that you add to the
	  file WILL NOT be preserved if conquest decides to update your 
	  ~/.conquestrc file.

	- fixed bug in dead() that sometimes prevented one from knowing
	  exactly how one died.  Kind of anti-climactic don't you think?

	- fixed torp formatting bug in conqoper's debugdisplay()

	- fixed lower() and upper() so that the strings are actually operated
	  on properly.  Due to a bug I introduced, they actually had no
	  effect.  Sorry.

	- added ENABLE_MACROS to defs.h to enable the ibuf.c module.  needed
	  to support macros (defined in your ~/.conquestrc file).  
	  This option may be added to the system wide conquest config 
	  file when that capability becomes available.

	- added DO_LOCAL_LRSCAN to defs.h to determine whether (M)ap 
	  has it's original meaning (a fixed map of the universe with 
          Murisak at the center), or is more real by acting like a Long 
	  Range scan (a dynamic map with your ship at the center).
	  This option may be added to the system wide conquest config 
	  file when that capability becomes available.

	- conquest versioning is now handled by the version.c module
	  instead of hardcoded VERSION_NUMBER and VERSION_DATE macros. 

	- switched experimental weapons alloc range back to 30/70 from 
	  10/90. 10/90 was way too deadly when the romulans were firing 
	  at you (close range) with 90% weapons allocation!

	- modified dobeam() so that you could take any planet with 0
	  armies, even if you weren't at war with the team that 'owned' the
	  planet - applies to home system planets only.

	- modified astservice() to make sure a msg was actually delivered
	  before beep'ing at the user.

	- added conf_MessageBell check to astservice(). If TRUE, you get
	  a beep whenever you receive a message.  See ~/.conquestrc

	- fixed some formatting problems in conqoper's debugging watch()

	- fixed the orbital velocity of Syrinx.  It was way too slow.

	- added conf_NoRobotMsgs check to readmsg().  If TRUE you won't
	  get msgs back from friendly robots. See ~/.conquestrc

	- fixed many small formatting errors in status reports like
	  team stats and user stats pages.

	- secdrive() modified so that fuel usage depends on *actual* warp,
	  and NOT on your *desired* warp.

	- adjusted DOUBLE_E_KILLS up to 35.0 from 25.0.  This means you 
	  will need 35.0 kills to double your efficiency.  It may move
	  upwards again depending...
	  
	- fixed a bad clog() call

	- removed dead/obsolete code, more of that to come I'm sure...




Version 5.4	Mon Apr  1 01:59:17 1996  Jon Trulson  <jon@radscan.com>

	- first semi-production version.  It's been about 3 years
	  since I started this port.  And what phun it's been! ;-)

	- ibuf.c - an initial run at an FKey macro capability.

	- rewrote iochav() using poll() and getmsg().  Seems to work...

	- removed ALT_IOCHAV #define - no such animal anymore. eventually, all
	  ALT_* #defines will go away.

	- eliminated dependancies on the conquest UID and conquest
	  GID.  These are now determined at run-time.  Eventually,
	  conquest will no longer require it's own user in order to run.
	  To prevent cheating however, a conquest group will always be 
	  required.

	- added DEBUG_LOCKING and DEBUG_MACROS debugging capability.

	- turned off DEBUG_SIG and DEBUG_IO. they seem to be okay for now...

	- re-did arrows() function *again* using original alg, and a 
	  fixed mod360().

	- fixed mod360() to (properly) use fmodf() instead of mod().  Now it
	  works without rounding errors caused by using the integer version
	  of mod() ;-)

	- modified command() to allow '*' to = 'd' - det torps, and
	  '[RETURN]' to equal 'i\r' - get last info.  modified dohelp()
	  accordingly.

	- added priority code to conqinit, so conquest will run at 
	  CONQUEST_PRI, and conqdriv will run at CONQDRIV_PRI.
	  It makes the game much more 'snappy' and doesn't appear to affect
	  system performance.  This requires the TSHAR privilege 
	  (Unixware 1.x, 2.x, SVR4.2).  If the appropriate privilege
	  is unavailable, a complaint will be written to the 
	  conquest.log file, though the game will still run.  On systems
	  that don't support the privilege mechanism, your currently
	  SOL.  Conquest was not designed to run SUID root (which
	  would be required), and I don't think any game has a 
	  right to be.  Eventually, (if there's enough demand) the 
	  relevant portions of code could be SUID safe.  I just
	  prefer the privilege mechanism, as it's more specific as to
	  the kind of privileges I need, and more secure.

	- changed sendmsg() to allow a [RETURN] to act like [TAB], ie:
	  send message to last person I sent a msg to.

	- modified display() to blink-red the shields indicator if they are
	  down, and you're at yellow or red alert.  Monochrome screens now 
	  use A_REVERSE | A_BOLD for red, instead of A_BLINK | A_BOLD.


	- tweaked cloak code a wee bit to make it more usable, though 
	  not *too* usable ;-)

	- modified CLOAK_SMEAR_DIST to 800 from 500 to make it a little more
	  vague when scanning for a cloaked ship.



Version 5.3(-)	Sat Mar 16 22:11:20 1996  Jon Trulson  <jon@radscan.com>


	This section describes versions at or below Version 5.3.  This
was the version that was actually running well enough to play some
decent games with a couple of friends with minimal bugs and crashing.
This was about 1 year after I had progressed with the port far enough
to have the major components working (semi) correctly, as well as the
fortran common block implementation operational. I could actually
fly a ship. Wow.

	- added extra check to PVLOCK() to make sure we *actually* got the 
	  lock.
	  I swear.  Semephores are on the way. Honest. ;-)

	- cleaned up code in tableai(). removed commenting I put there
	  a long time ago... I think the robot code is working fine ;-)

	- fixed delete bug in cdgetp().

	- removed/replaced all scopy() calls - uhg.

	- added HAS_SETITIMER to defs.h.  If defined, use set/getitimer 
	  routines instead of alarm().

	- created clog() function to be used to log msgs to the logfile.  
	  This used to be done by cerror(), which would also send a god 
	  msg if '@' was the first char in the message.  This was stupid. 
	  (although mine ;-).
	  cerror() was changed to ONLY send god messages, while clog() sends
 	  it's messages ONLY to the logfile.

	- added notimeout() curses call in another attempt to solve some
	  timing problems, and delays when reading the function keys.  It
	  seems to work, and has removed many unexplained 1 seconds delays 
	  when doing certain things.  And even with the timer disabled, 
	  function keys still seem to work, and without a 1 second delay 
	  after typing one.

	- removed sc*() and en*() dead functions...Yeah! 

	- Much clean up and removal of uneeded code.  

	- Fixed bug that would cause core dump if TERM not set properly.

	- Fixed bug introduced by me earlier causing some messages not to 
	  show up.

	- oppedit(): implemented editing of army, scan, and uninhabitable
	  time. These options were commented out in the original code.

	- removed/cleaned up transitional macros used early on by me 
	  during the VAX/VMS RatFor to Unix/C translation process.

	- initship() - fixed ulastentry indexing bug.

	- fmtminutes() - fixed formatting bug.

	- conqdriv:iterdrive() - fixed typo in array index.

	- Added signal handling capability.  Now Gods can INTR out nicely,
	  others can't.  Many small bug fixes.

	- conqdriv: added signal trapping capability so that KB interrupts 
	  are ignored, 	and conqdriv will die gracefully when getting a 
	  SIGTERM.

	- Added new function KPAngle() to return an angle depending on which
	  keypad key (or arrow key) was pressed.

	- rewote arrows() function. (This translates 'qweasdzc' keys
	  into directions (in degrees).  This funtion has NOTHING to do 
	  with your keyboard's arrow keys/keypad keys.)

	- fixed planet formatting bug.

	- another attempt at using the curses input routines. Changed
	  input routine return values to int's so can decode terminfo data on
	  keypad and arrow keys.  

	- Changed team effectiveness values back to their original settings.
	  I shouldn't have messed with mother nature.

	- fixed death certificate so that correct data is shown.

	- modp1() now handles negative numbers correctly.

	- histlist(), loghist(): fixed some bugs... no more trashing
	  of entries, and histlist() now lists hists correctly :-)

	- planlist(): fixed loop bug that output bogus info.

	- added ETA calculation ability to infoplanet() and infoship(). 
	  Enabled by defining DO_ETASTATS in defs.h.
	  This option may be added to the system wide conquest config 
	  file when that capability becomes available.

	- doinfo(): fixed bug that prevented 's<shipno>' from working.

	- Added Colors!  If your terminal/terminfo entry supports them
	  conquest will use them!  Much cooler.

	- fixed menu(): switchteams logic.

	- fixed dobeam(): up/down selection bug.

	- fixed rndini(): wrong seed init function being called - srand(), 
	  should have been srand48().

	- fixed rndint(): was returning (low, high], should have been 
	  (low, high).

	- Added PVLOCK/UNLOCK capability, fixed some minor bugs, changed cloak
	  code so that a cloaked, warp 0 ship is invisible to alert scanners.
	  Increase torp fuse to 50 seconds, thereby increasing range.  

	- Added	msync() to implement the upchuck() function.



#     #
#     #     #     ####    #####   ####   #####      #     ####     ##    #
#     #     #    #          #    #    #  #    #     #    #    #   #  #   #
#######     #     ####      #    #    #  #    #     #    #       #    #  #
#     #     #         #     #    #    #  #####      #    #       ######  #
#     #     #    #    #     #    #    #  #   #      #    #    #  #    #  #
#     #     #     ####      #     ####   #    #     #     ####   #    #  #####

   #####   ######  ######  ######  #####   ######  #    #   ####   ######
   #    #  #       #       #       #    #  #       ##   #  #    #  #
   #    #  #####   #####   #####   #    #  #####   # #  #  #       #####
   #####   #       #       #       #####   #       #  # #  #       #
   #   #   #       #       #       #   #   #       #   ##  #    #  #
   #    #  ######  #       ######  #    #  ######  #    #   ####   ######



	The following is the original conqnews.doc file distributed with
the VAX/VMS DECUS distribution, circa 1985. 

	It is provided for historical reasons only and should not be
viewed as completely (or even remotely) accurate.  Hehe.

Enjoy!

---
08Sep85:  A completely  new  robot  strategy  has been installed!
          Watch out, because robots are smart now.

16Jun84:  You can now get a list of recent  users  with  the  'H'
          command.

13Jun84:  The new user stats page finally works!

11Jun84:  You can now get info on a user.

09Jun84:  Hacking  on temperature. Weapons and engines now have a
          chance of breaking when they get too hot.  Tuning  will
          continue for a little while.

27May84:  Bombing  and  beaming  have  been  modified so that the
          baud rate of your terminal doesn't have  such  a  large
          effect.

22Feb84:  Message  editing  implemented.  If you enter enter line
          feed as the target of a message, you  can  send  a  new
          message  by  editing  the target and text from the last
          message you sent (or attempted to send).

19Feb84:  You can now do info on "time".

11Feb84:  The driver bug that made bombing easy and ships  faster
          than  speeding  torps  has  been  fixed. Also, it is no
          longer possible for two terminals to control  the  same
          ship.  Now,  when  you reincarnate, you get to keep the
          same ship number.

15Jan84:  You can  now  switch  teams  as  long  as  you  haven't
          entered  any  ships  since  the last time you resigned.
          Weapons  defaulting  implemented;   firing   a   weapon
          without  specifying  a  direction  defaults to the last
          direction you fired any weapon.

14Jan84:  The tractor command has been split into  two  commands.
          Use  't'  to  tractor another ship and 'u' to untractor
          or attempt to  break  free  of  another  ships  tractor
          beams.  Also,  when  you attempt to tractor a ship, its
          velocity relative to your ship must be warp 2 or less.

          Shields now regenerate  twice  as  fast  (4  units  per
          second) when they are down.

09Jan84:  Robot  ships  now  automatically defend the home system
          from attack. Ship tuning continues.

20Dec83:  Massive ship tuning in progress...

10Dec83:  A new fuel usage formula has been  installed;  now  any
          activity  that uses fuel generates heat and adds to the
          temperature of the ship. Also, a bug which  caused  the
          autopilot  to overshoot planets has been discovered and
          fixed.

17Nov83:  Phaser base hits have been lowered from 100 to 92.

13Nov83:  New statistics are being kept (but currently, there  is
          no  way  to display them). Typing "i<cr>" will now give
          info on the last thing you ask for info on.

03Nov83:  A better acceleration formula has been installed.

23Oct83:  Tractor beams aren't quite so deadly anymore. (This  is
          a major   blow   to  Klingon  battle  tactics.)  A  new
          acceleration formula that is team  dependent  has  been
          added.  An  orbit  speed  limit has been imposed so now
          you cannot orbit if you are going faster than warp 2.

16Oct83:  Ships now enter at least accurate  info  distance  away
          from their nearest enemy.

15Oct83:  It  is  now  possible  to change war and peace settings
          from the menu.

06Oct83:  Shell spawning was removed. Spawn to DCL instead.

19Sep83:  The first Decus distribution  of  Conquest was  mailed
          today.

05Sep83:  Torpedo  detonation has been worked over so that all of
          your active torpedoes go off when you die;  this  means
          that  you  should always get credit for when your torps
          kill the ship that killed  you.  Spawning  to  DCL  was
          added,  use  '$'  followed  by  a  line feed to spawn a
          process.

01Sep83:  The race dependent weapons  factors  have  been  tuned,
          now  Orions are 0.83, Klingons and Federations are 1.0,
          and Romulans are 1.17.  The  course  command  has  been
          modified  so that when you set course for a planet, you
          get the same  information  as  you  do  with  the  info
          command.  Also,  when  you set course for another ship,
          if you terminate your command with line feed, you  will
          get info on the ship.

29Aug83:  The  Evil  Display  Bug took heavy damage yesterday and
          finally  fell  this  evening.  Services  will  be  held
          Wednesday at the Red Hour.

24Aug83:  The   phaser   command  modified  to  set  last  phaser
          direction even if your phasers are not ready  yet.  The
          planet list is now sorted by planet name.

13Aug83:  Torp  alert  code  added. Now you will always be warned
          when enemy torps get within accurate info range.

          Code added  to  (hopefully)  prevent  driver  thrashing
          when cpu time is at a premium.

          Cloaking  modified  to allow "silent running", i.e. you
          can stay cloaked at warp zero for a  long  time.  Also,
          cloaking  fuel  cost depends on speed (cloaking at warp
          10 is *very* expensive).

          Towing modified; the maximum  towing  distance  is  now
          larger.  Also, breaking free of an unfriendly ships tow
          does not always succeed and trying  freezes  your  ship
          up for a whole second.

12Aug83:  Weapon   tuning  continues.  Phasers  are  still  quite
          strong but this will be corrected in the  near  future.
          Now  distance  is  used  to  break  ties  when  you are
          searching for weak planets. This means that if you  ask
          for  info  on the weakest planet with 10 or more armies
          and two planets have 10 armies each, you will  be  told
          about  the  closer  of  the two. Also, the info command
          has been modified to warn you that a planet is  hostile
          when you get info on it.

17Jul83:  Several  bugs  related  to  the  conversion  to the new
          ratfor fixed. Ken's version of  phaser  graphics  added
          (complaints  to  him). Also, there is now a user option
          for phaser graphics.

04Jul83:  Conquest now runs from decnet ports!

03Jul83:  Planet  movement  is  three  times   smoother.   Novice
          players  will  now  enjoy  fantastic  phaser  graphics.
          Firing phasers no longer locks up your  ship,  but  you
          still  can't  fire  them more often than once a second.
          Torpedos are... different. (Ken was *not* amused.)  The
          remote terminal bug is almost fixed.

          On  its  one year anniversary, Conquest now runs on two
          Vaxen.

          Remember, this is Be Kind to Klingons  week,  so  don't
          aim for Ken's gonads.

14Jun83:  Full  duplex  screen  updating implemented. Now you can
          see  your   enemy   attacking   even   when   you   are
          constructing  an insult for him. Common block updating.
          Now the common block is flushed to  the  disk  every  5
          minutes.  This  should  take  care  of  the  time  warp
          problem.

23May83:  Captured system entry now works. The  evil  course  360
          wandering bug has been fixed.

13May83:  Even  more  driver  hacking,  now  the  "phase"  of the
          Universe is kept in the common block. This  means  that
          five  minute  things  will happen every five minutes of
          game  time,  etc.  You  can  now  send  mail  to   "The
          Implementors"  by  sending  a  message to "i". Finally,
          the self-destruct code was modified so that  it  really
          takes  fifteen  seconds to exit, even if some cretin is
          running rat4.

07May83:  Tuned driver  startup  logic.  Added  a  new  "nearest"
          thing  to  look  for,  nearest team planet, "ntp". This
          was done to appease  the  Conquest God,  who  was  not
          happy  with the hack to "nap". Also, all of the nearest
          planet special strings may now  be  qualified  with  an
          army  threshold.  A  new user option, "terse", has been
          added. For the most part, turning this option  shortens
          the  "press  space  for more" prompts. The manual entry
          has been revised; check it out for more information.

29Apr83:  A new and  improved  Conquest  manual  entry  has  been
          written  and  installed.  The  user  rating formula has
          been improved. When getting information on  or  setting
          course   for  the  nearest  army  planet,  "nap",  only
          planets that are owned by your team and have more  than
          three  armies are considered. Also, if you terminate an
          information command with LF instead  of  CR,  you  will
          get  info  about  the  second  nearest object. Code was
          added to automatically disable insert and  delete  line
          display.  (That's  right, you can throw away your local
          copy  of  termcap  without  getting  seasick!)  Inverse
          video  has been added to the pagefile routine. Finally,
          the Conquest operator program  is  even  MORE  powerful
          than before.

14Apr83:  New  command  implemented.  ^R now can be used to force
          the screen to be updated completely. Also, a  new  user
          option  forces  the  screen  to  always  be  completely
          updated, even during battle.

12Apr83:  Many, many more bugs fixed. Many more  features  added.
          Now  LF  can be used to send a message to the last ship
          you sent to. Driver hacking  is  now  complete;  it  is
          IMPOSSIBLE  for more than one driver to run at the same
          time. It is not possible to run a driver manually  from
          a terminal.  The  player  ships  now  notice  that  the
          driver has died within 5 seconds.  When  a  the  player
          who  has  the  driver  exits  Conquest,  he  causes the
          driver to kill itself; the other players then  bid  for
          running   it.   This   means   that  the  Game  is  not
          interrupted just because someone logs off.

19Mar83:  Many, many bugs fixed. Many  features  added.  Cloaking
          now   works.   Also,  enhanced  informational  scanning
          implemented.

08Dec82:  Re-organized  the  display  somewhat  to   enable   the
          terminal package to make use of clear-to-end-of-line.

04Nov82:  Implemented  some  restrictions  on playing: no playing
          over  dialups,  by  GUEST,   or   during   prime   time
          (7:00-18:00 weekdays). Priority is set to 2.

28Oct82:  Fixed bug in bombarding.

25Oct82:  Added n, ne, ns, np, nep, nr, nf, and na.

24Oct82:  Added  a  number  of new features, the biggest of which
          is  orbiting  planets.  Also  I  juggled  some  of  the
          parameters in an attempt to make the teams more equal.

18Oct82:  Added  a  "shit-list" flag, to prevent obnoxious people
          from playing. Added a real neat feature  which  finally
          lets  broadcast  messages  from  the  outside world get
          through. Made the game run at a lower priority.

13Oct82:  Changed the "p" command to not enter  a  mode.  Now  it
          just  fires  a  single  torp  and  goes back to command
          mode.

06Oct82:  Fixed a bug,  added  a  feature.  Recompiled  with  the
          re-written raw I/O library - should go faster now.

22Sep82:  Added  a  "last  words" feature - when you conquer, you
          get to leave a message for everyone to see.

20Sep82:  Minor tuning mods. Also the  doomsday  machine  is  now
          both less common and more sadistic.

13Sep82:  After  three  weeks  of  downtime,  I finally found the
          major  bug  in  the  slow-turning  code.  As  usual,  a
          strongly-typed  language  would  have  caught  it right
          away. I believe there are  still  some  minor  problems
          with   slow  turning  -  let  me  know  if  you  notice
          anything.

23Aug82:  Turning now takes time, and  it  takes  more  time  the
          faster you are going. Slow down to turn.

20Aug82:  Ken  the Kunning Klingon discovered an embarrassing bug
          - I had a test reversed in the  routine  takeplanet  so
          that  every  time  you  conquered  a  planet  you  also
          conquered the Universe.

18Aug82:  Fixed  annoyingly  persistent   bug   which   prevented
          planets from being taken.

08Aug82:  Couping  should  work  now.  Watch out for the doomsday
          machine.

29jul82:  I did some rewriting to  try  and  get  the  driver  to
          restart  automatically  when  it dies. It doesn't quite
          work yet, so beware...

27Jul82:  Arrow keys work. Locking onto planets works.

25Jul82:  The universe was conquered for the first time  tonight,
          by  the Orions. It almost worked perfectly. At the last
          instant, the common block  got  locked  up.  Also,  the
          Orion  team  didn't  get  credit for the win. Both bugs
          should be fixed now, so I am  looking  forward  to  the
          next conquest.

24Jul82:  Engine  temperature and fuel consumption are now pretty
          much working. I still have to  do  some  fiddling  with
          the constants to get things exactly right.

18Jul82:  Fixed  a  bug  which prevented anyone but Romulans from
          killing people. On second thought, maybe I should  have
          left it in...

16Jul82:  More    commands    added,    including   info.   Also,
          self-destruct now works even if  the  driver  is  dead.
          This should make Mister Xavier happy.

12Jul82:  You   can   now   change  course  and  fire  torpedoes.
          Commander Saavik immediately took advantage of this  by
          traveling   to   Earth   and   destroying   hoardes  of
          feddie-bears.

03Jul82:  The display works pretty well now. More commands  work.
          The  first  interplanetary  voyage  took  place  today:
          Commander  Saavik  piloted  the  Romulan  flagship   to
          Sirius.  The  ship was incinerated upon arrival. Saavik
          then journeyed to the edge of  the  galaxy,  where  she
          was one again incinerated. Score: galaxy 2, Saavik 0.

02Jul82:  The display started working today. Some commands work.

28Jun82:  Ships  are  flying now. However, the display generation
          and command interpretation still needs to be  done,  so
          it is not much use.

27Jun82:  The  news  option  was installed today. Ships should be
          flying pretty soon. The driver is working, I just  have
          to add the code to launch a ship.





