From 3193c22ac27c05e5bad41815c6ecd5c6839c1a84 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 12 Aug 2017 07:51:20 +0200 Subject: [PATCH] info: Update change log for 4.4.0 Signed-off-by: Markus Armbruster --- info/Empire4.3.t | 7 +- info/Empire4.4.t | 274 +++++++++++++++++++++++++++++++++++++++++++++++ info/History.t | 9 ++ 3 files changed, 287 insertions(+), 3 deletions(-) create mode 100644 info/Empire4.4.t diff --git a/info/Empire4.3.t b/info/Empire4.3.t index cfa190e4..6c132f53 100644 --- a/info/Empire4.3.t +++ b/info/Empire4.3.t @@ -1,5 +1,5 @@ .TH Server "Empire4 Changes" -.NA Empire4.3 "Changes in Empire 4.3 (2006-present)" +.NA Empire4.3 "Changes in Empire 4.3 (2006-2015)" .LV Expert .s1 This document outlines the various changes to the game and how they @@ -203,7 +203,8 @@ Changes to Empire 4.3.33 - Wed May 20 18:17:43 UTC 2015 * Reject nat selectors relations, contacts and rejects, because they don't actually make sense. They exist just for xdump. * Drop the code to resolve player IP address. It's been disabled - since 4.2.13. Deprecate nat selector hostname. + since 4.2.13. Deprecate nat selector hostname. Its value has + always been "" unless the deity messed with it. * Fix bridge spans next to a bridge tower or head taking damage to fall when they should with EASY_BRIDGES off. Has always been broken. @@ -1170,7 +1171,7 @@ Changes to Empire 4.3.20 - Fri Feb 20 18:14:20 UTC 2009 * 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. + the last civilian, or the last military if there are no civilians. * Many fixes to load, unload, lload and lunload: - Now usable for deities. - Plug loopholes that let you steal foreign commodities by making diff --git a/info/Empire4.4.t b/info/Empire4.4.t new file mode 100644 index 00000000..a5ecd9ee --- /dev/null +++ b/info/Empire4.4.t @@ -0,0 +1,274 @@ +.TH Server "Empire4 Changes" +.NA Empire4.4 "Changes in Empire 4.4 (2015-present)" +.LV Expert +.s1 +This document outlines the various changes to the game and how they +will affect you, the player. These were coded as the Wolfpack project. +.NF +Changes to Empire 4.4.0 - Sat Aug 12 2017 + * Don't increase negative ship and land unit to zero on trade. + * Client improvements + - Support fancy line editing and persistent history when compiled + with the GNU readline library. Contributed by Martin Haukeli. + - Fix misdetection of input EOF in obscure circumstances. + - Tighten protection against rogue server abusing redirection and + execute. + - Improve some error and warning messages. + * Fix wire for deities to honor announcement rejection. Broken in + Empire 3. + * Fix excessively fast contact aging with option LOSE_CONTACT. + Broken in 4.3.0. + * The edit command no longer shows contact with option HIDDEN. + * Grant security units a military control bonus similar to their + shoot and convert mobility bonus. + * Embarked land units no longer contribute to military control. + * Fix convert and shoot not to put foreign and embarked land units to + work. Screwed up when land units were added in Chainsaw. + * A security unit's combat strength bonus for fighting guerrilla is + now proportional to its efficiency. + * The mobility bonus a security unit provides to shooting and + converting civilians is now proportional to its efficiency. + * Fix a missing newline in the edit command's "teleported" message. + Messed up in 4.3.32. + * Don't permit boarding of embarked land units. + * Guerrilla fighting fixes: + - Let rebels liberate old-owned sectors again. Broken in 4.2.6. + - Fix overeager destruction of defending land units. Screwed up + when land units were added in Chainsaw. + - Reduce under-strength land unit damage for consistency with + ordinary ground combat. + - Land units without military can no longer die fighting che. They + can now get captured when the rebels take over the sector, just + like in ordinary ground combat. + - Fix the way casualties are applied to land units, because it is + utterly bonkers. Screwed up when land units were added in + Chainsaw, made worse when military became loadable in 4.0.0. + - Fix guerrilla shootout body counts. Screwed up when land units + were added in Chainsaw. + * Fix ground combat not to disclose retreat of defending land by + printing newlines. Messed up in Empire 3. + * Fix bad grammar in message reporting destruction of an attacking + land unit. + * Fix a missing newline in intelligence reports on land units. + Broken in 4.3.33. + * Spy unit changes: + - Spies can no longer assault foreign sectors together with non-spy + units. This matches attack and board. + - Ground attack can no longer detect spies in the target sector. + They can still get caught when the attack succeeds. + - Spies that get caught when their sector is taken over are now + summarily executed. + - Change the chance for assaulting spies to "sneak ashore" + undetected from 10% regardless of efficiency to 40% at 100% + efficiency. The chance drops to 0% at 20% efficiency. + - Assaulting spies now use mobility and can hit landmines even when + they "sneak ashore". + - Plug memory leak in spies sneaking ashore. Screwed up when spy + units were added in 4.0.0. + * Plug memory leak when missile defense sinks attacking ships. The + leak goes back to flawed bug fix in Empire 2. + * Fix lost and xdump lost to report more than one lost sector. + Broken since lost item tracking was added in 4.0.7. + * Merged news reports now saturate "times" at 65535. Before, merging + stopped when "times" reached 127. + * More detailed version information, looks like this: + V Unmodified release V (same as before) + V.N-H Modified release built from a clean git tree + N is the number of additional commits, and + H is the abbreviated commit hash + V.N-H-dirty Same, but the working tree is dirty + V-dirty Modified release built from a tarball + Visible in output of commands version, xdump version, and in + program output for option -v. + * Update, budget, neweff, production and work improvements: + - Delivery screws up when it abandons a sector. Fix by making it + not abandon sectors. + - Plague people in sectors only after taxes and feeding, for + consistency with ships and land units. Sectors were messed up in + Empire 3. + - Reorder the update sequence not to prefer countries with lower + country numbers when the same sector repairs ships, planes or + land units owned by multiple countries. Broken since Chainsaw + introduced budget and foreign repairs as options. Either option + worked sanely in isolation back then, but not their combination. + They both became standard in Empire 2. Restore the pre-budget + order. + - Fix budget for ship, plane and land unit repairs in foreign + sectors. Also broken since Chainsaw. + - Fix the update to use new available work for ship, plane and land + unit repairs even when the sector owner has a higher country + number. Also broken since Chainsaw. + - Pilots are now paid at the same time as other military. Can + matter only when the country goes broke during the update. + - Make ships produce after eating and building efficiency, like + sectors. The starvation command assumed that, and the change + "fixes" it. + - Don't let stopped ships produce. + - Fix sector maintenance to charge for stopped sectors and when the + owner is broke. Broken in 4.3.23. + - Fix plane maintenance to charge for satellites in orbit. Broken + in 4.2.2. + - Change TECH_POP to count civilians in ships and land units. + - Fix happiness and education to count civilians in ships before + plague (same as in sectors), and to count civilians in land + units. No such land units exist in the stock game. + - Revise sector production to avoid rounding intermediate values. + This makes commands production and budget a bit more accurate. + - Don't round income and expenses before adding them up. Fixes + numerous crazy artifacts, such as military getting paid less when + spread over many sectors. + - Fix budget for nations going broke or becoming solvent. + - Fix military count in budget. + - Zap available work when the sector is stopped or its owner is + broke. Broken in 4.0.0. + - Limit "rollover" of unused available work to about half the + work done by people at the update. + - Round the people's work randomly rather than down, to reduce + micromanagement incentives. This is how things worked until + Empire 3. + - Make sector and unit building more predictable. The budget + command is now a bit more accurate. + - Don't let repair of foreign ships, planes and land units use + materials and available work destroyed by che or the plague. + - Stopped sectors no longer repair foreign ships. + - Fix unowned uw to eat, procreate and produce normally. + - Fix budget not to predict production when the required level is + too low. + - Fix use of stale owner after revolt or revert to deity. In + particular, a bank now pays interest to the rebels. Research and + tech level for plague were also off. Has always been wrong. + - neweff and production now simulate the effect of insufficient + food, like budget does. + - Fix double-rounding of new work that made the update sometimes do + less than neweff and production predicted. Broken in Empire 3. + - Enforce sector population limit only right after growth. Before, + it was also enforced when the sector changed from big city to not + big city (since Empire 2 added option BIG_CITY), but not for + other changes of the population limit during the update. + - Limit work in big cities to the population limit at 0% + efficiency, to get rid of ugly special cases in the code. + - Code refactoring to undo much of the damage done in Empire 3 to + make budget reuse the update's code. + * Make plains more like wilderness: efficiency costs no money, + but doesn't reduce mobility cost. + * Changes to collect: + - Tweak value of sectors. + - You can no longer collect an active capital. + - Don't disclose the value of a sector when it exceeds the amount + owed. + * Changes to xdumps, breaking compatibility: + - Split tables relat, reject, contact off table nat. Saves disk + I/O and xdump bandwidth. + - Table nat's field "hostname" was deprecated in 4.3.33 and is now + gone. + - Meta-type numbers now map to meta-type symbols 1:1. Meta-type + "c" is gone; the selectors use type "s" instead. + - New sect-chr and item field "power". Field "value" is gone. + - New sect-chr and infrastructure fields "l_build", "h_build" + replace "lcms", "hcms". The replacements track materials for + building 100% instead of 1%. + - New plane-chr field "m_build" replaces "crew". + - New sect-chr, ship-chr, plane-chr, land-chr, nuke-chr and + infrastructure fields for arbitrary build materials, named + "g_build" for guns, "p_build" for petrol, and so forth. For now, + these are all zero. + - sect-chr field "cost" is now money to build 100% (was: cost to + designate). It replaces field "build" (money to build 1%). + - New sect-chr, ship-chr, plane-chr, land-chr and nuke-chr field + "bwork" field "bwork" is work to build 100% sector efficiency. + Tearing down a sector costs one fourth as much. + - New sect-chr field "flags", backed by new table sect-chr-flags. + The only flag so far is "deity", which marks sectors mortals + can't designate. + - New infrastructure fields "cost" and "bmobil" are money and + mobility to build 100%. They replace fields "dcost" and "mcost" + (money and mobility to build 1%). + - meta-flags "extra" and "const" are gone. They were of no concern + to clients anyway. + * Game customization improvements: + - The power value of commodities is now configurable, and "show + item" shows it. The collect value of commodities and sectors is + no longer independently configurable, but derived from power + value. + - More flexible infrastructure material and mobility cost + configuration. + - More flexible sector build material and cost configuration, + consistent with unit building. + - Work to build sectors, ships, planes, land units and nukes is now + independently configurable. Before, it was fixed at 100 for + sectors, and a function of build materials for ships, planes, + land units and nukes. + - The designate command can no longer be made to cost money. + * Fix obscure corner cases where we failed to reset work percentage, + loyalty or old owner in sectors without civilians. Lingering old + owner can prevent airlifting and unloading civilians. The fix + partly mitigates the bug where airlifted and unloaded civilians + adopt the sector's work percentage and loyalty. It also sets work + percentage to 100% for unowned sectors without civilians. + * Even planes without crew can now spread the plague. + * The transport command now computes plane weight from build material + weight rather than making it up. The stock game's planes become a + bit easier to transport, except for Zeppelins. + * Tweak the "power factor", which determines power chart order: + - Nukes now contribute to power just like other units. + - Tweak power value of items, sectors ships, planes and land units: + construction materials, oil and civilians are worth less, shells, + guns, bars and petrol are worth more. Cheap and old (low tech) + ships, planes and land units are worth less, expensive and new + ones are worth more. Cheap and "small" (low maximum population) + sectors are worth less, expensive and big ones are worth more. + - Tweak tech's contribution to power so it's less dominant at low + tech. + - Research no longer contributes to power with option RES_POP. + Note that with the old formula, producing and building certain + things could be a net loss of "power". + * The edit command now lets you edit land unit plague stage and time. + * Takeoff and landing in mountains now require capability helo or + missile. The flying commands reject fixed-wing planes based in + mountains. When flying to a mountain, they select only helicopters + and silently ignore the rest, exactly like they select only VTOL + planes for flying to a non-airfield. Similarly, missions ignore + fixed-wing planes in mountains. Before, any plane could bomb, + drop, paradrop and fly missions out of a mountain, but no plane + could fly to a mountain one-way, with fly, recon or sweep. Has + always been that way. + * Add missing newlines to "while it is carrying a nuclear weapon" + messages. Screwed up in 4.3.23. + * Disallow bombing spy units. Bombers spotting spies makes no sense. + Worse, they could bomb spies that weren't spotted. Screwed up when + spy units were added in 4.0.0. + * Fix march's check for sector abandonment not to ignore land units + that evade spy detection or are loaded on ships, but to ignore land + units loaded on land units marching out. Broken in 4.3.33. + * Fix damage and ammunition use when multiple defenders with the same + UID (say a ship and a land unit) return fire to multiple attackers. + Broken in 4.3.12. + * Fix march not to wipe out concurrent updates when the player + declines to abandon the sector. Broken in 4.3.33. + * Make the savecore example script report more nicely when there's no + core dump. + * Enable various compiler options for hardening the programs against + certain kinds of attacks when available. + * Tell compilers not to rely on strict aliasing and signed overflow + rules. These rules are subtle, and compilers can't reliably + diagnose violations. + * Test suite improvements: + - Add news to the smoke test. + - Enable GNU libc memory allocation error checking. + - Cover much of the update. Notable gaps are fallout, delivery, + distribution, ALL_BLEED, LOSE_CONTACT, and parts of guerrilla. + - Cover version, show and xdump of configuration. + - Improve navigate and march coverage. + * Plug memory leaks in navigate and march. Broken in 4.3.33. + * Fix read beyond buffer in navigate, march and automatic retreat. + Could theoretically crash the server. Broken in 4.3.33. + * Fix out-of-bounds array read in bomb, drop, fly, paradrop, recon, + sweep. Could theoretically crash the server, or be abused to gain + plane mobility. Broken in 4.3.27. + * Enable more compiler warnings. + * Code refactoring and cleanup. + * Info page, manual page and documentation fixes and clarifications. + +.FI +.s1 +.SA "Server" diff --git a/info/History.t b/info/History.t index 043e804e..0b8d6d1d 100644 --- a/info/History.t +++ b/info/History.t @@ -255,5 +255,14 @@ Changes affecting players include extended start/stop commands (replacing budget priorities), radically reduced bridge population, somewhat reduced land unit penetration depth, fusing of interception with air defense, and limiting nukes to strategic roles again. + +2017 Empire 4.4, Wolfpack + +Hightlights so far are fancy line editing for the client, an overhaul +of the update and associated forecasts like budget, and game +customization improvements. + +The xdump command got a few incompatible changes. + .FI .SA "Server"