From 66edd2bacaf5079473f0724adbdb301a265b3cd2 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 5 Jun 2016 15:35:57 +0200 Subject: [PATCH] update: Don't use materials and work destroyed by che or plague Update code shared with budget uses the bp map instead of the sector, so that budget can track materials and work available in sectors for ship, plane and land unit building without updating the sector file. Unfortunately, the bp map can become stale during the update. prepare_sects() doesn't update the bp map for sea sectors, unlike budget's calc_all(). Instead, we rely on calloc()'s initialization. Works, but is a bit unclean. prepare_sects() updates the bp map after fallout, but neglects to update it for any of the later sector updates (steps 1b to 1f in info Update-sequence). Che can destroy materials and available work, and the plague can kill military. The bp map stays out of date until produce_sect() updates it again. Since we deal with sector production and countries in increasing order of country number, foreign ships, planes and land units owned by countries with lesser numbers get built before their sector produces. Building uses the stale bp map then, and can use materials and available work destroyed by che or the plague. The update test demonstrates the former case. For stopped sectors or when the owner is broke, produce_sect() updates only materials in the bp map, not available work. Nothing builds in a stopped sector, but allies may build in your sectors even when you're broke. They can use available work destroyed by che then. Screwed up when Empire 3 made the update code work for budget. Note that budget bypasses the flawed code: it prepares its bp map itself instead of calling prepare_sects(). Rather than fixing prepare_sects(), use a null bp map for the update: writes become no-ops, and reads read from the underlying sector. Not only does this remove the possibility of the bp map going stale during the update, it saves a bit of memory, too. calloc()'s initialization is now dead. Switch to malloc(). Signed-off-by: Markus Armbruster --- include/prototypes.h | 2 +- src/lib/update/bp.c | 14 +++++++++----- src/lib/update/main.c | 19 ++++++++----------- src/lib/update/prepare.c | 3 +-- tests/update/01-1 | 1 + tests/update/99-POGO | 1 - tests/update/final.xdump | 6 +++--- tests/update/journal.log | 12 ++++++------ 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/include/prototypes.h b/include/prototypes.h index c07b7cc95..950e25e30 100644 --- a/include/prototypes.h +++ b/include/prototypes.h @@ -699,7 +699,7 @@ extern int total_work(int, int, int, int, int, int); /* prepare.c */ extern void tax(struct sctstr *, int, int *, int *, int *, int *); extern int upd_slmilcosts(natid, int); -extern void prepare_sects(int, struct bp *); +extern void prepare_sects(int); extern int bank_income(struct sctstr *, int); /* produce.c */ extern int produce(struct natstr *, struct sctstr *, int *); diff --git a/src/lib/update/bp.c b/src/lib/update/bp.c index 7c6461ae2..0041c3347 100644 --- a/src/lib/update/bp.c +++ b/src/lib/update/bp.c @@ -75,7 +75,7 @@ bp_get_item(struct bp *bp, struct sctstr *sp, i_type comm) { enum bp_item_idx idx = bud_key[comm]; - if (CANT_HAPPEN(idx < 0)) + if (CANT_HAPPEN(idx < 0) || !bp) return sp->sct_item[comm]; return bp[sp->sct_uid].bp_item[idx]; } @@ -88,7 +88,7 @@ bp_put_item(struct bp *bp, struct sctstr *sp, i_type comm, int amount) { enum bp_item_idx idx = bud_key[comm]; - if (idx >= 0) + if (bp && idx >= 0) bp[sp->sct_uid].bp_item[idx] = amount; } @@ -99,6 +99,9 @@ bp_put_items(struct bp *bp, struct sctstr *sp) enum bp_item_idx idx; i_type i; + if (!bp) + return; + for (i = I_NONE + 1; i <= I_MAX; i++) { idx = bud_key[i]; if (idx >= 0) @@ -110,14 +113,15 @@ bp_put_items(struct bp *bp, struct sctstr *sp) int bp_get_avail(struct bp *bp, struct sctstr *sp) { - return bp[sp->sct_uid].bp_avail; + return bp ? bp[sp->sct_uid].bp_avail : sp->sct_avail; } /* Set avail tracked in @bp for sector @sp to @amount. */ void bp_put_avail(struct bp *bp, struct sctstr *sp, int amount) { - bp[sp->sct_uid].bp_avail = amount; + if (bp) + bp[sp->sct_uid].bp_avail = amount; } /* Set the values tracked in @bp for sector @sp to the values in @sp. */ @@ -135,5 +139,5 @@ bp_set_from_sect(struct bp *bp, struct sctstr *sp) struct bp * bp_alloc(void) { - return calloc(WORLD_SZ(), sizeof(struct bp)); + return malloc(WORLD_SZ() * sizeof(struct bp)); } diff --git a/src/lib/update/main.c b/src/lib/update/main.c index b2a0c0beb..63524d36f 100644 --- a/src/lib/update/main.c +++ b/src/lib/update/main.c @@ -58,7 +58,6 @@ update_main(void) struct rusage rus1, rus2; int n; int i; - struct bp *bp; struct natstr *np; logerror("production update (%d etus)", etu); @@ -89,7 +88,6 @@ update_main(void) memset(air_money, 0, sizeof(air_money)); memset(sea_money, 0, sizeof(sea_money)); memset(lnd_money, 0, sizeof(lnd_money)); - bp = bp_alloc(); for (n = 0; n < MAXNOC; n++) { money[n] = 0; if (!(np = getnatp(n))) @@ -99,7 +97,7 @@ update_main(void) } logerror("preparing sectors..."); - prepare_sects(etu, bp); + prepare_sects(etu); logerror("done preparing sectors."); logerror("producing for countries..."); for (i = 0; i < MAXNOC; i++) { @@ -114,24 +112,23 @@ update_main(void) np->nat_money += (int)(np->nat_reserve * money_res * etu); /* maintain units */ - prod_ship(etu, i, bp, 0); - prod_plane(etu, i, bp, 0); - prod_land(etu, i, bp, 0); + prod_ship(etu, i, NULL, 0); + prod_plane(etu, i, NULL, 0); + prod_land(etu, i, NULL, 0); /* produce all sects */ - produce_sect(np, etu, bp, p_sect); + produce_sect(np, etu, NULL, p_sect); /* build units */ - prod_ship(etu, i, bp, 1); - prod_plane(etu, i, bp, 1); - prod_land(etu, i, bp, 1); + prod_ship(etu, i, NULL, 1); + prod_plane(etu, i, NULL, 1); + prod_land(etu, i, NULL, 1); } logerror("done producing for countries."); finish_sects(etu); prod_nat(etu); age_levels(etu); - free(bp); /* Only update mobility for non-MOB_ACCESS here, since it doesn't get done for MOB_ACCESS anyway during the update */ diff --git a/src/lib/update/prepare.c b/src/lib/update/prepare.c index 1826575dd..7146114d3 100644 --- a/src/lib/update/prepare.c +++ b/src/lib/update/prepare.c @@ -44,7 +44,7 @@ #include "update.h" void -prepare_sects(int etu, struct bp *bp) +prepare_sects(int etu) { struct sctstr *sp; struct natstr *np; @@ -88,7 +88,6 @@ prepare_sects(int etu, struct bp *bp) if (running_test_suite) seed_prng(sp->sct_uid); - bp_set_from_sect(bp, sp); guerrilla(sp); do_plague(sp, etu); populace(sp, etu); diff --git a/tests/update/01-1 b/tests/update/01-1 index 993b5249e..7d306fea2 100644 --- a/tests/update/01-1 +++ b/tests/update/01-1 @@ -1,5 +1,6 @@ budget | BUG: fb#100 won't actually starve +| Note: f1#100 not actually built (plague kills off mil) | TODO is it accurate? neweff * ?newd#- production * diff --git a/tests/update/99-POGO b/tests/update/99-POGO index de4c37a27..a243771a4 100644 --- a/tests/update/99-POGO +++ b/tests/update/99-POGO @@ -63,7 +63,6 @@ read 0 | 95 +50% own airfield | 97 +50% own airfield | 100 allied airfield where plague killed off mil -| BUG: builds anyway | land unit building | 60 stopped | 61 friendly hq diff --git a/tests/update/final.xdump b/tests/update/final.xdump index fd82aa395..de21e28e4 100644 --- a/tests/update/final.xdump +++ b/tests/update/final.xdump @@ -189,7 +189,7 @@ owner xloc yloc des effic mobil off loyal terr0 terr1 terr2 terr3 dterr xdist yd 3 14 -6 4 13 120 0 127 0 0 0 0 0 14 -6 14 0 55 1 4 0 0 0 0 0 3 130 0 0 0 0 0 0 0 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 0 0 0 0 0 0 0 0 0 -16 -6 4 0 0 0 0 0 0 0 0 0 -16 -6 0 0 100 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 45 0 0 0 0 0 0 0 4 -14 -6 4 0 120 0 0 0 0 0 0 0 -14 -6 0 0 100 0 4 0 0 0 0 0 4 0 2 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 84 0 0 0 0 0 0 0 -4 -12 -6 14 100 120 0 0 0 0 0 0 0 -12 -6 28 0 58 0 14 0 0 0 0 0 4 26 0 0 0 0 0 0 0 99 0 3 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 46 0 0 0 0 0 0 0 +4 -12 -6 14 100 120 0 0 0 0 0 0 0 -12 -6 57 0 58 0 14 0 0 0 0 0 4 26 0 0 0 0 0 0 0 99 0 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 46 0 0 0 0 0 0 0 4 -10 -6 4 0 120 0 0 0 0 0 0 0 -10 -6 0 0 100 0 4 0 0 0 0 0 4 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 48 0 0 0 0 0 0 0 0 -8 -6 4 6 0 0 0 0 0 0 0 0 -8 -6 7 0 100 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 79 0 0 0 0 0 0 0 4 -6 -6 4 3 120 0 0 0 0 0 0 0 -6 -6 4 0 72 0 4 0 0 0 0 0 4 26 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 healthy 75 0 0 0 0 0 0 0 @@ -357,7 +357,7 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius wing range 95 1 12 6 0 100 60 0 200 0 0 none 0 "" 11 0 -1 -1 () 0 0.00000 96 6 12 6 0 50 60 0 50 0 0 none 0 "" 4 0 -1 -1 () 0 0.00000 97 1 12 6 0 100 60 0 50 0 0 none 0 "" 4 0 -1 -1 () 0 0.00000 -100 1 -12 -6 0 100 60 0 50 0 0 none 0 "" 4 0 -1 -1 () 0 0.00000 +100 1 -12 -6 0 10 60 0 50 0 0 none 0 "" 4 0 -1 -1 () 0 0.00000 149 0 0 0 0 0 0 0 0 0 0 none 0 "" 0 0 -1 -1 () 0 0.00000 /config config land @@ -411,7 +411,7 @@ uid owner type unitid price maxbidder markettime xloc yloc config nat cnum stat flags cname passwd ip hostname userid xcap ycap xorg yorg update tgms ann timeused btu access milreserve money login logout newstim annotim tech research education happiness relations(0) relations(1) relations(2) relations(3) relations(4) relations(5) relations(6) relations(7) relations(8) relations(9) relations(10) relations(11) relations(12) relations(13) relations(14) relations(15) relations(16) relations(17) relations(18) relations(19) relations(20) relations(21) relations(22) relations(23) relations(24) relations(25) relations(26) relations(27) relations(28) relations(29) relations(30) relations(31) relations(32) relations(33) relations(34) relations(35) relations(36) relations(37) relations(38) relations(39) relations(40) relations(41) relations(42) relations(43) relations(44) relations(45) relations(46) relations(47) relations(48) relations(49) relations(50) relations(51) relations(52) relations(53) relations(54) relations(55) relations(56) relations(57) relations(58) relations(59) relations(60) relations(61) relations(62) relations(63) relations(64) relations(65) relations(66) relations(67) relations(68) relations(69) relations(70) relations(71) relations(72) relations(73) relations(74) relations(75) relations(76) relations(77) relations(78) relations(79) relations(80) relations(81) relations(82) relations(83) relations(84) relations(85) relations(86) relations(87) relations(88) relations(89) relations(90) relations(91) relations(92) relations(93) relations(94) relations(95) relations(96) relations(97) relations(98) contacts(0) contacts(1) contacts(2) contacts(3) contacts(4) contacts(5) contacts(6) contacts(7) contacts(8) contacts(9) contacts(10) contacts(11) contacts(12) contacts(13) contacts(14) contacts(15) contacts(16) contacts(17) contacts(18) contacts(19) contacts(20) contacts(21) contacts(22) contacts(23) contacts(24) contacts(25) contacts(26) contacts(27) contacts(28) contacts(29) contacts(30) contacts(31) contacts(32) contacts(33) contacts(34) contacts(35) contacts(36) contacts(37) contacts(38) contacts(39) contacts(40) contacts(41) contacts(42) contacts(43) contacts(44) contacts(45) contacts(46) contacts(47) contacts(48) contacts(49) contacts(50) contacts(51) contacts(52) contacts(53) contacts(54) contacts(55) contacts(56) contacts(57) contacts(58) contacts(59) contacts(60) contacts(61) contacts(62) contacts(63) contacts(64) contacts(65) contacts(66) contacts(67) contacts(68) contacts(69) contacts(70) contacts(71) contacts(72) contacts(73) contacts(74) contacts(75) contacts(76) contacts(77) contacts(78) contacts(79) contacts(80) contacts(81) contacts(82) contacts(83) contacts(84) contacts(85) contacts(86) contacts(87) contacts(88) contacts(89) contacts(90) contacts(91) contacts(92) contacts(93) contacts(94) contacts(95) contacts(96) contacts(97) contacts(98) rejects(0) rejects(1) rejects(2) rejects(3) rejects(4) rejects(5) rejects(6) rejects(7) rejects(8) rejects(9) rejects(10) rejects(11) rejects(12) rejects(13) rejects(14) rejects(15) rejects(16) rejects(17) rejects(18) rejects(19) rejects(20) rejects(21) rejects(22) rejects(23) rejects(24) rejects(25) rejects(26) rejects(27) rejects(28) rejects(29) rejects(30) rejects(31) rejects(32) rejects(33) rejects(34) rejects(35) rejects(36) rejects(37) rejects(38) rejects(39) rejects(40) rejects(41) rejects(42) rejects(43) rejects(44) rejects(45) rejects(46) rejects(47) rejects(48) rejects(49) rejects(50) rejects(51) rejects(52) rejects(53) rejects(54) rejects(55) rejects(56) rejects(57) rejects(58) rejects(59) rejects(60) rejects(61) rejects(62) rejects(63) rejects(64) rejects(65) rejects(66) rejects(67) rejects(68) rejects(69) rejects(70) rejects(71) rejects(72) rejects(73) rejects(74) rejects(75) rejects(76) rejects(77) rejects(78) rejects(79) rejects(80) rejects(81) rejects(82) rejects(83) rejects(84) rejects(85) rejects(86) rejects(87) rejects(88) rejects(89) rejects(90) rejects(91) rejects(92) rejects(93) rejects(94) rejects(95) rejects(96) rejects(97) rejects(98) 0 deity (flash beep coastwatch sonar techlists) "POGO" "peter" "127.0.0.1" "" "tester" 0 0 0 0 0 0 0 255 640 0 0 123456789 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () -1 active (flash beep coastwatch sonar techlists) "1" "1" "127.0.0.1" "" "tester" 0 0 0 0 0 1 0 255 640 0 0 12949 0 0 0 0 102.787 3.37264 21.0875 12.3287 neutral neutral neutral neutral neutral neutral allied friendly neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () +1 active (flash beep coastwatch sonar techlists) "1" "1" "127.0.0.1" "" "tester" 0 0 0 0 0 1 0 255 640 0 0 13309 0 0 0 0 102.787 3.37264 21.0875 12.3287 neutral neutral neutral neutral neutral neutral allied friendly neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 2 active (flash beep coastwatch sonar techlists) "2" "2" "127.0.0.1" "" "tester" -2 0 0 0 0 1 0 255 193 0 975 -5912 0 0 0 0 101.081 1.68632 15.2381 2.74222 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 3 active (flash beep coastwatch sonar techlists) "3" "3" "127.0.0.1" "" "tester" 1 -1 0 0 0 1 0 255 640 0 0 4337 0 0 0 0 101.081 1.68632 15.2381 4.44444 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 4 active (flash beep coastwatch sonar techlists) "4" "4" "127.0.0.1" "" "tester" -1 -1 0 0 0 1 0 255 640 0 0 18752 0 0 0 0 31.5183 1.68632 3.04762 4.44444 neutral allied neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () diff --git a/tests/update/journal.log b/tests/update/journal.log index 9e62af01e..a11a65811 100644 --- a/tests/update/journal.log +++ b/tests/update/journal.log @@ -532,8 +532,8 @@ Play#0 output Play#0 1 78 happiness, 178 education produced Play#0 output Play#0 1 total pop was 28106, yielding 14.19 hap, 24.57 edu Play#0 output Play#0 1 3.4330 tech, 3.3939 research produced - Play#0 output Play#0 1 Army delta $-2810, Navy delta $-3738, Air force delta $-2940 - Play#0 output Play#0 1 money delta was $-12051 for this update + Play#0 output Play#0 1 Army delta $-2810, Navy delta $-3738, Air force delta $-2580 + Play#0 output Play#0 1 money delta was $-11691 for this update Play#0 output Play#0 6 0 640 Play#0 input nation 1 Play#0 command nation @@ -541,7 +541,7 @@ Play#0 output Play#0 1 (#1) 1 Nation Report Thu Jan 1 00:00:00 1970 Play#0 output Play#0 1 Nation status is ACTIVE Bureaucratic Time Units: 640 Play#0 output Play#0 1 100% eff capital at 0,0 has 650 civilians & 2 military - Play#0 output Play#0 1 The treasury has $12949.00 Military reserves: 0 + Play#0 output Play#0 1 The treasury has $13309.00 Military reserves: 0 Play#0 output Play#0 1 Education.......... 21.09 Happiness....... 12.33 Play#0 output Play#0 1 Technology.........102.79 Research........ 3.37 Play#0 output Play#0 1 Technology factor : 50.46% Plague factor : 1.96% @@ -1433,7 +1433,7 @@ Play#0 output Play#0 1 4 -1,-7 - 39% 120 .. .. 130 0 0 97 100% 39 0 Play#0 output Play#0 1 0 -16,-6 - 0% 0 .. .. 0 0 0 100 100% 0 0 1 Play#0 output Play#0 1 4 -14,-6 - 0% 120 .. .. 0 2 0 100 100% 0 0 - Play#0 output Play#0 1 4 -12,-6 * 100% 120 .. .. 26 0 0 99 58% 28 0 + Play#0 output Play#0 1 4 -12,-6 * 100% 120 .. .. 26 0 0 99 58% 57 0 Play#0 output Play#0 1 4 -10,-6 - 0% 120 .. .. 0 0 0 100 100% 0 0 Play#0 output Play#0 1 0 -8,-6 - 6% 0 .. .. 0 0 23 99 100% 7 0 Play#0 output Play#0 1 4 -6,-6 - 3% 120 .. .. 26 0 0 100 72% 4 0 @@ -1504,7 +1504,7 @@ Play#0 output Play#0 1 4 -1,-7 - .......... .......... 0 0 0 0 0 0 0 0 0 0 Play#0 output Play#0 1 0 -16,-6 - .......... .......... 0 0 0 0 0 0 0 0 0 0 Play#0 output Play#0 1 4 -14,-6 - .......... .......... 0 0 0 0 0 0 0 0 0 0 - Play#0 output Play#0 1 4 -12,-6 * .......... .......... 0 0 0 0 0 0 0 3 8 0 + Play#0 output Play#0 1 4 -12,-6 * .......... .......... 0 0 0 0 0 0 0 10 10 0 Play#0 output Play#0 1 4 -10,-6 - .......... .......... 0 0 0 0 0 0 0 0 0 0 Play#0 output Play#0 1 0 -8,-6 - .......... .......... 0 0 0 0 0 0 0 0 0 0 Play#0 output Play#0 1 4 -6,-6 - .......... .......... 0 0 0 0 0 0 0 0 0 0 @@ -1642,7 +1642,7 @@ Play#0 command plane Play#0 output Play#0 1 own # type x,y w eff mu def tech ran hard carry special Play#0 output Play#0 1 1 1 lst landsat -4,-4 100% 60 3 245 41 0 orbit - Play#0 output Play#0 1 1 100 f1 Sopwith Camel -12,-6 100% 60 1 50 4 0 + Play#0 output Play#0 1 1 100 f1 Sopwith Camel -12,-6 10% 60 1 50 4 0 Play#0 output Play#0 1 2 planes Play#0 output Play#0 6 0 640 Play#0 input land -32:-1,-16:-1 -- 2.43.0