diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9056c427b..5469e4e6c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -27,3 +27,8 @@ jobs:
echo codegen produced error
exit 1
fi
+ - name: Verify list.pl output
+ run: |
+ ls codegen | sort | grep -v codegen.out.xml > ls.out
+ perl ./list.pl | cut -d/ -f2 | sort > list.pl.out
+ diff ls.out list.pl.out
diff --git a/data-definition.xsd b/data-definition.xsd
index ffdbb3334..9a52a0323 100644
--- a/data-definition.xsd
+++ b/data-definition.xsd
@@ -119,6 +119,8 @@
+
+
diff --git a/df.advmode.xml b/df.advmode.xml
index decfb725d..8bee4f46e 100644
--- a/df.advmode.xml
+++ b/df.advmode.xml
@@ -490,7 +490,26 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -663,11 +682,12 @@
-
+
+
+
+
-
-
@@ -717,7 +737,7 @@
-
+
@@ -931,8 +951,8 @@
-
-
+
+
diff --git a/df.announcements.xml b/df.announcements.xml
index a348b0d56..7dd12caeb 100644
--- a/df.announcements.xml
+++ b/df.announcements.xml
@@ -421,10 +421,10 @@
-
+
-
-
+
+
@@ -435,6 +435,12 @@
+
+
+
+
+
+
diff --git a/df.art.xml b/df.art.xml
index 1d6da4b7c..510b927d1 100644
--- a/df.art.xml
+++ b/df.art.xml
@@ -13,7 +13,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
diff --git a/df.buildings.xml b/df.buildings.xml
index 7eee12be0..3f4a7a726 100644
--- a/df.buildings.xml
+++ b/df.buildings.xml
@@ -448,7 +448,7 @@
-
+
@@ -675,7 +675,7 @@
-
+
-- actual --
diff --git a/df.entities.xml b/df.entities.xml
index 60767c1e5..f5e657465 100644
--- a/df.entities.xml
+++ b/df.entities.xml
@@ -161,6 +161,8 @@
+
+
@@ -350,9 +352,9 @@
-
-
-
+
+
+
@@ -445,7 +447,7 @@
-
+
@@ -601,7 +603,7 @@
-
+
@@ -683,8 +685,8 @@
-
-
+
+
@@ -698,10 +700,10 @@
-
-
-
-
+
+
+
+
@@ -1326,8 +1328,8 @@
-
-
+
+
diff --git a/df.entity-raws.xml b/df.entity-raws.xml
index 782752f82..8fa8ddaba 100644
--- a/df.entity-raws.xml
+++ b/df.entity-raws.xml
@@ -251,7 +251,7 @@
-
+
diff --git a/df.globals.xml b/df.globals.xml
index ab1057147..94177feb3 100644
--- a/df.globals.xml
+++ b/df.globals.xml
@@ -202,9 +202,15 @@
-- .bss primitive
-
-
-
+
+
+
+
+
+
+
+
+
@@ -256,7 +262,6 @@
-
diff --git a/df.graphics.xml b/df.graphics.xml
index d2b0ad8c0..466207716 100644
--- a/df.graphics.xml
+++ b/df.graphics.xml
@@ -11,12 +11,53 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Using the color names without "dark" or "light", favoring primaries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
diff --git a/df.history.xml b/df.history.xml
index eda58bf77..cba50db58 100644
--- a/df.history.xml
+++ b/df.history.xml
@@ -83,6 +83,13 @@
+
+
+
+
+
+
+
@@ -146,6 +153,7 @@
+
@@ -161,8 +169,8 @@
only a guess since most of figures have 102 (STANDARD); some have stuff like CLERK, SCOUT, BEAST_HUNTER, etc
-
-
+
+
@@ -190,8 +198,8 @@
-
-
+
+
@@ -201,16 +209,16 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -227,25 +235,39 @@
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -258,15 +280,14 @@
+
+
-
-
+
@@ -281,8 +302,7 @@
-
-
+
@@ -290,7 +310,7 @@
-
+
@@ -308,7 +328,7 @@
-
+
@@ -334,15 +354,15 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -361,7 +381,15 @@
-
+
+
+
+
+
+
+
+
+
@@ -376,14 +404,16 @@
there's an unused dword here on 64-bit
-
-
-
+
+
+
- same exact struct as above
+ different from above - this might be wanted.unk
+
+ Constructor and save/load code handles the following 5 fields as if they were a compound, separate from the integer above
@@ -394,7 +424,7 @@
-
+
@@ -416,7 +446,7 @@
-
+
@@ -424,13 +454,13 @@
-
+
-
+
all 0xfff0bdc0 = -1000000
@@ -440,17 +470,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.viewscreen.xml b/df.viewscreen.xml
index 92694d17a..75b3c73a1 100644
--- a/df.viewscreen.xml
+++ b/df.viewscreen.xml
@@ -22,6 +22,13 @@
+
+
+
+
+
+
+
@@ -113,15 +120,15 @@
-
-
+
+
-
+
-
-
-
+
+
+
@@ -208,11 +215,48 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -892,7 +936,7 @@
?
-
+
@@ -946,15 +990,55 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2343,7 +2427,7 @@
advanced settings
-
+
@@ -2363,7 +2447,7 @@
create new world
-
+
@@ -2381,8 +2465,29 @@
-- v0.40.01
if set, the screen will "load the world params" the next tick and unset
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.world-site.xml b/df.world-site.xml
index 34d6bc5b4..acb237c89 100644
--- a/df.world-site.xml
+++ b/df.world-site.xml
@@ -146,7 +146,7 @@
-
+
@@ -409,8 +409,8 @@
-
-
+
+
@@ -984,7 +984,7 @@
-
+
@@ -1120,6 +1120,12 @@
+
+
+
+
+
@@ -1134,7 +1140,7 @@
-
+
diff --git a/df.world.xml b/df.world.xml
index 77935f1a5..155f3512b 100644
--- a/df.world.xml
+++ b/df.world.xml
@@ -1284,7 +1284,20 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1651,16 +1664,81 @@
was padding
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
diff --git a/list.pl b/list.pl
index 8798a843f..868835966 100644
--- a/list.pl
+++ b/list.pl
@@ -10,6 +10,7 @@
my $separator = $ARGV[2] || "\n";
print "$output_dir/static.inc";
+print "$separator$output_dir/global_objects.h";
for my $file (qw(ctors enums fields)) {
print "$separator$output_dir/static.$file.inc";
}
@@ -25,7 +26,9 @@
$doc->findnodes('/data-definition/enum-type'),
$doc->findnodes('/data-definition/bitfield-type'),
$doc->findnodes('/data-definition/struct-type'),
- $doc->findnodes('/data-definition/class-type')
+ $doc->findnodes('/data-definition/class-type'),
+ $doc->findnodes('/data-definition/df-linked-list-type'),
+ $doc->findnodes('/data-definition/df-other-vectors-type')
);
for my $node (@nodes) {