Changes as of 9/20/91.

Daemon changes:

- global int tourntimestamp, for calculating how long Tmode has been gone.
- some debugging support added (code related to int debug)
- teamNames, teamVerbage copied from client for countdown messages
- detach call removed
- doResources procedure added to allocate planet resources in a consistent
  fashion (was inconsistent before)
- "Rules of the game have channged." message changed to "Loading new server
  configuration."
- typos corrected in Tmode messages
- rescue called on fuse to add HK to the game
- check_load call removed
- case PDEAD -- sets player status to POUTFIT (race code, was PFREE)
- support for new-style turn rates added to changedir (only using old now)
- udtorp: torps that hit walls only damage enemies (as if detted by firer)
- udsurrend added, called on fuse, runs countdown clock and surrender
- struct team expanded to hold countdown variables (struct.h)
- bombing a planet located in a team's home quadrant and owned by that team
  produces a guardian bot if Tmode has been gone for 15 secs. (plfight)
- neutralizing a planet located in the beamer's home quadrant out produces
  a Terminator if Tmode has been gone for 15 secs., and two Terminators if
  the planet is outside the home quadrant. (beam)
- checkload: if the popen or rindex calls fail, do not shut the game down
- checkgen: hooks for initiating countdown added (note: no clock starts after
  a coup, although that does create a last planet stand)
- checkwin: hooks for ending countdown added
- killmes:  "Foo (F0+4 armies) was kill..." added
- most pmessage calls have a serial code added (watchmes can selectively
  filter out certain kinds of messages, for creating tourney logs)
- rescue: translates requests for HKs and Terminators into appropiate
  command line arguments (the usage of the second argument of rescue,
  previous unused ("target"), has been hacked with)
- surrenderMessage added (also logs to .conquer)
- genocideMessage and conquerMessage put datestamps on the .conquer log
- doResources will not allow more than 3 agris to exist in one quadrant
  (this helps create more stable galaxies)

Robot changes:

  robotII.c:

- new globals: polymorphic flag, target (for Terminator), precalculated
  phaster and tractor ranges for the robot's class, 6 velocity values for
  the robot's class
- extra robot names added ("HunterKiller", "TERMINATOR")
- -P command line option for polymorphic
- -c <class> command line option to specify initial ship class
- -Ti command line option for independent HKs
- -Tt <num> command line option for Terminators (num is target [0-9]|[a-j])
- enter is called with hacked arguments (previously unused etc.)
- config routine added for class-specific and robot type-specific code

  rmove.c:

- struct Enemy expanded
- Terminators have their own vocabulary
- exploding robots sleep instead of waiting for torps to expire
- before exiting, exitRobot is called (it bzeros the slot, as a workaround
  for mysterious slot hanging on slots vacated by robots)
- robot messaging code messages more frequently, more deterministically
- some auto pressor/auto tractor code added (not the greatest)
- robots will repair on friendly repair planets (only looks at nearest planet)
- HKs appear at center of galaxy (issue: should code be added so they don't
  appear on top of other players?)

enter.c:

