
See the Changes file within the doc directory for changes made to
previous version of COW, which this code is based from.
************************************************/

7-Feb-98 - Was able to figure out how to compile libgmp on Win32 using
           Visual C++ 5.0.  I had to cheat, and renamed the pow() function
           to mpow().  It seems to still work.
8-Feb-98 - Was able to get a working client built
11-Feb-98 - Rearranged files into some semblance of a directory structure.

  net2k/config - files relating to previous COW configuration
  net2k/doc - Documentation directory
  net2k/fonts - Netrek fonts that were created previously
  net2k/include - All include header files
  net2k/othersrc - Some other source that was in the COW directory that
                   isn't used in Win32.
  net2k/rsa - RSA code, will be available in seperate encrypted archive
  net2k/src - All source code
  net2k/win32 - Win32 configuration and header files
  Makefile - Main makefile
  system.mk - Personalized configuration settings(RSA, CWHO, etc)
  

 To compile:
  If using RSA, extract the rsa directory, put your keyfiles into
net2k/rsa/key.
  
  Edit system.mk
    - Enter your email address
    - define RSA if required
    - Define RSAKEYfile if using RSA
  
  Build the RSA sources
    - From the ./net2k directory, do a 'nmake rsa'
  
  Build the client sources
    - From the ./net2k directory, do a 'nmake client'


Further documentation on the Software will be forthcoming.

12-Feb-98 - Built source code distribution

23-Feb-98 - Finally got back to this client
	Today I started taking SWINE improvements into the code

	- Copied stats.c from SWINE distribution, modified slightly
	  This provides a smaller, more colorful stats window
	- Modified getname.c from Greg Chungs work in SWINE distribution
	  This provides a psuedo text window to enter name and password
	  indicates to user length of field, and current cursor location.
	- Set GALAXY ship stats to same as in getship.c of Vanilla server

11-Apr-98 - Finally got back to the client
	Today I started fixing some bugs
	
	- Added whymsgdead bugfix from COW3
	- Added Key mapping to Numeric Keypad keys
	- Was able to get a 256 color SB explosion to work
	- Will work on replacing all XBM style bitmaps, with windows
	  style .bmp contained within resource DLLs

13-Apr-98
	- Worked on way to display monochrome or color bitmaps
	- Implemented color shit bitmaps

14-Apr-98
 	- Worked on my income taxes :)
 	- Converted torp and plasma bitmaps from xpm to bmp
 	- Going to have to redo the torp firing routines to handle
 	  more than one bitmap cycled
	- Still have many more bitmaps to convert


28-Jun-98
	- I didn't talk about what I did last time :)
	- New explosion bitmaps using a program called mkexpl I found on the
	  net!
	- Completed conversion of torp/plasma bitmaps and explosions.
	- New planet bitmaps, right now just for owner properties, doesn't
	  show resources with them.  These are just temporary experimental.
	- Spent a great deal of time trying to figure out a method for
	  drawing bitmaps transparently so that ships/torpedoes would show
	  up on top of planets, but didn't get far.

28-Oct-98
	- Removed netstats code
	- Remove lagmeter code
	- generated Xref from the COW sources

29-Oct-98
	- Removed censor code
	- Modified copyright.h.  I don't see the point in maintaining two
          copyright header files since they all say similar things and I
          think by now all parts of the code has been modified by somebody.
          Would like to include a fuller list of all involved.  Will
          investigate.
	
17-Dec-98
        - Began work on monochrome bitmap libraries
        - Created bitmaps.h header file
        - Standardized bitmap defines

18-Dec-98
        - Took cursors and created another resource DLL
        - Created cursors.h header file

19-Dec-98
        - Created bitmap library for planets, using rabbitear bitmaps
          will need to create additional library for moo and normal

20-Dec-98
        - Finished moving all bitmaps into resource DLLs
        - Fixed ContinuousMouse so it's not always enabled.
          However the feature packets still do not function properly
          for ContinuousMouse.  I think this is flawed.

22-Dec-98
        - Worked on creating a default xtrekrc file with windows mappings
          set to work well on a 1024x768 display
          Need to work on placement of additional windows just in case they
          are mapped by user.  Helpwin, motd, etc.

11-Jan-99
        - I've actually been working on this off and on the last two weeks,
          just haven't updated this file.
        - Ship bitmaps now have 32 images instead of 16!
        - Made some changes to allow two builds of the client, one using
          monochromatic bitmaps(16 color screen essentially), and the
          other using colorized bitmaps(256 color screen).
        - Reduced color depth of explosion bitmaps to 16 from 256, to
          accomodate building a 256 color palette.  
        - GOT FEATURE PACKETS WORKING!
          Well actually I found out they did work, it's just that the
          Continuous mouse code was being ignored.

12-Jan-99
        - Changed both mono and colorized bitmaps to 32 images instead of 16!
        - In order to accomodate above change had to change ship explosion
          to 66x66 bitmap instead of 64x64.
          Starbase explosion changed to 180x180 instead of 80x80 to
          accomodate super cool colorful SB explosion.
        - These changes allowed me to build one client that would work
          in either monochromatic or colorized mode.
          New default key created 'colorClient: on'

