Change log:

2.44 <- 2.43
  3/20 Fixed Cmds-lib.c compile problem due to too many rcsid strings
       Fixed bug with group upgraded in fleet never being able to
         move do to dist never being reset.


2.43 <- 2.42 [Dates are 1994, early 1995]
       Fixed forced delete of player to work right if player had groups
       Source now compatible with gcc 2.5.8 header files
  5/22 Fleet name matching was case sensitive.
       Uncommented out Smart forecast maps
  6/16 Changed: for (lost = 0; lost < nplanets; lost++) lostg[lost] = 0;
        to: memset (lostg,0,((unsigned int) nplanets * sizeof (int)));
       to elimnate a crash condition for the forecaster. No clue why
       it happened, or was fixed by it.
       Above problem was actually that Blind.c wasn't setting nplanets.
  7/9  numbuilt for new types was not being initialzed to 0.
       g_cmd now returns normal error msg instead of Upgrade failed.
       renamed stricmp to hstricmp, to avoid name collision with libc's
         stricmp.
       wrote support/Compile-all to make Blind and blind.dbg
  7/14-15 Fixed bug in GM map that closed stdout
       rewriting create galaxy code.
  7/20 UNSAFEMAX now works
  7/23 When you die, your report now mentions it.
       Totally off the wall commands (not [a-z]) now are flagged as errors.
       Finished up UNSAFEBREAK code.
       Added B group fleet num-ships
       At some point fixed bug that made longforecast print too many
       partial reports (1 for each system, instead of same less Full reports)
       Longforecasts now show alien/unowned systems instead of dumping
       them into partial report section [Document this]
  7/28 Top level B command (current orders submitted for player) finished
  7/31 Finished up partial tech upgrade code.
       Removed incoming reports from Full planet forcasts (Bug!)
       Code reorginization in misc.c/enterturn.c
       Cleaned up # of .o files needed for New-game
  8/1  numinclass now -1 if in production, and none exist otherwise
  8/14 Added check for "b group num" to flag group in hyperspace
       Header file reorganization (inc mv'ing all .h into protos dir)
       A few commands (n, ??) would give an extra token error as well as
       the first, true error. Fixed.
       P planet-not-owned something doesn't mention planet number any more
       [Could be used to fish for name/number pairs]
       Forecasts now show alien planets you could see previous turn.
  8/21 Partial tech builds now work
  9/10 Final testing of parital tech code (I hope). Forgot to define size of
       err_tmp -> char err_tmp[] instead of char err_tmp[80]
       Determined that BALANCE option is making planet lists dump core in
       New-game binary.
  9/12 Fixed bug in numinclass that was referencing last group
       when trying to determine if a class was able to be deleted.
  9/20 Partial tech code didn't quite work right with 0 drive (or cargo/s/w)
       ships. Also docs wrong.
  9/21 Forecast reports no longer show Ship in prod. for planets you didn't
       see at the begining of the turn.
       downgrade_cost was doubling all normal production.
       updated makefile dependencies a bit
  9/25 Finished makefile cleanup
       Added option to move planets manually in new game creation code.
  9/26 Started major code reorganiztion of report.c
       partial tech builds were checking on what the planet was building 
       before rather than what it was being set to produce.
  10/1 Finished battlemass code, report.c reorganization [Need to doc battlemass
  10/8 Cleaned up rules, and integrated Part tech stuff
 10/11 Newgame now sets a random seed.
       Smarter forwarding code.
       Hacks for gcc 2.5.8 vs. 2.6.0
 10/13 Partial tech builds didn't produce correctly when P p ship 0 # 0 0.
 10/14 Interceptphase didn't use nplanets.
       Forecast intercepts now work as sends.
       loadgame failure due to incompatible data file now exits with code
       301 (so obvious that something is wrong).
 10/30 "#galaxy" with nothing else on line no longer dumps core.
       Empty orders now generate an exit code of 255. Preproc changed to
       deal with this.
       o foo bar now only gives one error, instead of unknown and extra token.
       Forecast status lines now only show planet sizes you know about,
       rather than including ones that col'd but didn't know about.
  11/6 Ported to HP-UX, run through lint on the HP, and tested it.
 11/12 Added SHORTINTercepts
       Partial reports now print fleets correctly.
 11/16 Full report routes always printed names, unlike the route tables which
       did the right thing and printed names only when you owned the system.
 11/19 Ultrix 4.4 port (req'd MAXFLOAT)
       Added addplayer.h to headers (seemed to have missed it)
 11/20 Resolved how to get srand48 for Solaris and HP-UX
       Made wrapper isnum, to eliminate "g 204;" errors being accepted.
       T old new when old didn't exist was misleading.
       BALANCE code occasionally moved planets off the map. 
 12/13 Fixed Bug in the inactive player code, which caused it to not
       detect inactive players (bug caused due to trying to eliminate
       variable shadowing problems).
 12/26 Fixed append_cmd so that order would be "'cmd'" not "' cmd'".
       Fixed ninputgroup so that l/s/g/u max errors give a reasonable group 
       number.
       Changed multi-fwd to bounce stuff with better subjects, and all
       stuff from root.
       Changed game-fwd so it might be able to handle Galaxy:
  1/1  Fixed r_cmd so that r planet type ; comment handled right.
       Fixed p_cmd so that "p planet ship <part-tech>" at a system
       already producing that ship, would do the right thing (i.e.
       reset the levels and scrap as needed).
       Broke up cmds.c into cmds/[a-w].c
  2/19 Fixed j_cmd to prevent adding groups in hyperspace to a fleet
       Fixed longforecast partial_planet_reports glitch of printing bogus
       systems due to miscounting the number of lostgroups.
       Rewrote part of Pre-proc to send forecasts with no errors via sendmail,
       those with errors still get logged. Subject reflects quality of orders.
       Rewrote mailer in sh instead of csh
       Cleaned up docs a bit.
       Empty orders detecting code fixed.
  2/21 G group where entire group (of 2+ ships) couldn't be upgraded, caused
       whole group to be upgraded for free... This line in cmds.c (now g.c)
       from 3/28/94 is the culprit: if ((num_to_do == 1) && (g->ships > 1))
       removed the first half of the conditional
  2/27 Fixed game-forw to send ACKs to ^$race instead of $race, for
       Dragon, purpleDragon mixup.
  3/5  Fixed g group ; comment problem when part techs enabled.
       Added code to detect multiple sets of orders, and flag it as an error.
       Added e fleet <fleetname>
  3/14 Pre-proc now understands and deals with(?) error codes 122-127
       (see protos/exit.h for details), will mail GM on error code in
       that range... Minor comment changes in script too.


2.42 <- 2.41 [Dates are 1994]
  4/8  Fixed "R planet bogustype planet2" to only complain about bogustype,
       instead of bogustype and an extra token (planet2).
  4/12 Fixed X command, so that group doesn't disappear (messing up all
       later numbers).
       R planet type bogusplanet didn't generate errors...
       Added new features of the K-command:
         K - - empire  == nix all SPD's for empire (that are yours)
         K - - myempire  == nix all SPD's for all empire (that are yours)
  4/13 B command error for "B group" was misleading. 
       Several J command errors needed \n's
  4/18 J goodfleet badfleet didn't generate an error.
       S fleet planet behaved as an intercept.... 
  4/20 Longforecasts now include partial reports.
       D fleet max   is illegal now.
       R planet all planet supported.
       Password support added. [Doc'd?]
       Partial quoted name support.
  4/22 Fleets now print properly? Instead of being missed?
       o fulltype didn't print out alien types with speed and shield str
         values.
  4/27 A longempirename  was trunciating the name a bit too soon- hstrncpy
       instead of hstrncpy
       New player's maps will be the right size.
  5/6  P planet ship  whould always scrap partial ships in production,
       rather than only when producing a new ship type.
  5/8
       Forecast maps could tell you if a planet was colonizable:
         Now consider this:
         R myplanet col neverseenplanet
         o forecast
         [assume that there is a col loaded group that can reach the planet]
       Forecast maps now could show full symbols- alien col attempt bug..
       Alien group reports now show alien fleets
       battles should now show the cargo you have.
       Forecasts only do Routes for the player getting the forecast-
         now forecast maps can show all planets you knew about at the
         begining.
  5/16 S group_in_fleet somewhere didn't break group off of fleet.
       multi-turn ships with p orders each turn should work.

       

2.41 <- 2.40 [Dates are 1994]
  3/9  Details of T option for GM mode neglected.
       gamename not defined in preprocessor version of code.
  3/10 make {tar,zip,manifest} now works correctly
  3/14 Sorting with fleets caused groups to be duplicated duplicated
       once per fleet fleet
       K command would cause to to fire at your own groups.
       Rough FAQ written
       2.40.1 release
  3/22 Missing #end shouldn't cause infinite loop now.
       New GM command 'b' show order status for all players.
  3/26 S foo bar ; comment    Now doesn't generate errors
       T fleet fleet    now supported
       Fleets named <digit><char> now are recognized as fleets,
       instead of fleets and groups.
       B group fleet now works correctly.
       strdup was creating strings 1 char too short....
  3/28 g <group> 1 for a group /w 1 ship that couldn't be upgraded
       entirely caused a new group to be created (and the old one to
       have 0 ships left). This caused a misleading error message
      "Only 0 ships can be sent" rather than "Group is in hyperspace"
  4/7  Makefile didn't prevent FORECAST from being on when PREPROC wasn't
       Fixed the C command so that it didn't dump core (&list, not list
       in addlist call)
       Cleaned up documentation.



2.40 <- 2.39 [Dates are laste 1994, 1994]
       New forecast option wasn't supported in v3-blind-preproc.awk
       when only 2 args are used.
       o forecast 0 gave a spurrious warning.
       k planet <garbage> status error message was misleading.
       d n v w x y z   munges orders when v,w,x,y, or z are 0<?<1
       Added VERBOSE flag for turn.c to turn on status info.
       Fixed cargo capacity to be V3 compatible in reports when 
       O TECHS is set.
       Droped shar support.
       Added rules info on Guard command effects.
       New option: sortplanets
 12/14 Adding clairification on M command
       Fixed bug that broke "M -x y z"
       Forecast reports now have limited maps (* or ? only)
       o showopts now tells you about unknown planet list.
       Unknown lists no only list planets in map window.
       It is now possible to get a partial forwarding list via the GM level 
       command 'y'
 12/15 Took out fopen ("form","r") code that is replaced by the mailer
       script.
 12/29 Major coding effort for conversion from token to line based input.
       Droped backwards compatibility with original blind code.
       Put in hooks for passwords.
       Code now handles command line options (sort of)
  1/27 Finished (?) token to line based input conversion.
       P command now prevents you from building ships named
       Shields, cap, cargo, etc.
       D command prevents shiptype/fleetname colisions.
       New options: centerx centery to change your map's x and y center
                    fulltype gives you the "Extended ship type info"
  1/29 Major reorganization of report.c
       Added Full reports (on your planets) to forecast reports.
       Fixed bug in map code for forecast that printed ? for unowned planets.
  1/31 Added Selective planet defense info to full report.
       Changed War/Peace/Guard to W/P/G
       The C command's effects now happen after all orders are entered.
       [ONLY if NAMEBUG enabled]
       Fixed the debombbug code
  2/11 Finished "upgrade" converter.
       New options: longforecast, fullreport (same as f command)
       New GM level command- T for reading i butload of orders.
       Fixed total wreck of the token code.
       Dead player delete code was printing wrong.
       New main option (for use from command line, mainly): t
       executes enterturn until EOF. Usage typically will be:
       Blind t q < <ordersfiles>
  2/15 Added Built and exist in class fields to fulltype reports.
  3/2  added compile Flag REPORTDIR
       inactive players now reported after turn run.
       Totally off the wall orders, like "2 3 4" are now
       tagged as bad.
       Number of ships built in class now gets incremented...
       New option UNSAFEMAX - if set, max refers to highest group not in
       hyperspace.
       Cargo type carried by alien ships is now hidden.
       Fleets done?
   3/8 Fleet are done: Other problems- needed to change way to save them,
       as there was no way to retrive the fleet name from the way it was
       saved.
       Fleets now show up in reports (and groups in fleets only show up
       in fleet listings).
       Minor problems in report.c with missined #ifdef UPGRADE
       Fixed problem with numbuild being less than numexist
       Wrote a prospective player intro.
       Documetned the Blind menu's
       Fleets were moving at individual group speeds, fixed....
       Fixed core dump problem with fleets @ planets causing core dumps..
      
 
2.39 <- 2.38 [Dates are 1993]
       Made sure you can't have NEWGAME defined in the preprocessor
       compile steps and moved freelist() into misc.c
       Bombings didn't show who did it for anyone, unless there was a battle.
       Techmasses for TECHPLUS option didn't work for groups with
       more than one ship...
       Shipmass production for non-homeworlds was totally incorrect-
       produce_mass was wrong.
       +++ BUGish problem +++ Don't use Gnu make
       Fixed bug that allowed driveless cargo ships to be sent on routes.
       [ bug also was in V3.4 code]
       Tweaked report.c so that it only whines when you haven't
       entered orders (this way it doesn't bitch if you forge options
       for someone and reprint their report).
       Added option upgradecost
       Added support for M command /w window (Inc options info)
       Started writing BOMBBUG converter.
       Fixed bug in route printing code that printed planet name, even when
       you shouldn't know it.
       Fixed game-fwd to have new option: forwardlist. Added p-Can-Fwd
       to scripts/ to give ability
       O sortgroups was toggling the full reports bit.
       O forecast now doesn't get reset after a turn (broken code might do
       it before).
       New option: twospace (uses 2 spaces btw fields instead of 1)- std
       galaxyish
       Forecast option now takes an optional turn for forecast for (up to 5
       turns in the future).
       Changed packing method of source to use verison # directory
     
2.38 <- 2.37 [Dates are 1993]
       Added -ansi to paranoid compile flags
       Added prototype for new_game_rcsid
       Fixed bug that implied deliting all players, instead of checking on
       them
       Capital & Material are now CAP/MAT like V3.x
9/12   Changed battle report code so that your groups are always printed
       first (like status and everything else).
       Moved code around in report.c so that duplicated code was moved
       into functions- added: print_player_groups_in_battle,
       print_groups_at_planet, print_unowned_planets,
       print_partial_reports
       Brought Makefile dependancies up to date.
9/17
       Forecasts will now show you the war/guard/peace status of
       players you've seen (only with CARRYOVER). Techs are included too.
       New option TECHPLUS- shows mass of ships, and their techmass.
       [Tech mass == mass(componetent) * tech(component)]
       New option autounload added.
       showopt option was broken- fixed.
       loading can be done on an upgraded group.
9/27   Broke up i-o.c into loadgame & savegame. This should make converters
       easier to write.
       Forecast reports will now show planet #'s iff you could see the planet
       at the begining of the turn.

2.37 <- 2.36 [Dates are 1993]
       new-game.c wasn't #including new-game.h
       Added prototypes for functions, and protos directory
       changed compile flags to include
       -Wconversion -Wstrict-prototypes -Wmissing-prototypes
       adjusted code to eliminate more whines.
       Fixed enterturn.c so that T <old> <new> with bad args
       worked properly.
8/29   Changed print_battles to not show planet names if you lose,
       and to show name in ()'s instead of #.
9/2    Rules state COL can't be unloaded at an alien planet, but code
       allowed it. enterturn() fixed to prevent it.
       Added the global Incoming report section back (dissappeared
       in 2.30 or so), header order is now ONDNRSM for both.
       Fixed Bug that didn't save the bomber correctly (mod data files)
       Define BOMBBUG for pre 2.37 created data files.
       Added new top level command 'z' which prints out RCSid's
       If one of your planets is bombed, and you had no ships there,
       the bomber will no longer be reported.
9/7    Fixed a bug which prevented upgrades of cargo ships from being able
       to move on routes [turn.c, go()].
       Added o showopt.
      


2.36 <- 2.35 [Dates are 1993]
8/17   Made V3 upgrade command complain if given a guard-type command
       Fixed K command so a bad status would be tagged with a better error.
       Did away with version.h, and made Makefile pass version # as needed.
       Fixed O unknown to work correctly.
       Added upgrade costs to rules

2.35 <- 2.34 [Dates are 1993]
       Fixed bug that always gave forecast.
       Fixed bug that sometimes caused forecast to dump core.
       Fixed bug with the K command & systems that you don't own-
         no reason for the error was given.
       Fixed bug preventing code from compling without CARRYOVER defined.

2.34 <- 2.33 [Dates are 1993]
 8/6   Fixed bug in preprocessor with multiple error messages about groups
       that have been given bad commands.
       Fixed (?) round off error bug, with producing a size 100.0 ship at
       homeworld with mat stockpile.
       Fixed BACKUPS problem (didn't work with turn<10 and turn>99
       blindrc files
       Tweaked Makefile to bitch about  CARRYOVER, V3, or KCMD being
       defined without NEW as well.
 8/9
       Finished code for forcast option, and mods to Preproc

2.33 <- 2.32 [Dates are 1993]
       Stared work on supporting O forecast
       Fixed V3 shipmasses not being reported right in report.c
       Fixed V3 shipmass not being used in battle.c
       Switched scripts to use gawk instead of nawk 
       Added scripts directory, with server scripts
       Fixed bug with # ships left after battle.

2.32 <- 2.31 [Dates are 1993]
 7/26  Fixed Makefile so that you can't build the wrong object with
       NEWGAME defined.
       Hacked on FULL_REPORTS a bit. Still don't work.
       Fixed bug in enterturn() so that P <non-planet> <something>
       wouldn't dump core.
       Fixed enterturn.c so that dumb players who enter their new
       race name before they change it get told about it.
       Added support directory, with 2 preproc.awk scripts, mailer script
       Fixed G/H problem due to V3 not getting given to enterturn.c

2.31 <- 2.30 [Dates are 1993]
 7/22  Fixed the problem with the KCMD code. Beats me why I had to
       hack savegame() that way.
 7/24  Fixed bug that prevented preprocessor from compiling with KCMD
       defined.
       Added some code to move the largest planets (1000+) away from
       homeworlds.

2.30 <- 2.29 [Dates are 1993]
       Added RCS to code, added version.[ch], and V command to GM interface.

2.29 <- 2.28 [Dates are 1993]
       Fixed makefile/addplayer.c compile switches.

2.28 <- 2.27 [Dates are 1993]
  7/6  Fixed some major bugs with the save/loadgame code's access of
       the CARRYOVER data. Finished the K command (selective war/peace
       by planet/empire pair), except for save/restore.

       Known bugs:
       Creating a galaxy, adding players, and then generating reports
       in a single session (i.e. not exiting out of the program and
       reloading the blindrc files) dumps core in the Route printing
       code. I haven't been able to find out why.
       Solution: create the galaxy, save and then create the players.
       Note: I don't know if this happens on every system, or if this
       is a Sun/gcc bug.

  7/13 Released Code.
       Added support for Ultrix 4.3 (hacked gloabl.h, added strdup())
       Fixed some missing ${VAR}'s in the makefile, changed makefile
       so that there are enough dependancies to do away with the makedepend
       stuff, for those people without it.

       Makefile now makes shar/tar/zip with version numbers, and compresses
       tar/shar files.

2.27 <- 2.26a [Dates are 1993]
  6/28 Fixed the intercept bug (?)
       Added Changes file, and did a preliminary history list
       Fixed problems with "p xxx ship yyy" where the planet existed,
         but didn't belong to you, so that the preprocessor no longer loses 
         its place.


2.?? Known fixes/mods:
       Added some limited options, such as smartmap, unknown.

       Added upgrade & scrap commands.

       Fixed random number generator bug.



2.00 <- 1.??
  9-11/92 Original mods to code from Glenn's original source, to inital
          game code.

  From a Oct 18, 1992 message:
Here is what I've added:
1) Several GM tools [planet reports, status reports, diplomatic status]
plus:
        a) when you bomb a planet, you will now get some info on its state
           at the begining of the turn:pop, ind, cap, col, & mat.  but NOT
           what it was producing..
        b) changed the groups section so that it reports effective numbers
           for drive, shields, etc instead of tech levels.
           i.e.  drive*drivetech, weapons*w-tech.
        c) added mass & speed to groups section
        d) deleted enemy ship types section
        e) other little mods to make it look more like Clarke
        f) tweaked the map code so that +'s now show up for alien
           systems you can see. Now maps are only 98% useless.
        g) fixed reports so that planet stockpile info is now in the
           orders that routes are:COL,CAP,MAT
        h) Fixed routing info to be in that order
        i) added "?" symbol to map for unknown systems (ones that you
           don't own, and where you don't have ships). An "o" now
           means  that the system is unowned.
        j) Added a new command "f" which toggles between allowing and
           not allowing the "Full Report on Planet blah" sections
           (like the map command, it stays however you set it)

  From A Nov 13, 1992 mail message:
Below is a rough draft of the modified rules. There aren't too many
surprises. Here is a quick rundown of the mods I have made in the last
week:

1) Added the status of other players info back in (based on what you
can see, not what may actually be the case, and not including tech
info). It also includes a War|Peace|Guard field as well. Not a perfect
solution to how to find it, but presumably good enough for the
ambiguous cases.

2) Added in a size-of-systems-you-control field to the status line.
This is something I occasionally want to know, and was easy enough...

3) Put the alien ship types back in.