- HKs announce the time and size of queue on entry
- auto_peace added (not really used, if player sets "Don't stay peaceful when
  reborn" he gets auto_peace), which basically is the same as "don't" but
  also declares peace with non-warring races if Tmode starts (good for newbies)

ntserv:

  data.c:

- new boolean globals added (newturn, topgun)

  findslot.c:

- if requesting an overload (-R), search for slots from j up (no real
  reason for this)

  getentry.c:

- if requesting an overload, the player may join any team after dying
- all changes in team must be confirmed by selecting the new team again
- minor bug in distribution sources corrected in Tmode check
- maximum delta in size of Tmode teams reduces from 2 to 1 (player may
  choose between the two teams only if they are even in size)
- deadTeam returns 1 if time of day is out of bounds (time_access added),
  forcing players to quit

  getname.c:

- lockout by user id added

  getship.c:

- cosmetic change:  every line commented with its ship class, so when you
  grep for, say, "torpdamage" each value has its class listed with it

  interface.c:

- tractor_player and pressor_player added
- refit code ejects docked ships (previously did not)

  main.c:

- contains a fix for the "two players/one slot" bug, commented out
- -i command line option to always be independent
- deltas in Tmode (kills, losses, planets, armies, ticks) are logged properly
  (even if player resets his stats, in theory)
- puts time of connection at top of motd, plus an indication to actually READ
  the motd if time of day is out of bounds

  redraw.c:

- the verification query, if cyborgs are allowed, flags cyborgs

  socket.c:

- sends less flags to clients, especially on "inviso" players
- ignore messages and censured code added
- "list the cyborgs" code added

  sysdefaults.c:

- parses TOPGUN and NEWTURN .sysdef lines

  timecheck.c

- new file, determines day of week and hour of day, and whether time is
  allowable for playing

  torp.c

- has code for "no rearward torps" (presently not used)

Changes as of 11/13/91.

  daemonII.c

- robot (PFROBOT) players are not counted in Tmode computations

Changes as of 1/25/92.

  daemonII.c

- fixed planet resource allocation bug (3 is true agri limit now)
- surrender countdown on borg nights is 2/3 normal

  enter.c

- added routine to place bots away from other players (placeIndependent())

Changes as of 2/17/92.

  daemonII.c

- fixed yet another planet resource allocation bug (was hanging daemon with
  all planets fuel/repair/agri)

  socket.c/main.c

- adding login/monitor info to "Joining:" and "Died in gwrite" messages (no
  real reason, just makes logs more informative)

  redraw.c

- gives number of armies on planet when bombed below 5

[ Bronco Netrek Release 2/20/92 ]

Changes as of 2/28/92.

  socket.c

- session Tmode stats query.  sending yourself a '?' gives Tmode planets/
  armies/wins/losses for this session, include # of Tmode minutes. (parseQuery)

- "Impeded by sun spot activity" messages commented out (too distracting).

  getentry.c

- added more "spaghetti" code to tournamentMask() to allow appropriate
  switching of teams if there are enough players for Tmode but players are
  misdistributed (say Tmode is 5 vs 5.  Case 1: 12 Feds vs 4 Roms will allow
  Feds to switch.   Case 2: 4 Feds vs 4 Roms vs 3 Oris will allow Oris to
  switch to Fed or Rom.  (or for 5 Feds vs 4 Roms vs 3 Oris, switch to Rom
  only).  Definitely spaghetti.

Changes as of 3/15/92.

  rmove.c

- Sets p_stats.st_tticks to 1 after bzeroing a robot slot (exitRobot).  This
  should keep clients from performing divide by zero in playerlist.c.

  data.c
  data.h
  defs.h
  getentry.c
  input.c
  orbit.c
  sysdefaults.c
  socket.c
  packets.h

- Added Andy McFadden's UDP mods.  Substantial additions to socket.c and
  packets.h.  data.c, data.h, defs.h define UDP globals and macros.
  orbit.c has a one-line bug fix (char *buf[80] -> char buf[80]).
  sysdefaults.c has a "UDP" variable.  getentry.c and input.c have slightly
  revised socket-related code.

Changes as of 3/25/92.

  daemonII.c

- galaxy is conquered if, in three systems, only one race owns planets
  (independents are ignored) (checkgen() now also calls checkwin())

  rmove.c

- some tuning on auto-pressor.  Fixed phaser_plasmas() so that cloaking
  works (sort of).  Threw in a call to detothers().

Changes as of 4/1/92.

  data.c
  data.h
  defs.h
  getentry.c
  input.c
  main.c
  packets.h
  socket.c
  sysdefaults.c

- Added UDP v0.2 and v0.3 mods and associated patches.

Changes as of 4/9/92.

- Added UDP v1.0 mods (mostly minor fixes).

  socket.c

- Max updates (temporarily) set to 5/sec. (handleUpdateReq). * not in dist2 *
- htonl, ntohl, htons, ntohs macros defined for MIPSEL (slightly faster
  than library subroutine) (only applies to MIPS RISC machines, where
  MIPSEL should be predefined by the compiler)

  robotII.c

- Robots use slots j, i, ... and up.  Just to be trendy.
- HunterKiller will not polymorph to ATT (oops)

  interface.c

- Requests to bomb out of t-mode must be confirmed (bomb_planet).
- Own planets, friendly planets cannot be bombed (bomb_planet).

  socket.c

- Borg query is done in response to 5 space borg call (message is also
  sent) (parseIgnore).

  redraw.c

- Countdowns added for refitting and declaring war (auto_features).

[ Bronco Netrek Release updated 4/9/92 ]

Changes made from 4/9/92 to 6/22/92.

  new files:  puck.c, puckmove.c

- Netrek hockey robot.  See README.puck for rules, installation, and
  usage.  No server mods required to use, should work with non-bronco
  based servers.

  socket.c

- #ifdef'ed out the ntohl macros (don't quite work as they are)
- Tuned parseQuery (the session statistics query) so that it replies
  via the message window (called by updateMessages(), not
  handleMessageReq()).  I really should move this message stuff out of
  socket.c and into its own file.

  daemonII.c

- Planet pops are staggered (compile-time option).  Defining the
  constant PLANETSTAGGER as, say, "4", breaks up the 40 second pop
  into 4 pops 10 seconds apart.  Each planet has a corresponding
  chance of being skipped during a pop (3/4, or 75%), so that the
  average pop rate is the same.  Note:  there really is no easier way
  to stagger them, since the pop code is hard to modify (it's like a
  black box that is not scaleable/staggerable).
- Added status->gameup = 0; to freemem() for xsg et. al.
- Moved reset of SB construction counter and surrender counters to after
  setjmp() call.  This fixes the bug where an SB gets genocided (setting
  the construction counter) and then galaxy is conquered (but SB is still
  under construction).
- HunterKiller fuse lengthened to 20 minutes (and 5 under Top Gun), was 15
  and 3 mins. respectively.
- Ghostbusted ships do no damage upon exploding.

  rmove.c

- If it's been BOREDOM_TIME (10 minutes) updates since a guardian
  robot fired a torp, that robot becomes hostile to all races if it's
  not a practice robot (intended for guardian bots).
- Tuned auto pressor and auto tractor logic (again).  Redid calls to
  angdist (was using 1 parameter instead of 2).  Had some spaghetti logic
  that might have been resulting in tractoring at the wrong times.
- Maintenance fix:  removed trailing ';' from #definition of MESSFUSEVAL
  (origin: scam sources)

  enter.c
  main.c
  robotII.c
  socket.c
  struct.h

- Added a char p_full_hostname[32] to struct player as a compile time
  option.  This augments p_monitor[16] (still used for communications
  with the client), with a 32 character version.  If FULL_HOSTNAMES is
  defined, joining/leaving/log messages (added one for "died in
  write") use p_full_hostname instead of the original p_monitor.  No
  other visible changes to the player.  Should make crossreferencing
  log info with the database a bit easier.  Perhaps we could disable
  newstartd's log altogether.

  Note: this kind of change is a pain to install, but worth it.
  Modified ntserv/Makefile and tools/Makefile to define
  -DFULL_HOSTNAMES as a flag and recompiled and reinstalled
  everything.  Also patched xsg's struct.h and Makefile and
  recompiled.

  redraw.c

- Tuned the war countdown a bit, was sending redundant messages.

  detonate.c

- Bug fix:  missing braces on "if (dx * dx + dy * dy < DETDIST * DETDIST)",
  resulting in a square detonation radius rather than circular.  Bug
  apparently originated in scam sources.

  defs.h, daemonII.c, enter.c

- Maintenance fix: revised definition of MAXTEAM from (ALLTEAM) to
  (ORI).  Adjusted loop conditions accordingly where necessary.
  (origin: bronco mods)

  getentry.c

- Maintenance fix:  corrected scam references to "4" with NUMTEAM.
  (origin: scam sources, bronco mods)

  robotII.c

- Maintenance fix: adding missing "extern" to redrawall, lastm
  declarations (origin: scam sources)

  getship.c

- DD engine cooling rate permanently improved (now 7, was 6).
  Note:  the bronco xtkill.c will be updated to reflect this.

  enter.c

- When a player switches teams he automatically becomes hostile to
  his former team.

- Iggy placement uses 2*TRACTDIST rather than TRACTDIST, 10 tries to get
  in rather than 5.

  defs.h

- Detontation radius permanently enlarged (now 1800, was 1600).
- Detontation radius toned down (now 1700, was 1800).  Apparently 1600 is
  too low to be useful, and at 1800 it's too high to be fair.

  interface.c

- When locking onto own team's starbase, docking status is given.

  data.c, data.h, socket.c

- changed the use of "serverName" so that it computes the string (the
  name of the server machine) instead of using a hard coded string.

[ Final Bronco Netrek Release 8/1/92 ]
