+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
* 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