]> git.pond.sub.org Git - empserver/blobdiff - doc/CHANGES4.X
Fix generation numbers for autonav
[empserver] / doc / CHANGES4.X
index 7dd59172f67c99af0af00afe2ac059088af72e66..08d29cfec240ed2730439a056205bf64492f0c93 100644 (file)
@@ -1,3 +1,297 @@
+Changes to Empire 4.3.21 - Mon Mar  9 21:34:52 UTC 2009
+ * Fix swapsector not to wipe out concurrent changes to the swapped
+   sectors.
+ * Fix a bug in crash dumping that could mess up the journal and, at
+   least in theory, mess up commands info, read, turn, and wire;
+   announcement expiry, and reading of econfig and schedule.
+ * When bombing ships with a force containing both planes with and
+   without capability ASW, the bomb command could fail to report
+   presence of submarines, and could refuse to bomb ships when there
+   were only submarines.
+ * Leaving land units behind after a victorious attack could in some
+   cases wipe out changes made to them since the victory.
+ * The timestamp selectors added to commodity, load and trade in
+   4.3.12 could lead to spurious command failures.  None have been
+   observed in the wild.
+ * Don't log out player when update aborts a command.  Broken in
+   4.3.20.
+ * Code refactoring and cleanup.
+
+Changes to Empire 4.3.20 - Fri Feb 20 18:14:20 UTC 2009
+ * Option LOANS is now disabled by default.
+ * Option RAILWAYS is now enabled by default.
+ * Many fixes to automatic supply:
+   - Planes flying interception or support missions, abms intercepting
+     ballistic missiles, and the launch command for missiles and
+     anti-sats could all supply more shells than necessary, lose
+     shells, or conjure them up.
+   - Ships shooting down marine missiles could supply more shells than
+     necessary, or lose shells.
+   - Supply ships could conjure up shells when firing guns using
+     multiple shells, or launching torpedoes, or dropping depth
+     charges, or shooting down marine missiles.  No supply ships
+     capable of doing that exist in the stock game.
+   - Supply engineers could conjure up shells when laying mines.  They
+     don't exist in the stock game.
+   - load, lload and supply could supply land units with enough food
+     from the sector containing them to starve the sector.
+   - Sectors were charged too much mobility for moving supplies
+     sometimes.
+   - Land units serving as supply source no longer draw supplies
+     recursively, because the bugs there are too hard to fix to be
+     worth it.
+   - Defending and reacting units only checked whether they could draw
+     supplies, but didn't actually draw them.
+   - load, lload, supply, assault and board no longer supply land
+     units from ships carrying them.  This feature, added in 4.0.14,
+     was inconsistent with other ways to supply.
+   - Don't use automatic supply to avoid starvation at the update.  It
+     adds complexity to the update.  How much good it does to players
+     is highly doubtful; certainly nobody can rely on it.  It isn't
+     covered by the starvation command.  Ships or land units could
+     steal enough food from their sector to make it starve.
+   - lmine could only fetch shells for engineers that use ammo.  The
+     stock game's engineers all do.
+   The changes listed for load and lload are actually lies, because
+   supply has been disabled there since 4.3.17.
+ * Don't let an engineer lay mines while it is on a ship or land unit,
+   or in a foreign sector.
+ * Sectors and ships no longer need shells to fire flak.
+ * Use IPv4 and v6 only when suitable interfaces are configured.
+ * Fix turn off not to fail when the message is empty.  Broken in
+   4.2.20.
+ * Don't nag the deity about game hours restriction in force all the
+   time.
+ * Tell deity when the game is down, just like players.  Also make the
+   information available in xdump, as game selector down.
+ * Corrupt mailboxes could crash the server.
+ * Fix reject accept.  Broken in 4.3.4.
+ * If a player was at a prompt when the deity turned the game down, he
+   was allowed to enter one more command.
+ * Air defense is no longer separate from interception.  Putting a
+   plane on air defense now merely changes where it intercepts.
+   Separate air defense added too much pointless complexity.  Its
+   implementation violated design assumptions of the intercept code.
+   Because of that, the same plane could intercept both an air defense
+   mission and the planes that triggered it, and the damage it
+   received in the first interception was wiped out.
+ * Intercept the same all along the flight path.  In each sector, any
+   country owning the sector, a surface ship or a land unit there gets
+   to intercept.  Before, only the sector owner got to intercept,
+   except for the assembly point and the target sector.  In the target
+   sector, any country owning surface ships or land units got to
+   intercept in addition to the sector owner.  Thus, a sector owner
+   with surface ships or land units there got to intercept twice.  The
+   sector owner did not get to intercept at the assembly point,
+   even when it was the target sector.
+ * Spotting rule changes:
+   - Ships and land units now spot overflying planes along all of the
+     flight path instead of just the target sector, and no longer
+     report allied planes.
+   - Planes now spot ships and land units only when flying recon or
+     sweep, and along all of their flight path instead of just the
+     target sector.  It still takes a spy plane to identify ships and
+     land units.
+   - Planes now spot ships and land units in a sector even when all
+     planes abort there.
+   - Planes now spot all foreign ships and land units, not just
+     hostile ones.
+ * Fix SAM interception for intercepts other than the first.
+ * Fix air defense and flak over sectors allied to the planes.  Air
+   defense was broken in Empire 2.  Flak was broken in 4.2.8.
+ * Establishing contact by spotting planes from sectors didn't work.
+ * Fix reconnaissance patrols to use sonar when any capable plane is
+   present.  Before, all planes had to be capable.
+ * Fix recon and sweep not to spy after all spy planes are gone.
+ * Fix a bug that made multiple clients running on the same Windows
+   machine interfere with each other.  Broken in 4.3.11.
+ * Fix enforcing game hours for players already logged in.  Broken in
+   4.3.19.
+ * Fix distribution not to abandon a distribution center by exporting
+   the last military.
+ * Many fixes to load, unload, lload and lunload:
+   - Now usable for deities.
+   - Plug loopholes that let you steal foreign commodities by making
+     load/lload unload and unload/lunload load through use of negative
+     amount arguments.
+   - Fix not to let you give away civilians.
+   - You can't use lload in foreign sectors or lunload with foreign
+     land units anymore.  Loading stuff in foreign sectors was
+     prohibited already for ships.
+   - lload and lunload now work on foreign land units only when
+     they're explicitly named by uid.  This matches behavior of load
+     and unload.
+   - Fix to test relations of foreign object's owner to player instead
+     of the other way round.
+ * Make sure land units with maximum mobility can attack mountains.
+ * Fix land unit attack mobility cost.  Broken in 4.3.6.
+ * Conditions comparing string-valued selectors like wing to unquoted
+   values are now interpreted more smartly.  Before, unquoted strings
+   were prone to be interpreted as selector names even when that made
+   no sense.  You still have to disambiguate truly ambiguous cases
+   like w=w for planes, e.g. as wing=w or w='w'.
+ * Fix reporting of shot spies in news.  Broken in 4.3.16.
+ * Remove econfig key mission_mob_cost.  Questionable feature, and
+   hasn't been used in a long time.
+ * Reserve and escort missions now have an op-area, like all the other
+   missions.
+ * Land units now react only when on a reserve mission.  The lrange
+   command is gone.
+ * Fix a bug that could mess up mission op-area when the range of
+   ship, plane or land unit on the mission decreases, e.g. through the
+   range command.
+ * Reserve missions no longer give a bonus to reaction range.
+ * Info file fixes.
+ * Code refactoring and cleanup.
+
+Changes to Empire 4.3.19 - Sun Dec  7 23:15:34 UTC 2008
+ * LWP doesn't work with Darwin due to OS bugs, avoid it for now.
+ * Don't let ships double-retreat first on 'i' (injured) and then on
+   'h' (helpless) when shelled.
+ * Fix a bug that suppressed the "sunk!" message.  Broken in 4.3.17.
+ * Log out player when maximum time per day is exceeded.  Before, he
+   could remain logged in with visitor privileges only, but once
+   logged out could not log back in.
+ * If a player was at a prompt when either game hours restriction
+   started or maximum time per day was exceeded, he was allowed to
+   enter one more command.
+ * Deitying a capital failed to charge money and report news.  Broken
+   in 4.3.17.
+ * Overhaul accounting of play time, fixing minor inaccuracies.
+ * Fix parsing of 24:00 in econfig key game_hours and
+   update_demandtimes.
+ * New option RAILWAYS.
+ * Che ages just like military reserves (1% per 24 ETUs).
+ * Permit ships to assault the sector they're in.
+ * Sectors eating less than one unit of food don't make one unit of
+   food for free anymore.  They still can't starve.
+ * New concept sector terrain.  Deities can use it to make sectors
+   other than wilderness redesignatable.  See sect.config for more
+   info.
+ * Represent play time in seconds rather than minutes.  This affects
+   xdump: nat selector minused (counting minutes) is replaced by
+   timeused (counting seconds).
+ * Improved nightly build, with additional tests.
+
+Changes to Empire 4.3.18 - Sat Oct 18 18:39:17 UTC 2008
+ * Fix building of planes, land units and nukes with uids that have
+   never been used before.  This could crash the server on some
+   systems in certain states.  Broken in 4.3.17.
+ * Improved nightly build, with restructured and extended tests.
+
+Changes to Empire 4.3.17 - Sat Sep 20 16:07:44 UTC 2008
+ * Fix standalone client build for Windows.  Broken in 4.3.11.
+ * Disable automatic supply of land units on load for now, it's broken
+   in a highly abusable way.
+ * Make trade show exactly what's on sale, remove option SHOW_PLANE.
+ * Stop ships, planes, land units and nukes on violent takeover, just
+   like sectors.
+ * Wipe orders when ships, planes, land units and nukes are taken over
+   violently or given away peacefully.  Fleet, wing, army and mission
+   were already cleared in many, but not all cases.  Other orders were
+   never cleared: mission op areas (visible in xdump), ship autonav
+   orders, ship sail path (including ship to follow and mobility
+   quota), land unit retreat orders, plane range limit, and land unit
+   retreat percentage.
+ * Fix takeover of stuff by attack, assault, board, lboard, paradrop
+   and pboard:
+   - Corrupt land unit file could lead to infinite recursion.
+   - Take over nuke armed on plane along with the plane.  Broken in
+     4.3.3.
+   - Taking over land units with negative mobility increased mobility
+     to zero.  Ditto for planes embarked on ships or land units.
+ * Fix a bug that made set and xdump not recognize unused trade lots
+   as such.
+ * Fix giving away stuff by trading it:
+   - When an armed nuke is sold separately from its plane, take it off
+     the plane.  You couldn't do that before 4.3.3.
+   - Give away nuke armed on sold plane along with the plane.  Broken
+     in 4.3.3.
+   - Don't zero mobility of planes and land units on sold ships.
+ * Fix giving away stuff by unloading from its carrier: Give away any
+   nukes armed on planes (broken in 4.3.3) and land units loaded on
+   land units.  The latter can't happen in the stock game.
+ * Fix giving away stuff by scrapping or scuttling its carrier:
+   - Fix up output.
+   - Disarm the nuke from a plane instead of destroying it.
+   - Give away any loaded land units and planes, too.
+ * Tradeship fixes:
+   - Fix scuttle to ask for confirmation when scuttling a tradeship in
+     an unsuitable sector even when the tradeship is pirated.  Broken
+     in 4.2.13.
+   - Fix scuttle to require 2% harbor efficiency for a trade ship to
+     pay.  Also require at least friendly relations.
+   - Make autonav refuse scuttle orders in unsuitable sectors.
+ * Clean up rules on where you can scrap stuff:
+   - Ships in own or friendly, efficient harbors (relations used not
+     to matter, contrary to info)
+   - Planes in own or allied, efficient airfields (friendly used to
+     work as well, contrary to info)
+   - Land units in any own or allied sector (relations used not to
+     matter, and you couldn't scrap them on ships)
+   Also tell player why something can't be scrapped instead of
+   ignoring it silently.
+ * Rewrite the broken code to move land units, planes and nukes along
+   with their carrier.  The old code was a hack that didn't update
+   timestamps (so incremental dumps didn't pick up the movement), and
+   it didn't cover all uses.  The update, in particular, was prone to
+   see cargo in old locations, which could screw up repairs.
+ * Expire lost items at the update instead of continuously.
+ * Replace econfig key lost_items_timeout by lost_keep_hours.
+ * Minor Windows threading fixes.
+ * Journal now uses human-readable names to identify threads.
+ * Ship and land unit load counters are no longer stored in game
+   state, because they duplicate information already there.  Same for
+   the type of nuke loaded on a plane.  Remove field nuketype from
+   xdump plane.  Clients can simply find the plane's nuke instead.
+ * Ship and land unit load counts as displayed by ship, sdump, land,
+   ldump, ship selectors nplane, nxlight, nchoppers, nland, and land
+   selectors nxlight, nland are now reliable.  They used to get out of
+   sync at times.
+ * Ship load counts now reflect what is loaded, not how it is stored.
+   For instance, if a light carrier, capable of carrying 4 x-lights
+   and 20 light planes carries nothing but 5 sams, we now have
+   nxlight=5, nplane=0 instead of nxlight=4, nplane=1.
+ * New cargo lists data structure to let code find loaded planes, land
+   units and nukes easily and efficiently.
+ * Revamped upkeep of lost file.  It should be reliable now.
+ * Disable the ill-advised error recovery on sector access that swept
+   bugs under the carpet rather than recovering from them.
+ * Occupied sectors no longer revert to the old owner when all
+   military and land units go away.  This feature was added in
+   Chainsaw 3.  It wasn't integrated properly with the che code
+   (things went wrong when che killed all defenders, but couldn't
+   convert the sector due to its loyalty), and combat code (if an
+   attack killed off all local defenders and got defeated by reacting
+   units, the sector changed ownership anyway, silently).
+ * Include destination coordinates in interception and plane mission
+   messages.
+ * Client could misdiagnose redirections and executes as unauthorized,
+   or die outright.  Broken in 4.3.11.
+ * Fix xdump realm to dump player instead of absolute coordinates.
+   Disclosed the true origin.  Broken in 4.3.0.
+ * Fix spy to reliably avoid spying same sector more than once.
+ * The map drawing code could smash the heap when the world was
+   ridiculously small.
+ * When a satellite's launch trajectory was off, its coordinates could
+   get screwed up, which made it invisible in skywatch.
+ * Fix several bugs that made the path command screw up when the path
+   spans large areas.
+ * Fix the default size of the map shown by move, test and transport
+   sub-command M.
+ * Fix bugs that could make arguments in area or dist syntax miss
+   ships, planes, land units and nukes at the border of the selected
+   area, if that area spans the whole world.  In sufficiently small
+   worlds, it could also make radar miss satellites and ships, sonar
+   miss ships, satellite miss ships and land units, nuclear
+   detonations miss ships, planes, land units and nukes, automatic
+   supply miss ship and land unit supply sources, ships and land units
+   fail to return fire, ships fail to fire support.
+ * Maps sometimes showed x-coordinates as three lines instead of two
+   unnecessarily.
+ * Improved nightly build, tests in particular.
+ * Code refactoring and cleanup.
+
 Changes to Empire 4.3.16 - Sat Aug  9 15:56:52 UTC 2008
  * Production command incorrectly limited the number of graduates,
    happy strollers, technological breakthroughs and medical
@@ -1468,8 +1762,8 @@ Changes to Empire 4.2.15 - Wed May 26 17:55:58 UTC 2004
  * Rewrite selector code.  Old code let players smash the stack by
    supplying too many conditions.  New code properly rejects ambiguous
    abbreviations and prefers exact matches.  Selectors with names that
-   collide with types, like land units' rad and spy, now work.  Selectors with
-   non-integral values, like land units' att, now work.
+   collide with types, like land units' rad and spy, now work.
+   Selectors with non-integral values, like land units' att, now work.
  * survey used to display hundreds for everything but variables.  Now
    it displays hundreds only for values that can be large.
  * Rewrite info survey.  Document ability to survey properties other