From 2ffd7b948d83868a4915ec92f28563cfd70ba135 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 5 Jun 2016 22:49:07 +0200 Subject: [PATCH] config: Make work to build sectors configurable Traditionally, building up 100% takes 100 work. Make the work to build configurable, via new sect-chr selector bwork, backed by new struct dchrstr member d_bwork. Keep the required work exactly the same for now. Tearing down sectors remains four times easier than building. Clients that hardcode sector build work need to be updated. Easy, since build work is now exposed in xdump. Signed-off-by: Markus Armbruster --- include/sect.h | 1 + src/lib/common/nsc.c | 1 + src/lib/global/sect.config | 72 +++++++++--------- src/lib/subs/show.c | 11 +-- src/lib/update/sect.c | 49 ++++++------ tests/version/journal.log | 151 +++++++++++++++++++------------------ 6 files changed, 143 insertions(+), 142 deletions(-) diff --git a/include/sect.h b/include/sect.h index b40dcf410..4f68bda63 100644 --- a/include/sect.h +++ b/include/sect.h @@ -114,6 +114,7 @@ struct dchrstr { int d_value; /* resale ("collect") value */ short d_mat[I_MAX+1]; /* materials to build 100% */ /* only I_LCM and I_HCM non-zero */ + int d_bwork; /* work to build 100% */ int d_cost; /* cost to build 100% */ int d_maint; /* maintenance cost per ETU */ int d_maxpop; /* maximum population */ diff --git a/src/lib/common/nsc.c b/src/lib/common/nsc.c index f5fdee469..ddbfda9f6 100644 --- a/src/lib/common/nsc.c +++ b/src/lib/common/nsc.c @@ -241,6 +241,7 @@ struct castr dchr_ca[] = { {"dstr", fldoff(d_dstr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"value", fldoff(d_value), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, NSC_MVEC(fldoff(d_mat), CA_DUMP_ONLY, CA_DUMP_ONLY, CA_DUMP_ONLY), + {"bwork", fldoff(d_bwork), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"cost", fldoff(d_cost), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"maint", fldoff(d_maint), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"maxpop", fldoff(d_maxpop), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP}, diff --git a/src/lib/global/sect.config b/src/lib/global/sect.config index 8ea815126..f4354d797 100644 --- a/src/lib/global/sect.config +++ b/src/lib/global/sect.config @@ -64,43 +64,43 @@ # econfig key custom_tables. config sect-chr -uid mnem prd peff val l_b h_b cost maint name ... - 0 "." -1 0 0 0 0 0 0 "sea" - 1 "^" dust 75 5 0 0 100 0 "mountain" - 2 "s" -1 0 127 0 0 0 0 "sanctuary" - 3 "\134" -1 0 0 0 0 0 0 "wasteland" - 4 "-" -1 0 1 0 0 0 0 "wilderness" +uid mnem prd peff val l_b h_b bwork cost maint name ... + 0 "." -1 0 0 0 0 0 0 0 "sea" + 1 "^" dust 75 5 0 0 100 100 0 "mountain" + 2 "s" -1 0 127 0 0 100 0 0 "sanctuary" + 3 "\134" -1 0 0 0 0 100 0 0 "wasteland" + 4 "-" -1 0 1 0 0 100 0 0 "wilderness" # Uncomment one of the following two. The second one is for big cities. - 5 "c" -1 0 30 0 0 100 1 "capital" -# 5 "c" -1 0 30 100 200 1000 1 "city" - 6 "u" rad 100 15 0 0 100 0 "uranium mine" - 7 "p" hap 100 5 0 0 100 0 "park" - 8 "d" gun 100 7 0 0 100 0 "defense plant" - 9 "i" sh 100 6 0 0 100 0 "shell industry" - 10 "m" iron 100 5 0 0 100 0 "mine" - 11 "g" dust 100 8 0 0 100 0 "gold mine" - 12 "h" -1 0 12 0 0 100 0 "harbor" - 13 "w" -1 0 7 0 0 100 0 "warehouse" - 14 "*" -1 0 12 0 0 100 0 "airfield" - 15 "a" food 900 2 0 0 100 0 "agribusiness" - 16 "o" oil 100 5 0 0 100 0 "oil field" - 17 "j" lcm 100 3 0 0 100 0 "light manufacturing" - 18 "k" hcm 100 4 0 0 100 0 "heavy manufacturing" - 19 "f" -1 0 10 0 100 500 0 "fortress" - 20 "t" tech 100 10 0 0 100 0 "technical center" - 21 "r" med 100 9 0 0 100 0 "research lab" - 22 "n" -1 0 10 0 0 100 0 "nuclear plant" - 23 "l" edu 100 4 0 0 100 0 "library/school" - 24 "+" -1 0 3 0 0 100 0 "highway" - 25 ")" -1 0 4 0 0 100 0 "radar installation" - 26 "!" -1 0 12 0 0 100 0 "headquarters" - 27 "#" -1 0 3 0 0 100 0 "bridge head" - 28 "=" -1 0 5 0 0 100 0 "bridge span" - 29 "b" bars 100 10 0 0 100 0 "bank" - 30 "%" pet 1000 2 0 0 100 0 "refinery" - 31 "e" -1 0 7 0 0 100 0 "enlistment center" - 32 "~" -1 0 1 0 0 100 0 "plains" - 33 "@" -1 0 4 0 0 100 0 "bridge tower" + 5 "c" -1 0 30 0 0 100 100 1 "capital" +# 5 "c" -1 0 30 100 200 100 1000 1 "city" + 6 "u" rad 100 15 0 0 100 100 0 "uranium mine" + 7 "p" hap 100 5 0 0 100 100 0 "park" + 8 "d" gun 100 7 0 0 100 100 0 "defense plant" + 9 "i" sh 100 6 0 0 100 100 0 "shell industry" + 10 "m" iron 100 5 0 0 100 100 0 "mine" + 11 "g" dust 100 8 0 0 100 100 0 "gold mine" + 12 "h" -1 0 12 0 0 100 100 0 "harbor" + 13 "w" -1 0 7 0 0 100 100 0 "warehouse" + 14 "*" -1 0 12 0 0 100 100 0 "airfield" + 15 "a" food 900 2 0 0 100 100 0 "agribusiness" + 16 "o" oil 100 5 0 0 100 100 0 "oil field" + 17 "j" lcm 100 3 0 0 100 100 0 "light manufacturing" + 18 "k" hcm 100 4 0 0 100 100 0 "heavy manufacturing" + 19 "f" -1 0 10 0 100 100 500 0 "fortress" + 20 "t" tech 100 10 0 0 100 100 0 "technical center" + 21 "r" med 100 9 0 0 100 100 0 "research lab" + 22 "n" -1 0 10 0 0 100 100 0 "nuclear plant" + 23 "l" edu 100 4 0 0 100 100 0 "library/school" + 24 "+" -1 0 3 0 0 100 100 0 "highway" + 25 ")" -1 0 4 0 0 100 100 0 "radar installation" + 26 "!" -1 0 12 0 0 100 100 0 "headquarters" + 27 "#" -1 0 3 0 0 100 100 0 "bridge head" + 28 "=" -1 0 5 0 0 100 100 0 "bridge span" + 29 "b" bars 100 10 0 0 100 100 0 "bank" + 30 "%" pet 1000 2 0 0 100 100 0 "refinery" + 31 "e" -1 0 7 0 0 100 100 0 "enlistment center" + 32 "~" -1 0 1 0 0 100 100 0 "plains" + 33 "@" -1 0 4 0 0 100 100 0 "bridge tower" # Deity-defined sector types go here /config diff --git a/src/lib/subs/show.c b/src/lib/subs/show.c index 025cf3f85..da86bd34a 100644 --- a/src/lib/subs/show.c +++ b/src/lib/subs/show.c @@ -402,8 +402,8 @@ show_sect_build(int foo) { int i, first; - pr(" build 100%% eff maint\n" - "sector type lcm hcm $ $\n"); + pr(" build 100%% efficiency maint\n" + "sector type lcm hcm avail $ $\n"); for (i = 0; dchr[i].d_name; i++) { if (dchr[i].d_mnem == 0) continue; @@ -413,12 +413,13 @@ show_sect_build(int foo) && !dchr[i].d_mat[I_LCM] && !dchr[i].d_mat[I_HCM] && dchr[i].d_maint == 0) continue; /* the usual, skip */ - pr("%c %-21.21s %5d%5d %5d %5d\n", + pr("%c %-21.21s %4d %4d %5d %5d %5d\n", dchr[i].d_mnem, dchr[i].d_name, - dchr[i].d_mat[I_LCM], dchr[i].d_mat[I_HCM], dchr[i].d_cost, + dchr[i].d_mat[I_LCM], dchr[i].d_mat[I_HCM], + dchr[i].d_bwork, dchr[i].d_cost, dchr[i].d_maint * etu_per_update); } - pr("any other 0 0 100 0\n"); + pr("any other 0 0 100 100 0\n"); first = 1; for (i = 0; intrchr[i].in_name; i++) { diff --git a/src/lib/update/sect.c b/src/lib/update/sect.c index 136e5bf9f..4cdb35037 100644 --- a/src/lib/update/sect.c +++ b/src/lib/update/sect.c @@ -47,46 +47,43 @@ int buildeff(struct sctstr *sp) { - int work_cost = 0; - int avail = sp->sct_avail; - int buildeff_work = avail / 2; - int cost, n, neweff, desig; + int avail = sp->sct_avail / 2 * 100; + int cost; + int delta, build; + struct dchrstr *dcp; cost = 0; - neweff = sp->sct_effic; if (sp->sct_type != sp->sct_newtype) { /* * Tear down existing sector. * Easier to destroy than to build. */ - work_cost = (sp->sct_effic + 3) / 4; - if (work_cost > buildeff_work) - work_cost = buildeff_work; - buildeff_work -= work_cost; - n = sp->sct_effic - work_cost * 4; - if (n <= 0) { - n = 0; + dcp = &dchr[sp->sct_type]; + build = 4 * avail / dcp->d_bwork; + if (build <= sp->sct_effic) + sp->sct_effic -= build; + else { + build = sp->sct_effic; + sp->sct_effic = 0; sp->sct_type = sp->sct_newtype; } - neweff = n; - cost += work_cost; + avail -= (build + 3) / 4 * dcp->d_bwork; + cost += (build + 3) / 4; } - desig = sp->sct_type; - if (desig == sp->sct_newtype) { - work_cost = 100 - neweff; - if (work_cost > buildeff_work) - work_cost = buildeff_work; - work_cost = get_materials(sp, dchr[sp->sct_type].d_mat, work_cost); - - neweff += work_cost; - cost += (work_cost * dchr[desig].d_cost + 99) / 100; - buildeff_work -= work_cost; + if (sp->sct_type == sp->sct_newtype) { + dcp = &dchr[sp->sct_type]; + delta = avail / dcp->d_bwork; + if (delta > 100 - sp->sct_effic) + delta = 100 - sp->sct_effic; + build = get_materials(sp, dcp->d_mat, delta); + sp->sct_effic += build; + avail -= build * dcp->d_bwork; + cost += (build * dcp->d_cost + 99) / 100; } - sp->sct_effic = neweff; - sp->sct_avail = (avail + 1) / 2 + buildeff_work; + sp->sct_avail = (sp->sct_avail + 1) / 2 + avail / 100; return cost; } diff --git a/tests/version/journal.log b/tests/version/journal.log index b62afc0f5..83e07fc05 100644 --- a/tests/version/journal.log +++ b/tests/version/journal.log @@ -109,12 +109,12 @@ Play#0 input show sect b Play#0 command show Play#0 output Play#0 1 Printing for tech level '1000' - Play#0 output Play#0 1 build 100% eff maint - Play#0 output Play#0 1 sector type lcm hcm $ $ - Play#0 output Play#0 1 - wilderness 0 0 0 0 - Play#0 output Play#0 1 c capital 0 0 100 60 - Play#0 output Play#0 1 f fortress 0 100 500 0 - Play#0 output Play#0 1 any other 0 0 100 0 + Play#0 output Play#0 1 build 100% efficiency maint + Play#0 output Play#0 1 sector type lcm hcm avail $ $ + Play#0 output Play#0 1 - wilderness 0 0 100 0 0 + Play#0 output Play#0 1 c capital 0 0 100 100 60 + Play#0 output Play#0 1 f fortress 0 100 100 500 0 + Play#0 output Play#0 1 any other 0 0 100 100 0 Play#0 output Play#0 1 Play#0 output Play#0 1 Infrastructure building - adding 1 point of efficiency costs: Play#0 output Play#0 1 type lcms hcms mobility $$$$ @@ -1014,11 +1014,12 @@ Play#0 output Play#0 1 "h_build" 6 0 0 -1 Play#0 output Play#0 1 "u_build" 6 0 0 -1 Play#0 output Play#0 1 "r_build" 6 0 0 -1 + Play#0 output Play#0 1 "bwork" 8 0 0 -1 Play#0 output Play#0 1 "cost" 8 0 0 -1 Play#0 output Play#0 1 "maint" 8 0 0 -1 Play#0 output Play#0 1 "maxpop" 8 0 0 -1 Play#0 output Play#0 1 "flags" 8 8 0 48 - Play#0 output Play#0 1 /31 + Play#0 output Play#0 1 /32 Play#0 output Play#0 6 0 640 Play#0 input xdump meta 19 Play#0 command xdump @@ -1561,40 +1562,40 @@ Play#0 input xdump sect-chr * Play#0 command xdump Play#0 output Play#0 1 XDUMP sect-chr 0 - Play#0 output Play#0 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 - Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#0 output Play#0 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 1 - Play#0 output Play#0 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 - Play#0 output Play#0 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 - Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 1 1000 0 - Play#0 output Play#0 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 500 0 1000 0 - Play#0 output Play#0 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#0 output Play#0 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#0 output Play#0 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 + Play#0 output Play#0 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#0 output Play#0 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1 + Play#0 output Play#0 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1 + Play#0 output Play#0 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0 + Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0 + Play#0 output Play#0 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0 + Play#0 output Play#0 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#0 output Play#0 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#0 output Play#0 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 Play#0 output Play#0 1 /34 Play#0 output Play#0 6 0 640 Play#0 input xdump ship-chr * @@ -2287,40 +2288,40 @@ Play#1 input xdump sect-chr * Play#1 command xdump Play#1 output Play#1 1 XDUMP sect-chr 0 - Play#1 output Play#1 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 - Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#1 output Play#1 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 1 - Play#1 output Play#1 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 - Play#1 output Play#1 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 - Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 1 1000 0 - Play#1 output Play#1 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 500 0 1000 0 - Play#1 output Play#1 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#1 output Play#1 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 1000 0 - Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 - Play#1 output Play#1 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 100 1 + Play#1 output Play#1 1 0 "sea" "." 0 -1 0 -1.00000 -1.00000 1 1 0.00000 0.00000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 + Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#1 output Play#1 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 1 + Play#1 output Play#1 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 1 + Play#1 output Play#1 1 4 "wilderness" "-" 4 -1 0 0.400000 0.400000 0 1 1.00000 2.00000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 1000 0 + Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 1 1000 0 + Play#1 output Play#1 1 6 "uranium\\040mine" "u" 4 4 100 0.400000 0.200000 0 1 1.00000 2.00000 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 8 "defense\\040plant" "d" 4 6 100 0.400000 0.200000 0 1 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 9 "shell\\040industry" "i" 4 5 100 0.400000 0.200000 0 1 1.00000 1.50000 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 11 "gold\\040mine" "g" 4 1 100 0.400000 0.200000 0 1 1.00000 2.00000 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 16 "oil\\040field" "o" 4 3 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 17 "light\\040manufacturing" "j" 4 9 100 0.400000 0.200000 0 1 1.00000 1.50000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 18 "heavy\\040manufacturing" "k" 4 10 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 500 0 1000 0 + Play#1 output Play#1 1 20 "technical\\040center" "t" 4 11 100 0.400000 0.200000 0 1 1.00000 1.50000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 21 "research\\040lab" "r" 4 12 100 0.400000 0.200000 0 1 1.00000 1.50000 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 22 "nuclear\\040plant" "n" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 23 "library/school" "l" 4 13 100 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#1 output Play#1 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 31 "enlistment\\040center" "e" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 1000 0 + Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 + Play#1 output Play#1 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 100 1 Play#1 output Play#1 1 /34 Play#1 output Play#1 6 0 0 Play#1 input xdump ship-chr * -- 2.43.0