]> git.pond.sub.org Git - empserver/commitdiff
config: Add sect-chr flags, replace cost by flag "deity"
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 5 Jun 2016 17:22:45 +0000 (19:22 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Aug 2017 17:59:58 +0000 (19:59 +0200)
Give sector types capability flags (dchrstr member d_flags), like
ship, plane, land unit and nuke types have.

Member d_cost is effectively a flag since the previous commit.
Replace it by capability flag "deity".  This is an xdump compatibility
break.  To provide the customary grace period, we'd have make selector
cost virtual instead, and deprecate it.  But we're not bothering with
maintaining xdump compatibility in this release.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
12 files changed:
include/file.h
include/nsc.h
include/sect.h
info/Sector-types.t
src/lib/commands/desi.c
src/lib/common/filetable.c
src/lib/common/nsc.c
src/lib/global/sect.config
src/lib/global/symbol.c
src/lib/subs/show.c
tests/version/default/00-POGO
tests/version/journal.log

index 4fee8bbdc127f179f8fcbe709c9bb7db572d32ed..8e0247e602f1d0c3ca1da04b25e42f1cd5c02f5c 100644 (file)
@@ -27,7 +27,7 @@
  *  file.h: Describes Empire tables (`files' for historical reasons)
  *
  *  Known contributors to this file:
- *     Markus Armbruster, 2005-2014
+ *     Markus Armbruster, 2005-2016
  */
 
 #ifndef FILE_H
@@ -198,6 +198,7 @@ enum {
     EF_RESOURCES,
     EF_RETREAT_FLAGS,
     EF_SECTOR_NAVIGATION,
+    EF_SECTOR_CHR_FLAGS,
     EF_SHIP_CHR_FLAGS,
     /* Views */
     EF_COUNTRY,
index f076c4e10c020fdbb430133a46bdeb326c7f2f8a..bc3c0afeec0505c73997b54b717976185817a60d 100644 (file)
@@ -299,6 +299,7 @@ extern struct symbol agreement_statuses[];
 extern struct symbol plague_stages[];
 extern struct symbol packing[];
 extern struct symbol resources[];
+extern struct symbol sect_chr_flags[];
 extern struct symbol sector_navigation[];
 
 /* src/lib/common/nstreval.c */
index 45f2728afeebaeac3136109c3b8293f3f4385986..d42216ae7f5f493b096ed43dcc3b843b34236231 100644 (file)
@@ -30,7 +30,7 @@
  *     Dave Pare
  *     Ken Stevens, 1995
  *     Steve McClure, 1998
- *     Markus Armbruster, 2004-2014
+ *     Markus Armbruster, 2004-2016
  */
 
 
@@ -112,15 +112,18 @@ struct dchrstr {
     float d_ostr;              /* offensive strength */
     float d_dstr;              /* defensive strength */
     int d_value;               /* resale ("collect") value */
-    int d_cost;                        /* cost to designate the sect */
     int d_build;               /* cost multiplier for eff */
     int d_lcms;                        /* lcm's needed per point of eff */
     int d_hcms;                        /* hcm's needed per point of eff */
     int d_maint;               /* maintenance cost per ETU */
     int d_maxpop;              /* maximum population */
+    int d_flags;               /* capability flags */
     char *d_name;              /* full name of sector type */
 };
 
+/* Sector capability flags */
+#define D_DEITY                bit(0)  /* Only the deity can designate this */
+
 /* Sector types, must match sect.config */
 #define SCT_WATER      0       /* basics */
 #define SCT_MOUNT      1
index 158ba144a940f56777793937593134e2ffac0b18..a202436480d465d6089619ac9aaf5c3e5016d9ea 100644 (file)
@@ -325,27 +325,39 @@ sector type can hold.
 Finally, to check out what sectors can do, use:
 .EX show sect capabilities
 .NF
-  sector type             product  p.e.
-^ mountain                dust      75%
-u uranium mine            rad      100%
-p park                    happy    100%
-d defense plant           guns     100%
-i shell industry          shells   100%
-m mine                    iron     100%
-g gold mine               dust     100%
-a agribusiness            food     900%
-o oil field               oil      100%
-j light manufacturing     lcm      100%
-k heavy manufacturing     hcm      100%
-t technical center        tech     100%
-r research lab            medical  100%
-l library/school          edu      100%
-b bank                    bars     100%
-% refinery                petrol  1000%
+  sector type             product  p.e.  capabilities
+. sea                                    deity
+^ mountain                dust      75%  deity
+s sanctuary                              deity
+\ wasteland                              deity
+u uranium mine            rad      100% 
+p park                    happy    100% 
+d defense plant           guns     100% 
+i shell industry          shells   100% 
+m mine                    iron     100% 
+g gold mine               dust     100% 
+a agribusiness            food     900% 
+o oil field               oil      100% 
+j light manufacturing     lcm      100% 
+k heavy manufacturing     hcm      100% 
+t technical center        tech     100% 
+r research lab            medical  100% 
+l library/school          edu      100% 
+= bridge span                            deity
+b bank                    bars     100% 
+% refinery                petrol  1000% 
+~ plains                                 deity
+@ bridge tower                           deity
 .FI
 Column product shows what the sector produces.  Column p.e. shows the
 sector type's production efficiency.  Use command \*Qshow product\*U
 to find out more about products, and see \*Qinfo Products\*U.
 .s1
+Column capabilities shows special capabilities, if any.  These are:
+.s1
+.in \w'deity\0\0'u
+.L deity
+Can only be designated by a deity.
+.in
 .s1
 .SA "designate, show, improve, BTU, Sectors, Producing, Products, Transportation"
index 888a4a1662ef3f1c3f1329c18e01206ac4109937..1cd5072cb934e2811a003aa5996f54bbfa5675e9 100644 (file)
@@ -57,7 +57,7 @@ desi(void)
     while (nxtsct(&nstr, &sect)) {
        if (!player->owner)
            continue;
-       if (!player->god && dchr[sect.sct_type].d_cost < 0)
+       if ((dchr[sect.sct_type].d_flags & D_DEITY) && !player->god)
            continue;
        sprintf(prompt, "%s %d%% %s  desig? ",
                xyas(sect.sct_x, sect.sct_y, player->cnum),
@@ -84,7 +84,7 @@ desi(void)
                rc = RET_FAIL;
                break;
            }
-           if (dchr[des].d_cost < 0) {
+           if (dchr[des].d_flags & D_DEITY) {
                pr("Only %s can designate a %s!\n",
                   cname(0), dchr[des].d_name);
                rc = RET_FAIL;
index 3087400afc5a938cfc329f547fe8524c7c7ebd53..52226da7bdadf56233750a085725bb5981b94b49 100644 (file)
@@ -261,6 +261,7 @@ struct empfile empfile[] = {
     SYMTAB(EF_RESOURCES, "resources", resources),
     SYMTAB(EF_RETREAT_FLAGS, "retreat-flags", retreat_flags),
     SYMTAB(EF_SECTOR_NAVIGATION, "sector-navigation", sector_navigation),
+    SYMTAB(EF_SECTOR_CHR_FLAGS, "sect-chr-flags", sect_chr_flags),
     SYMTAB(EF_SHIP_CHR_FLAGS, "ship-chr-flags", ship_chr_flags),
 
     /* Views */
index 373ebf0c60cbe26d4e627b5180d3b1bc65949f4f..27288d34882799c7b9834b7a7dd775964a26d522 100644 (file)
@@ -240,12 +240,13 @@ struct castr dchr_ca[] = {
     {"ostr", fldoff(d_ostr), NSC_FLOAT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"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},
-    {"cost", fldoff(d_cost), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"build", fldoff(d_build), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"lcms", fldoff(d_lcms), NSC_INT, 0, NULL, EF_BAD, 0, CA_DUMP},
     {"hcms", fldoff(d_hcms), 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},
+    {"flags", fldoff(d_flags), NSC_INT, 0, NULL,
+     EF_SECTOR_CHR_FLAGS, NSC_BITS, CA_DUMP},
     {NULL, 0, NSC_NOTYPE, 0, NULL, EF_BAD, 0, CA_DUMP}
 #undef CURSTR
 };
index 571c308bc6596c8937ec62c2830c5789590526d8..5d3c9be14376c918d26a688e3c4f0e85893a83f5 100644 (file)
@@ -40,6 +40,9 @@
 # The sector types (column uid) must match the compiled-in types
 # defined in sect.h.
 
+# Available capability flags are in compiled-in table sect-chr-flags.
+# info Sector-types should document them all.
+
 # Sector terrain (column terra) is the uid of the underlying terrain
 # sector type.  Sector types that occur in that column are terrain
 # types, and must have themselves as terrain.
 # types (column nav) are in compiled-in table sector-navigation.
 # Packing types (column pkg) are in compiled-in table packing.
 
-# Players can only designate sectors with a non-negative value in
-# column cost, and only to something with the same terrain.  All
-# sectors with the same terrain and non-negative cost should have the
-# same population limit (column maxpop), or else players can abuse
-# redesignation to mass-murder people.  Other than that, cost has no
-# purpose anymore.
+# All sectors with the same terrain and without capability deity
+# should have the same population limit (column maxpop), or else
+# players can abuse redesignation to mass-murder people.
 
 # A sector with urban packing (urba in column pkg) is a big city.
 # Column maxpop applies at 0% efficiency.  The limit at 100% is ten
 # econfig key custom_tables.
 
 config sect-chr
-uid mnem   prd peff val cost bui lcm hcm maint name ...
-  0  "."    -1    0   0   -1   0   0   0     0 "sea"
-  1  "^"  dust   75   5   -1   1   0   0     0 "mountain"
-  2  "s"    -1    0 127   -1   0   0   0     0 "sanctuary"
-  3 "\134"  -1    0   0   -1   0   0   0     0 "wasteland"
-  4  "-"    -1    0   1    0   0   0   0     0 "wilderness"
+uid mnem   prd peff val bui lcm hcm maint name ...
+  0  "."    -1    0   0   0   0   0     0 "sea"
+  1  "^"  dust   75   5   1   0   0     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"
 # Uncomment one of the following two.  The second one is for big cities.
-  5  "c"    -1    0  30    0   1   0   0     1 "capital"
-# 5  "c"    -1    0  30    0  10   1   2     1 "city"
-  6  "u"   rad  100  15    0   1   0   0     0 "uranium mine"
-  7  "p"   hap  100   5    0   1   0   0     0 "park"
-  8  "d"   gun  100   7    0   1   0   0     0 "defense plant"
-  9  "i"    sh  100   6    0   1   0   0     0 "shell industry"
- 10  "m"  iron  100   5    0   1   0   0     0 "mine"
- 11  "g"  dust  100   8    0   1   0   0     0 "gold mine"
- 12  "h"    -1    0  12    0   1   0   0     0 "harbor"
- 13  "w"    -1    0   7    0   1   0   0     0 "warehouse"
- 14  "*"    -1    0  12    0   1   0   0     0 "airfield"
- 15  "a"  food  900   2    0   1   0   0     0 "agribusiness"
- 16  "o"   oil  100   5    0   1   0   0     0 "oil field"
- 17  "j"   lcm  100   3    0   1   0   0     0 "light manufacturing"
- 18  "k"   hcm  100   4    0   1   0   0     0 "heavy manufacturing"
- 19  "f"    -1    0  10    0   5   0   1     0 "fortress"
- 20  "t"  tech  100  10    0   1   0   0     0 "technical center"
- 21  "r"   med  100   9    0   1   0   0     0 "research lab"
- 22  "n"    -1    0  10    0   1   0   0     0 "nuclear plant"
- 23  "l"   edu  100   4    0   1   0   0     0 "library/school"
- 24  "+"    -1    0   3    0   1   0   0     0 "highway"
- 25  ")"    -1    0   4    0   1   0   0     0 "radar installation"
- 26  "!"    -1    0  12    0   1   0   0     0 "headquarters"
- 27  "#"    -1    0   3    0   1   0   0     0 "bridge head"
- 28  "="    -1    0   5   -1   1   0   0     0 "bridge span"
- 29  "b"  bars  100  10    0   1   0   0     0 "bank"
- 30  "%"   pet 1000   2    0   1   0   0     0 "refinery"
- 31  "e"    -1    0   7    0   1   0   0     0 "enlistment center"
- 32  "~"    -1    0   1   -1   1   0   0     0 "plains"
- 33  "@"    -1    0   4   -1   1   0   0     0 "bridge tower"
+  5  "c"    -1    0  30   1   0   0     1 "capital"
+# 5  "c"    -1    0  30  10   1   2     1 "city"
+  6  "u"   rad  100  15   1   0   0     0 "uranium mine"
+  7  "p"   hap  100   5   1   0   0     0 "park"
+  8  "d"   gun  100   7   1   0   0     0 "defense plant"
+  9  "i"    sh  100   6   1   0   0     0 "shell industry"
+ 10  "m"  iron  100   5   1   0   0     0 "mine"
+ 11  "g"  dust  100   8   1   0   0     0 "gold mine"
+ 12  "h"    -1    0  12   1   0   0     0 "harbor"
+ 13  "w"    -1    0   7   1   0   0     0 "warehouse"
+ 14  "*"    -1    0  12   1   0   0     0 "airfield"
+ 15  "a"  food  900   2   1   0   0     0 "agribusiness"
+ 16  "o"   oil  100   5   1   0   0     0 "oil field"
+ 17  "j"   lcm  100   3   1   0   0     0 "light manufacturing"
+ 18  "k"   hcm  100   4   1   0   0     0 "heavy manufacturing"
+ 19  "f"    -1    0  10   5   0   1     0 "fortress"
+ 20  "t"  tech  100  10   1   0   0     0 "technical center"
+ 21  "r"   med  100   9   1   0   0     0 "research lab"
+ 22  "n"    -1    0  10   1   0   0     0 "nuclear plant"
+ 23  "l"   edu  100   4   1   0   0     0 "library/school"
+ 24  "+"    -1    0   3   1   0   0     0 "highway"
+ 25  ")"    -1    0   4   1   0   0     0 "radar installation"
+ 26  "!"    -1    0  12   1   0   0     0 "headquarters"
+ 27  "#"    -1    0   3   1   0   0     0 "bridge head"
+ 28  "="    -1    0   5   1   0   0     0 "bridge span"
+ 29  "b"  bars  100  10   1   0   0     0 "bank"
+ 30  "%"   pet 1000   2   1   0   0     0 "refinery"
+ 31  "e"    -1    0   7   1   0   0     0 "enlistment center"
+ 32  "~"    -1    0   1   1   0   0     0 "plains"
+ 33  "@"    -1    0   4   1   0   0     0 "bridge tower"
 # Deity-defined sector types go here
 /config
 
 config sect-chr
-uid mnem terra mob0 mob1  nav  pkg ostr dstr maxpop
-  0  "."    0    -1   -1  sea norm  0.0  0.0     0
-  1  "^"    1   2.4  1.2 land norm  1.0  4.0   100
-  2  "s"    4    -1   -1 land norm  0.0 99.0  1000
-  3 "\134"  3    -1   -1 land norm  0.0 99.0     0
-  4  "-"    4   0.4  0.4 land norm  1.0  2.0  1000
+uid mnem terra mob0 mob1  nav  pkg ostr dstr maxpop flags
+  0  "."    0    -1   -1  sea norm  0.0  0.0     0 (deity)
+  1  "^"    1   2.4  1.2 land norm  1.0  4.0   100 (deity)
+  2  "s"    4    -1   -1 land norm  0.0 99.0  1000 (deity)
+  3 "\134"  3    -1   -1 land norm  0.0 99.0     0 (deity)
+  4  "-"    4   0.4  0.4 land norm  1.0  2.0  1000 ()
 # Uncomment one of the following two.  The second one is for big cities.
-  5  "c"    4   0.4  0.2 land norm  1.0  2.0  1000
-# 5  "c"    4   0.4  0.2 cana urba  1.0  2.0  1000
-  6  "u"    4   0.4  0.2 land norm  1.0  2.0  1000
-  7  "p"    4   0.4  0.2 land norm  1.0  1.5  1000
-  8  "d"    4   0.4  0.2 land norm  1.0  1.5  1000
-  9  "i"    4   0.4  0.2 land norm  1.0  1.5  1000
- 10  "m"    4   0.4  0.2 land norm  1.0  2.0  1000
- 11  "g"    4   0.4  0.2 land norm  1.0  2.0  1000
- 12  "h"    4   0.4  0.2 harb ware  1.0  1.5  1000
- 13  "w"    4   0.4  0.2 land ware  1.0  1.5  1000
- 14  "*"    4   0.4  0.2 land norm  1.0  1.25 1000
- 15  "a"    4   0.4  0.2 land norm  1.0  1.5  1000
- 16  "o"    4   0.4  0.2 land norm  1.0  1.5  1000
- 17  "j"    4   0.4  0.2 land norm  1.0  1.5  1000
- 18  "k"    4   0.4  0.2 land norm  1.0  1.5  1000
- 19  "f"    4   0.4  0.2 land norm  2.0  4.0  1000
- 20  "t"    4   0.4  0.2 land norm  1.0  1.5  1000
- 21  "r"    4   0.4  0.2 land norm  1.0  1.5  1000
- 22  "n"    4   0.4  0.2 land norm  1.0  2.0  1000
- 23  "l"    4   0.4  0.2 land norm  1.0  1.5  1000
- 24  "+"    4   0.4  0.0 land norm  1.0  1.0  1000
- 25  ")"    4   0.4  0.2 land norm  1.0  1.5  1000
- 26  "!"    4   0.4  0.2 land norm  1.0  1.5  1000
- 27  "#"    4   0.4  0.0 land norm  1.0  1.0  1000
- 28  "="    0   0.4  0.0 brid norm  1.0  1.0   100
- 29  "b"    4   0.4  0.2 land bank  1.0  2.25 1000
- 30  "%"    4   0.4  0.2 land norm  1.0  1.5  1000
- 31  "e"    4   0.4  0.2 land norm  1.0  2.0  1000
- 32  "~"   32   0.4  0.2 land norm  1.0  1.5   100
- 33  "@"    0   0.4  0.0 land norm  1.0  1.5   100
+  5  "c"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+# 5  "c"    4   0.4  0.2 cana urba  1.0  2.0  1000 ()
+  6  "u"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+  7  "p"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+  8  "d"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+  9  "i"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 10  "m"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+ 11  "g"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+ 12  "h"    4   0.4  0.2 harb ware  1.0  1.5  1000 ()
+ 13  "w"    4   0.4  0.2 land ware  1.0  1.5  1000 ()
+ 14  "*"    4   0.4  0.2 land norm  1.0  1.25 1000 ()
+ 15  "a"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 16  "o"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 17  "j"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 18  "k"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 19  "f"    4   0.4  0.2 land norm  2.0  4.0  1000 ()
+ 20  "t"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 21  "r"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 22  "n"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+ 23  "l"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 24  "+"    4   0.4  0.0 land norm  1.0  1.0  1000 ()
+ 25  ")"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 26  "!"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 27  "#"    4   0.4  0.0 land norm  1.0  1.0  1000 ()
+ 28  "="    0   0.4  0.0 brid norm  1.0  1.0   100 (deity)
+ 29  "b"    4   0.4  0.2 land bank  1.0  2.25 1000 ()
+ 30  "%"    4   0.4  0.2 land norm  1.0  1.5  1000 ()
+ 31  "e"    4   0.4  0.2 land norm  1.0  2.0  1000 ()
+ 32  "~"   32   0.4  0.2 land norm  1.0  1.5   100 (deity)
+ 33  "@"    0   0.4  0.0 land norm  1.0  1.5   100 (deity)
 # Deity-defined sector types go here
 /config
index 7bb0916d469e3ce67d1305c3e60d7f441666e920..12ee4b361e83c88ecdf8165d0d091a6cbe5fd256 100644 (file)
@@ -27,7 +27,7 @@
  *  symbol.c: Empire symbol tables
  *
  *  Known contributors to this file:
- *     Markus Armbruster, 2006-2015
+ *     Markus Armbruster, 2006-2016
  */
 
 #include <config.h>
@@ -243,6 +243,11 @@ struct symbol retreat_flags[] = {
     {0, NULL}
 };
 
+struct symbol sect_chr_flags[] = {
+    {D_DEITY, "deity"},
+    {0, NULL}
+};
+
 struct symbol sector_navigation[] = {
     {NAV_NONE, "land"},
     {NAVOK, "sea"},
index ec73193e7791feef0165612181485218cdcd4382..29d50a2da74d868575a19a1ded19c843084ac8f5 100644 (file)
@@ -466,14 +466,20 @@ show_sect_capab(int foo)
 {
     int i;
 
-    pr("  sector type             product  p.e.\n");
+    pr("  sector type             product  p.e.  capabilities\n");
 
     for (i = 0; dchr[i].d_name; i++) {
-       if (dchr[i].d_mnem == 0 || dchr[i].d_prd < 0)
+       if (dchr[i].d_mnem == 0 || (dchr[i].d_prd < 0 && !dchr[i].d_flags))
            continue;
-       pr("%c %-23s %-7s %4d%%\n",
-          dchr[i].d_mnem, dchr[i].d_name, pchr[dchr[i].d_prd].p_sname,
-          dchr[i].d_peffic);
+       pr("%c %-23s ",
+          dchr[i].d_mnem, dchr[i].d_name);
+       if (dchr[i].d_prd >= 0)
+           pr("%-7s %4d%% ",
+              pchr[dchr[i].d_prd].p_sname, dchr[i].d_peffic);
+       else
+           pr("              ");
+       show_capab(dchr[i].d_flags, sect_chr_flags);
+       pr("\n");
     }
 }
 
index 9c8e5799e4312062472e76ea14da3cdc96e9ce82..e3ba0c76d0cc625ee02b26f36761b4e4ca6dc0a2 100644 (file)
@@ -69,6 +69,7 @@ xdump meta 47
 xdump meta 48
 xdump meta 49
 xdump meta 50
+xdump meta 51
 | xdump of game state is in smoke test
 xdump item *
 xdump product *
@@ -102,4 +103,5 @@ xdump plane-flags *
 xdump resources *
 xdump retreat-flags *
 xdump sector-navigation *
+xdump sect-chr-flags *
 xdump ship-chr-flags *
index d7db7302c3012204bb471d5cac2605a2a9bde014..d28ba34dcf1997bb8dc7b3520a91b425368a4c98 100644 (file)
     Play#0 input show sect c
     Play#0 command show
     Play#0 output Play#0 1 Printing for tech level '1000'
-    Play#0 output Play#0 1   sector type             product  p.e.
-    Play#0 output Play#0 1 ^ mountain                dust      75%
+    Play#0 output Play#0 1   sector type             product  p.e.  capabilities
+    Play#0 output Play#0 1 . sea                                    deity
+    Play#0 output Play#0 1 ^ mountain                dust      75%  deity
+    Play#0 output Play#0 1 s sanctuary                              deity
+    Play#0 output Play#0 1 \\ wasteland                              deity
     Play#0 output Play#0 1 u uranium mine            rad      100%
     Play#0 output Play#0 1 p park                    happy    100%
     Play#0 output Play#0 1 d defense plant           guns     100%
     Play#0 output Play#0 1 t technical center        tech     100%
     Play#0 output Play#0 1 r research lab            medical  100%
     Play#0 output Play#0 1 l library/school          edu      100%
+    Play#0 output Play#0 1 = bridge span                            deity
     Play#0 output Play#0 1 b bank                    bars     100%
     Play#0 output Play#0 1 % refinery                petrol  1000%
+    Play#0 output Play#0 1 ~ plains                                 deity
+    Play#0 output Play#0 1 @ bridge tower                           deity
     Play#0 output Play#0 6 0 640
     Play#0 input show sect s
     Play#0 command show
     Play#0 output Play#0 1 "ostr" 12 0 0 -1
     Play#0 output Play#0 1 "dstr" 12 0 0 -1
     Play#0 output Play#0 1 "value" 8 0 0 -1
-    Play#0 output Play#0 1 "cost" 8 0 0 -1
     Play#0 output Play#0 1 "build" 8 0 0 -1
     Play#0 output Play#0 1 "lcms" 8 0 0 -1
     Play#0 output Play#0 1 "hcms" 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 /19
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 19
     Play#0 output Play#0 1 "bwork" 8 0 0 -1
     Play#0 output Play#0 1 "tech" 8 0 0 -1
     Play#0 output Play#0 1 "cost" 8 0 0 -1
-    Play#0 output Play#0 1 "flags" 8 8 0 48
+    Play#0 output Play#0 1 "flags" 8 8 0 49
     Play#0 output Play#0 1 "nplanes" 5 0 0 -1
     Play#0 output Play#0 1 "nland" 5 0 0 -1
     Play#0 output Play#0 1 /44
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 48
     Play#0 command xdump
-    Play#0 output Play#0 1 XDUMP meta ship-chr-flags 0
+    Play#0 output Play#0 1 XDUMP meta sect-chr-flags 0
     Play#0 output Play#0 1 "value" 8 0 0 -1
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 /2
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta 49
     Play#0 command xdump
+    Play#0 output Play#0 1 XDUMP meta ship-chr-flags 0
+    Play#0 output Play#0 1 "value" 8 0 0 -1
+    Play#0 output Play#0 1 "name" 3 0 0 -1
+    Play#0 output Play#0 1 /2
+    Play#0 output Play#0 6 0 640
+    Play#0 input xdump meta 50
+    Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta country 0
     Play#0 output Play#0 1 "cnum" 5 0 0 8
     Play#0 output Play#0 1 "flags" 8 8 0 35
     Play#0 output Play#0 1 "happiness" 12 0 0 -1
     Play#0 output Play#0 1 /23
     Play#0 output Play#0 6 0 640
-    Play#0 input xdump meta 50
+    Play#0 input xdump meta 51
     Play#0 command xdump
     Play#0 output Play#0 1 Usage: xdump ["meta"] <TYPE> [<RECORDS>]
     Play#0 output Play#0 6 0 640
     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 -1 0 0 0 0 0
-    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 -1 1 0 0 0 100
-    Play#0 output Play#0 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 -1 0 0 0 0 1000
-    Play#0 output Play#0 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 -1 0 0 0 0 0
-    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 1000
-    Play#0 output Play#0 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 1 0 0 1 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 1 0 0 0 1000
-    Play#0 output Play#0 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 1 0 0 0 1000
-    Play#0 output Play#0 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 1 0 0 0 1000
-    Play#0 output Play#0 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 5 0 1 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 1 0 0 0 1000
-    Play#0 output Play#0 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 1 0 0 0 1000
-    Play#0 output Play#0 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 1 0 0 0 1000
-    Play#0 output Play#0 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 1 0 0 0 1000
-    Play#0 output Play#0 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 -1 1 0 0 0 100
-    Play#0 output Play#0 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 1 0 0 0 1000
-    Play#0 output Play#0 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#0 output Play#0 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 -1 1 0 0 0 100
-    Play#0 output Play#0 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 -1 1 0 0 0 100
+    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 1
+    Play#0 output Play#0 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 1 0 0 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 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 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 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 5 0 1 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 0 100 1
     Play#0 output Play#0 1 /34
     Play#0 output Play#0 6 0 640
     Play#0 input xdump ship-chr *
     Play#0 output Play#0 1 45 "resources"
     Play#0 output Play#0 1 46 "retreat-flags"
     Play#0 output Play#0 1 47 "sector-navigation"
-    Play#0 output Play#0 1 48 "ship-chr-flags"
-    Play#0 output Play#0 1 49 "country"
-    Play#0 output Play#0 1 /47
+    Play#0 output Play#0 1 48 "sect-chr-flags"
+    Play#0 output Play#0 1 49 "ship-chr-flags"
+    Play#0 output Play#0 1 50 "country"
+    Play#0 output Play#0 1 /48
     Play#0 output Play#0 6 0 640
     Play#0 input xdump version *
     Play#0 command xdump
     Play#0 output Play#0 1 4 "bridge"
     Play#0 output Play#0 1 /5
     Play#0 output Play#0 6 0 640
+    Play#0 input xdump sect-chr-flags *
+    Play#0 command xdump
+    Play#0 output Play#0 1 XDUMP sect-chr-flags 0
+    Play#0 output Play#0 1 1 "deity"
+    Play#0 output Play#0 1 /1
+    Play#0 output Play#0 6 0 640
     Play#0 input xdump ship-chr-flags *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP ship-chr-flags 0
     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 -1 0 0 0 0 0
-    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 -1 1 0 0 0 100
-    Play#1 output Play#1 1 2 "sanctuary" "s" 4 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 127 -1 0 0 0 0 1000
-    Play#1 output Play#1 1 3 "wasteland" "\\134" 3 -1 0 -1.00000 -1.00000 0 1 0.00000 99.0000 0 -1 0 0 0 0 0
-    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 1000
-    Play#1 output Play#1 1 5 "capital" "c" 4 -1 0 0.400000 0.200000 0 1 1.00000 2.00000 30 0 1 0 0 1 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 7 "park" "p" 4 14 100 0.400000 0.200000 0 1 1.00000 1.50000 5 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 10 "mine" "m" 4 0 100 0.400000 0.200000 0 1 1.00000 2.00000 5 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 12 "harbor" "h" 4 -1 0 0.400000 0.200000 2 2 1.00000 1.50000 12 0 1 0 0 0 1000
-    Play#1 output Play#1 1 13 "warehouse" "w" 4 -1 0 0.400000 0.200000 0 2 1.00000 1.50000 7 0 1 0 0 0 1000
-    Play#1 output Play#1 1 14 "airfield" "*" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.25000 12 0 1 0 0 0 1000
-    Play#1 output Play#1 1 15 "agribusiness" "a" 4 2 900 0.400000 0.200000 0 1 1.00000 1.50000 2 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 19 "fortress" "f" 4 -1 0 0.400000 0.200000 0 1 2.00000 4.00000 10 0 5 0 1 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 24 "highway" "+" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 1 0 0 0 1000
-    Play#1 output Play#1 1 25 "radar\\040installation" ")" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 4 0 1 0 0 0 1000
-    Play#1 output Play#1 1 26 "headquarters" "!" 4 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 12 0 1 0 0 0 1000
-    Play#1 output Play#1 1 27 "bridge\\040head" "#" 4 -1 0 0.400000 0.00000 0 1 1.00000 1.00000 3 0 1 0 0 0 1000
-    Play#1 output Play#1 1 28 "bridge\\040span" "=" 0 -1 0 0.400000 0.00000 4 1 1.00000 1.00000 5 -1 1 0 0 0 100
-    Play#1 output Play#1 1 29 "bank" "b" 4 8 100 0.400000 0.200000 0 4 1.00000 2.25000 10 0 1 0 0 0 1000
-    Play#1 output Play#1 1 30 "refinery" "%" 4 7 1000 0.400000 0.200000 0 1 1.00000 1.50000 2 0 1 0 0 0 1000
-    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 1 0 0 0 1000
-    Play#1 output Play#1 1 32 "plains" "~" 32 -1 0 0.400000 0.200000 0 1 1.00000 1.50000 1 -1 1 0 0 0 100
-    Play#1 output Play#1 1 33 "bridge\\040tower" "@" 0 -1 0 0.400000 0.00000 0 1 1.00000 1.50000 4 -1 1 0 0 0 100
+    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 1
+    Play#1 output Play#1 1 1 "mountain" "^" 1 1 75 2.40000 1.20000 0 1 1.00000 4.00000 5 1 0 0 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 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 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 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 5 0 1 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 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 1 0 0 0 100 1
     Play#1 output Play#1 1 /34
     Play#1 output Play#1 6 0 0
     Play#1 input xdump ship-chr *
     Play#1 output Play#1 1 45 "resources"
     Play#1 output Play#1 1 46 "retreat-flags"
     Play#1 output Play#1 1 47 "sector-navigation"
-    Play#1 output Play#1 1 48 "ship-chr-flags"
-    Play#1 output Play#1 1 49 "country"
-    Play#1 output Play#1 1 /47
+    Play#1 output Play#1 1 48 "sect-chr-flags"
+    Play#1 output Play#1 1 49 "ship-chr-flags"
+    Play#1 output Play#1 1 50 "country"
+    Play#1 output Play#1 1 /48
     Play#1 output Play#1 6 0 0
     Play#1 input xdump version *
     Play#1 command xdump