13-Jan-99
        - Fixed bug in the COW code where if phaser statistics were
          on, and you had 100% phaser hit rate, the message would be
          truncated.
        - RELEASED VERSION
          This released version is essentially a bug fixed version of COW
          for Windows with some features removed, and some new features
          added.
          My intent was to release a stable, bug-free version with some
          signifigant new features.
          
          Signifigant feature list:
          - Multi-color Ship bitmaps.  Including GA, and ATT ships, although
            I haven't tested the ATT.
          - 32 rotational images for ship bitmaps
          - Multi-color spectacular explosions
          - Bitmaps are created within resource DLLs allowing for
            easy replacement in a pre-existing client.
          - As a result of the resource DLLs only one planet bitmap
            style(Rabbit ear) is included at this time.  I will create DLLs
            for the other two styles(Moo and original) shortly.
          - A very simple default xtrekrc is included, it is not complete
            or inclusive.  This will be addressed shortly as well.
          - New default keyword 'colorClient: on'.  This is on by default,
            but setting this to off will set client to use the old-style
            monochromatic bitmaps.  This may be necessary on some systems
            which do not work right with color bitmaps.
          - No documentation yet, available shortly.

11-Mar-99
        - Changes cursors so that they are all 32x32 bitmaps.
          Apparently, Win95/98 has a problem with odd sized cursors.

4-Apr-99
        - Not everything was done today, but...
          - Created .dsw and .dsp files, moved things away from makefiles
            to using Visual Studio IDE
        - Added call to SendUpdates in main, such that the updatespersec
          value in your xtrekrc is processed.
        - xtrekrc login option is now recognized prior to looking for
          Windows userid.  I didn't see the point in forcing userid,
          since most windows users can change this anyway.

9-Jun-99
        - Updated Visual C++ project files for Visual Studio 6.0
        - Took getname.c from BRMH and implemented N:1999 modifications
          purpose of this was to fix ability to do autologin
        - Use metaserver by default rather than give stupid error
          about not having a server set
        - Found a bug in mswindow.c with two lines of code in W_Writetext()
          which set str[len]=0, which caused a protection fault.
        - Compiled with USE_PORTSWAP - need further testing

12-Jun-99
        - BUG: Fixed a memory access violation in W_WriteText() and
          ChangeMenuItem() in mswindow.c
        - Added ShowMySpeed on the tactical
        - Added Jubilee Phasers from SWINE
        - Added Cambot recording and playback code
        - Changed main window code to display titlebar and minimize button

03-Sep-00
	- Have done a lot which is undocumented... mostly cleanup
	- Removed all WIN32 defines
	- Added function prototypes into proto.h
	- Created portSwap configuration parameter to work through firewalls
	- Fixed Red alert border... wasn't changing from yellow to red
	- Use BOLD font instead of Underline one

04-Sep-00
	- After several hours of experimenting, I was able to figure out a 
	  way to display a greyscale version of the ship in the center of
	  the tactical... versus the old way where your ship was confused
	  with friendly ships.  Not sure if this will work on Win95 as it
	  appears to use a feature just documented in Win2k.
	- Created system to load ship bitmaps from .BMP files
	- Fixed monochrome ship bitmaps... the shiplibm.dll had been built
	  using 256 color bmp files. :(

04-Nov-00
	- I decided that my greyscale display method was too slow.  I was
	  encountering flickering on my PIII-550 with RivaTNT.
	- Changed to load greyscale bitmaps from seperate files
	- Change default paths for bitmap files to \bitmaps

08-May-01
	- Implemented a mechanism where you can switch sorted playerlists between
          full, players-only, observers-only.  Use the 'L' key to toggle these settings.

03-Jul-01
	- Changed default windows locations to what I consider to be Sane.
	- Default is to sort the playerlist
	- Default is to use portswap

04-Jul-01
	- New default 'PlanetBitmap' 0 = bronco, 1 = Moo, 2 = Rabbitear
	- Now you can hit the spacebar at the MOTD to reenter your team with your last shiptype,
	  makes it much less error prone.

07-May-02
	- Whoa... haven't updated this document in a while
	- Fixed playerlist refresh problem
	- Fixed color ship bitmaps
		- Eliminated grey background in greyscale bitmaps
		- Introduced tinted version of bitmap for center ship identification
		- Changed 'colorclient' default to int(it was boolean)
			0 = Monochrome
			1 = Tinted for your bitmap
			2 = Greyscale for your bitmap
		- Saved bitmaps as 256 color bmp files to save memory
	- Fixed mono ship bitmaps
		- SB is no longer rotating
		- AT is no longer rotating
		- AT now has properly reversed colors
	- Game recording and playback should work... only simple functionality is supported
		none of the fancy COW playback features at this time

TODO: Fix continuousMouse

11-May-02
	- Found reported memory leak
		I had put a CreateCompatibleDC in one of the functions of local.c as a 
		starting to point to do double buffering.  Thought I had commented it out
		but I guess not.

12-May-02
	- Created new default 'fullscreen'.  It's a boolean value(on/off), and dictates
		whether or not the create window for the main window has a border around it.
		I was having some trouble with XP and my new video card positioning windows 
		outside of the screen.  This was due to the nVidia setting preventing windows 
		from spanning across monitors.  But I like that feature, so I did this as
		a workaround, along with hiding the bottom button bar.
	- Fixed another handle leak.  Thread creation for input2() was not closing handles.
		Placed check to close handle prior to creating another thread.
	- Fixed cambot recording... There was supposed to be a check for F_many_self, prior
		to setting mystats[] values.  That wasn't there, resulting in keymap getting
		cleaned out.
	- Fixed continuousMouse.  Should now respond to feature packets on server correctly.
		Most servers allow for motion steering, but not motion everything else.
	- Changed behavior of the colorclient default.  It now checks to see if you have
		old style boolean default, and if so relies upon that value.  (i.e. colorclient: on)
	- Freed up a bunch of other allocated memory on exit as part of cleanup.
