diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ba6b493509..66e2eb1ebf 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -4,7 +4,7 @@ ci:
repos:
# shared across repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v5.0.0
+ rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
@@ -20,11 +20,11 @@ repos:
args: ['--fix=lf']
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.30.0
+ rev: 0.37.4
hooks:
- id: check-github-workflows
- repo: https://github.com/Lucas-C/pre-commit-hooks
- rev: v1.5.5
+ rev: v1.5.6
hooks:
- id: forbid-tabs
exclude_types:
@@ -34,6 +34,6 @@ repos:
- json
# specific to df-structures:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v5.0.0
+ rev: v6.0.0
hooks:
- id: forbid-new-submodules
diff --git a/Bitfield.pm b/Bitfield.pm
index 2dfe43b628..40f0cb4de9 100644
--- a/Bitfield.pm
+++ b/Bitfield.pm
@@ -91,8 +91,8 @@ sub render_bitfield_core {
emit "static const bitfield_item_info bits[bit_count];";
} "template<> struct ${export_prefix}bitfield_$traits_name ", ";";
emit_block {
- emit "static bitfield_identity identity;";
- emit "static bitfield_identity *get() { return &identity; }";
+ emit "static const bitfield_identity identity;";
+ emit "static const bitfield_identity *get() { return &identity; }";
} "template<> struct ${export_prefix}identity_$traits_name ", ";";
header_ref("Export.h");
header_ref("DataDefs.h");
@@ -112,7 +112,7 @@ sub render_bitfield_core {
$lines[-1] =~ s/,$//;
} "const bitfield_item_info bitfield_${traits_name}::bits[bit_count] = ", ";";
- emit "bitfield_identity identity_${traits_name}::identity(",
+ emit "const bitfield_identity identity_${traits_name}::identity(",
"sizeof($full_name), ",
type_identity_reference($tag,-parent => 1), ', ',
"\"$name\", bitfield_${traits_name}::bit_count, bitfield_${traits_name}::bits);";
diff --git a/Common.pm b/Common.pm
index 2f14b5e927..c7fbccec00 100644
--- a/Common.pm
+++ b/Common.pm
@@ -177,13 +177,14 @@ my @primitive_type_list =
size_t ssize_t
s-float d-float
bool flag-bit
- padding static-string);
+ padding static-string static-wstring);
my %primitive_aliases = (
'ulong' => 'unsigned long',
's-float' => 'float',
'd-float' => 'double',
'static-string' => 'char',
+ 'static-wstring' => 'wchar_t',
'flag-bit' => 'void',
'padding' => 'void',
);
@@ -209,7 +210,8 @@ sub get_primitive_base($;$) {
if ($base =~ /u?int[136]?[2468]_t/) {
header_ref("cstdint");
}
- $primitive_types{$base} or die "Must be primitive: $base\n";
+
+ $base = primitive_type_name($base);
return $base;
}
diff --git a/Enum.pm b/Enum.pm
index 93be2b6c97..7058f8c351 100644
--- a/Enum.pm
+++ b/Enum.pm
@@ -90,8 +90,8 @@ sub render_enum_tables($$$$$$) {
with_emit_traits {
emit_block {
- emit "static enum_identity identity;";
- emit "static enum_identity *get() { return &identity; }";
+ emit "const static enum_identity identity;";
+ emit "const static enum_identity *get() { return &identity; }";
} "template<> struct ${export_prefix}identity_$traits_name ", ";";
header_ref("Export.h");
header_ref("DataDefs.h");
@@ -154,18 +154,18 @@ sub render_enum_tables($$$$$$) {
with_emit_traits {
emit_block {
- emit "static const bool is_complex = " . ($complex ? 'true' : 'false') . ";";
- emit "typedef $base_type base_type;";
- emit "typedef $full_name enum_type;";
- emit "static const base_type first_item_value = $base;";
- emit "static const base_type last_item_value = $last_value;";
+ emit "static constexpr bool is_complex = " . ($complex ? 'true' : 'false') . ";";
+ emit "using base_type = $base_type;";
+ emit "using enum_type = $full_name;";
+ emit "static constexpr base_type first_item_value = $base;";
+ emit "static constexpr base_type last_item_value = $last_value;";
# Cast the enum to integer in order to avoid GCC <= 4.5 assuming the value range is correct.
emit_block {
emit "return (value >= first_item_value && ",
"value <= last_item_value);";
} "static inline bool is_valid(base_type value) ";
- emit "static const enum_type first_item = (enum_type)first_item_value;";
- emit "static const enum_type last_item = (enum_type)last_item_value;";
+ emit "static constexpr enum_type first_item = (enum_type)first_item_value;";
+ emit "static constexpr enum_type last_item = (enum_type)last_item_value;";
emit "static const char *const key_table[", $count, "];";
if ($complex) {
emit "static const DFHack::enum_identity::ComplexData complex;";
@@ -175,7 +175,7 @@ sub render_enum_tables($$$$$$) {
for (my $i = 0; $i < @anames; $i++) {
emit "$atypes[$i] $anames[$i];";
}
- emit "static struct_identity _identity;";
+ emit "const static struct_identity _identity;";
} "struct attr_entry_type ", ";";
emit "static const attr_entry_type attr_table[", $count, "+1];";
emit "static const attr_entry_type &attrs(enum_type value);";
@@ -296,7 +296,7 @@ sub render_enum_tables($$$$$$) {
@field_defs = @field_meta;
} $entry_type;
- emit "struct_identity ${entry_type}::_identity(",
+ emit "const struct_identity ${entry_type}::_identity(",
"sizeof($entry_type), NULL, ",
type_identity_reference($tag), ', ',
"\"_attr_entry_type\", NULL, $ftable);";
@@ -306,7 +306,7 @@ sub render_enum_tables($$$$$$) {
$atable_meta = "&${entry_type}::_identity";
}
- emit "enum_identity identity_${traits_name}::identity(",
+ emit "const enum_identity identity_${traits_name}::identity(",
"sizeof($full_name), ",
type_identity_reference($tag,-parent => 1), ', ',
"\"$name\", TID($base_type), $base, ",
diff --git a/SYNTAX.rst b/SYNTAX.rst
index c9276e06d4..8258bc5aab 100644
--- a/SYNTAX.rst
+++ b/SYNTAX.rst
@@ -234,12 +234,28 @@ Primitive fields can be classified as following:
4) String::
+
These tags correspond to ``char[bytes]``, ``char*``, and ``std::string``.
-4) File Stream::
+5) Path::
+
+
+
+ This tag corresponds to ``std::filesystem::path`` and is used to
+ abstractly represent a path to a filesystem object in an
+ architecture-independent manner.
+
+6) Filesystem Time::
+
+
+
+ This tag correspond to ``std::filesystem::file_time_type`` and is used to represent
+ a filesystem time value in an architecture-independent manner.
+
+7) File Stream::
diff --git a/StructFields.pm b/StructFields.pm
index 2d73aa77fd..e2ae40d7fe 100644
--- a/StructFields.pm
+++ b/StructFields.pm
@@ -73,6 +73,18 @@ sub get_container_item_type($;%) {
}
}
+sub get_internal_item_type($;$;%) {
+ my ($tag, $type, %flags) = @_;
+ my @items = $tag->findnodes($type);
+ if (@items) {
+ return get_struct_field_type($items[0], -local => $in_struct_body, %container_flags, %flags);
+ } elsif ($flags{-void}) {
+ return $flags{-void};
+ } else {
+ die "Container without $type: $tag\n";
+ }
+}
+
sub get_variant_item_type($;%) {
my ($tag, %flags) = @_;
my ($rawtype) = $tag->getAttribute('raw-type');
@@ -115,6 +127,8 @@ my %custom_primitive_handlers = (
'stl-mutex' => sub { header_ref("mutex"); return "std::mutex"; },
'stl-condition-variable' => sub { header_ref("condition_variable"); return "std::condition_variable"; },
'stl-future' => sub { header_ref("future"); return "std::future"; },
+ 'stl-fs-path' => sub { header_ref("filesystem"); return "std::filesystem::path"; },
+ 'stl-fs-filetime' => sub { header_ref("filesystem"); return "std::filesystem::file_time_type"; },
);
my %custom_primitive_inits = (
@@ -125,6 +139,13 @@ my %custom_primitive_inits = (
add_simple_init "\"$cur_init_value\"";
}
},
+ 'stl-fs-path' => sub {
+ if (defined $cur_init_value) {
+ $cur_init_value =~ s/\\/\\\\/g;
+ $cur_init_value =~ s/\"/\\\"/g;
+ add_simple_init "\"$cur_init_value\"";
+ }
+ },
);
my %custom_container_handlers = (
@@ -144,6 +165,11 @@ my %custom_container_handlers = (
header_ref("set");
return "std::set<$item >";
},
+ 'stl-unordered-set' => sub {
+ my $item = get_container_item_type($_, -void => 'void*');
+ header_ref("unordered_set");
+ return "std::unordered_set<$item >";
+ },
'stl-bit-vector' => sub {
header_ref("vector");
return "std::vector";
@@ -155,18 +181,16 @@ my %custom_container_handlers = (
return "std::array<$item, $count>";
},
'stl-map' => sub {
- # TODO: implement get_container_key_type?
- my $key = 'void*';
- my $item = get_container_item_type($_, -void => 'void*');
+ my $key = get_internal_item_type($_, "key-type", -void => 'void*');
+ my $value = get_internal_item_type($_, "value-type", -void => 'void*');
header_ref("map");
- return "std::map<$key, $item>";
+ return "std::map<$key, $value>";
},
'stl-unordered-map' => sub {
- # TODO: implement get_container_key_type?
- my $key = 'void*';
- my $item = get_container_item_type($_, -void => 'void*');
+ my $key = get_internal_item_type($_, "key-type", -void => 'void*');
+ my $value = get_internal_item_type($_, "value-type", -void => 'void*');
header_ref("unordered_map");
- return "std::unordered_map<$key, $item>";
+ return "std::unordered_map<$key, $value>";
},
'stl-function' => sub {
my $item = get_container_item_type($_, -void => 'void');
@@ -271,6 +295,10 @@ sub get_struct_field_type($;%) {
my $count = $tag->getAttribute('size') || 0;
$prefix = "char";
$suffix = "[$count]";
+ } elsif ($subtype eq 'static-wstring') {
+ my $count = $tag->getAttribute('size') || 0;
+ $prefix = "wchar_t";
+ $suffix = "[$count]";
} elsif ($subtype eq 'padding') {
my $count = $tag->getAttribute('size') || 0;
my $alignment = $tag->getAttribute('alignment') || 1;
@@ -313,8 +341,9 @@ sub get_struct_field_type($;%) {
$prefix = get_container_item_type($tag, -weak => 1, -void => 'void')."*";
} elsif ($meta eq 'static-array') {
($prefix, $suffix) = get_container_item_type($tag);
+ header_ref("array");
my $count = get_container_count($tag);
- $suffix = "[$count]".$suffix;
+ $prefix = "std::array<$prefix,$count>";
} elsif ($meta eq 'primitive') {
local $_ = $tag;
my $handler = $custom_primitive_handlers{$subtype} or die "Invalid primitive: $subtype\n";
@@ -549,6 +578,9 @@ sub render_field_metadata_rec($$) {
if ($subtype eq 'static-string') {
my $count = $field->getAttribute('size') || 0;
push @field_defs, [ "${FLD}(STATIC_STRING, $name)", 'NULL', $count, $extra ];
+ } elsif ($subtype eq 'static-wstring') {
+ my $count = $field->getAttribute('size') || 0;
+ push @field_defs, [ "${FLD}(PRIMITIVE, $name)", 'NULL', $count, $extra ];
}
} elsif ($meta eq 'global' || $meta eq 'compound') {
if (is_attr_true($field, 'ld:enum-size-forced')) {
@@ -663,14 +695,14 @@ sub emit_struct_fields($$;%) {
with_emit_traits {
emit_block {
- emit "static $identity_type identity;";
- emit "static $identity_type *get() { return &identity; }";
+ emit "static const $identity_type identity;";
+ emit "static const $identity_type *get() { return &identity; }";
} "template<> struct ${export_prefix}$traits_name ", ";";
};
with_emit_static {
my $ftable = render_field_metadata $tag, $full_name, @fields, %info;
- emit "$identity_type ${traits_name}::identity(",
+ emit "const $identity_type ${traits_name}::identity(",
"sizeof($full_name), &allocator_fn<${full_name}>, ",
type_identity_reference($tag,-parent => 1), ', ',
"\"$name\", NULL, $ftable);";
@@ -699,13 +731,13 @@ sub emit_struct_fields($$;%) {
my $inherits = $flags{-inherits};
my $original_name = $tag->getAttribute('original-name');
- emit "static $identity_type _identity;";
+ emit "static const $identity_type _identity;";
with_emit_static {
local @simple_inits;
my @ctor_lines = with_emit {
if ($flags{-class}) {
- $ctor_args = "virtual_identity *_id";
+ $ctor_args = "const virtual_identity *_id";
$ctor_arg_init = " = &".$name."::_identity";
push @simple_inits, "$flags{-inherits}(_id)" if $flags{-inherits};
emit "_identity.adjust_vtable(this, _id);";
@@ -739,14 +771,14 @@ sub emit_struct_fields($$;%) {
my $ftable = render_field_metadata $tag, $full_name, @fields, %info;
if ($flags{-class}) {
- emit "virtual_identity ${full_name}::_identity(",
+ emit "const virtual_identity ${full_name}::_identity(",
"sizeof($full_name), &${alloc_fn}<${full_name}>, ",
"\"$name\", ",
($original_name ? "\"$original_name\"" : 'NULL'), ', ',
($inherits ? "&${inherits}::_identity" : 'NULL'), ', ',
"$ftable);";
} else {
- emit "$identity_type ${full_name}::_identity(",
+ emit "const $identity_type ${full_name}::_identity(",
"sizeof($full_name), &allocator_fn<${full_name}>, ",
type_identity_reference($tag,-parent => 1), ', ',
"\"$name\", ",
diff --git a/StructType.pm b/StructType.pm
index efa12cb37a..d9cfe1d002 100644
--- a/StructType.pm
+++ b/StructType.pm
@@ -223,6 +223,8 @@ sub render_struct_type {
my $has_methods = $is_class || is_attr_true($tag, 'has-methods');
my $inherits = $tag->getAttribute('inherits-from');
my $original_name = $tag->getAttribute('original-name');
+ my @codegen_override = $tag->findnodes('codegen-override');
+
my $ispec = '';
for my $extra ($tag->findnodes('extra-include')) {
@@ -252,71 +254,85 @@ sub render_struct_type {
register_ref $list_link_type, 0;
}
- with_struct_block {
- my $vmethod_emit = sub {
- my %info;
-
- emit_find_instance(%info, $tag);
-
- if ($list_link_type) {
- emit $list_link_type," *dfhack_get_list_link();";
- emit "void dfhack_set_list_link(",$list_link_type," *);";
- with_emit_static {
- emit_block {
- if ($list_link_field) {
- emit "return ",$list_link_field,";";
- } else {
- emit "return nullptr;";
- }
- } "$list_link_type *${typename}::dfhack_get_list_link()";
- emit_block {
- if ($list_link_field) {
- emit "this->",$list_link_field," = l;";
+ my @struct = with_emit {
+ with_struct_block {
+ my $vmethod_emit = sub {
+ my %info;
+
+ emit_find_instance(%info, $tag);
+
+ if ($list_link_type) {
+ emit $list_link_type," *dfhack_get_list_link();";
+ emit "void dfhack_set_list_link(",$list_link_type," *);";
+ with_emit_static {
+ emit_block {
+ if ($list_link_field) {
+ emit "return ",$list_link_field,";";
+ } else {
+ emit "return nullptr;";
+ }
+ } "$list_link_type *${typename}::dfhack_get_list_link()";
+ emit_block {
+ if ($list_link_field) {
+ emit "this->",$list_link_field," = l;";
+ }
+ } "void ${typename}::dfhack_set_list_link($list_link_type *l)";
+ };
+ }
+
+ if ($has_methods || $custom_methods) {
+ if ($custom_methods) {
+ local $indentation = 0;
+ emit '#include "custom/', $typename, '.methods.inc"';
+
+ my %name_index;
+ $info{cmethods} = [];
+ for my $method ($tag->findnodes('custom-methods/cmethod')) {
+ my $name = $method->getAttribute('name');
+ die "Custom method has no name in ".$typename."\n"
+ if not $name;
+ die "Duplicate custom method: $name in ".$typename."\n"
+ if exists $name_index{$name};
+ $name_index{$name} = 1;
+ push @{$info{cmethods}}, $method;
}
- } "void ${typename}::dfhack_set_list_link($list_link_type *l)";
- };
- }
+ }
- if ($has_methods || $custom_methods) {
- if ($custom_methods) {
- local $indentation = 0;
- emit '#include "custom/', $typename, '.methods.inc"';
-
- my %name_index;
- $info{cmethods} = [];
- for my $method ($tag->findnodes('custom-methods/cmethod')) {
- my $name = $method->getAttribute('name');
- die "Custom method has no name in ".$typename."\n"
- if not $name;
- die "Duplicate custom method: $name in ".$typename."\n"
- if exists $name_index{$name};
- $name_index{$name} = 1;
- push @{$info{cmethods}}, $method;
+ if ($is_class) {
+ my ($no_dtor, $vmethods) = render_virtual_methods $tag;
+ $info{nodtor} = $no_dtor;
+ $info{vmethods} = $vmethods;
+ } elsif (!$custom_methods) {
+ emit "~",$typename,"() {}";
}
}
- if ($is_class) {
- my ($no_dtor, $vmethods) = render_virtual_methods $tag;
- $info{nodtor} = $no_dtor;
- $info{vmethods} = $vmethods;
- } elsif (!$custom_methods) {
- emit "~",$typename,"() {}";
+ return %info;
+ };
+
+ emit_struct_fields($tag, $typename, -class => $is_class, -inherits => $inherits,
+ -addmethods => $vmethod_emit);
+
+ if ($field_backrefs{$typename}) {
+ for my $backref (@{$field_backrefs{$typename}}) {
+ register_ref $backref;
+ emit 'friend struct ' . fully_qualified_name($types{$backref}, $backref) . ';';
}
}
- return %info;
- };
-
- emit_struct_fields($tag, $typename, -class => $is_class, -inherits => $inherits,
- -addmethods => $vmethod_emit);
+ } $tag, "$typename$ispec", -export => 1;
+ };
- if ($field_backrefs{$typename}) {
- for my $backref (@{$field_backrefs{$typename}}) {
- register_ref $backref;
- emit 'friend struct ' . fully_qualified_name($types{$backref}, $backref) . ';';
- }
+ if (@codegen_override) {
+ my $using = $codegen_override[0]->getAttribute('using');
+ if ($using) {
+ emit "using $typename = $using;";
+ return;
}
- } $tag, "$typename$ispec", -export => 1;
+ }
+
+ emit $_ for @struct;
+
}
1;
diff --git a/changelog.txt b/changelog.txt
index 267a468539..5d3a1b54fd 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -19,16 +19,302 @@ Template for new versions:
# Future
## Structures
-
-# 51.02-r1
+- added support for overriding code generation for a specific type
+
+# 53.16-r1
+
+## Structures
+- added support for ``stl-fs-filetime`` representing ``std::filesystem::file_time_type``
+
+# 53.15-r3
+
+## Structures
+- changed codegen to use ``std::array`` for fixed-length arrays instead of C-style arrays
+
+# 53.15-r1
+
+## Structures
+- corrected return type on ``art_image_propertyst`` vmethod ``clone``
+
+# 53.13-r2
+
+## Structures
+- added a proper default for ``pool_id`` fields in several structures
+
+# 53.13-r1
+
+## Structures
+- filled in missing ``original-name`` attributes
+- fixed assorted typos in ``original-name`` attributes
+- ensured that ``original-name`` always appears after ``name`` or ``type-name``, never before
+- fixed several structure field type errors
+- specific changes: fixed ``building_constructionst.type`` to be 32-bit, along with the ``construction_type`` enum
+- specific changes: fixed ``contextst.interrogator_relationships`` to be a pointer to ``evidence_repositoryst``
+- specific changes: fixed ``actor_entryst.associated_org`` to contain pointers to ``organization_entryst``
+- specific changes: fixed ``justice_interfacest.interrogation_report`` to contain pointers to ``interrogation_report``
+- specific changes: fixed ``main_interface_settings.member`` to contain shared pointers to ``world_gen_param_valuest``
+- specific changes: fixed ``squad_equipment_interfacest.am_cand_subtype`` to contain ``int16_t``
+- specific changes: fixed ``startup_charactersheet_petst.race`` to be ``int32_t``
+- specific changes: fixed ``lookinfo_verminst.caste`` to be ``int16_t``
+- specific changes: fixed ``intrigue_corruption.facet_rating`` to be ``int16_t``
+- specific changes: fixed ``historical_entity.current_wgwg`` to be a direct pointer
+- specific changes: fixed ``historical_figure.worldgen_relationships`` to be a direct pointer
+- specific changes: fixed ``pmd_tree_texture_infost.texpos_tree_wood_tile`` to use correct array length (sized against the correct enum)
+- fixed several enums
+- specific changes: fixed ``build_square_type`` enum to add missing element ``OUTSIDE``
+- specific changes: swapped ``main_hover_instruction`` elements ``ADVENTURE_MOVE_DOWN_RAMP_E`` and ``ADVENTURE_MOVE_DOWN_RAMP_W``
+- added some missing enums and bitfields
+- specific changes: ``viewscreen_titlest.mode`` now uses new enum ``title_mode_type``
+- specific changes: ``viewscreen_worldst.squad_flag`` now uses new bitfield ``civlist_squad_flag``
+- specific changes: ``viewscreen_worldst.messenger_flag`` now uses new bitfield ``civlist_messenger_flag``
+- specific changes: fixed ``historical_entity.resources.art_image_types`` to use new ``entity_art_image_type`` enum
+- changed various fields to make use of existing enums and bitfields
+- specific changes: ``adventure_movement_movest.aim_attack_flag`` now uses ``aim_attack_flag`` bitfield
+- specific changes: ``adventure_movement_mountst.riderposition`` now uses ``rider_positions_type`` enum
+- specific changes: ``adventure_constructionst.building_jobitemflag`` now uses ``job_material_category`` bitfield
+- specific changes: ``adventure_constructionst.mat_jobitemflag`` now uses ``job_material_category`` bitfield
+- specific changes: ``adventure_constructionst.mat_jobitemflag_master`` now uses ``job_material_category`` bitfield
+- specific changes: ``building_defst.build_key`` now uses ``interface_key`` enum
+- specific changes: ``body_detail_plan.bp_layers_tissue`` now uses ``creature_interaction_effect_target_mode`` enum
+- specific changes: ``body_detail_plan.bp_position_value`` now uses ``body_part_position_type`` enum
+- specific changes: ``body_detail_plan.bp_relation_value_1`` now uses ``body_part_relation_type`` enum
+- specific changes: ``custom_stockpile_interfacest.cur_main_mode_flag`` now uses ``stockpile_group_set`` bitfield
+- specific changes: ``custom_stockpile_interfacest.main_mode_flag`` now uses ``stockpile_group_set`` bitfield
+- specific changes: ``name_creator_interfacest.cur_name_place`` now uses ``language_name_component`` enum
+- specific changes: ``name_creator_interfacest.cur_word_place`` now uses ``language_word_table_index`` enum
+- specific changes: ``dance_form_section.dance_flag`` now uses ``dance_flag`` bitfield
+- specific changes: ``evidence_hf_filest.evidence`` now uses ``evidence_type`` enum
+- specific changes: ``historical_entity.resources.scholar_flag`` now uses ``entity_scholar_flag`` bitfield
+- specific changes: ``interaction_effect_summon_unitst`` fields ``required_creature_flags`` and ``forbidden_creature_flags`` now use ``creature_raw_flags`` enum
+- specific changes: ``interaction_effect_summon_unitst`` fields ``required_caste_flags`` and ``forbidden_caste_flags`` now use ``caste_raw_flags`` enum
+- specific changes: ``interaction_effect_change_weatherst`` fields ``add_weather_flag`` and ``remove_weather_flag`` now use ``region_weather_bits`` bitfield
+- specific changes: ``creature_interaction_effect_body_transformationst`` fields ``required_creature_flags`` and ``forbidden_creature_flags`` now use ``creature_raw_flags`` enum
+- specific changes: ``creature_interaction_effect_body_transformationst`` fields ``required_caste_flags`` and ``forbidden_caste_flags`` now use ``caste_raw_flags`` enum
+- specific changes: ``unit_personality.habit`` now uses ``habit_type`` enum
+- specific changes: ``world_region_feature.vertical_connection`` now uses ``layer_connection_type`` enum
+- specific changes: ``site_construction_blueprintst`` fields ``construction_type`` and ``building_type`` now use ``building_type`` enum
+- specific changes: ``site_construction_blueprintst`` fields ``construction_jobitemflag`` and ``building_jobitemflag`` now use ``job_material_category`` bitfield
+- fixed various fields to use correct signedness
+- specific changes: ``building_weaponrackst.rack_flags`` is now unsigned
+- specific changes: ``temperaturest.fraction`` is now unsigned
+- specific changes: ``historical_entity`` fields ``did_wg_variable_position`` and ``did_wg_variable_market_position`` are now unsigned
+- specific changes: ``item_body_component`` fields ``nonsolid_remaining``, ``layer_wound_area``, ``layer_cut_fraction``, ``layer_dent_fraction``, and ``layer_effect_fraction`` are now signed
+- specific changes: ``unit_personality.traits`` is now signed
+- specific changes: ``rpd_indicator_datast`` fields ``marker_char``, ``marker_f``, ``marker_b``, and ``marker_br`` are now unsigned
+- specific changes: ``embark_note.tile`` is now unsigned
+- specific changes: ``world_population`` fields ``count_min``, ``count_max``, and ``temp_num`` are now unsigned
+- specific changes: ``world_site_realization.mini_colors`` is now unsigned
+- specific changes: ``unit.body.components`` fields ``nonsolid_remaining``, ``layer_wound_area``, ``layer_cut_fraction``, ``layer_dent_fraction``, and ``layer_effect_fraction`` are now signed
+- specific changes: ``unit.body`` fields ``blood_max`` and ``blood_count`` are now signed
+- specific changes: ``unit.counters`` fields ``pain``, ``nausea``, and ``dizziness`` are now signed
+- specific changes: ``unit`` fields ``uwss_alt_period``, ``uwss_alt_on_period``, ``uwss_speed_add``, ``uwss_speed_perc``, and ``uwss_skill_role_adjust`` are now signed
+- specific changes: ``unit.counters`` fields ``paralysis``, ``numbness``, ``fever``, ``exhaustion``, ``hunger_timer``, ``thirst_timer``, ``sleepiness_timer``, ``stomach_content``, ``stomach_food``, ``vomit_timeout``, and ``stored_fat`` are now signed
+- specific changes: ``unit.status2.liquid_depth`` are now signed
+- fixed various fields to use ``int8_t`` or ``bool`` as appropriate
+- specific changes: ``viewscreen_dwarfmodest.sideSubmenu`` is now ``bool``
+- specific changes: ``entity_raw`` fields ``likes_site``, ``tolerates_site``, ``start_biome``, ``settlement_biome``, and ``active_season`` are now ``bool``
+- specific changes: ``entity_raw.jobs.permitted_labor`` is now ``int8_t``
+- specific changes: ``graphicst`` fields ``do_clean_tile_cache`` and ``do_post_init_texture_clear`` are now ``bool``
+- specific changes: ``world_generatorst`` fields ``have_logged_parameters`` and ``last_used_valid`` are now ``bool``
+- other changes: added name to field ``cgl_itemst.item_type``
+- other changes: ``inclusion_type`` now has 16-bit base type (though nothing relies on it)
+- other changes: renamed ``adventure_interface_attackst.scrselected_item_idoll_position_wrestle`` to ``selected_item_id``
+- fixed base types of ``creature_sound_type``, ``creature_sound_method_type``, and ``art_image_property_verb``
+- assigned proper bitfield data type on ``agreement_details_data_plot_infiltration_coup.flags``
+- merged ``item_statue_graphics_type`` bitfield into ``item_statue_graphics_flag``
+- fixed several typos in ``original-name`` attributes
+
+# 53.11-r2
+
+## Structures
+- reordered XML attributes for consistency: ``ret-type``, ``base-type``, ``type-name``, and ``pointer-type`` now appear first (and in that exact order)
+
+# 53.11-r1
+
+## Structures
+- added codegen support for ``static-wstring`` (``wchar_t *``), required to support DF 53.11
+
+# 53.10-r2
+
+## Structures
+- added ``original-name`` attributes to all relevant objects
+- fixed numerous structure errors
+- specific changes: added NONE entries to many enum types (may affect C++ code using switch() statements): abstract_building_reputation_type, adopt_region_stage_type, artifact_claim_type, block_square_event_type, building_profile_acquisition_method, civzone_type, dance_form_context, dance_form_group_size, dance_form_move_type, divination_outcome_type, dungeon_type, dungeon_wrestle_type, embark_finder_option, environment_type, era_type, flow_type, genetic_modifier_type, hf_artifact_action_type, history_event_collection_type, incident_artifact_location_type, incident_type, incident_written_content_location_type, insurrection_outcome, interaction_flags, interaction_source_type, intrigue_corruption_method_type, inventory_profile_skill_type, inv_item_role_type, journey_type, language_name_category, language_name_component, language_word_table_index, load_game_stage_type, main_choice_type, misc_trait_type, musical_form_melody_frequency, musical_form_melody_style, musical_form_purpose, occasion_schedule_feature, occasion_schedule_type, occupation_type, personality_preference_type, plant_material_def, poetic_form_persona_type, poetic_form_persona_type, prepare_rod_stage_type, projectile_type, region_weather_type, report_zoom_type, resource_allotment_specifier_type, save_substage, scale_construction_type, scale_naming_type, scale_type, secretion_condition, simple_action_type, site_dispute_type, squad_order_cannot_reason, squad_order_type, tactical_situation, talk_choice_type, theft_method_type, timbre_type, travel_log_itinerary_type, workquota_frequency_type, world_construction_type, wrestle_attack_type
+- specific changes: assigned explicit "UNUSED" names to anonymous enum/bitfield members which are unused
+- specific changes: expanded ``builtin_mats`` to include 640 new elements for CREATURE_1-200, HIST_FIG_1-200, PLANT_1-200, and UNUSED01-40
+- specific changes: assigned proper placeholder names to ``interface_key`` section labels
+- specific changes: promoted several inline-defined types to top-level (intrigue_corruption_flag, job_posting_flag, unitproperyplacementst)
+- specific changes: ``plant_raw.stockpile_growth_flags`` now uses ``ras_crop_flag``
+- specific changes: added ``entity_raw_flags`` element "SIEGE_SKILLED_MINERS"
+- specific changes: added ``stockpile_category`` element "ALL"
+- specific changes: fixed structure layouts for ``adventure_interface_companionsst``, ``caste_raw``, ``entity_position_assignment``, ``message_order_to_perform_actionst``, and ``workshop_graphics_infost``
+- specific changes: renamed ``army_controller_goal_infiltrate_societyst`` field "agoal_ab_id" to "goal_ab_id"
+- specific changes: renamed ``creature_graphics_layer`` field "dye_color_iuse_palette_rowndex" to "use_palette_row"
+- specific changes: renamed ``entity_raw_flags`` enum member "MISSING_UNDERWORLD_DISASTERS" to "MINING_UNDERWORLD_DISASTERS"
+- specific changes: assigned proper names to ``hf_religious_datast.anon_1``, ``pet_profilest.anon_1``, and ``unit_vision_arcst.anon_1``
+- specific changes: renamed ``historical_entity`` field "unkarmy_reeling_defense" to "army_reeling_defense"
+- specific changes: renamed ``history_event_hf_learns_secretst`` field "interaction_effect" to "interaction_source"
+- specific changes: renamed ``item_craft_graphics_flag`` field "size" to "material"
+- specific changes: renamed ``lookinfo_spatterst`` field "extend" to "extent"
+- specific changes: renamed ``personality_ethicst`` field "reponse" to "response"
+- specific changes: renamed ``personality_facet_type`` enum member "PERSEVERENCE" to "PERSEVERANCE"
+- specific changes: renamed ``value_type`` enum member "PERSEVERENCE" to "PERSEVERANCE"
+- specific changes: renamed ``poetic_form_action`` enum member "MakeConsession" to "MakeConcession"
+- specific changes: renamed ``simple_action_type`` enum member "performe_horrible_experiments" to "performed_horrible_experiments"
+- specific changes: renamed ``stair_graphics_flag_material`` enum member "FOZEN" to "FROZEN"
+- specific changes: renamed ``timbre_type`` enum member "PURE\_" to "PURE"
+- specific changes: renamed ``tissue_style_type`` enum member "PONY_TAILS" to "PONY_TAIL"
+- specific changes: renamed ``unit`` field "job.siege_boulder" to "job.siege_builder"
+- specific changes: renamed ``unit`` field "pool_index" to "pool_id"
+- specific changes: renamed ``viewscreen_choose_start_sitest`` field "def_candidate_nearst" to "def_candidate_near_st"
+- specific changes: changed ``caste_raw.extracts.blood_state`` and ``caste_raw.extracts.pus_state`` to use the ``matter_state`` enum
+- specific changes: changed ``d_init.display.track_tile_invert`` and ``d_init.display.track_ramp_invert`` to use a bitfield
+- specific changes: changed ``interrogation_resultst.relationship_factor`` to use a new enum type (which DF itself actually isn't using yet due to a bug)
+- specific changes: changed ``intrigue_perspectivest.potential_corrupt_circumstance_target[]`` to contain ``circumstance_id`` unions instead of plain integers
+- specific changes: changed ``world.buildings.other.WINDOW_ANY`` to specify the correct element type
+- specific changes: changed ``world.items.other.BAG``, ``world.items.other.BOLT_THROWER_PARTS``, ``world.items.other.ANY_DRINK``, ``world.items.other.ANY_CRITTER``, and ``world.items.other.FOOD_STORAGE`` to specify the correct element types
+- specific changes: changed ``game.main_interface.last_displayed_hover_inst`` to use the ``main_hover_instruction`` enum
+- specific changes: changed ``world.raws.music.all[N].m_event[]`` and ``world.raws.music.all[N].context[]`` to hold enums
+- specific changes: changed ``widget_job_details_button.jb`` to correctly point at a ``job`` instead of a generic pointer
+- specific changes: changed ``world.worldgen_status.rejection_reason`` to use the ``map_reject_type`` enum
+- specific changes: changed ``world.history.first_[research]_flag[N]`` to use the various ``knowledge_scholar_flags_N`` bitfields
+- specific changes: changed the ``history_event`` vmethods ``getSentence`` and ``getPhrase`` to add 2 new boolean arguments (to which the game always passes "true, false")
+- specific changes: changed the ``interaction_target`` vmethod ``affects_unit`` first parameter from an integer to a unit pointer
+- specific changes: changed the ``item`` vmethod ``getGloveHandedness`` return type from int8_t to uint32_t
+- specific changes: changed the ``item`` vmethod ``getAmmoType`` to take no parameters and to return an ``std::string`` by value
+- specific changes: changed the ``item`` vmethod ``getDyeAmount`` to take an integer parameter
+- specific changes: changed the ``unit`` vmethod ``getCreatureTile`` to take a boolean parameter
+- specific changes: add ``ref-target`` attributes to various fields that were missing them, for use by ``gui/gm-editor`` and similar tools
+- specific changes: changed ``caste_raw.extracts.vermin_bite_chance`` to ``vermin_bite_state`` and changed its type to ``matter_state``
+- specific changes: changed ``ci_personal_reputation_profilest`` field ``entity_id`` to ``cultural_identity`` (now referring to a ``cultural_identity``)
+- specific changes: changed ``cultural_identity.events[]`` to ``cultural_identity.rumor_info.events[]``
+- specific changes: changed ``dance_form`` field ``entity`` to ``event`` (now referring to at a ``history_event``)
+- specific changes: changed ``dance_form_section`` field ``acts_out_civ`` to ``acts_out_event`` (now referring to a ``history_event``)
+- specific changes: changed ``entity_burial_request`` field ``civ`` to ``hfid`` (now referring to a ``historical_figure``)
+- specific changes: changed ``entity_pop_specifierst`` field ``squad_id`` to ``squad_enid`` (now referring to a ``historical_entity``)
+- specific changes: changed ``gps.color[x][y]`` to ``gps.default_palette.color[x*16+y]``
+- specific changes: changed ``history_event_modified_buildingst`` field ``modification`` to use a different bitfield ``abstract_building_tower_flag``
+- specific changes: changed ``itemdef_ammost``, ``itemdef_siegeammost``, ``itemdef_toolst``, ``itemdef_trapcompst``, and ``itemdef_weaponst`` fields "texpos" (and "texpos2") into longer lists of specific fields
+- specific changes: changed ``knowledge_profilest.known_events[]`` to ``knowledge_profilest.rumor_info.events[]``
+- specific changes: changed ``relationship_event_supplement`` integer field ``occasion_type`` to ``circumstance`` of type ``unit_thought_type`` (an enum)
+- specific changes: changed ``relationship_event_supplement`` integer field ``site`` to ``circumstance_id`` field of type ``circumstance_id`` (a union)
+- specific changes: changed ``relationship_event_supplement`` field ``profession`` to ``reason_id`` field of type ``history_event_reason_id``
+- specific changes: changed ``scholar_knowledge.knowledge_goal`` bitfield to a union of all ``knowledge_scholar_flags_N`` bitfields (selected by the value of ``scholar_knowledge.research_prject``)
+- specific changes: changed ``unit.enemy.rumor[]`` to ``unit.enemy.rumor_info.events[]``
+
+# 53.07-r1
+
+## Structures
+- updated codegen to generate enum trait constants as ``constexpr``
+
+# 53.06-r1
+
+## Structures
+- added missing field in history_event_artifact_createdst
+- fixed incorrect base class on widget_anchored_tile
+
+# 53.04-r1
+
+## Structures
+- several arrays indexed by enums have been recoded to use the enum's size to size the array so that these will automatically update when the enum is updated, reflecting Bay12 practice
+
+# 52.03-r2
+
+## Structures
+- added default values for ``material`` and ``mat_index`` in ``reaction_reagentst`` and ``reaction_productst`` child classes
+
+# 52.03-r1.1
+
+## Structures
+- fixed alignment issue in ``entity_raw``
+
+# 52.01-r1
+
+## Structures
+- removed fake ``curse`` compound in ``unitst`` to resolve an alignment issue
+
+# 51.07-r1
+
+## Structures
+- reorganize all structure definitions to match bay12 header layouts
+- promote all bay12 structures, enums, and bitfields to top-level types: this means that most ``T_*`` types now have top-level names
+- create numerous new structures whose contents had previously been missing or inlined into other structures
+- merged several duplicate structure/enum types
+- fix a variety of structure errors
+- specific changes: Building vmethod ``countHospitalSupplies`` now returns ``abstract_building_contents`` instead of ``hospital_supplies``, which has different field names
+- specific changes: When indexing into a vector named ``scribejobs``, replace ``item_id`` and ``written_content_id`` with ``target_id`` and ``relevant_id``
+- specific changes: ``conversation_state_type.DenyPermissionSleep`` is now ``SleepPermissionRequested``
+- specific changes: ``block_square_event_spoorst.[whatever]`` is now ``block_square_event_spoorst.info.[whatever]``
+- specific changes: ``building_stockpilest.max_*/container_*`` is now ``building_stockpilest.storage.max_*/container_*``
+- specific changes: ``building_civzonest.zone_settings.pen`` is now ``building_civzonest.zone_settings.pen.flags``
+- specific changes: ``building_civzonest.zone_settings.tomb`` is now ``building_civzonest.zone_settings.tomb.flags``
+- specific changes: ``building_bridgest.gate_flags.closed/closing/opening`` are now ``raised/raising/lowering``
+- specific changes: ``building_weaponst.gate_flags.closed/closing/opening`` are now ``retracted/retracting/unretracting``
+- specific changes: ``building.design.builder1/builder1_civ/builder2`` are now ``.worker/worker_create_event/curworker`` (and the 2nd is a History Event, not an Entity)
+- specific changes: ``stockpile_settings.allow_organic/allow_inorganic`` are now ``stockpile_settings.misc.allow_organic/allow_inorganic``
+- specific changes: ``world.busy_buildings[]`` is now ``world.building_uses.buildings[]``
+- specific changes: ``world.coin_batches`` is now ``world.coin_batches.all``
+- specific changes: ``spatter.flags.water_soluble`` is now ``external``
+- specific changes: ``creation_zone_pwg_alteration_campst.tent_matlgoss`` is now ``.tent_matgloss`` (spelling fix)
+- specific changes: ``world.raws.body_templates`` and ``world.raws.bodyglosses`` are now ``world.raws.creaturebody.*``
+- specific changes: ``world.raws.tissue_templates/body_detail_plans/creature_variations`` are now ``world.raws.*.all``
+- specific changes: ``material_force_adjustst.mat_indx`` is now ``mat_index`` (spelling fix)
+- specific changes: ``game.minimap.minimap[x][y]`` is now ``game.minimap.minimap[x][y].tile``
+- specific changes: ``historical_entity.relations.diplomacy[]`` is now ``historical_entity.relations.diplomacy.state[]``
+- specific changes: ``historical_entity.conquered_site_group_flags`` is now ``historical_entity.law.conquered_site_group_flags``
+- specific changes: ``world.effects`` is now ``world.effects.all``
+- specific changes: ``world.raws.entities`` is now ``world.raws.entities.all``
+- specific changes: ``site_type`` enum deleted, merged with ``world_site_type``
+- specific changes: ``world.event.dirty_waters[].*`` is now ``world.event.dirty_waters[].pos.*``
+- specific changes: ``death_condition_type`` enum replaced with ``histfig_body_state`` (notably in ``state_profilest.body_state``)
+- specific changes: ``history_hit_item``, ``history_event_reason_info``, and ``history_event_circumstance_info`` removed and substituted
+- specific changes: ``knowledge_profilest.known_locations.ab_review[]`` is now ``.reports[]`` (because ``.known_locations`` got merged with ``site_reputation_info``)
+- specific changes: ``world.raws.interactions[]`` is now ``world.raws.interactions.all[]``
+- specific changes: ``itemdef_instrumentst.registers/timbre`` are now ``itemdef_instrumentst.timbre.registers/timbre``
+- specific changes: ``dye_info`` removed and substituted
+- specific changes: ``job_art_specification`` removed and substituted
+- specific changes: ``entity_activity_statistics.discovered_(creature_foods/creatures/plant_foods/plants)`` is now ``entity_activity_statistics.knowledge.*``
+- specific changes: ``world.mandates[]`` is now ``world.mandates.all[]``
+- specific changes: ``creature_interaction_effect.counter_trigger.required`` is now ``creature_interaction_effect.counter_trigger.flag.bits.REQUIRED``
+- specific changes: ``creature_interaction_effect_target`` removed and substituted
+- specific changes: ``material_common`` removed, its contents prepended to ``material`` and ``material_template``
+- specific changes: ``world.raws.material_templates`` is now ``world.raws.material_templates.all``
+- specific changes: ``world.raws.syndromes`` is now ``world.raws.mat_table.syndromes``
+- specific changes: ``world.raws.effects`` is now ``world.raws.mat_table.effects``
+- specific changes: ``world.raws.inorganics`` is now ``world.raws.inorganics.all``
+- specific changes: ``world.raws.inorganics_subset`` is now ``world.raws.inorganics.cheap``
+- specific changes: ``plotinfo.main.selected_hotkey/in_rename_hotkey`` are now ``plotinfo.main.hotkey_interface.*``
+- specific changes: ``world.proj_list`` is now ``world.projectiles.all``
+- specific changes: ``general_ref_building_well_tag.direction`` is now a bitfield
+- specific changes: ``world_region_details.edges.(split_x/split_y)[][].x/y`` are now ``.break_one/break_two``
+- specific changes: ``world_population_ref.depth`` is now ``world_population_ref.layer_depth`` and is now an integer instead of an enum
+- specific changes: Bitfield ``region_weather_flag`` is now ``region_weather_bits`` (to avoid conflicts)
+- specific changes: Rhythm ``beat_flag`` realigned (``PrimaryAccent`` removed, because it wasn't really a unique flag)
+- specific changes: ``dipscript_info.script_steps/script_vars`` are now ``dipscript_info.script.steps/vars``
+- specific changes: ``script_step_discussst.event`` is now ``script_step_discussst.duration``
+- specific changes: ``script_step_dipeventst`` and ``script_step_invasionst`` fields renamed
+- specific changes: ``site_architecture_changest.spec_flag`` is now a tagged union
+- specific changes: ``squad.schedule[x][y]`` is now ``squad.schedule.routine[x].month[y]``
+- specific changes: ``world.unit_chunks`` is now ``world.unit_chunks.all``
+- specific changes: ``historical_entity.events[]`` is now ``historical_entity.rumor_info.events``
+- specific changes: ``world.enemy_status_cache.rel_map[x][y]`` is now ``world.enemy_status_cache.rel_map[x][y].ur``
+- specific changes: ``unit.curse.interaction_id/interaction_time/interaction_delay/time_on_site/own_interaction/own_interaction_delay`` are now ``unit.curse.interaction.*``
+- specific changes: ``unit.cached_glowtile_type`` is now ``unit.cache.cached_glowtile_type``
+- specific changes: ``unit_preference.active`` is now ``unit_preference.flags.visible``
+- specific changes: ``witness_report_flags`` replaced with correct flags
+- specific changes: ``caste_body_info.clothing_items.[]`` is now ``caste_body_info.clothing_items.bp[]``
+- specific changes: ``plant_tree_tile.branches_dir`` enum collapsed into 4 simple flags
+- specific changes: ``world.populations`` is now ``world.populations.all``
+- specific changes: ``world_data.constructions.map[x][y][N]`` is now ``world_data.constructions.map[x][y].square[N]``
+- specific changes: ``world.family_info[]`` is now ``world.family_info.family[]``
+- specific changes: ``world.fake_world_info[]`` is now ``world.fake_world_info.language[]``
+- specific changes: ``world.selected_direction`` is now ``world.selected_direction[0]`` (and there are 3 additional entries)
# 50.15-r2
## Structures
- fixed incorrect vtable address for ``widget`` superclass on Linux
-# 50.15-r1
-
# 50.14-r2
## Structures
@@ -42,8 +328,6 @@ Template for new versions:
# ``widget``: changed ``visibility_flag`` to ``flag`` (matching DF internal name)
# added new keybindings for 50.14
-# 50.13-r5
-
# 50.13-r4
## Structures
@@ -60,10 +344,6 @@ Template for new versions:
- added several bay12 exported entry points to list of known globals
- canonicalized a wide swath of type names, field names, and structure organization to match DF's internal names and organization. fields that already had useful names were largely left alone, but all ``unk``, ``anon``, and other "placeholder" names have been changed. structures that differed from reality were also corrected (e.g. collections of fields that were actually substructures and vice versa).
-# 50.13-r2
-
-# 50.13-r1.1
-
# 50.13-r1
## Structures
@@ -76,8 +356,6 @@ Template for new versions:
- ``unit_action_data_attack`` (``unit_move_attackst``): identify flags
- ``job_type``: new job class type: "Carving" (for smoothing and detailing)
-# 50.12-r2.1
-
# 50.12-r2
## Structures
@@ -86,8 +364,6 @@ Template for new versions:
- ``unit``: identify and define many previously unknown fields, types, and enums
- ``activity_event``: identify fields and type values
-# 50.12-r1
-
# 50.11-r7
## Structures
@@ -117,8 +393,6 @@ Template for new versions:
- ``viewscreen_choose_start_sitest``: fix structure of warning flags -- convert series of bools to a proper bitmask
- ``feature_init_flags``: more enum values defined
-# 50.11-r4
-
# 50.11-r3
## Structures
@@ -138,8 +412,6 @@ Template for new versions:
## Structures
- add new global: ``start_dwarf_count``
-# 50.10-r1
-
# 50.09-r4
## Structures
@@ -171,8 +443,6 @@ Template for new versions:
- ``abstract_building_libraryst``: initialize unknown variables as DF does
- ``misc_trait_type``: realign
-# 50.08-r3
-
# 50.08-r2
## Structures
@@ -232,8 +502,6 @@ Template for new versions:
## Structures
- added missing tiletypes and corrected a few old ones based on a list supplied by Toady
-# 50.05-alpha3.1
-
# 50.05-alpha3
## Structures
diff --git a/codegen.pl b/codegen.pl
index 874fdedd9d..ad2edbe372 100755
--- a/codegen.pl
+++ b/codegen.pl
@@ -36,14 +36,17 @@ BEGIN
my $parser = XML::LibXML->new();
my $xslt = XML::LibXSLT->new();
my @transforms =
- map { $xslt->parse_stylesheet_file("$script_root/$_"); }
+ map { [ $_, $xslt->parse_stylesheet_file("$script_root/$_") ]; }
('lower-1.xslt', 'lower-2.xslt');
my @documents;
for my $fn (sort { $a cmp $b } bsd_glob "$input_dir/df.*.xml") {
local $filename = $fn;
my $doc = $parser->parse_file($filename);
- $doc = $_->transform($doc) for @transforms;
+ for my $t (@transforms) {
+# print "Applying transform ", $t->[0], " to $filename\n";
+ $doc = $t->[1]->transform($doc);
+ }
push @documents, $doc;
add_type_to_hash $_ foreach $doc->findnodes('/ld:data-definition/ld:global-type');
@@ -151,7 +154,7 @@ BEGIN
emit "INIT_GLOBAL_FUNCTION_PREFIX";
for my $item (@items) {
- emit "INIT_GLOBAL_FUNCTION_ITEM(", $item->[0], ', ', $item->[1], ");";
+ emit "INIT_GLOBAL_FUNCTION_ITEM(", $item->[1], ', ', $item->[0], ");";
}
} "void InitGlobals() ";
} "namespace global ";
diff --git a/data-definition.xsd b/data-definition.xsd
index a327619dad..0870d720b2 100644
--- a/data-definition.xsd
+++ b/data-definition.xsd
@@ -13,6 +13,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -57,6 +67,8 @@
+
+
@@ -113,14 +125,13 @@
+
-
-
@@ -132,6 +143,7 @@
+
@@ -144,9 +156,6 @@
-
-
-
@@ -177,8 +186,6 @@
-
-
@@ -221,6 +228,7 @@
+
@@ -232,6 +240,8 @@
+
+
@@ -242,6 +252,7 @@
+
@@ -283,6 +294,8 @@
+
+
@@ -294,6 +307,8 @@
+
+
@@ -379,6 +394,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -410,10 +437,13 @@
-
-
-
-
+
+
+
+
+
+
+
@@ -545,6 +575,14 @@
+
+
+
+
+
+
+
+
@@ -578,6 +616,8 @@
+
+
@@ -594,6 +634,8 @@
+
+
diff --git a/df.abstract_building.xml b/df.abstract_building.xml
new file mode 100644
index 0000000000..34d0744211
--- /dev/null
+++ b/df.abstract_building.xml
@@ -0,0 +1,300 @@
+
+ bay12: LOCATION_INFO_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ the following is not saved:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LocationDeathType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: struct blueprintst
+ -- Unused: struct gbp_element_groupst
+ -- Unused: struct general_blueprintst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AbstractBuildingOrderType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (find-by-id $(find-instance $world_site $$).buildings $id $)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ABSTRACT_BUILDING_TOWER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AB_UNDERWORLD_SPIRE_FLAG_*
+
+
+
+
+
+
+
+
+ -- Inline union - not a real structure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.activity.xml b/df.activity.xml
new file mode 100644
index 0000000000..9b5eb9afd0
--- /dev/null
+++ b/df.activity.xml
@@ -0,0 +1,989 @@
+
+
+
+
+
+
+
+
+
+
+ -- Seemingly units that are free to be grouped
+ -- away into subevents or sparring pairs.
+
+
+
+ -- Holder event
+
+
+
+
+ bay12: ActivityEventItemRoleType
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_ITEM_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ActivityEventBuildingRoleType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ???
+
+
+
+
+ bay12: ACTIVITY_EVENT_FLAG_*
+
+
+
+
+ bay12: ActivityEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (let ((activity (find-instance $activity_entry $$)))
+ (find-by-id $activity.events $event_id $))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HARASSMENT_TARGET_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HarassmentStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EncounterUnitStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENCOUNTERFLAG_ITEM_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_REUNION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ depends on conversation choice
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ConversationStateType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_CONVERSATION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PERFORMANCE_ROLE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_READ_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_WRITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_COPY_WRITTEN_CONTENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: DanceSnapshotType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_MAKE_BELIEVE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_PLAY_WITH_TOY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTIVITY_EVENT_PERFORMANCE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ActivityType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DUNGEON_CONTEXT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.activity_meeting.xml b/df.activity_meeting.xml
new file mode 100644
index 0000000000..ff80e75c97
--- /dev/null
+++ b/df.activity_meeting.xml
@@ -0,0 +1,27 @@
+
+ bay12: ACTIVITYFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.adventure.xml b/df.adventure.xml
new file mode 100644
index 0000000000..65916eefaf
--- /dev/null
+++ b/df.adventure.xml
@@ -0,0 +1,1021 @@
+
+ bay12: SoundIndicatorType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SOUND_INDICATOR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureViewModes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: DungeonAttackModes
+ -- Unused: DungeonDodgeModes
+ -- Unused: DungeonChargeDefendModes
+ -- Unused: DungeonSwimModes
+ -- Unused: DungeonInvOption
+ -- Unused: DUNGINVFLAG_*
+
+
+
+
+
+ bay12: AdventureOptionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureInterfaceOptionListContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for "pick up vermin":
+
+ the first argument is set to the vermin index if an item was allocated and this was the last vermin of its type
+ the second argument is set to true if an item was allocated, false otherwise
+ the third argument is set to true if the second argument is false
+ the first and third arguments are not changed in all other cases
+ returns an item_verminst pointer
+
+ for all other types (as of 0.47.04):
+
+ does not modify arguments 1 and 2
+ argument 3 is set to true if a fire was started
+ returns nullptr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ADVENTURE_OPTION_INVENTORY_ITEM_OPTION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: talk_list_optionst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureWorkType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureConstructionModeType
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_EDIT_ZONE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: AdventureTravelCheckType
+
+ bay12: ADVENTURE_RUMOR_DATA_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TRACKING_FLAG_*
+
+
+
+
+
+ bay12: ADVENTURE_FLAG_*
+
+
+
+
+ bay12: ADVENTURE_CHOSEN_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureTravelExceptionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NOT -1
+
+
+ bay12: AdventureGameLoopType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Coordinates of the player on the map when the travel screen is opened. Determine the displayed position whilst travel_not_moved is set
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+ ?
+
+ ?
+
+
+
+
+ Coordinates of the player on the map right after their first fast travel move
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.adventure_log.xml b/df.adventure_log.xml
new file mode 100644
index 0000000000..ba118f980b
--- /dev/null
+++ b/df.adventure_log.xml
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureLogEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureLogModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.advmode.xml b/df.advmode.xml
deleted file mode 100644
index 7ac5102aa3..0000000000
--- a/df.advmode.xml
+++ /dev/null
@@ -1,1402 +0,0 @@
-
- bay12: AdventureViewModes
-
- MAIN
- LOOK
- CONVERSATION_START_NEW
- CONVERSATION_LIST
- CONVERATION_TALK
- INVENTORY_LOOK
- INVENTORY_DROP
- INVENTORY_THROW
- INVENTORY_WEAR
- INVENTORY_REMOVE
- INVENTORY_INTERACT
- INVENTORY_PUTIN
- INVENTORY_PUTIN2
- INVENTORY_EATDRINK
- THROW
- SHOOET
- PICUP
- PICKUP_AMOUNT
- COMBAT
- COMPANIONS
- MOVEMENT
- SPEED_SNEAK
- INTERACT
- MOVE
- ANNOUNCEMENTS
- REGION_MAIN
- REGION_SLEEP
- SPOOR
- SLEEP_CONFIRM
- INTERACTION_TARGET
- REACTION_MOMENT_NO_ATTACKER
- LOOK_SPOOR
- ATTACKCREATURE_UNIT_CHOICE
- ATTACKCREATURE_CONFIRM
- ATTACKCREATURE_MOVE_CHOICE
- ATTACKCREATURE_AIM_TARGET
- ATTACKCREATURE_AIM_ATTACK
- ATTACKCREATURE_PARRY_CHOICE
- ATTACKCREATURE_BLOCK_CHOICE
- ATTACKCREATURE_DODGE_CHOICE
- START_PERFORMANCE
- MOVE_CONFIRM
- CONSTRUCTION
- ASSUME_IDENTITY
- NAME_ITEM
- BECOME_COMPANION
- COMPANION_TACTICAL_SETTINGS
-
-
- bay12: ConversationChoiceType
- 0
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
- 20
-
-
-
-
-
-
-
-
-
-
- 30
-
-
-
-
-
-
-
-
-
-
- 40
-
-
-
-
-
-
-
-
-
-
- 50
-
-
-
-
-
-
-
-
-
-
- 60
-
-
-
-
-
-
-
-
-
-
- 70
-
-
-
-
-
-
-
-
-
-
- 80
-
-
-
-
-
-
-
-
-
-
- 90
-
-
-
-
-
-
-
-
-
-
- 100
-
-
-
-
-
-
-
-
-
-
- 110
-
-
-
-
-
-
-
-
-
-
- 120
-
-
-
-
-
-
-
-
-
-
- 130
-
-
-
-
-
-
-
-
-
-
- 140
-
-
-
-
-
-
-
-
-
-
- 150
-
-
-
-
-
-
-
-
-
-
- 160
-
-
-
-
-
-
-
-
-
-
- 170
-
-
-
-
-
-
-
-
-
-
- 180
-
-
-
-
-
-
-
-
-
-
- 190
-
-
-
-
-
-
-
-
-
-
- 200
-
-
-
-
-
-
-
-
-
-
- 210
-
-
-
-
-
-
-
-
-
-
- 220
-
-
-
-
-
-
-
-
-
-
- 230
-
-
-
-
-
-
-
-
-
-
- 240
-
-
-
-
-
-
-
-
-
-
- 250
-
-
-
-
-
-
- bay12: AssumeIdentityMenuModeType
-
-
-
-
-
-
-
-
- bay12: AdventureDesireStateType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AdventureWorkType
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ADVENTURE_RUMOR_DATA_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AdventureConstructionModeType
-
-
-
-
-
-
-
-
-
-
- bay12: AdventureTravelException
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NOT -1
-
-
- bay12: SoundIndicatorType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Coordinates of the player on the map when the travel screen is opened. Determine the displayed position whilst travel_not_moved is set
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TRACKING_FLAG_*
-
-
-
-
-
-
-
-
-
- bay12: bse_spoor_datast
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ADVENTURE_FLAG_*
-
-
-
-
- bay12: ADVENTURE_CHOSEN_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: adventure_rumor_infost
-
-
-
-
-
-
-
-
- bay12: adventure_constructionst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AC_EDIT_ZONE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?
- ?
-
- ?
-
-
-
-
- Coordinates of the player on the map right after their first fast travel move
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AdventureGameLoopType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: reaction_moment_interfacest
-
-
-
-
-
-
-
-
-
- bay12: sound_indicator_handlerst
-
-
-
-
-
-
- bay12: SOUND_INDICATOR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CombatAnimationSwishType
-
-
-
-
-
-
-
- bay12: CombatAnimationSwishDirectionType
-
-
-
-
-
-
-
-
-
-
-
- bay12: PerformanceMenuChoiceType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AdventureOptionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- for "pick up vermin":
-
- the first argument is set to the vermin index if an item was allocated and this was the last vermin of its type
- the second argument is set to true if an item was allocated, false otherwise
- the third argument is set to true if the second argument is false
- the first and third arguments are not changed in all other cases
- returns an item_verminst pointer
-
- for all other types (as of 0.47.04):
-
- does not modify arguments 1 and 2
- argument 3 is set to true if a fire was started
- returns nullptr
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ADVENTURE_OPTION_INVENTORY_ITEM_OPTION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.agreement.xml b/df.agreement.xml
new file mode 100644
index 0000000000..47ddcef9f9
--- /dev/null
+++ b/df.agreement.xml
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AgreementSubjectType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Here be unions!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AGREEMENT_SUBJECT_BUILD_LOCATION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AGREEMENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.alert_state.xml b/df.alert_state.xml
new file mode 100644
index 0000000000..7198b8a4f5
--- /dev/null
+++ b/df.alert_state.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.50.01
+
+
+
+
+
+
+
diff --git a/df.announcement.xml b/df.announcement.xml
new file mode 100644
index 0000000000..f4f7896c76
--- /dev/null
+++ b/df.announcement.xml
@@ -0,0 +1,216 @@
+
+ bay12: ANNOUNCEMENT_INFO_FLAG_*
+
+
+
+ bay12: AnnouncementLocationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ANNOUNCEMENTFLAG_*
+
+
+
+
+
+
+
+
+
+
+ $.text
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: COMBAT_EVENT_STRIKE_INTRO_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: CombatEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- here be unions!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: REPORT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ANNOUNCEMENT_TEMP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.army.xml b/df.army.xml
new file mode 100644
index 0000000000..51a5f6d89c
--- /dev/null
+++ b/df.army.xml
@@ -0,0 +1,109 @@
+
+ bay12: ArmyFlag
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ArmyGoalType
+
+
+
+
+
+
+ bay12: ARMY_NEMESIS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.army_controller.xml b/df.army_controller.xml
new file mode 100644
index 0000000000..95f9c17c3a
--- /dev/null
+++ b/df.army_controller.xml
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TRIBUTE_REPORT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MISSION_REPORT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArmyControllerGoalType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InvasionIntentType
+
+
+
+
+
+
+
+
+
+
+ bay12: InvasionStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_CAMP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_RECOVER_ARTIFACT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_PERFORM_TASK_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_ASSASSINATE_HF_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_ABDUCT_HF_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_SABOTAGE_ENTITY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_RESCUE_HF_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_MAKE_REQUEST_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: DiplomacyTopicType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_DIPLOMACY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_HUNTING_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_HARASS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_PATROL_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_POSSE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CONNECTED_HAMLET_SITE_FLAG_*
+
+
+
+ bay12: AC_GOAL_SITE_INVASION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_MOVE_TO_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_RECLAIM_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: AC_GOAL_CREATE_NEW_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ARMY_CONTROLLER_FLAG_*
+
+
+
+
+
+
+
+ Some army_controller research notes:
+ t1: All seen NomadicGroup. master = group boss, general = leader of army (with troops) referencing controller. Purpose and action unknown.
+
+ An InvasionOrder (2) is generated at the start of the season, shortly followed by an army that references an Invasion controller. The army disappears from the armies.all
+ vector once it enters the embark.
+
+ Invasion (4) has been seen via InvasionOrder army_controllers' armies, but only player fortress attacks have been studied. Prior to the army appears in the armies.all vector this controller
+ seems to be available via the army_controllers.all vector referencing the the InvasionOrder via unk_34.
+
+ t5: unk_34 seen referencing Invasion (4) and unk_38 referencing t5 (player fortress) or t7, disappearing when an army is generated (at least for player fortress).
+
+ Visit (12) appears in the army_controller vector only very briefly before legitimate visitors arrive, and is also used for exiled residents.
+
+ Quest (17) doesn't seem to contain any useful info except the site_id, time, and the artifact_id, in particular not anything that looks like
+ references to the questers themselves or their employer. However, prior to arriving at the site, armies in armies.all can reference the controller, and the army members
+ seem to match the questers that show up shortly thereafter, looking for the indicated artifact. As with InvasionOrder armies, quester armies disappear on embark arrival.
+
+ VillainousVisit (24): Villainous visitors. Legitimate ones use Visit army controllers, but only until they arrive, while villainous ones linger.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.army_tracking_info.xml b/df.army_tracking_info.xml
new file mode 100644
index 0000000000..aa40c12ccf
--- /dev/null
+++ b/df.army_tracking_info.xml
@@ -0,0 +1,42 @@
+
+ bay12: ARMY_TRACKING_INFO_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.art.xml b/df.art.xml
deleted file mode 100644
index 95d2f53f36..0000000000
--- a/df.art.xml
+++ /dev/null
@@ -1,1174 +0,0 @@
-
- bay12: ArtImageElement
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ArtImageProperty
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ArtImageActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ArtFacet
-
-
-
-
-
-
-
- $(find-instance $art_image_chunk $$).images[$]
- (describe-obj $.name)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PoeticIntentType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A - even, B - uneven for tone patterns, A - unstressed, B - stressed for accent patterns
- bay12: PoeticStressType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PoeticCaesuraType
-
-
-
-
-
-
- bay12: PoeticStyleType
-
-
-
-
-
-
-
-
-
-
- bay12: PoeticSubjectType
- "a chosen subject"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "a historical figure" or a specific figure
- "an abstract concept" or a specific concept
-
-
-
-
-
-
-
-
-
-
-
- bay12: POETIC_FORM_LINE_FLAG_*
-
-
-
-
-
- "different readings depending on word breaks"
- "can be read backwards as well as forwards"
- "can be read orthogonally across the standard lines"
- "emerge when reading along certain prescribed paths across the body of the poem"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PoeticParallelismType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "originating in ..."
- "originally devised by ..."
-
-
-
-
-
-
-
-
-
-
-
-
-
- "certain lines often ... and they sometimes ..."
-
-
-
-
- "is a narrative/... poetic form"
-
-
-
-
-
-
-
-
- "use of ... is characteristic of the form" or "must feature lines which ..."
-
-
-
-
-
-
-
- "line, couplet, tercet" if set, "brief verse paragraphs"/"full verse paragraphs" otherwise
-
-
-
-
- "has X to Y couplets/..."
-
-
-
- size_in_lines is set: line, couplet, tercet, quatrain, quintain, etc.
- size_in_lines is not set: "brief verse" if less than 6, otherwise "full verse"
-
-
-
-
-
-
- "the Nth line has XX feet"
-
-
-
-
-
-
-
-
- "first line must make use of ..."
-
-
-
-
- "The XX line ZZ of ... on YY line"
- ZZ
-
-
- YY
- XX
-
-
-
-
-
-
-
-
-
-
-
-
-
- "it has lines with ... syllables"
- "it has lines with a tone/accent pattern of ..."
-
- "it has ... caesura in each line"
-
-
- "certain lines have ..." same as additional_features above
-
-
-
-
-
-
-
-
-
-
-
-
-
- "written from the perspective of ..."
- bay12: PoeticFormPersonaType
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MusicalFormIntentType
-
-
-
-
-
-
- bay12: MusicalDynamicType
-
-
- -- tempo styles
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
- -- 20
- -- dynamic styles
-
-
-
-
-
-
-
-
-
-
- -- 30
-
- -- more tempo styles
-
-
-
- -- overall styles
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
-
-
-
- -- 50
-
-
-
-
-
-
-
-
-
-
- -- 60
-
-
-
-
-
-
-
-
-
-
- -- 70
-
-
-
-
- bay12: HarmonicStructureType
-
-
-
-
-
-
-
-
- bay12: MUSICAL_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: VoiceRoleType
-
-
-
-
-
-
-
- bay12: MusicalPassageType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: VoicePhraseLengthType
-
-
-
-
-
-
-
- bay12: MelodyPatternType
-
-
-
-
-
-
- bay12: MelodyFrequencyType
-
-
-
-
-
-
-
- bay12: MELODY_ACCIDENTAL_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MUSICAL_FORM_VOICE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MUSICAL_FORM_FLAG_*
-
-
-
-
-
- bay12: DancePurposeType
-
-
-
-
-
-
-
-
- bay12: DanceGroupingType
-
-
-
-
-
- bay12: DanceGroupShapeType
-
-
-
-
-
-
-
-
- bay12: DanceLineOfDanceType
-
-
-
-
-
-
-
- bay12: DanceConnectionDistanceType
-
-
-
-
-
-
- bay12: DanceConnectionTensionType
-
-
-
-
-
-
-
-
-
- bay12: DanceConnectionTimeType
-
-
-
-
-
- bay12: DanceGroupDynamicType
-
-
-
-
-
-
-
- bay12: DanceComponentType
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
- bay12: DanceComponentAdjectiveType
-
- -- 0
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
- bay12: DANCE_COMPONENT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: DANCE_MOVE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: DANCE_FORM_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: DANCE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ScaleFoundationType
-
-
-
-
-
-
-
-
-
- bay12: SCALE_CHORD_FLAG_*
-
-
-
-
- bay12: ScaleConstructionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ScaleNamingType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: SCALE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: RHYTHM_FLAG_*
-
-
-
-
-
- bay12: RHYTHM_BEAT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: RHYTHM_CONSTRUCTION_PATTERN_FLAG_*
-
-
-
-
-
-
-
-
- bay12: RHYTHM_CONSTRUCTION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ServiceOrderType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.art_image.xml b/df.art_image.xml
new file mode 100644
index 0000000000..c21f79e6d7
--- /dev/null
+++ b/df.art_image.xml
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArtImageProperty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(find-instance $art_image_chunk $$).images[$]
+ (describe-obj $.name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.battlefield.xml b/df.battlefield.xml
new file mode 100644
index 0000000000..46c7bb0fe7
--- /dev/null
+++ b/df.battlefield.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.belief_system.xml b/df.belief_system.xml
new file mode 100644
index 0000000000..fbf0e405ad
--- /dev/null
+++ b/df.belief_system.xml
@@ -0,0 +1,38 @@
+
+ bay12: StoryFrameRelationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SAVE_VALUENUM
+
+
+
+
+
+
+
+
+
diff --git a/df.block.xml b/df.block.xml
new file mode 100644
index 0000000000..f44cf8efde
--- /dev/null
+++ b/df.block.xml
@@ -0,0 +1,424 @@
+
+ bay12: BLOCKFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BlockSquareEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MINERAL_EVENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BLOCK_SQUARE_EVENT_ITEM_SPATTER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BSESpoorType, defined as uint8_t but that won't work here because of NONE
+
+
+
+
+
+
+
+ bay12: BSE_SPOOR_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: BSE_SPOOR_FLAG_DIR_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BSE_SPOOR_FLAG_LEVEL_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: tlink{burrow_blockst}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is compared to unit.animal.population.depth when a revealed
+ necromancer searches for a map edge tile to run away to:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ flood; 256*cost for straight, 362*cost for diagonal
+
+
+
+
+
+ flood; sync to path_distance; same value; inc per run; reset to 0 on wraparound
+
+
+
+
+
+ 0 = non-walkable; same nonzero at A and B = walkable from A to B
+
+
+
+
+
+ 1 at walkable map edge; then +1 per 10 tiles it seems; 0 in dug tunnels
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CAVE_COLUMN_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CAVE_COLUMN_RECTANGLE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BlockColumnFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.breed.xml b/df.breed.xml
new file mode 100644
index 0000000000..be45990968
--- /dev/null
+++ b/df.breed.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/df.building-raws.xml b/df.building-raws.xml
deleted file mode 100644
index a2cb02108b..0000000000
--- a/df.building-raws.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
- $.code
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.building-vectors.xml b/df.building-vectors.xml
deleted file mode 100644
index 7375e1fda0..0000000000
--- a/df.building-vectors.xml
+++ /dev/null
@@ -1,971 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- -- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 98 different civzone subtypes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- everything but stockpile and civzone
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- speculated
-
-
-
-
- -- speculated
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 21
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 33
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 43
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 53
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 63
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 73
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 83
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.building.xml b/df.building.xml
new file mode 100644
index 0000000000..67725eb3f0
--- /dev/null
+++ b/df.building.xml
@@ -0,0 +1,3017 @@
+
+ -- Unknown enum
+ bay12: ???
+
+
+
+
+
+
+
+ bay12: StockPileViewMode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingUseType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_MACHINE_HOOKUP_DIR_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_MACHINE_INFO_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: BUILDING_ARCHFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WORKSHOP_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 24
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 34
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 44
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 54
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 74
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 85
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 95
+
+
+
+
+
+ bay12: DefaultStockPiles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: STOCKPILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileFurnitureStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileFurnitureItemType
+
+ subset of item_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tool types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileAmmoStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileBarStorageType
+
+
+
+
+
+
+
+
+ bay12: StockpileBlockStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileFinishedStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileWeaponStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileArmorStorageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_STOCKPILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CIVZONE_PEN_FLAG_*
+
+
+
+
+
+
+
+ bay12: CIVZONE_POND_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: CIVZONE_TOMB_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: CIVZONE_GATHER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CIVZONE_ACTIVITY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingItemRoles, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_DOOR_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_HATCH_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_BRIDGE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_FLOODGATE_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_GRATE_WALL_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_GRATE_FLOOR_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_BARS_VERTICAL_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_BARS_FLOOR_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_TRAP_TRIGGER_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TRACK_STOP_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingTrapType
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_TRAP_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_GEAR_ASSEMBLY_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_SUPPORT_*
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_WEAPON_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_SCREW_PUMP_DIR_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_CHAIN_*
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_CAGE_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingSiegeEngineType, no base type
+
+
+
+
+
+
+ no bay12 enum
+
+
+
+
+
+
+
+
+
+
+ no bay12 enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_TABLE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_SHOP_*
+
+
+
+ bay12: BuildingShopType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WELLTAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_WELL_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_FARMPLOT_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingFurnaceType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingWorkshopType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDINGFLAG_DEPOT_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_HIVE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingConstructionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for building_handlerst
+
+
+
+
+
+
+
+
+
+ -- 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 98 different civzone subtypes: array of length BUILDING_CIVZONENUM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- everything but stockpile and civzone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- speculated
+
+
+
+
+ -- speculated
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 21
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 33
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 43
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 53
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 63
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 73
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 83
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for building_handlerst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When creating a building, one record per required item type.
+ E.g. Soap Maker's workshop requires a bucket and a building material.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildReqMode
+
+
+
+
+
+ bay12: BuildSquare
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildReqChoice
+
+
+
+
+
+
+ One choice in the build item selector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (let* ((selector $global.buildreq)
+ (req $selector.requirements[$selector.req_index]))
+ $req.candidates[$])
+
+
+
+
+
+
+
+
+
+
+
+
+ (let* ((selector $global.buildreq)
+ (req $selector.requirements[$selector.req_index]))
+ $req.candidates[$])
+
+
+
+
+
+
+
+
+ Toady used the actual enum rather than the matching typedef
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.building_def.xml b/df.building_def.xml
new file mode 100644
index 0000000000..8b9ddcdd89
--- /dev/null
+++ b/df.building_def.xml
@@ -0,0 +1,498 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BRIDGE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+ bay12: BUILDING_BRIDGE_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WAGON_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+ bay12: BUILDING_WAGON_GRAPHICS_FLAG_DIRECTION_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_TRAP_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: BUILDING_TRAP_GRAPHICS_FLAG_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_AXLE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_GEAR_ASSEMBLY_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_SCREWPUMP_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_SCREWPUMP_GRAPHICS_FLAG_DIR_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WINDMILL_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WINDMILL_GRAPHICS_FLAG_FACING_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WATER_WHEEL_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BALLISTA_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BALLISTA_GRAPHICS_FLAG_FACING_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_CATAPULT_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_CATAPULT_GRAPHICS_FLAG_FACING_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BOLT_THROWER_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BOLT_THROWER_GRAPHICS_FLAG_FACING_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_ROLLERS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_TRACK_STOP_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WEAPON_RACK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_ARMOR_STAND_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_SUPPORT_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_BARS_VERTICAL_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: BUILDING_BARS_VERTICAL_GRAPHICS_FLAG_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_WORKSHOP_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.53.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+
+
+
+
diff --git a/df.building_use_controller.xml b/df.building_use_controller.xml
new file mode 100644
index 0000000000..db9ff8049d
--- /dev/null
+++ b/df.building_use_controller.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/df.buildings.xml b/df.buildings.xml
deleted file mode 100644
index 65ddd6e576..0000000000
--- a/df.buildings.xml
+++ /dev/null
@@ -1,1413 +0,0 @@
-
- bay12: BuildingType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_DOOR_*, BUILDINGFLAG_HATCH_*
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_BRIDGE_*, BUILDINGFLAG_FLOODGATE_*, BUILDINGFLAG_GRATE_WALL_*, BUILDINGFLAG_GRATE_FLOOR_*, BUILDINGFLAG_BARS_VERTICAL_*, BUILDINGFLAG_BARS_FLOOR_*
-
-
-
-
-
-
-
- bay12: ???
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: job_restrictionst
-
-
-
-
-
-
-
- bay12: building_activity_infost
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 14
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 24
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 34
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 44
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 54
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 64
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 74
-
-
-
-
-
-
-
-
-
-
-
-
- -- 85
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 95
-
-
-
-
-
- -- stockpile --
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_STOCKPILE_FLAG_*
-
-
-
-
-
-
-
- -- zone --
-
-
- bay12: LOCATION_INFO_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BuildingCivzoneType
-
-
-
-
-
- Invalid Type
- Invalid Type
-
-
- formerly ActivityZone
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CIVZONE_ACTIVITY_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CIVZONE_GATHER_FLAG_*
-
-
-
-
-
-
- bay12: CIVZONE_PEN_FLAG_*
-
-
- bay12: CIVZONE_TOMB_FLAG_*
-
-
-
-
-
-
-
-
- bay12: CIVZONE_POND_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: building_squad_infost
-
-
-
-
-
-
-
- -- actual --
-
-
-
-
-
-
-
-
-
-
- bay12: buildingitemst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDING_ARCHFLAG_*
-
-
-
-
-
-
-
- -- workshops --
-
- bay12: BuildingFurnaceType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BuildingWorkshopType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: WORKSHOP_PROFILE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- misc --
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BuildingUseType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_CAGE_*
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_CHAIN_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: BuildingConstructionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_FARMPLOT_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDING_HIVE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BuildingShopType
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_SHOP_*
-
-
-
-
-
- bay12: BuildingSiegeEngineType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_SUPPORT_*
-
-
-
-
-
- bay12: BUILDINGFLAG_TABLE_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_DEPOT_*
-
-
-
-
-
-
- bay12: BuildingTrapType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_TRAP_TRIGGER_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: TRACK_STOP_PROFILE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_TRAP_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BUILDINGFLAG_WELL_*
-
-
-
- bay12: WELLTAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Not in DF
-
- Royal Throne Room | Royal Bedroom | Royal Dining Room | Royal Mausoleum
- Opulent Throne Room | Grand Bedroom | Grand Dining Room | Grand Mausoleum
- Throne Room | Great Bedroom | Great Dining Room | Mausoleum
- Splendid Office | Fine Quarters | Fine Dining Room | Fine Tomb
- Decent Office | Decent Quarters | Decent Dining Room | Tomb
- Office | Quarters | Dining Room | Burial Chamber
- Modest Office | Modest Quarters | Modest Dining Room | Servant's Burial Chamber
- Meager Office | Meager Quarters | Meager Dining Room | Grave
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.burrow.xml b/df.burrow.xml
new file mode 100644
index 0000000000..50d957e16c
--- /dev/null
+++ b/df.burrow.xml
@@ -0,0 +1,66 @@
+
+ bay12: BURROW_FLAG_*
+
+
+
+
+
+
+
+
+
+ (describe-obj $.name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.civagreement.xml b/df.civagreement.xml
new file mode 100644
index 0000000000..9de5d7d339
--- /dev/null
+++ b/df.civagreement.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ yes, actually int16 even though matgloss should be int32
+
+
+ bay12: AgreementTypes, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.coinbatch.xml b/df.coinbatch.xml
new file mode 100644
index 0000000000..6e424f00a2
--- /dev/null
+++ b/df.coinbatch.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.contaminant.xml b/df.contaminant.xml
new file mode 100644
index 0000000000..2f30774c1c
--- /dev/null
+++ b/df.contaminant.xml
@@ -0,0 +1,47 @@
+
+ bay12: CONTAMINANT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CONTAMINANT_FLAG_*
+
+
+
+
+ sub-element, NOT subclass!
+
+
+
+
+ bay12: UNIT_CONTAMINANT_FLAG_*
+
+
+
+
+ sub-element, NOT subclass!
+
+
+
+
+
+ sub-element, NOT subclass!
+
+
+
+
diff --git a/df.creation_zone.xml b/df.creation_zone.xml
new file mode 100644
index 0000000000..7d46ad734c
--- /dev/null
+++ b/df.creation_zone.xml
@@ -0,0 +1,133 @@
+
+ bay12: CreationZonePWGAlterationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CREATION_ZONE_PWG_ALTERATION_CAMP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CREATION_ZONE_ITEM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ none yet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
diff --git a/df.creature-raws.xml b/df.creature-raws.xml
deleted file mode 100644
index de7acacdcb..0000000000
--- a/df.creature-raws.xml
+++ /dev/null
@@ -1,1776 +0,0 @@
-
- -- The comments indicate the creature raw tags whose presence/absence are
- -- correlated with the flags. Tags with parameters, like those indicating
- -- biomes, are currently not listed.
- bay12: CreatureDefFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CreatureCasteFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BodyPartFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AppearanceModifierType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TissueLayerFlagType
-
-
-
-
- bay12: AppearanceModifierRateScaleType
-
-
-
-
-
-
- bay12: BodyPartPositionType
-
-
-
-
-
-
-
-
-
- bay12: BodyPartRelationType
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.layer_name
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- For subordinate layers:
-
-
-
-
-
-
-
-
-
-
- bay12: string[BodyPartStrings]
-
-
- $.token
-
- bay12: int16[BodyPartShorts]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ReplacementMethodType
-
-
-
-
- bay12: WordPropertyType
-
-
-
-
- bay12: GeneticModelType
-
-
-
-
-
-
- $.part
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CLOTHING_NEEDS_BP_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CLOTHING_NEEDS_BP_ITEM_FLAG_*
-
-
-
-
-
- bay12: SpecialAttackType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: GaitType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CE_TARGET_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INTERACTION_INFORMATION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BodyActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: extra_butcher_objectst
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EBO_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index in nonsolid_layers if applicable
-
-
-
-
- For blood, magma, iron men etc, lists BLOOD/MAGMA/GAS layers.
- For other titans and FBs, lists all layers. For ordinary, empty.
-
-
-
- bay12: BODY_FLAG_*
-
-
-
-
-
-
-
-
-
-
- Sums of values in the parts:
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: LairCharacteristicType
-
-
-
- bay12: HabitType
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CreatureSoundType
-
-
-
-
-
- bay12: CreatureSoundMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: string[CreatureCasteStrings]
-
- (fmt "~:(~A ~A~)" $.caste_id $.caste_name[0])
- $global.world.raws.creatures.all[$$].caste[$]
-
-
-
-
-
-
-
-
- // temporary
-
-
-
- fingers[2], nose, ear, head, eyes, mouth, hair, knuckles, lips, cheek, nails, f eet, arms, hands, tongue, leg
-
-
- bay12: uchar[CreatureCasteUChar]
-
-
-
-
-
- bay12: ushort[CreatureCasteUShort]
-
-
-
-
- bay12: short[CreatureCasteShort]
-
-
-
-
-
-
-
-
-
-
-
- // NOT 32-bit!
-
-
-
-
-
-
-
-
-
- bay12: int32_t[CreatureCasteLong]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: creature_personality_profilest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- learn_ip_perc, last_used, rust, demote
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- Subset of modifiable layers, i.e. where layer_idx != -1
-
-
-
-
-
-
-
-
- bay12: shearable_tissue_layerst
-
-
-
-
-
-
- -- unit can be sheared at farmers if it has one u.appearance.bp_modifiers[$.bp_modifiers_idx[i]] >= $.length
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: secretion_profilest
-
-
-
-
-
-
-
-
- bay12: SecretionCondition
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- for world generation
-
-
-
-
-
-
- muscle:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: vector[CreatureSoundType]
-
-
-
- bay12: material_force_adjustst
-
-
-
-
-
-
-
-
-
-
- -- v0.40.01
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12:CreatureTextureType
-
-
-
-
-
-
-
-
-
- bay12: TissueLayerShapingType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CGLTissueLayerSwapConditionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CGL_TISSUE_LAYER_CONDITION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CGL_BODYPART_CONDITION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CGL_ITEM_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PCGLayeringType, gigantic enum
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CREATURE_GRAPHICS_LAYER_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CREATURE_GRAPHICS_LAYER_SET_FLAG_*
-
-
-
-
-
- bay12: CreatureSmallTextureType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.token
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: GeneticModifierType
-
-
-
-
-
-
-
- bay12: string[CreatureDefStrings]
-
- $.creature_id
-
-
-
-
-
-
- bay12: uchar[CreatureDefUChar]
-
-
-
-
-
- bay12: ushort[CreatureDefUShort]
-
-
- bay12: short[CreatureDefShort]
-
-
-
-
-
-
- bay12: int32_t[CreatureDefLong]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CreatureBodyPartFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CreatureBodyPartParentTypes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TissueFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TissueShapeType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.creature.xml b/df.creature.xml
new file mode 100644
index 0000000000..fe51dd0d93
--- /dev/null
+++ b/df.creature.xml
@@ -0,0 +1,1609 @@
+
+ -- Unused: DescriptionElementType
+ -- Unused: ude_scarst
+ -- Unused: unit_description_elementst
+ -- Unused: ud_woundst
+ -- Unused: phys_desc_handlerst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.part
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.token
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- unit can be sheared at farmers if it has one u.appearance.bp_modifiers[$.bp_modifiers_idx[i]] >= $.length
+
+
+ bay12: TissueFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ATTACKDEFFLAG_*
+
+
+
+
+
+
+
+
+ bay12: SpecialAttackType, actually int16_t but Toady never uses the typedef
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: AttackFlagType
+ -- Unused: attackst
+
+ bay12: EBO_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TissueLayerFlagType
+
+
+
+
+
+
+
+
+ $.layer_name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For subordinate layers:
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: string[BodyPartStrings]
+
+
+ $.token
+
+ bay12: int16[BodyPartShorts]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BodyActionType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: GaitType
+
+
+
+
+
+
+
+
+ bay12: GAIT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BODY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Index in nonsolid_layers if applicable
+
+
+
+
+ For blood, magma, iron men etc, lists BLOOD/MAGMA/GAS layers.
+ For other titans and FBs, lists all layers. For ordinary, empty.
+
+
+
+
+
+
+
+
+
+
+
+ Sums of values in the parts:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SecretionCondition, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CGLTissueLayerSwapConditionType
+
+
+
+
+
+
+
+
+
+
+ bay12: CGL_TISSUE_LAYER_CONDITION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CGL_BODYPART_CONDITION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CGL_ITEM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CREATURE_GRAPHICS_LAYER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: PCGLayeringType, gigantic enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CREATURE_GRAPHICS_LAYER_SET_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CreatureSmallTextureType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CreatureCasteFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CreatureCasteStrings
+ -- Unused: CreatureCasteShort
+ -- Unused: CreatureCasteLong
+ -- Unused: CreatureCasteUShort
+ -- Unused: CreatureCasteUChar
+
+
+ bay12: string[CreatureCasteStrings]
+
+ (fmt "~:(~A ~A~)" $.caste_id $.caste_name[0])
+ $global.world.raws.creatures.all[$$].caste[$]
+
+
+
+
+
+
+
+
+ // temporary
+
+
+
+ fingers[2], nose, ear, head, eyes, mouth, hair, knuckles, lips, cheek, nails, f eet, arms, hands, tongue, leg
+
+
+ bay12: uchar[CreatureCasteUChar]
+
+
+
+
+
+ bay12: ushort[CreatureCasteUShort]
+
+
+
+
+ bay12: short[CreatureCasteShort]
+
+ not a compound
+
+
+
+
+
+
+
+
+
+ // NOT 32-bit!
+
+
+
+
+
+
+
+
+
+
+ bay12: int32_t[CreatureCasteLong]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ learn_ip_perc, last_used, rust, demote
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+ -- Subset of modifiable layers, i.e. where layer_idx != -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for world generation
+
+
+
+
+
+
+ muscle:
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- v0.40.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- The comments indicate the creature raw tags whose presence/absence are
+ -- correlated with the flags. Tags with parameters, like those indicating
+ -- biomes, are currently not listed.
+ bay12: CreatureDefFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CreatureDefStrings
+ -- Unused: CreatureDefShort
+ -- Unused: CreatureDefLong
+ -- Unused: CreatureDefUShort
+ -- Unused: CreatureDefUChar
+
+ bay12: GeneticModifierType
+
+
+
+
+
+
+
+
+ bay12: string[CreatureDefStrings]
+
+ $.creature_id
+
+
+
+
+
+
+ bay12: uchar[CreatureDefUChar]
+
+
+
+
+
+ bay12: ushort[CreatureDefUShort]
+
+
+ bay12: short[CreatureDefShort]
+
+
+
+
+
+
+ bay12: int32_t[CreatureDefLong]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: creature_handling_informationst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.creaturebody.xml b/df.creaturebody.xml
new file mode 100644
index 0000000000..7665e77b4b
--- /dev/null
+++ b/df.creaturebody.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CreatureBodyPartParentTypes
+
+
+
+
+
+
+
+ bay12: CreatureBodyPartFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CreateBodyPartShorts
+ -- Unused: CreateBodyPartStrings
+
+
+ -- string[CreateBodyPartStrings]
+
+
+
+
+
+ -- int16_t[CreateBodyPartShorts]
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CreatureBodyStrings
+
+
+ -- string[CreatureBodyStrings]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.crime.xml b/df.crime.xml
new file mode 100644
index 0000000000..f65689fce7
--- /dev/null
+++ b/df.crime.xml
@@ -0,0 +1,83 @@
+
+ bay12: PUNISHMENTFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CRIMEFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.cultural_identity.xml b/df.cultural_identity.xml
new file mode 100644
index 0000000000..128e90eb98
--- /dev/null
+++ b/df.cultural_identity.xml
@@ -0,0 +1,68 @@
+
+ bay12: CULTURAL_IDENTITY_ENTITY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SAVE_VALUENUM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.d_basics.xml b/df.d_basics.xml
new file mode 100644
index 0000000000..7dfa9a81d8
--- /dev/null
+++ b/df.d_basics.xml
@@ -0,0 +1,12180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArmyControllerSectionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArmyControllerSectionRoleType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingCivzoneType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TempDietInfoType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MeatCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CrimeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AbstractBuildingFlag
+
+
+
+
+
+
+
+
+
+
+ bay12: AbstractBuilding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IntrigueCorruptionActionType
+
+
+
+
+
+
+
+ bay12: IntrigueCorruptionMethodType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InterrogationMethodType
+
+
+
+
+
+
+
+
+
+ bay12: MessageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MessageActionType
+
+
+
+
+
+
+
+
+
+ bay12: ???
+
+
+ bay12: MESSAGE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ReligiousPracticeType
+
+
+
+
+
+ bay12: ResourceAllotmentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemTheftType
+
+
+
+
+
+
+
+ bay12: ArtifactClaimType
+
+
+
+
+
+
+
+ bay12: Moods
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SEXUAL_ORIENTATION_FLAG_*
+
+
+
+
+
+
+
+ bay12: JobArtSpecifierType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SquadOrderType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PersonalityValueType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AbstractBuildingReputationType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TimbreType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PerformanceRoleType
+
+
+
+
+
+
+
+
+
+
+ bay12: PerformanceType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: OccupationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EmotionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 130
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PersonalityNFacetType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WitnessType
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ClimbingAbilityType
+
+ bay12: PersonalityGoalType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InsurrectionOutcomeType
+
+
+
+
+
+
+ -- Helper type for history_event_reason - not a real structure
+
+
+
+
+
+
+
+ bay12: ReasonType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ArmyStopReasonType
+
+ bay12: IncidentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureDesireStateType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: TalkFactType
+
+ bay12: UnitMoveType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CounterType
+
+
+ -- 0 --
+ for thirsty patients
+ for hungry patients
+
+
+
+
+
+
+
+ handled manually
+ -- 10 --
+
+
+
+
+
+
+
+
+
+
+ -- 20 --
+
+
+
+
+
+
+
+
+
+
+ -- 30 --
+
+
+
+
+
+
+
+
+
+
+ -- 40 --
+
+
+
+
+
+
+
+
+
+
+ -- 50 --
+
+
+
+
+
+
+
+
+
+
+ -- 60 --
+
+
+
+
+
+
+
+
+
+
+ -- 70 --
+
+
+
+
+
+
+
+
+
+
+ -- 80 --
+
+
+
+
+
+
+ bay12: ChargeRestrictType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PersonalReputationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AnimalTrainingStatusType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WritingFormType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WritingStyleType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WritingStyleModifierType
+
+
+
+
+
+
+ bay12: WritingRoleType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ConflictStateType
+
+
+
+
+
+
+
+
+
+
+ -- Unused: RegionPrint
+
+ bay12: LocationHintType
+
+
+
+
+
+
+
+
+
+ bay12: UsageHintType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: BodyPartPrintType
+
+ bay12: TradeGoodPurposeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CreatureSoundType
+
+
+
+
+
+ bay12: CreatureSoundMethodType
+
+
+
+
+ -- Unused: PATH_DESPERATION_*
+
+ bay12: PATH_PERMIT_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: Gender
+ Dwarf Fortress calls the functions that use this type to determine the pronouns for abstract_building, so it's not anything biology-related.
+
+
+
+
+
+
+
+
+ use same as NONE for now
+
+
+
+
+
+
+
+
+
+
+
+ using C-style escapes here as XML doesn't like having characters 11 and 12 in it, even if they're escaped
+ this currently works fine due to how the headers are generated, but a different solution may be needed if
+ the header generator is more robust in the future
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CombatTrainingCategoryType
+
+ bay12: SquadWaterLevelType
+
+
+
+
+
+
+ bay12: DungeonType
+
+
+
+
+
+
+ bay12: FortressType
+
+
+
+
+
+
+
+ bay12: MonumentType
+
+
+
+
+
+
+ bay12: LairType
+
+
+
+
+
+
+
+
+ bay12: LairCharacteristicType
+
+
+
+
+ bay12: HabitType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefToolUseType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityUniformItemCategoryType
+
+
+
+
+
+
+
+
+
+
+ bay12: TissueLayerShapingType
+
+
+
+
+
+
+
+
+ bay12: GeneticModelType
+
+
+
+
+
+
+ bay12: TuningMethodType
+
+
+
+
+
+
+
+
+ bay12: SoundProductionMethodType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PitchChoiceMethodType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WordPropertyType
+
+
+
+
+
+ bay12: LayerConnectionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PhysicalForceType
+
+
+
+
+
+
+
+
+
+ bay12: EntityDefPositionFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityPositionFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: PronounType
+
+ bay12: StockpileIndexType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMNEEDEDFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMNEEDEDFLAG2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMNEEDEDFLAG3_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JOB_ITEM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BodyPartFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: BodyPartShorts
+ -- Unused: BodyPartStrings
+ -- Unused: MaterialParameterType
+
+ bay12: PatternType
+
+
+
+
+
+
+
+
+
+ bay12: AppearanceModifierRateScaleType
+
+
+
+
+
+
+
+ bay12: ReplacementMethodType
+
+
+
+
+
+ bay12: TissueShapeType
+
+
+
+
+
+
+
+
+ bay12: AppearanceModifierType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BodyPartPositionType
+
+
+
+
+
+
+
+
+
+
+ bay12: BodyPartRelationType
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BodyPartGroupType
+
+
+
+
+
+
+ bay12: BattleOutcomeType
+
+
+
+
+
+ bay12: PositionResponsibilityType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SquadActivityIndexType
+
+
+
+
+
+
+ bay12: HF_KILL_FLAG_*
+
+
+
+
+ -- Unused: HFSpecialAttackType
+
+ bay12: HistFigStateType
+
+
+
+
+
+
+
+
+
+ bay12: SiteType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WorldConstructionType
+
+
+
+
+
+
+
+ -- Unused: Compass
+ -- Unused: Religion
+
+ bay12: MapRejectType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ArchitecturalConcept
+
+ bay12: Justification
+
+
+
+
+
+
+
+
+ bay12: ArchitecturalElement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DestructionReason
+
+
+
+
+
+
+
+
+ bay12: FamilyRelationshipType
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+ bay12: EthicType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EthicResponseType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ResearchProjectType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_PHILOSOPHY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_PHILOSOPHY_FLAG2_*
+
+
+
+
+
+
+
+ bay12: SK_MATHEMATICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_MATHEMATICS_FLAG2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_HISTORY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_ASTRONOMY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_NATURALIST_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_CHEMISTRY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_GEOGRAPHY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_MEDICINE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_MEDICINE_FLAG2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_MEDICINE_FLAG3_*
+
+
+
+ bay12: SK_ENGINEERING_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SK_ENGINEERING_FLAG2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TopicType
+
+
+
+
+
+
+ actually inline
+
+
+ bay12: ArtFacet
+
+
+
+
+
+
+
+ bay12: ArtImageActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArtImageElement
+
+
+
+
+
+
+
+
+ bay12: ItemImprovementType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemSpecificImprovementType
+
+
+
+
+
+
+
+ -- Unused: CaveSupport
+ -- Unused: LightColumn
+
+ bay12: StationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PathGoalType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: BuildPathResult
+
+ bay12: BreathAttackType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MaterialStateType
+
+
+
+
+
+
+
+
+
+ bay12: MaterialDefinitionFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new in 50.0x
+
+
+
+
+
+
+
+
+
+
+ bay12: MaterialType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: MatGlossCoal
+
+ bay12: EntityMaterialType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: TrampleType
+ -- Unused: VISION_FLAG_*
+ -- Unused: CREATURE_DISPLAYFLAG_*
+ -- Unused: SYMMETRYFLAG_*
+ -- Unused: FORCEPRINT_*
+ -- Unused: SiteClean
+
+ bay12: GameClean
+
+
+
+
+
+ -- Unused: DigStyle
+
+ bay12: CivRequestTabType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: TradeDepotBringType
+ -- Unused: ConversationTask
+
+ bay12: RecordPrecisionLevelType, no actual base type
+
+
+
+
+
+
+
+
+ -- Unused: PrecisionRoundType
+
+ bay12: Article, no base type
+
+
+
+
+
+ -- Unused: CanDrinkValue
+ -- Unused: CanEatValue
+ -- Unused: SafeTemperatureValue
+
+ bay12: InclusionType
+
+
+
+
+
+
+
+
+ bay12: GeologicalRegionType
+
+
+
+
+
+
+
+
+
+
+ bay12: GeologicalLayerType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StoneEnvironment, no base type
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: LayerInclusionGoal
+
+ seems like a convenient name
+
+
+
+
+ -- Unused: FireState
+ -- Unused: GeneralGroupingType
+
+ bay12: CreatureTextureType
+
+
+
+
+
+
+
+
+
+
+ bay12: HistFigEntityLinkType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistFigHfLinkType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistFigSiteLinkType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RegionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RegionField
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: Biome, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TextSetType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: Schedule, no base type
+
+
+
+
+
+
+
+
+
+ bay12: UnitType
+
+
+
+
+
+
+
+
+
+ -- 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 42
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 52
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 62
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 130
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: vstringst
+
+ -- Helper type for tiletype
+
+
+
+
+
+
+
+
+
+ -- Helper type for tiletype
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- the only place where it is not the same as passable_low:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for tiletype
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for tiletype
+
+
+
+
+
+
+
+
+ -- Helper type for tiletype
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MapTileType
+ -- Declare attributes:
+
+
+
+
+
+
+
+
+ -- 0x000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x050
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x060
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x070
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x080
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x090
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0A0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0B0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0C0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0D0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0E0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x0F0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x130
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x170
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x180
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x190
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1A0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1B0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1C0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1D0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1E0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x1F0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x200
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x210
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x220
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x230
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x240
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x250
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x260
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x270
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x280
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x290
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x2A0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 0x2B0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SeasonType, int32
+
+
+
+
+
+
+
+ bay12: WeatherState, no base type
+
+
+
+
+
+ bay12: EntityDefFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DESIGNATION_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DIG_DESIGNATION_*
+
+
+
+
+
+
+
+
+
+ bay12: LiquidType, LIQUID_TYPE_*
+
+
+
+
+ bay12: TRAFFIC_DESIGNATION_*
+
+
+
+
+
+
+ bay12: OCCUPANCY_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BUILDING_OCCUPANCY_*
+
+
+
+
+
+
+
+
+
+
+ bay12: FLOW_DIR_*
+
+
+
+
+
+
+ bay12: FLOW_DIR_TEMP_DIR_*
+
+
+
+
+
+
+
+
+
+
+ bay12: FLOW_DIR_SINK_DIR_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MentalAttribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PhysicalAttribute
+
+
+
+
+
+
+
+
+ bay12: ProfessionType
+
+
+
+
+
+ -- 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 21
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 31
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SUPER_PROFESSION_*
+
+
+
+ -10
+
+
+
+
+
+ -5
+
+
+
+
+
+
+
+ bay12: ItemType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityDefSelector
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistDamageType
+
+
+
+
+
+
+
+
+ bay12: WoundDamageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: EntityReactionType
+
+ bay12: DiplomacyStateType
+
+
+
+
+
+
+
+
+
+ bay12: KillCauseType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: NightCreatureExperimentType
+
+
+
+
+
+
+
+
+
+ -- Unused: RandomCreatureType
+ -- Unused: RandomCreatureProfileDemonType
+ -- Unused: RandomCreatureProfileNightCreatureType
+ -- Unused: RandomCreatureProfileAngelType
+ -- Unused: RandomInteractionType
+ -- Unused: RANDOM_CREATURE_FLAG_*
+ -- Unused: RandomCreatureClassType
+ -- Unused: RandomCreatureBodyBaseType
+
+ bay12: BodyAbuseSculptureType, actually int16_t
+
+
+
+
+
+
+ bay12: BodyAbuseMethodType
+
+
+
+
+
+
+
+
+
+ -- Unused: abs_range_rectst
+
+ bay12: CONTEXT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: RSN_FLAG_*
+ -- Unused: RandomSeedType
+
+
+
diff --git a/df.d_init.xml b/df.d_init.xml
index fbdde3e1cb..da62ce6866 100644
--- a/df.d_init.xml
+++ b/df.d_init.xml
@@ -1,28 +1,11 @@
- bay12: NicknameDisplayType
-
-
-
-
-
- bay12: PostPrepareEmbarkConfirmationType
-
-
-
-
-
bay12: not an actual enum
- bay12: InitDisplayIdlersType
-
-
-
-
- bay12: DInitDisplayFlagType
+ bay12: DInitDisplayFlagType
@@ -33,30 +16,129 @@
- bay12: InitAdventureFlagType
-
-
-
+ bay12: NicknameDisplayType
+
+
+
+
+
+ bay12: InitDisplayIdlersType
+
+
+
- bay12: InitFeatureFlagType
+
+
+
+
+
+
+
+ must specify count because game_type.NONE is not -1
+
+
+
+
+
+
+ N S E W NS NE NW SE SW EW NSE NSW NEW SEW NSEW
+
+
+
+
+
+ TREE_PART_TILENUM
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InitAdventureFlagType
+
+
+
+
+
+ bay12: AdventureZViewType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InitFeatureFlagType
- these are all UNUSED
-
-
-
+
+
+
+
-
+
-
+
-
+
@@ -65,96 +147,46 @@
- bay12: AutoSaveFrequencyType
+ bay12: PostPrepareEmbarkConfirmationType
+
+
+
+
+
+ bay12: AutoSaveFrequencyType
- bay12: AdventureZViewType
-
-
-
-
-
-
-
- bay12: d_init_displayst
-
-
-
-
-
-
-
-
-
- N S E W NS NE NW SE SW EW NSE NSW NEW SEW NSEW
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: d_init_adventurest
-
-
-
-
-
-
- bay12: d_init_dwarfst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
- bay12: d_init_featurest
-
-
-
-
+ bay12: INIT_ANNOUNCEMENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
diff --git a/df.d_interface.xml b/df.d_interface.xml
new file mode 100644
index 0000000000..bb5bce4bbe
--- /dev/null
+++ b/df.d_interface.xml
@@ -0,0 +1,7333 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Begin Steam-only stuff
+ -- These fields exist in other versions but aren't actually used
+
+
+
+
+
+
+
+ CCallResult{mod_managerst, CreateItemResult_t}
+
+
+
+
+
+
+
+
+
+ CCallResult{mod_managerst, SubmitItemUpdateResult_t}
+
+
+
+
+
+
+
+
+ -- End Steam-only stuff
+
+
+ -- Unused: MilitaryUniformCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MainDesignationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdvBackgroundOptionType
+
+
+
+
+
+ bay12: SetupAdventureType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ICS_FLAG_*
+
+
+
+ bay12: ICS_EXIT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InterfaceCategoryBuilding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InterfaceCategoryConstruction
+
+
+
+
+
+
+
+
+
+
+ -- Unused: InterfaceCategoryButton
+
+ bay12: INTERFACE_BUTTON_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ConstructionCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ConstructionInterfacePageStatusType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RoomFlowShapeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CannotExpelReasonType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MineModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JobDetailsOptionType
+
+
+
+
+
+
+
+
+
+
+ bay12: JobDetailsContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockPilePointerType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DIPLOMACY_INTERFACE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TRADE_ITEM_GROUP_FLAG_*
+
+
+
+
+ bay12: TRADE_INTERFACE_GOOD_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ASSIGN_TRADE_ITEM_GROUP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: STOCKS_ITEM_GROUP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileToolsContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StockpileLinkContextType
+
+
+
+
+
+
+ bay12: STOCKPILE_LINK_ADDING_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HaulingStopConditionsContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AssignVehicleContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LocationDetailsContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LocationSelectorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CustomSymbolContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: NameCreatorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ImageCreatorOptionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ImageCreatorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: UnitSelectorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BurrowUnitSelectorFilter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SquadSelectorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SquadScheduleContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SquadEquipmentContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PatrolRoutesContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BurrowSelectorContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ViewSheetTabUnitType
+ -- Unused: ViewSheetTabBuildingType
+
+ bay12: ViewSheetTraitType
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ViewSheetUnitSkillTabType
+
+ bay12: ViewSheetUnitKnowledgeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ViewSheetsContextType
+
+
+
+
+
+ bay12: ViewSheetType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CreateCreatureModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CRI_UNIT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: UnitListModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BuildingsModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: KitchenPrefCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: labor_kitchen_interface_type_filter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StandingOrdersCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: StoneUseCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LaborModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for work_orders_conditions_interfacest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArtifactsModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ACTOR_ENTRY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ORGANIZATION_ENTRY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CounterintelligenceModeType
+
+
+
+
+
+
+
+ bay12: JusticeInterfaceModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InfoInterfaceModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MainMenuOptionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: OptionsContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HelpContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_CAMERA_CONTROLS_*
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_MINING_*
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_STOCKPILES_*
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_CHOPPING_*
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_TASKS_*
+
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_SHEETS_*
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_ALERTS_*
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_SURVIVAL_*
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_PLANTING_*
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_OTHER_FOOD_SOURCES_*
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_LOCATIONS_*
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_MILITARY_*
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_ADVENTURE_CAMERA_CONTROLS_*
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_ADVENTURE_MOVEMENT_*
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_CONTEXT_FLAG_ADVENTURE_MENU_OVERVIEW_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HELP_INTERFACE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SettingsTabType
+
+
+
+
+
+
+
+
+
+ bay12: SettingsContextType
+
+
+
+
+
+
+ bay12: KeybindingCategory
+
+
+
+
+
+
+
+ bay12: SETTINGS_KEYBINDING_FLAG_*
+
+
+
+
+
+
+ widget_tabs declares this as a friend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AssignUniformContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MainBottomModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HoverInstructionType
+ generated by devel/dump-tooltip-ids
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 130
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 170
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 180
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 190
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 200
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 210
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 220
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 230
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 240
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 250
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 260
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 270
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 280
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 290
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 300
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 310
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 320
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 330
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 340
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 350
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 360
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 370
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 380
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 390
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 400
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 410
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 420
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 430
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 440
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 450
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 460
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 470
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 480
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 490
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 500
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 510
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 520
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 530
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 540
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 550
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 560
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 570
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 580
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 590
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 600
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 610
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: CloseInterfaceMode
+
+
+
+
+
+
+
+
+
+ bay12: VLUA_INTERACTION_USE_FLAG_*
+
+
+
+
+ bay12: AdventureInterfaceAbilitiesContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureInterfaceCreateModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AssumeIdentityMenuModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureInventoryOptionListType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdventureInterfaceInventoryContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PerformanceMenuChoiceType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: PerformanceMenuModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AttackMoveChoiceType
+
+
+
+
+
+
+
+
+ bay12: AdventureInterfaceAttackModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BARTER_ITEM_GROUP_FLAG_*
+
+
+
+
+ bay12: BARTER_INTERFACE_GOOD_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MUST_RENEW_ADV_ENV_HOVER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MinimapTile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Abstract representation of contents; updated by need_scan
+
+
+
+
+
+
+
+ -- Cached actual tiles from the screen; updated by need_render
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for character_archetypest and startup_charactersheetst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Toady directly used the enum here
+ rather than the matching typedef
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LookInfoType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LOOKINFO_FLOW_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LOOKINFO_LIQUID_WATER_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: LOOKINFO_LIQUID_MAGMA_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MemoryMapType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ExportRegionStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: NewRegionRawLoadStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LegendsModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ index into world_site.buildings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: LoadArenaStageType
+ -- Unused: LoadTutorialStageType
+ -- Unused: LoadDungeonStageType
+
+ bay12: MainChoice
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TitleModeType
+
+
+
+
+
+
+
+
+ bay12: SaveGameSort
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ declared inside viewscreen_initial_prepst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ display site name next frame
+
+ jewelers workshop orders
+ number of free items for job
+ index list +3 (green/clear/crystal glass)
+
+ For sidemenu unit/prefs/labor
+ When negative, labor category
+
+
+
+
+
+ determine if ESC is Done or Back
+
+
+
+
+
+ for current unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: AdoptRegionStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LoadGameStageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: viewscreen_customize_unitst
+ -- Unused: TEXTVIEW_LINEFLAG_*
+ -- Unused: text_linest
+
+
+
+ must specify count because game_type.NONE is not -1
+
+
+ bay12: ChooseStartSiteViewMode, no base type!
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EmbarkNeighborStateType
+
+
+
+
+
+
+
+
+ bay12: WARN_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a real enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EmbarkSkillTabType
+
+
+
+
+
+
+
+ bay12: VIEWFLAG_SETUPDWARFGAME_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set remotely via pointers:
+
+
+
+
+
+
+
+
+ bay12: SETUP_RACE_SELECTION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JUSTICE_SCREEN_INTERROGATION_LIST_FLAG_*
+
+
+
+
+ -- Unused: viewscreen_workquota_detailsst
+
+ -- Unused: CivlistModeType
+ -- Unused: CIVLIST_SQUAD_FLAG_*
+ -- Unused: CIVLIST_MESSENGER_FLAG_*
+ -- Unused: viewscreen_civlistst
+
+ bay12: WorldViewModeType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CIVLIST_SQUAD_FLAG_*
+
+
+
+ bay12: CIVLIST_MESSENGER_FLAG_*
+
+
+
+ bay12: WorldNewMissionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: viewscreen_debugst
+ -- Unused: viewscreen_optimizest
+
+ -- Unused: viewscreen_buildingst
+ -- Unused: viewscreen_jobst
+
+
+
+
+
+
+ No destructor anywhere:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ViewscreenWorkshopProfileModeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: OVERALL_HEALTH_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: OVERALL_HEALTH_FLAG2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: OVERALL_HEALTH_FLAG3_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.dance_form.xml b/df.dance_form.xml
new file mode 100644
index 0000000000..8c13721958
--- /dev/null
+++ b/df.dance_form.xml
@@ -0,0 +1,273 @@
+
+ bay12: DANCE_FLAG_*
+
+
+
+ bay12: DanceComponentType
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+ bay12: DanceComponentAdjectiveType
+
+ -- 0
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+ bay12: DANCE_COMPONENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: DanceGroupingType
+
+
+
+
+
+
+ bay12: DanceGroupShapeType
+
+
+
+
+
+
+
+
+ bay12: DanceLineOfDanceType
+
+
+
+
+
+
+
+ bay12: DanceConnectionDistanceType
+
+
+
+
+
+
+ bay12: DanceConnectionTensionType
+
+
+
+
+
+
+
+
+
+ bay12: DanceConnectionTimeType
+
+
+
+
+
+ bay12: DanceGroupDynamicType
+
+
+
+
+
+
+
+ bay12: DANCE_MOVE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DancePurposeType
+
+
+
+
+
+
+
+
+
+ bay12: DANCE_FORM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.datafile.xml b/df.datafile.xml
new file mode 100644
index 0000000000..56cacebe46
--- /dev/null
+++ b/df.datafile.xml
@@ -0,0 +1,88 @@
+
+ -- Unused: DataFileIdentifier
+
+ bay12: SaveTypeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ almost the same, but not quite the same, as region_headerst's list
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.descriptor.xml b/df.descriptor.xml
new file mode 100644
index 0000000000..587962b5d4
--- /dev/null
+++ b/df.descriptor.xml
@@ -0,0 +1,261 @@
+
+
+
+ $.id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SHAPE_FLAG_*
+
+
+
+
+
+
+
+
+ $.id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.id
+
+
+
+
+
+
+ bay12: TRACK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FORTIFICATION_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: STAIR_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: STAIR_GRAPHICS_FLAG_SHAPE_*
+
+
+
+
+
+ bay12: STAIR_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unlike all of the others, this one is int64
+
+
+
+ bay12: BOULDER_FLOOR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ENGRAVED_FLOOR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: WOOD_FLOOR_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: WOOD_FLOOR_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: METAL_FLOOR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: STONE_BLOCK_FLOOR_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: STONE_BLOCK_FLOOR_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+ TODO: defined in g_src/graphics.h
+
+
+
+
+
+
+
+
+ TODO: defined in g_src/graphics.h
+
+
+
+
+
+
+
+
+ TODO: defined in g_src/graphics.h
+
+
+
+
+ cannot use bitfield here, since it ignores base-type
+
+
+
+ bay12: COMBAT_ANIMATION_SWISH_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.01
+ 0.50.08-beta
+ 0.51.01
+
+
+
+
diff --git a/df.descriptors.xml b/df.descriptors.xml
deleted file mode 100644
index 184f365ea0..0000000000
--- a/df.descriptors.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
- bay12: PatternType
-
-
-
-
-
-
-
-
-
-
-
- $.id
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.id
-
-
-
-
-
-
- bay12: SHAPE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.id
-
-
-
-
-
-
-
diff --git a/df.dfhack.xml b/df.dfhack.xml
new file mode 100644
index 0000000000..5e1db14f7c
--- /dev/null
+++ b/df.dfhack.xml
@@ -0,0 +1,964 @@
+
+ -- Data types defined specifically for DFHack, as well as others that don't have a good place to live
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Not in DF
+
+ Royal Throne Room | Royal Bedroom | Royal Dining Room | Royal Mausoleum
+ Opulent Throne Room | Grand Bedroom | Grand Dining Room | Grand Mausoleum
+ Throne Room | Great Bedroom | Great Dining Room | Mausoleum
+ Splendid Office | Fine Quarters | Fine Dining Room | Fine Tomb
+ Decent Office | Decent Quarters | Decent Dining Room | Tomb
+ Office | Quarters | Dining Room | Burial Chamber
+ Modest Office | Modest Quarters | Modest Dining Room | Servant's Burial Chamber
+ Meager Office | Meager Quarters | Meager Dining Room | Grave
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Using the color names without "dark" or "light", favoring primaries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DFHack-only
+
+
+
+
+
+
+
+
+
+
+
+ An extended version of job_material_category,
+ for use in some plugins, like workflow.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (fmt "(~A,~A)" $.x $.y)
+
+
+
+
+
+
+
+
+
+
+
+ (fmt "[~A]" $.x.count)
+ (loop for i from 0 below (min $.x.count 3)
+ collect (fmt "(~A,~A)" $.x[i] $.y[i]))
+ (when (> $.x.count 3) "...")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (fmt "(~A,~A,~A)" $.x $.y $.z)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (fmt "[~A]" $.x.count)
+ (loop for i from 0 below (min $.x.count 3)
+ collect (fmt "(~A,~A,~A)" $.x[i] $.y[i] $.z[i]))
+ (when (> $.x.count 3) "...")
+
+
+
+ -- Not an actual DF enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Not in DF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.diplomacy.xml b/df.diplomacy.xml
new file mode 100644
index 0000000000..897363c010
--- /dev/null
+++ b/df.diplomacy.xml
@@ -0,0 +1,110 @@
+
+ bay12: DIPLOMACYFLAG_*
+
+
+
+
+
+ bay12: StandardDiplomacyTypes, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DIPLOMACY_STATE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ sorted by group_id
+
+
+ bay12: DiplomaticFactorType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.dipscript.xml b/df.dipscript.xml
new file mode 100644
index 0000000000..08d7e147f5
--- /dev/null
+++ b/df.dipscript.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ $.code
+
+
+
+
diff --git a/df.divination_set.xml b/df.divination_set.xml
new file mode 100644
index 0000000000..132a3d46e1
--- /dev/null
+++ b/df.divination_set.xml
@@ -0,0 +1,161 @@
+
+ bay12: FortuneType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DivinationOutcomeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.effect.xml b/df.effect.xml
new file mode 100644
index 0000000000..1ff10d8c2a
--- /dev/null
+++ b/df.effect.xml
@@ -0,0 +1,31 @@
+
+ bay12: Effects, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.entities.xml b/df.entities.xml
deleted file mode 100644
index 44867249f0..0000000000
--- a/df.entities.xml
+++ /dev/null
@@ -1,1680 +0,0 @@
-
-
-
-
-
-
-
-
- bay12: EntityOccasionPurposeType
- history_event
-
- historical_figure, sphere_type
-
-
-
-
- bay12: ENTITY_OCCASION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityOccasionScheduleType
- dance form
- musical form
- poetry form
- history event
- dance form
- musical form
- poetry form
-
-
- race, caste
-
- item type, subtype, material, matgloss
-
- start abstract building, end abstract building
-
-
-
-
-
-
-
-
-
- bay12: ENTITY_OCCASION_SCHEDULE_FLAG_*
-
-
-
-
-
-
-
- bay12: EntityOccasionScheduleElementType
- race, caste
- race, caste
- history event
- poetry form
- musical form
- dance form
-
-
-
-
- histfig
- plant id, growth idx
- plant id, growth idx
-
-
-
-
- item type, item subtype, material, matgloss
- item type, item subtype, material, matgloss
- race, caste
- plant id
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
- creature, all, glass, stone, metal, tree, shrub
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: knowledgest
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: REPORT_SITE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MERCHANTEVENTFLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CivRequestTabType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yes, actually int16 even though matgloss should be int32
-
-
- bay12: EntityType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ENTITY_HONOR_FLAG_*
-
-
-
-
-
- bay12: ENTITY_HONOR_REQUIRED_SKILL_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EVIDENCE_HF_FILE_FLAG_*
-
-
-
-
-
-
-
- bay12: EVIDENCE_FLAG_
- bay12: CrimeType, currently defined inline in crime
-
-
- bay12: EVIDENCE_HF_FILE_TEMP_FLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: EVIDENCE_REPOSITORY_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.type
- (describe-obj (find-creature $.race))
- (describe-obj $.name)
-
-
-
-
- bay12: ENTITYFLAG_*
-
-
-
-
-
- SiteGovernment and Outcast has this flag set when there are no site links with the residence or invasion_push_out
- flag set. Others (NomadicGroup, MilitaryUnit seen) have it set when the criteria of the first group are fullfilled
- together with occupation_failed, criminal_gang, and reclaim being absent as well, provided they have at least one
- site link (no site link = flag not set).
- Civilizations can have the flag set when having lost all sites, but usually do not, so the flag seems useless
- at that level (Some exterminated kobolds have it set, while most do not, for instance. Embark culled dwarven civs
- may or may not have it set).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: entity_focusst
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound, nor are any of the compounds inside
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- likely ENTITY_SCHOLAR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
- bay12: transport_linkst
-
-
-
-
-
-
-
-
-
- bay12: diplomacy_datast
- sorted by group_id
- bay12: diplomacy_statest
-
- bay12: DiplomacyStateType
-
-
-
-
-
-
-
-
-
-
- bay12: DIPLOMACY_STATE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
- bay12: entity_lawst
- bay12: ENTITY_LAW_FLAG_*
-
-
-
-
-
-
- bay12: entity_animal_training_knowledgest
-
-
-
-
-
-
- -- bay12: rumor_infost
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- wcid == written content ID
-
-
- -- bay12: entity_calendarst *calendar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- bay12: material_source_enid
-
-
-
-
- -- bay12: reportst *lastreport
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- bay12: army_strength_material_bonus
-
-
-
-
-
-
-
-
-
-
- -- worldgen only, unsaved
-
-
-
- -- Civ entities. Nil for sites.
- -- Civ entities. Non pointers for sites.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?
- ?
- ?
-
-
-
-
-
-
-
-
- bay12: world_gen_entity_debtst
-
-
-
-
-
-
-
-
- bay12: entity_burial_requestst
-
-
- bay12: EntityBurialRequestStatusType
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- protected --
-
-
-
-
- $.name
-
- (find-by-id $(find-instance $historical_entity $$).tissue_styles.all $id $)
-
-
-
-
-
-
-
-
-
-
- bay12: AnimalTrainingKnowledgeType
-
-
-
-
-
-
-
-
- bay12: EntityPositionFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.code
-
-
-
-
-
-
-
-
-
- bay12: string[EntityPositionStringType]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: int32_t[DemandRooms]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (describe-obj $.position_id.refers-to)
- (awhen $.histfig.ref-target
- (describe-obj it))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityMaterialType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityUniformType
-
-
-
-
-
-
-
-
-
-
-
-
- (describe-obj $.name)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: RumorType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: rumor_army_marching_to_sitest
-
-
-
-
-
- bay12: rumor_hist_figure_abductedst
-
-
-
-
-
- bay12: rumor_incidentst
-
-
-
- bay12: rumor_occupationst
-
-
-
-
-
- bay12: rumor_beast_presentst
-
-
-
-
- bay12: rumor_entity_site_presentst
-
-
-
- bay12: rumor_army_harassing_sitest
-
-
-
-
- bay12: rumor_refugees_fleeing_armyst
-
-
-
-
-
- bay12: rumor_refugees_abandon_mismanaged_sitest
-
-
-
-
- bay12: rumor_site_reclaimedst
-
-
-
-
-
- bay12: rumor_site_createdst
-
-
-
-
-
- bay12: rumor_reclaim_army_leaving_for_sitest
-
-
-
-
-
- bay12: rumor_site_creation_army_leavingst
-
-
-
-
-
- bay12: rumor_occupation_pulling_out_of_sitest
-
-
-
- bay12: rumor_insurrection_startedst
-
-
-
- bay12: rumor_insurrection_endedst
-
-
-
-
- bay12: rumor_new_position_holderst
-
-
-
-
-
- bay12: rumor_site_claimed_by_new_entityst
-
-
-
-
- bay12: rumor_entity_agrees_to_accept_tributest
-
-
-
-
-
- bay12: rumor_entity_refuses_to_accept_tributest
-
-
-
-
-
- bay12: rumor_entity_agrees_to_give_tributest
-
-
-
-
-
- bay12: rumor_entity_refuses_to_give_tributest
-
-
-
-
-
- bay12: rumor_entity_agrees_to_make_peacest
-
-
-
-
-
- bay12: rumor_entity_refuses_to_make_peacest
-
-
-
-
-
- bay12: rumor_entity_cancels_tributest
-
-
-
-
-
- bay12: rumor_artifact_present_at_sitest
-
-
-
-
- bay12: rumor_artifact_present_at_subregionst
-
-
-
- bay12: rumor_artifact_present_at_feature_layerst
-
-
-
- bay12: rumor_artifact_held_by_hfst
-
-
-
- bay12: rumor_artifact_not_present_at_sitest
-
-
-
-
- bay12: rumor_artifact_not_present_at_subregionst
-
-
-
- bay12: rumor_artifact_not_present_at_feature_layerst
-
-
-
- bay12: rumor_artifact_not_held_by_hfst
-
-
-
- bay12: rumor_artifact_destroyedst
-
-
-
-
-
-
-
- bay12: RUMOR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AGREEMENT_FLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: agreement_complaintst
-
-
-
-
-
-
-
-
- bay12: EvidenceType
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: IntrigueCorruptionActionType
-
-
-
-
-
-
-
- bay12: AgreementSubjectType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AGREEMENT_SUBJECT_BUILD_LOCATION_FLAG_*
-
-
-
-
-
-
-
-
- bay12: INTRIGUE_PLOT_INFILTRATE_SOCIETY_FLAG_* ?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.entity-raws.xml b/df.entity-raws.xml
deleted file mode 100644
index fb59111479..0000000000
--- a/df.entity-raws.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
- bay12: EntityDefFlagType
- SITE_CONTROLLABLE
- ALL_MAIN_POPS_CONTROLLABLE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: SiteType
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EthicType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EthicResponseType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityDefSelector
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.translation
-
-
-
-
- not an actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not an actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not an actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ENTITY_SCHOLAR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not an actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: entity_def_tissue_stylest
-
-
-
-
-
-
-
- not an actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ENTITY_DEF_ANIMAL_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityDefPositionFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PositionResponsibilityType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: string[EntityDefPositionStringType]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: int32_t[DemandRooms]
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.entity.xml b/df.entity.xml
new file mode 100644
index 0000000000..8d72f07df0
--- /dev/null
+++ b/df.entity.xml
@@ -0,0 +1,1833 @@
+
+ -- Unused: WG_PUNISH_STATUS_FLAG_*
+
+ bay12: EvidenceType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EVIDENCE_FLAG_*
+
+
+
+ bay12: EVIDENCE_HF_FILE_FLAG_*
+
+
+
+
+
+
+ bay12: EVIDENCE_HF_FILE_TEMP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EVIDENCE_REPOSITORY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: entity_art_race_restrictionst
+ -- Unused: entity_art_form_inventoryst
+ -- Unused: ENTITY_TRADE_GOOD_INFO_FLAG_*
+ -- Unused: entity_trade_good_infost
+ -- Unused: art_namerst
+
+ bay12: TownLaborType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: entity_material_specifierst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RAS_CROP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RAS_STONE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RAS_METAL_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RAS_EXTRACT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RAS_POWDER_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: wg_demographicsst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: create_building_datast
+ -- Unused: EntityDefPositionStringType
+
+
+
+
+
+
+
+
+ not an array
+
+
+
+
+
+ not an array
+
+
+
+
+
+ bay12: string[EntityDefPositionStringType]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not an array
+
+
+
+
+
+
+ bay12: int32_t[DemandRooms]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_DEF_ANIMAL_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.translation
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not an array
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+ SAVE_VALUENUM
+ SAVE_VALUENUM
+ SAVE_VALUENUM
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: entity_def_handling_informationst
+
+
+
+
+
+ bay12: ITEM_CREATION_PARAM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityAssociation, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_SITE_AB_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: EntitySiteProfileLocationType
+
+ Probably inactive/failed/NA. Seen with status = 0/2/8/16/128/144/8192. Entities Civilization/SiteGovernment/NomadicGroup/Outcast (not all value/entity permutations)
+
+ Civilization: status = 0 if any flags set and status = 2 if not, with the exception of "fortress" that can be set in either case. capital, monument, reclaim, and land_for_holding flags seen.
+ does not seem to indicate clearly whether the site is owned currently. Note that civs don't have links to most of its sites, as it normally goes via site governments.
+ SiteGovernment: flags.residence => status = 0. No flags set with any other status value. Thus, SiteGovernment/type=Claim/status=0 probably means it's the current official local government.
+ NomadicGroup: flags.residence => status = 0. Probably official local government (mostly Camp). Other status values (1/129) have no flags set.
+ Religion: all were Fortress (and had that flag) and had status = 0. Thus, probably civ level "owner", as the monasteries seem to have local site governments.
+ MilitaryUnit: residence+fortress flags => status = 0 and owner (with no local site government). status = 5 and no flags set was the alternative seen.
+ Outcast: flags.residence => status = 0 and local government. Alternative seen is status = 1 and no flags set.
+
+
+ NomadicGroup/SiteGovernment, all with criminal_gang flag set and status = 0. Can also be found with None (failed/inactive?). Connection usually not mentioned anywhere.
+
+
+ Religion: All have status = 0. At least one of the residence and base_of_operation flags set.
+ Outcast: status = 0 => flag residence and/or base_of_operation. Reverse not true. Assume status = 0 still active, with 2, 3, 131, 195 being failures.
+ MerchantCompany: All have status = 0 and the capital flag set. Some also have base_of_operations.
+ Guild: All have status = 0 and the capital flag set.
+
+
+ bay12: ENTITY_SITE_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary: 0 seems to be active, 1, 2, 3, 5, 131, various cessations of activity. 8, 16, 128, 144, 8192 something unrelated, and the 129, 195 possible cessations"
+ 0: Civilization/SiteGovernment/NomadicGroup/Religion/Outcast/MerchantCompany/Guild. Seems to be 'Active'. Civ can have 'Active' claim on site not held, while others seem to be currently active.
+ 1: SiteGovernment/NomadicGroup/Outcast. Seems to be defeated and losing presence at the site. Nomads/Outcasts might not have been the masters of the site as single rampage can cause enmity of two entities.
+ 2: Civilization: type = None/Active, (failed to find difference). All sites seen were either destroyed or abandoned, can be reclaimed, but without that flag set. No flags set except a possible 'fortress'. Note that no conquest was seen.
+ Outcast: type = Local_Activity. All have criminal flags. Some may have indications of having left, but some don't...
+ 3: Outcast, all with type = Local_Activity. All seen were fully incorporated into other criminal gangs.
+ 5: SiteGovernment/MilitaryUnit. All Fortress. All type = Claim. SiteGovernment just replaced w/o event. MercenaryCompay abandoned or were replaced silently, and no flags set.
+ 8: All SiteGovernment with type = None. Seems to be references to SiteGovernments without any known relations. No flags set.
+ 16: SiteGovernment/NomadicGroup with type = None. Seems to be references to entities without any known relations. No flags set.
+ 128: SiteGovernment/NomadicGroup/Outcast with type = None. Seems to be references to entities without any known relations. No flags set.
+ 129: NomadicGroup settling in destroyed site/site horribly experimented on, being present silently, and site getting destroyed again. type = Claim.
+ 131: Outcast, type = Local_Activity. No flags. All relocated to site location, typically catacombs. All fully incorporated into other organization, as per 3.
+ 144: NomadicGroup (only one entry). type = None. No flags. No apparent connection.
+ 195: Outcast (only 2 entries). type = Local_Activity. No flags. Both moved to inn and became primary criminal org. One had lots of members moving from the inn. Different site destroyed in both cases. No incorporation seen, though.
+ 8192: Civilization/SiteGovernment. type = None. No flags. No apparent connection.
+
+ former_flag is an accumulation of every flag the entity has ever had, any operation that clears part of flag also adds that flag to former_flag
+
+
+
+ the above are related to army.squads in some way
+
+
+
+
+
+
+
+
+
+
+ -- Unused: EquipmentRole
+
+ bay12: EntityArtImageType, no base type but only used as int16
+
+
+
+
+
+ bay12: EntityUniformType
+
+
+
+
+
+
+
+ bay12: ENTITY_UNIFORM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ (describe-obj $.name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: entity_army_squadst
+ -- Unused: EAP_MERC_FIGHTER_FLAG_*
+ -- Unused: EAP_FLAG_*
+ -- Unused: entity_army_profilest
+ -- Unused: EntityPositionStringType
+
+
+
+
+
+
+ $.code
+
+
+
+
+
+
+
+
+
+ bay12: string[EntityPositionStringType]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not an array
+
+
+
+
+
+ bay12: int32_t[DemandRooms]
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityPositionProfileFlagType
+
+
+
+
+
+
+
+
+
+
+
+ (describe-obj $.position_id.refers-to)
+ (awhen $.histfig.ref-target
+ (describe-obj it))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.name
+
+ (find-by-id $(find-instance $historical_entity $$).tissue_styles.all $id $)
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TradeCategoryType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityBurialRequestStatusType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_LAW_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: AnimalTrainingKnowledgeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityOccasionScheduleElementType
+
+ race, caste
+ race, caste
+ history event
+ poetry form
+ musical form
+ dance form
+
+
+
+
+ histfig
+ plant id, growth idx
+ plant id, growth idx
+
+
+
+
+ item type, item subtype, material, matgloss
+ item type, item subtype, material, matgloss
+ race, caste
+ plant id
+
+
+
+
+ actually an array
+
+
+
+
+
+ bay12: EntityOccasionScheduleType
+
+ dance form
+ musical form
+ poetry form
+ history event
+ dance form
+ musical form
+ poetry form
+
+
+ race, caste
+
+ item type, subtype, material, matgloss
+
+ start abstract building, end abstract building
+
+
+
+ bay12: ENTITY_OCCASION_SCHEDULE_FLAG_*
+
+
+
+
+
+ actually an array
+
+
+
+
+
+
+
+
+
+ bay12: EntityOccasionPurposeType
+ history_event
+
+ historical_figure, sphere_type
+
+
+ bay12: ENTITY_OCCASION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityFocusType
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_HONOR_REQUIRED_SKILL_FLAG_*
+
+
+
+
+ bay12: ENTITY_HONOR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: WG_INTERROGATION_DATA_FLAG_*
+ -- Unused: wg_interrogation_datast
+ -- Unused: WG_CONVICTION_DATA_FLAG_*
+ -- Unused: wg_conviction_datast
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_SCHOLAR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITYFLAG_*
+
+
+
+
+
+ SiteGovernment and Outcast has this flag set when there are no site links with the residence or invasion_push_out
+ flag set. Others (NomadicGroup, MilitaryUnit seen) have it set when the criteria of the first group are fullfilled
+ together with occupation_failed, criminal_gang, and reclaim being absent as well, provided they have at least one
+ site link (no site link = flag not set).
+ Civilizations can have the flag set when having lost all sites, but usually do not, so the flag seems useless
+ at that level (Some exterminated kobolds have it set, while most do not, for instance. Embark culled dwarven civs
+ may or may not have it set).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityType; no base type, but usually int16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.type
+ (describe-obj (find-creature $.race))
+ (describe-obj $.name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound, nor are any of the compounds inside
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not an array
+
+
+
+
+
+
+
+
+
+
+ SAVE_VALUENUM
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- worldgen only, unsaved
+
+
+
+ -- Civ entities. Nil for sites.
+ -- Civ entities. Non pointers for sites.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- protected --
+
+
+
+
+
+
+
+
+ -- Apparently a temporary buffer for world construction stuff
+
+
+
+
+
+
diff --git a/df.event.xml b/df.event.xml
new file mode 100644
index 0000000000..44bcef1d28
--- /dev/null
+++ b/df.event.xml
@@ -0,0 +1,253 @@
+
+ bay12: EVENTDETAILFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TubeHazardType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: VERMINEVENTFLAG_*
+
+
+
+
+
+
+ bay12: VerminCreationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EVENT_CONSTRUCTION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.feature.xml b/df.feature.xml
new file mode 100644
index 0000000000..4b118d684d
--- /dev/null
+++ b/df.feature.xml
@@ -0,0 +1,309 @@
+
+ bay12: RiverFlagType
+
+
+
+
+
+ (describe-obj $.name)
+
+
+
+ -- 0 - 15
+
+
+
+
+
+ Additional river information:
+ The flow element affects the width of the river and seems to follow the
+ formula width = (flow / 40000 * 46) + 1, with a minimum width of 4 and
+ a maximum width of 47. DF uses specific names for rivers with certain flows:
+ - Stream: less than 5000
+ - Minor River 5000 - 9999
+ - River 10000 - 19999
+ - Major River: greather than 20000
+ Brooks tend to have a flow of 0, but DF has divided the controlling information
+ between this structure, the region map entry (below), and the feature map.
+ Thus, the region map flag 'is_brook' controls whether a water course actually
+ is a (potentially broad) brook or an open water course. Likewise, the 'has_river'
+ flag is needed for DF to properly understand a water course should be present.
+ The exit tile holds the information on which mid level tile the river should
+ exit the region. Presumably the path controls which edge to apply this to.
+ Note that the river up/down/left/right flags of the region map entry should
+ align with the sides rivers enter/exit.
+ The feature map has to have a river entry for the corresponding world tile
+ for a river to be implemented properly. All this is done by DF, but needs
+ to be known if hacking.
+ The world region details (below) data on rivers are generated as the regions
+ are generated.
+ The elevation element affects the level of the river. If the river elevation
+ is lower than the surrounding area DF tends to generate a valley around the
+ river to allow it to reach the correct elevation.
+
+
+
+ bay12: FeatureType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FeatureAlterationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FeatureInitFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.flow.xml b/df.flow.xml
new file mode 100644
index 0000000000..2692056a4b
--- /dev/null
+++ b/df.flow.xml
@@ -0,0 +1,101 @@
+
+ bay12: FlowTypes, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EVENTFLOW_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FLOWTRACKER_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: FlowGuideType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FLOW_GUIDE_ITEM_CLOUD_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.formation.xml b/df.formation.xml
new file mode 100644
index 0000000000..1650ef6303
--- /dev/null
+++ b/df.formation.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.functions.xml b/df.functions.xml
new file mode 100644
index 0000000000..d288a0e7ed
--- /dev/null
+++ b/df.functions.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.g_src.KeybindingScreen.xml b/df.g_src.KeybindingScreen.xml
new file mode 100644
index 0000000000..21cbdded38
--- /dev/null
+++ b/df.g_src.KeybindingScreen.xml
@@ -0,0 +1,20 @@
+
+ -- Unused: KeybindingScreen
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.g_src.ViewBase.xml b/df.g_src.ViewBase.xml
new file mode 100644
index 0000000000..e5f27c0870
--- /dev/null
+++ b/df.g_src.ViewBase.xml
@@ -0,0 +1,348 @@
+
+ bay12: SCROLLBAR_DISPLAY_FLAG_*
+
+
+
+ bay12: TooltipType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WidgetFlag
+
+ plus ACTUALLY_VISIBLE for both of the above
+
+
+
+
+ -- Unused: Side
+ -- Unused: LayoutPreset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TRUNCATE_MODE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: WIDGET_STACK_DEFER_FLAG
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TabType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TextboxType, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InterfaceBreakdownTypes, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.announcements.xml b/df.g_src.basics.xml
similarity index 90%
rename from df.announcements.xml
rename to df.g_src.basics.xml
index 99c64c1622..9809ac7a9c 100644
--- a/df.announcements.xml
+++ b/df.g_src.basics.xml
@@ -1,4 +1,27 @@
+ bay12: GameMode
+
+
+
+ not -1
+
+
+ bay12: GameType
+
+
+
+
+
+
+
+
+
+
+
+
+ not -1
+
+
bay12: AnnouncementType
@@ -1099,13 +1122,13 @@
-
+
-
+
-
+
@@ -1154,105 +1177,13 @@
- bay12: INIT_ANNOUNCEMENT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.text
-
-
-
-
-
-
- bay12: ANNOUNCEMENTFLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: AnnouncementLocationType
-
-
-
+ bay12: justification
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ANNOUNCEMENT_INFO_FLAG_*
-
-
-
-
diff --git a/df.g_src.enabler.xml b/df.g_src.enabler.xml
new file mode 100644
index 0000000000..5f64f09823
--- /dev/null
+++ b/df.g_src.enabler.xml
@@ -0,0 +1,269 @@
+
+ -- Unused: pstringst
+ -- Unused: stringvectst
+ -- Unused: flagarrayst
+ -- Unused: ColorData
+ -- Unused: TILEFLAG_*
+ -- Unused: render_phase
+
+
+
+
+
+ -- Unused: COPYTEXTUREFLAG_*
+
+ bay12: ENABLERFLAG_*
+
+
+
+
+
+ -- Unused: ttf_id
+
+
+
+
+
+
+
+
+ -- Unused: tile
+ -- Unused: GL_WindowInit
+ -- Unused: GL_Window
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FullscreenState
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chan{async_cmd}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chan{async_msg}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chan{zoom_commands}
+
+
+
+
+
+
+
+ binary_semaphore
+
+ SDL_threadID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.g_src.files.xml b/df.g_src.files.xml
new file mode 100644
index 0000000000..32f46a74e4
--- /dev/null
+++ b/df.g_src.files.xml
@@ -0,0 +1,26 @@
+
+ -- Unused: filest
+
+
+ Note: the assign operator is manually implemented
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.graphics.xml b/df.g_src.graphics.xml
similarity index 58%
rename from df.graphics.xml
rename to df.g_src.graphics.xml
index 3481177284..21bfb5de45 100644
--- a/df.graphics.xml
+++ b/df.g_src.graphics.xml
@@ -1,126 +1,252 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ -- Unused: ProceduralItemTextureType
+ -- Unused: TextureBodypartSkinSurfaceType
+
+ bay12: SphereType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+ bay12: RamHeadType
+
+
+
+
+
+
+
+
-
- Using the color names without "dark" or "light", favoring primaries.
-
-
-
-
-
-
-
-
+ bay12: EngravingIntentType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ bay12: CombatAnimationSwishType
+
+
+
+
+
+
+
-
-
+ bay12: CombatAnimationSwishDirectionType
+
+
+
+
+
+
+
+
+
+
-
-
+ bay12: CombatAnimationRamDirectionType
+
+
+
+
+
+
-
-
-
-
+ -- Unused: GraphicsTrackingSymbolWeightType
+ -- Unused: GraphicsTrackingSymbolDirType
+ -- Unused: MoveIndicatorType
+ -- Unused: MoveIndicatorDirectionType
+ -- Unused: GraphicsSoundIndicatorType
+ -- Unused: PCGLayeringType, actually referenced elsewhere but not worth adding here
+ -- Unused: PCGLayeringModifierType
+ -- Unused: UnitStatusType
+ -- Unused: SideIndicatorType
+ -- Skipped: TreeWoodTileType
+
+ bay12: Texture, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ -- Unused: SCREENTEXPOS_FLAG_*
+ -- Unused: RectangleCursorType
+ -- Unused: MAP_PORT_CLOUD_BITS_*
+
+ bay12: GRAPHIC_MAP_PORT_FLAG_*
+
+
-
+
@@ -135,192 +261,163 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+ -- Unused: EdgingType
+ -- Skipped: VIEWPORT_FLOOR_FLAG_*
+ -- Unused: VIEWPORT_WALL_FLAG_*
+ -- Unused: GraphicsRampType
+ -- Skipped: VIEWPORT_RAMP_FLAG_*
+ -- Skipped: VIEWPORT_SHADOW_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: GRAPHIC_VIEWPORT_FLAG_*
+
+
+
-
-
-
+
+
- -- do NOT put these in a compound, because it will break alignment!
-
-
-
-
+
+
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ VIEWPORT_FLOOR_FLAG_*
+
+ VIEWPORT_LIQUID_FLAG_*
+ VIEWPORT_SPATTER_FLAG_*
+
+ VIEWPORT_RAMP_FLAG_*
+ VIEWPORT_SHADOW_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: InterfaceButtonMainType (referenced from interaction.h and material.h)
+ -- Unused: InterfaceButtonSmallType
+ -- Unused: InterfaceButtonAssignTradeType
+ -- Unused: InterfaceButtonBuildingInfoType
+ -- Unused: InterfaceButtonLargeUnitSheetType
+ -- Unused: InterfaceButtonPetsLivestockType
+ -- Unused: InterfaceButtonInventoryItemType
+ -- Unused: InterfaceButtonBuildingSheetType
+ -- Unused: InterfaceButtonUnitSheetType
+ -- Unused: InterfaceAdventureTravelDirType
+ -- Unused: InterfaceMoonWeatherType
+ -- Unused: TextureMapDrawnType
+ -- Unused: TextureBridgeType
+ -- Skipped: VIEWPORT_LIQUID_FLAG_*
+ -- Skipped: VIEWPORT_SPATTER_FLAG_*
+ -- Unused: InterfaceAdvEnvTextureType
+
@@ -413,8 +510,8 @@
-
-
+ INTERFACE_BUTTON_MAINNUM
+ INTERFACE_BUTTON_SMALLNUM
@@ -506,15 +603,15 @@
-
-
-
-
-
-
-
+ INTERFACE_BUTTON_ASSIGN_TRADENUM
+ INTERFACE_BUTTON_BUILDING_INFONUM
+ INTERFACE_BUTTON_BUILDING_SHEETNUM
+ INTERFACE_BUTTON_UNIT_SHEETNUM
+ INTERFACE_BUTTON_LARGE_UNIT_SHEETNUM
+ INTERFACE_BUTTON_PETS_LIVESTOCKNUM
+ INTERFACE_BUTTON_INVENTORY_ITEMNUM
-
+ INTERFACE_ADVENTURE_TRAVEL_DIRNUM
@@ -548,7 +645,7 @@
-
+ INTERFACE_ADV_ENV_TEXTURENUM
@@ -583,8 +680,70 @@
-
+
+
+
+ std::variant{SDL_Texture *, SDL_Surface *}
+
+
+
+
+
+
+
+
+
+
+ bay12: OVERRIDE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -592,291 +751,76 @@
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- note: this is a std::atomic_int
- note: this is a std::atomic_int
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
- -- texture_handler.h
-
-
-
-
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
-
-
+
+
+
-
-
-
+ -- do NOT put these in a compound, because it will break alignment!
+
+
+
+
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TEXTURE_MAP_DRAWNNUM
+
-
-
-
-
+ -- Unused: gps_locator
diff --git a/df.keybindings.xml b/df.g_src.keybindings.xml
similarity index 97%
rename from df.keybindings.xml
rename to df.g_src.keybindings.xml
index 1101d4cf65..ebe74cefea 100644
--- a/df.keybindings.xml
+++ b/df.g_src.keybindings.xml
@@ -1,7 +1,7 @@
WARNING: THIS FILE IS AUTO-GENERATED - DO NOT EDIT
-
+ bay12: InterfaceKeyType
@@ -290,7 +290,7 @@
,
,
,
-
+
@@ -358,6 +358,7 @@
+
@@ -486,8 +487,8 @@
-
-
+
+
@@ -588,9 +589,9 @@
-
-
-
+
+
+
@@ -692,8 +693,8 @@
-
-
+
+
@@ -707,7 +708,7 @@
-
+
@@ -963,7 +964,7 @@
-
+
diff --git a/df.g_src.music_and_sound_g.xml b/df.g_src.music_and_sound_g.xml
new file mode 100644
index 0000000000..763361194c
--- /dev/null
+++ b/df.g_src.music_and_sound_g.xml
@@ -0,0 +1,162 @@
+
+ bay12: MUSICSOUND_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: MusicEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MusicContextType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: Song
+ -- Unused: SoundType
+ -- Skipped: musicsound_info - platform-dependent implementation?
+
+
+
+
+
+
+
+ -- Unused: loading_music_filest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.g_src.platform.xml b/df.g_src.platform.xml
new file mode 100644
index 0000000000..7850eadc2a
--- /dev/null
+++ b/df.g_src.platform.xml
@@ -0,0 +1,24 @@
+
+ -- Skipped: POINT
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: MSG
+
+
+
diff --git a/df.g_src.renderer_2d.xml b/df.g_src.renderer_2d.xml
new file mode 100644
index 0000000000..5f1f5f2da7
--- /dev/null
+++ b/df.g_src.renderer_2d.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.g_src.texture_handler.xml b/df.g_src.texture_handler.xml
new file mode 100644
index 0000000000..4e085a866e
--- /dev/null
+++ b/df.g_src.texture_handler.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ actually textlinesst
+
+
+
+
+
+
+
+
+
+
diff --git a/df.game_g.xml b/df.game_g.xml
new file mode 100644
index 0000000000..bbd497bea5
--- /dev/null
+++ b/df.game_g.xml
@@ -0,0 +1,47 @@
+
+ bay12: EXTERNAL_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: BuildableCheck
+
+ bay12: UnitViewModes
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.game_v.xml b/df.game_v.xml
new file mode 100644
index 0000000000..2937fb7d82
--- /dev/null
+++ b/df.game_v.xml
@@ -0,0 +1,371 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: linelim
+ -- Skipped: line
+ -- Skipped: linechar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: keyboard_point
+
+
+
+
+
+
+
+
+ -- Skipped: index1_*
+
+ -- Helper type for ui_lever_target_type global - not actually a real enum, the elements are just ASCII characters
+
+
+
+
+ 'B'
+ 'F'
+ 'S'
+
+
+ 'T'
+
+
+
+ 'a'
+ 'b'
+ 'c'
+ 'd'
+ 'e'
+
+
+ 'f'
+ 'g'
+ 'h'
+ 'j'
+ 'l'
+
+
+ 's'
+ 't'
+
+
+ 'w'
+
+
+
+
+
+
+
+
+
+ -- Skipped: modeseason
+ -- Skipped: selectingtaskobject
+
+
+
+
+
+
+
+ -- Skipped: buildjob_mastering
+ -- Skipped: buildjob_give_to
+ -- Skipped: buildjob_popback
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: buildjob_building
+ -- Skipped: buildjob_flowx
+ -- Skipped: buildjob_flowy
+ -- Skipped: buildjob_flowz
+ -- Skipped: buildjob_item1
+
+
+
+ -- Skipped: squadcount
+
+
+
+
+
+
+ -- Skipped: modestation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: index2_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: unitprintstack
+ -- Skipped: unitprintstack_cur
+ -- Skipped: unitprintstack_start
+ -- Skipped: unitprintstack_clear
+
+
+
+
+
+
+
+
+
+ -- Skipped: olookx
+ -- Skipped: olooky
+ -- Skipped: olookz
+ -- Skipped: oscrollx
+ -- Skipped: oscrolly
+ -- Skipped: oscrollz
+ -- Skipped: page
+
+ -- Skipped: dung_attackmode
+ -- Skipped: dung_dodgemode
+ -- Skipped: dung_chargedefendmode
+ -- Skipped: dung_swimmode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Skipped: manucomp
+ -- Skipped: manucomp2
+ -- Skipped: filecomp_buffer
+ -- Skipped: filecomp_buffer2
+ -- Skipped: filecomp_buffer_aux
+ -- Skipped: filecomp_buffer2_aux
+
+
+
+
+
+
+
+
+ -- Skipped: DEBUG_ALWAYSHAPPY
+
+
+
+ -- Skipped: DEBUG_DISABLEHUMANCARAVAN
+
+
+ -- Skipped: DEBUG_GAMELOG
+
+
+
+
+
+ -- Skipped: mt_index
+ -- Skipped: mt_cur_buffer
+ -- Skipped: mt_virtual_buffer
+ -- Skipped: mt_buffer
+ -- Skipped: mt_virtual_seed_type
+
+
+
diff --git a/df.gene_pool.xml b/df.gene_pool.xml
new file mode 100644
index 0000000000..03359c23be
--- /dev/null
+++ b/df.gene_pool.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.globals.xml b/df.globals.xml
deleted file mode 100644
index d19e1e941d..0000000000
--- a/df.globals.xml
+++ /dev/null
@@ -1,482 +0,0 @@
-
-
-
-
-
-
-
-
-
- The storage order of "next ID" fields in the save file.
- Followed by game type. The enum item name is the part between
- next_ and _global_id in the Dwarf Fortress global variable table.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- .data
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- .bss compound - THAT IS, NOT SIMPLE INTEGER VARIABLES!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- .bss primitive
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'B'
- 'F'
- 'S'
-
-
- 'T'
-
-
-
- 'a'
- 'b'
- 'c'
- 'd'
- 'e'
-
-
- 'f'
- 'g'
- 'h'
- 'j'
- 'l'
-
-
- 's'
- 't'
-
-
- 'w'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.graphics_mainview.xml b/df.graphics_mainview.xml
new file mode 100644
index 0000000000..5949a5095b
--- /dev/null
+++ b/df.graphics_mainview.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: UNIT_MOVE_DIR_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.hauling.xml b/df.hauling.xml
new file mode 100644
index 0000000000..4db404d4df
--- /dev/null
+++ b/df.hauling.xml
@@ -0,0 +1,91 @@
+
+ bay12: STOP_STOCKPILE_LINK_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: STOP_LEAVE_CONDITION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: MODE_HAULING_STOP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.history.xml b/df.history.xml
index 6edb435c04..641c72f04b 100644
--- a/df.history.xml
+++ b/df.history.xml
@@ -1,3902 +1,314 @@
-
- -- Important
-
-
-
- -- Misc
-
-
-
-
-
-
-
-
-
-
-
-
- not a real structure, contents declared inline in all known locations
-
-
-
-
-
-
-
- -- If shot by a ranged weapon:
-
-
-
-
-
-
-
- bay12: PersonalReputationType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistFigStateType
+ bay12: NegotiationResultDifficultyModifierType
-
-
-
-
-
-
+
+
+
- bay12: SeasonType, int32
-
-
-
-
-
-
-
- bay12: HistFigBodyState
+ bay12: NegotiationResultType
-
-
-
-
-
-
-
-
-
- bay12: IntrigueRoleType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: IntrigueStrategyType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INTRIGUE_PLOT_ACTOR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: STATE_PROFILE_FLAG_*
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- bay12: ResearchProjectType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: INTRIGUE_CORRUPTION_RESULT_FLAG_*
+
+
+
- bay12: AbstractBuildingReputationType
-
-
-
-
-
-
-
-
-
-
- bay12: NightCreatureExperimentType
-
-
-
-
-
-
-
-
- bay12: InvPSkillType
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: IntrigueCorruptionResultRelFactorType
+
+
+
+
+
+
-
-
- bay12: CREATURE_KNOWLEDGE_FLAG_*
-
-
-
-
-
-
-
-
-
- bay12: CREATURE_KNOWLEDGE_SCHOLAR_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: scholar_knowledgest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: unknown
-
-
-
-
-
- bay12: hf_religious_datast
-
-
- bay12: ab_review_infost
-
- bay12: abstract_building_reviewst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: metaphysical_profilest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: skill_profilest
-
-
-
-
-
-
-
-
-
-
- bay12: SKILL_PROFILE_FLAG_*
-
-
-
-
-
- bay12: honor_profilest
-
- bay12: honor_profile_entityst
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: pet_profilest
-
-
-
- bay12: personality_profilest
-
-
-
-
- bay12: artistic_profilest
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: body_profilest
-
-
-
- (let* ((info $$._parent._parent._parent)
- (figure $info._parent._parent)
- (caste (find-instance $caste_raw $figure.caste $figure.race)))
- $caste.body_parts[$])
-
-
-
-
- bay12: BODY_PROFILE_FLAG_*
-
-
-
-
-
-
- bay12: interaction_profilest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: divination_profilest
-
-
-
-
-
- bay12: DIVINATION_PROFILE_FLAG_*
-
-
-
- bay12: experiment_profilest
-
-
-
-
-
- bay12: inventory_profilest
-
-
-
-
-
- bay12: INVENTORY_PROFILE_FLAG_*
-
-
-
-
-
- bay12: hf_building_usage_profilest
-
- bay12: hf_building_usagest
-
-
-
-
-
-
-
-
- bay12: reputation_profilest
-
-
-
-
- bay12: REPUTATION_PROFILE_FLAG_*
-
-
-
-
-
- bay12: journey_profilest
- bay12: JourneyType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: JOURNEY_PROFILE_FLAG_*
-
-
-
- bay12: journey_milestonest
- bay12: JourneyMilestoneType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
- bay12: MESSAGE_FLAG_*
-
-
-
-
-
- bay12: message_quest_retrieve_artifactst
-
-
-
-
-
-
- bay12: message_hire_plot_actorst
-
-
-
-
-
- bay12: message_hiring_propositionst
-
-
-
-
- bay12: message_delegate_plotst
-
-
-
-
-
- bay12: message_delegate_plot_propositionst
-
-
-
-
- bay12: message_order_to_perform_actionst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: RELATIONSHIP_PROFILE_HF_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
- bay12: relationship_profile_hf_identityst
-
-
-
-
-
-
-
-
- bay12: relationship_profile_artifactst
-
-
-
-
-
-
-
- bay12: unknown flags
+
+
+
- bay12: intrigue_perspectivest
-
-
-
-
-
-
+
+
+
-
- bay12: intrigue_plotst
-
- bay12: IntriguePlotType
-
-
-
- artifact id
-
-
- actor id
- actor id
- actor id
- actor id
- actor id
- actor id
- actor id
- civ id
-
-
- civ id
-
-
- bay12: INTRIGUE_PLOT_FLAG_*
-
-
-
-
- bay12: intrigue_plot_sabotage_actorst
-
-
-
- bay12: intrigue_plot_undead_animator_world_conquestst
-
-
- bay12: intrigue_plot_infiltrate_societyst
- bay12: INTRIGUE_PLOT_INFILTRATE_SOCIETY_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
- bay12: intrigue_actorst
-
- bay12: INTRIGUE_ACTOR_FLAG_*
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
-
-
- bay12: taskst
-
-
-
-
-
-
-
- bay12: unknown flags
-
-
-
- bay12: task_hire_plot_actorst
-
-
-
-
-
- bay12: task_satisfy_agreementst
-
-
-
-
- bay12: task_send_messagest
-
-
-
-
-
- bay12: task_delegate_plotst
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
- bay12: HistoryFigureFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: FamilyRelationshipType
-
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
-
-
- -- 50
-
-
-
-
-
-
-
-
-
-
- -- 60
-
-
-
-
-
-
-
-
-
-
- -- 70
-
-
-
+ bay12: INTERROGATION_RESULT_FLAG_*
+
+
+
- bay12: WGRelationshipType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: InterrogationResultRelFactorType
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (describe-obj $.name)
- (awhen (find-creature $.race)
- (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: relationship_quick_infost
-
-
-
-
-
-
-
-
-
- bay12: wg_relationship_quick_infost
-
-
-
-
-
-
-
-
-
-
- -- protected --
-
-
-
- bay12: IdentityPurposeType
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dtor 0x8C17FA0
-
-
-
-
-
- (describe-obj $.name)
- (awhen (find-creature $.race)
- (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id))
-
-
-
-
-
-
- bay12: "originator_hfid", yet Toady apparently stores Nemesis IDs here too?
-
-
-
+
+
+
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
+
-
-
-
- bay12: ENTITY_PERSONAL_REPUTATION_FLAG_*
-
-
-
-
+
+
-
-
-
-
-
-
- bay12: MentalPicturePropertyType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: INTERROGATION_REPORT_FLAG_*
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- bay12: MentalPictureActionType
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MENTAL_PICTURE_PROPERTY_ACTION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MentalPictureAdjectiveType
-
-
-
-
-
-
-
-
- bay12: MentalPicturePositionType
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: MENTAL_PICTURE_PROPERTY_TIME_FLAG_*
-
-
-
-
-
- bay12: MentalPictureElementType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistoryEventType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ReasonType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 50
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 70
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 90
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not an actual structure
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- not an actual structure
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
- bay12: CONTEXT_FLAG_*
-
-
-
- evidence_repositoryst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- bay12: ArchitecturalElement
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: Justification
-
-
-
-
-
-
-
-
- bay12: HistoryEventFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- once used for 40d HFS
-
-
- once used for 40d HFS
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "In x, some event happened"
-
-
-
- "the happening of some event"
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_WAR_ATTACKED_SITE_FLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_WAR_DESTROYED_SITE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: KillCauseType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not actually a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistoryEventMerchantFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not actual compound
- not actual compound
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_ARTIFACT_CREATED_FLAG_*
-
-
- not actual compound
- not actual compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistoryEventArtifactDroppedFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_RECLAIM_SITE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_SITE_DIED_FLAG_*
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_SITE_RETIRED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_ENTITY_INCORPORATED_FLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_CREATED_BUILDING_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: DestructionReason
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_WAR_FIELD_BATTLE_FLAG_*
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_WAR_PLUNDERED_SITE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- enum size currently mismatched
- bay12: HISTORY_EVENT_WAR_SITE_TRIBUTE_FORCED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
- bay12: BodyAbuseMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ not a compound
+
+
+
+ not a compound
+
+
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemTheftType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistDamageType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_HIST_FIGURE_WOUNDED_FLAG_*
-
-
-
-
- bay12: SimpleBattleEventType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ArtifactClaimType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_HIST_FIGURE_TRAVEL_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EntityPositionCreationType
-
-
-
-
-
-
-
-
-
-
-
- historical_entity.position
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_HIST_FIGURE_REVIVED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistFigBodyStateType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HFBuildingActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ConfrontationSituationType
-
-
-
- bay12: ConfrontationReasonType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ENTITY_LAW_FLAG_*
-
-
-
- bay12: ENTITY_LAW_FLAG_*
-
-
-
-
-
-
-
-
- not actual compound
- not actual compound
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_AGREEMENT_FORMED_FLAG_*
-
-
-
-
- bay12: DisputeType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: InsurrectionOutcomeType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_KNOWLEDGE_DISCOVERED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_ARTIFACT_GIVEN_FLAG_*
-
-
-
-
-
- bay12: HFArtifactActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_ARTIFACT_COPIED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HistoryEventHistFigureSimpleActionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TacticalSituationType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_TACTICAL_SITUATION_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ABSTRACT_BUILDING_TOWER_FLAG_*
-
-
-
-
-
-
-
- bay12: SBPAcquisitionMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_HF_CONVICTED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HISTORY_EVENT_HF_INTERROGATED_FLAG_*
-
-
-
-
-
- bay12: HistoryEventCollectionType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
- bay12: DiplomaticFactorType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: HEC_BATTLE_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: BattleOutcomeType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bay12: EraType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: era_infost
-
-
-
-
-
-
-
- bay12: era_determinerst
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
dtor 8532fa0
-
-
+
+
-
-
+
+
-
+
-
-
-
+ not a compound
+
+ not an array
-
-
-
+
- some value during worldgen, and at the end equals to the number of entities plus that value
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
+ some value during worldgen, and at the end equals to the number of entities plus that value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 - necromancers
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
- bay12: IntrigueCorruptionResultRelFactorType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: IntrigueCorruptionMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INTRIGUE_CORRUPTION_RESULT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/df.history_collection.xml b/df.history_collection.xml
new file mode 100644
index 0000000000..6af1320ec7
--- /dev/null
+++ b/df.history_collection.xml
@@ -0,0 +1,294 @@
+
+ bay12: HistoryEventCollectionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryEventCollectionFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HEC_BATTLE_POP_FLAG_*
+
+
+
+ bay12: HEC_BATTLE_HF_FLAG_*
+
+
+
+
+ bay12: HEC_BATTLE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.history_event.xml b/df.history_event.xml
new file mode 100644
index 0000000000..753ef517dd
--- /dev/null
+++ b/df.history_event.xml
@@ -0,0 +1,1797 @@
+
+ bay12: HistoryEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryEventFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ once used for 40d HFS
+
+
+ once used for 40d HFS
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "In x, some event happened"
+
+
+
+
+
+ "the happening of some event"
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SiteSearchResultType
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_WAR_FIELD_BATTLE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_WAR_ATTACKED_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_WAR_DESTROYED_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_WAR_PLUNDERED_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_WAR_SITE_TRIBUTE_FORCED_FLAG_*
+
+
+
+
+
+
+
+
+ enum size currently mismatched
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_SITE_DIED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_SITE_RETIRED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_CREATED_BUILDING_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HFBuildingActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HFArtifactActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_RECLAIM_SITE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_HIST_FIGURE_WOUNDED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SimpleBattleEventType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_HIST_FIGURE_TRAVEL_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryEventHistFigureSimpleActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_HIST_FIGURE_REVIVED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+ bay12: HISTORY_EVENT_KNOWLEDGE_DISCOVERED_FLAG_*
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+ -- If shot by a ranged weapon:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ConfrontationSituationType
+
+
+
+
+ bay12: ConfrontationReasonType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DisputeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_AGREEMENT_FORMED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: body_abuse_datast
+
+
+
+
+
+
+
+
+
+
+
+ actually just 4 integers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryEventMerchantFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+ bay12: HISTORY_EVENT_ARTIFACT_CREATED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_ARTIFACT_COPIED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryEventArtifactDroppedFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityActionType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_ENTITY_INCORPORATED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: EntityPositionCreationType
+
+
+
+
+
+
+
+
+
+
+
+
+ historical_entity.position
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+ bay12: HISTORY_EVENT_ARTIFACT_GIVEN_FLAG_*
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+ bay12: TacticalSituationType
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_TACTICAL_SITUATION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SBPAcquisitionMethodType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_HF_CONVICTED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HISTORY_EVENT_HF_INTERROGATED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.history_figure.xml b/df.history_figure.xml
new file mode 100644
index 0000000000..e69b158e9c
--- /dev/null
+++ b/df.history_figure.xml
@@ -0,0 +1,1095 @@
+
+ bay12: WGRelationshipType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Important
+
+
+
+ -- Misc
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistFigBodyStateType
+
+
+
+
+
+
+
+
+
+
+ bay12: STATE_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: BODY_PROFILE_FLAG_*
+
+
+
+
+
+
+
+ (let* ((info $$._parent._parent._parent)
+ (figure $info._parent._parent)
+ (caste (find-instance $caste_raw $figure.caste $figure.race)))
+ $caste.body_parts[$])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: SKILL_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ENTITY_PERSONAL_REPUTATION_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JourneyMilestoneType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JourneyType
+
+
+
+
+
+
+
+ bay12: JOURNEY_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: REPUTATION_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: CREATURE_KNOWLEDGE_FLAG_*
+
+
+
+
+
+ bay12: CREATURE_KNOWLEDGE_SCHOLAR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: DIVINATION_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InvPSkillType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INVENTORY_PROFILE_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: RELATIONSHIP_PROFILE_HF_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IntrigueRoleType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IntrigueStrategyType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTRIGUE_PLOT_ACTOR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTRIGUE_PLOT_INFILTRATE_SOCIETY_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IntriguePlotType
+
+
+
+ artifact id
+
+
+ actor id
+ actor id
+ actor id
+ actor id
+ actor id
+ actor id
+ actor id
+ civ id
+
+
+ civ id
+
+
+ bay12: INTRIGUE_PLOT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTRIGUE_ACTOR_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: TaskType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ none used yet?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: unknown flags
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HistoryFigureFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: HF_TEMP_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (describe-obj $.name)
+ (awhen (find-creature $.race)
+ (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- protected --
+
+
+
+
+
diff --git a/df.identity.xml b/df.identity.xml
new file mode 100644
index 0000000000..0111687d02
--- /dev/null
+++ b/df.identity.xml
@@ -0,0 +1,82 @@
+
+ bay12: IdentityPurposeType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dtor 0x8C17FA0
+
+
+
+
+
+ (describe-obj $.name)
+ (awhen (find-creature $.race)
+ (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id))
+
+
+
+
+
+
+ Toady apparently stores Nemesis IDs here too
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.image_set.xml b/df.image_set.xml
new file mode 100644
index 0000000000..26493be68a
--- /dev/null
+++ b/df.image_set.xml
@@ -0,0 +1,41 @@
+
+ bay12: SetImageType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ImageSetType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.incident.xml b/df.incident.xml
new file mode 100644
index 0000000000..309d861d07
--- /dev/null
+++ b/df.incident.xml
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IncidentArtifactLocationType
+
+
+
+
+
+
+
+
+
+ -- There ought to be either a type specific reference or a written content one. Not both.
+ -- Story has only been seen with a history event id, not a written content one, but the sample was small.
+ -- Poem has been seen with either a poetic form or a written content reference.
+ -- Music has been seen only with a music form reference, but the sample was small.
+ -- Music has been seen to be "sang" and "spoke" in DF displayed thoughts, but no instrument playing
+ -- or simulation. It's still unknown how to determine what action participants took.
+ -- Dance has been seen only with a dance form reference, but the sample was small.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: IncidentWrittenContentLocationType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INCIDENT_FLAG_*
+
+
+
+
+
+
+ dtor 0x8C1AE10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- v0.40.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.interaction.xml b/df.interaction.xml
index 032d935b7a..6cb3a7f37b 100644
--- a/df.interaction.xml
+++ b/df.interaction.xml
@@ -1,208 +1,6 @@
-
- bay12: InteractionFlagType
-
-
-
-
-
-
-
-
- $.name
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: InteractionEffectType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: LocationHintType
-
-
-
-
-
-
-
-
-
- bay12: IntermittentFrequencyType
-
-
-
-
-
-
-
-
-
-
- bay12: INTERACTION_EFFECT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INTERACTION_EFFECT_CREATE_ITEM_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INTERACTION_EFFECT_SUMMON_UNIT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bay12: InteractionSourceType
+
@@ -221,105 +19,93 @@
(find-by-id $(find-instance $interaction $$).sources $id $)
-
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+ bay12: INTERACTION_SOURCE_REGION_FLAG_*
+
+
+
+
+
+
+
+
+
- bay12: INTERACTION_SOURCE_REGION_FLAG_*
-
-
-
-
-
-
-
-
-
+
+
+
+
+ bay12: IS_SECRET_FLAG_*
+
+
+
+
+
+
- bay12: IS_SECRET_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
- bay12: UsageHintType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
+
@@ -327,19 +113,12 @@
-
+
- bay12: InteractionTargetType
-
-
-
-
-
-
- bay12: TargetLocationType
-
+ bay12: TargetLocationType
+
@@ -349,125 +128,305 @@
+ bay12: InteractionTargetType
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+ bay12: ITCI_FLAG_*
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITCI_FLAG_*
-
-
+ not an array
+
+
+
+ not an array
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
- bay12: BreathAttackType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- other: root around in, lick, head-bump, scratch, tusk, retract into shell, roll into a ball
- often [CDI:CAN_BE_MUTUAL] but not always
-
-
+ bay12: INTERACTION_TARGET_MATERIAL_FLAG_*
+
+
-
-
-
-
-
- bay12: INTERACTION_TARGET_MATERIAL_FLAG_*
-
-
+ not an array
+
+
+
+
+
-
-
- bay12: ITIL_FLAG_*
-
-
-
+ bay12: IntermittentFrequencyType
+
+
+
+
+ bay12: InteractionEffectType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTERACTION_EFFECT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTERACTION_EFFECT_CREATE_ITEM_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INTERACTION_EFFECT_SUMMON_UNIT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: InteractionFlagType
+
+
+
+
-
-
-
- bay12: interaction_instance_contextst
- bay12: IIContextType
-
-
-
-
-
-
+
+
+
+
+ $.name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: interaction_handling_informationst
+
+
+
+
diff --git a/df.item-raws.xml b/df.item-raws.xml
deleted file mode 100644
index 31adb58112..0000000000
--- a/df.item-raws.xml
+++ /dev/null
@@ -1,1050 +0,0 @@
-
- bay12: ItemType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEMDEF_ATTACK_FLAG_*
-
-
-
-
-
- bay12: ItemDefFlagType
-
-
-
- bay12: ItemDefType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $.id
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefAmmoFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ClothingDefFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ClothingLayer, does NOT have matching typedef so use compiler default
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefArmorFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefGlovesFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefHelmFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefInstrumentFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: timbre_infost
-
-
-
-
-
-
- bay12: SoundProductionMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: PitchChoiceMethodType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TuningMethodType
-
-
-
-
-
-
-
- bay12: TimbreType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: INSTRUMENT_PIECE_DEF_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefPantsFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefShoesFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefToolFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefToolUseType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: itemdef_default_improvementst
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefToyFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefTrapCompFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemDefWeaponFlagType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.item-vectors.xml b/df.item-vectors.xml
deleted file mode 100644
index cc0d644e0f..0000000000
--- a/df.item-vectors.xml
+++ /dev/null
@@ -1,900 +0,0 @@
-
-
-
-
-
-
-
- -- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
-
-
-
- rotten:
-
-
-
-
-
-
-
-
-
- do_not_clean:
-
-
-
-
- not rotten:
-
-
-
-
-
-
-
-
-
-
-
- if on_ground, deleted on tick 1 of every season
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
- BASE*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 50
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 70
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 90
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 110
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 130
-
-
-
-
-
-
-
- bay12: ItemArrayType
-
-
-
-
- -- 1
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 21
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 31
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 41
-
-
-
-
-
-
-
-
-
-
-
-
- SKIPPED: TOOL
-
- -- 50
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 60
-
- SKIPPED: SLAB
-
-
-
-
-
-
-
-
-
-
-
-
- -- 69
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 79
-
-
-
-
-
-
-
-
-
-
-
- -- 87 -> 125
-
-
-
-
-
- -- 90
-
-
-
-
- -- 92
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 102
-
-
-
-
-
-
-
-
-
-
- LATER: EGG
-
-
-
-
- -- 111
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 121
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 131
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/df.item.xml b/df.item.xml
new file mode 100644
index 0000000000..02644407ed
--- /dev/null
+++ b/df.item.xml
@@ -0,0 +1,2480 @@
+
+ -- Unused: ArmorRole
+
+ bay12: ITEM_BODY_COMPONENT_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemArrayType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+ -- Important
+
+
+
+ -- Misc
+
+
+
+
+
+
+
+
+
+
+
+ -- Wielders
+
+
+ naming weight 1
+
+
+
+
+ naming weight 0.001
+ naming weight 0.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+ bay12: ITEMIMPROVEMENT_COVERED_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+ none of these are actual compounds - beware of potential alignment/padding issues
+ not a compound
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+ bay12: III_PAGE_* for several special negative values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: FoodIngredient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMFLAG2_*
+
+
+
+
+
+
+
+
+
+ -- Unused: ITEMFLAG_CIV_*
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ItemNukeResolve
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pointer-to-ref
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ codegen workaround, enum forward declaration was missing the base-type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ add to unit.owned_items/traded_items
+
+
+
+
+
+
+
+
+
+
+
+ -- 150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ actually int16 here
+
+
+
+
+
+
+
+
+
+
+
+ only for item_cloth
+ for all constructed items
+
+
+
+
+
+
+
+
+
+
+ any at all
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ can't use simple ret-type because of enum forward declaration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (if (> $.stack_size 1) (fmt "stack: ~A" $.stack_size))
+ (if (> $.wear 0) (fmt "wear: ~A" $.wear))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_ROCK_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemBodyComponentMaterialType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+ Surface percentages for cuts/fractures, dents and effects (such as
+ bruises, burns, frostbite, melting, freezing, necrosis, and blistering)
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMFLAG_LIQUIPOWDER_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: LIQUID_MISC_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEMFLAG_GLOB_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_EGG_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_PET_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.quality
+ (describe-obj (material-by-id $.mat_type $.mat_index))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMFLAG_SHEET_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemGloveFlagType, no base type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ not a compound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: ItemSaveCompat
+
+ -- Helper type for item_handlerst
+
+
+
+
+
+
+ -- 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 20
+
+
+
+
+
+
+
+
+
+
+
+
+
+ rotten:
+
+
+
+
+
+
+
+
+
+ do_not_clean:
+
+
+
+
+ not rotten:
+
+
+
+
+
+
+
+
+
+
+
+ if on_ground, deleted on tick 1 of every season
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 30
+
+
+
+
+
+
+ BASE*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 40
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 70
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 80
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- 130
+
+
+
+
+
+
+
+
+
+
+ -- Helper type for item_handlerst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ArtifactFlagType
+
+
+
+
+
+
+
+
+
+ (describe-obj $.name)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.itemdef.xml b/df.itemdef.xml
new file mode 100644
index 0000000000..4a3f63e151
--- /dev/null
+++ b/df.itemdef.xml
@@ -0,0 +1,1843 @@
+
+ bay12: ProceduralItemGraphicsType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_STATUE_GRAPHICS_TYPE_OVERALL_*
+
+
+
+
+
+
+
+
+ bay12: StatueGenericEventType
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_STATUE_GRAPHICS_TYPE_* + ITEM_STATUE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_STATUE_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEMDEF_ATTACK_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $.id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_WEAPON_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_WEAPON_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefWeaponFlagType
+
+
+
+
+
+ bay12: WeaponLoadType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TRAPCOMP_GRAPHICS_FLAG_*
+
+ supposed to be count=5, but has a typo
+
+
+
+
+ bay12: ITEM_TRAPCOMP_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefTrapCompFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefToolFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FOOD_CONTAINER_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FOOD_CONTAINER_GRAPHICS_CONTENTS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FOOD_CONTAINER_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TOOL_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ supposed to be 8, but the struct itself uses int32_t and only has room for 5
+
+
+ bay12: ITEM_TOOL_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+ see note above if Toady fixes this
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TOY_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: ITEM_TOY_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefToyFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: INSTRUMENT_PIECE_DEF_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefInstrumentFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ClothingDefFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ClothingLayer, does NOT have matching typedef so use compiler default
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_ARMOR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ItemDefArmorFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_AMMO_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_AMMO_GRAPHICS_FLAG_DIRECTION_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefAmmoFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_SIEGEAMMO_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_SIEGEAMMO_GRAPHICS_FLAG_DIRECTION_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_GLOVES_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ItemDefGlovesFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_SHOES_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ItemDefShoesFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_SHIELD_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_HELM_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ItemDefHelmFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_PANTS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ItemDefPantsFlagType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_COIN_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: ITEM_COIN_GRAPHICS_FLAG_SIZE_*
+
+
+
+ yes, these are out of order!
+
+
+
+
+
+
+
+
+ bay12: ITEM_CRAFT_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_CRAFT_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_PIPE_SECTION_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_LIQUID_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_POWDER_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TABLE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TABLE_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_WINDOW_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_INSTRUMENT_GRAPHICS_FLAG_*
+
+
+
+
+
+
+ bay12: ITEM_INSTRUMENT_GRAPHICS_FLAG_MUSIC_SKILL_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CHAIR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CHAIR_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BOX_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BOX_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_GRATE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+ bay12: ITEM_GRATE_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_DOOR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_DOOR_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_HATCH_COVER_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_HATCH_COVER_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FLOODGATE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FLOODGATE_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TRACTION_BENCH_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: ITEM_TRACTION_BENCH_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_COFFIN_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_COFFIN_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CLOTH_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_SPLINT_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_ROCK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+ yes, int64!
+
+
+ bay12: ITEM_CRUTCH_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_SLAB_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CAGE_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BUCET_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_ANIMAL_TRAP_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BIN_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_BIN_GRAPHICS_CONTENTS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BAG_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_BAG_GRAPHICS_CONTENTS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_ANVIL_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_THREAD_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_BACKPACK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_QUIVER_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_CATAPULT_PARTS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_BALLISTA_PARTS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_BOLT_THROWER_PARTS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_MECHANISMS_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_EGG_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BOOK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CABINET_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CABINET_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BED_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+ bay12: ITEM_BED_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_CHAIN_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_FLASK_GRAPHICS_FLAG_*
+
+
+
+
+ bay12: ITEM_FLASK_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_GOBLET_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_GOBLET_GRAPHICS_FLAG_MATERIAL_*
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_TOTEM_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_BAR_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BLOCK_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_WOOD_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_GEM_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_GEM_GRAPHICS_TYPE_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_SHEET_GRAPHICS_FLAG_*
+
+
+
+
+
+
+
+
+ bay12: ITEM_SKIN_TANNED_GRAPHICS_FLAG_*
+
+
+
+
+
+ bay12: ITEM_SKIN_TANNED_GRAPHICS_FLAG_PATTERN_*
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: ITEM_BODYPART_SKIN_GRAPHICS_FLAG_*
+
+
+
+
+
+
+ bay12: ITEM_BODYPART_SKIN_GRAPHICS_FLAG_PATTERN_*
+
+
+
+
+
+
+
+ bay12: ITEM_BODYPART_SKIN_GRAPHICS_FLAG_SURFACE_*
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: itemdef_handling_informationst
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/df.itemimprovements.xml b/df.itemimprovements.xml
deleted file mode 100644
index d331cf4495..0000000000
--- a/df.itemimprovements.xml
+++ /dev/null
@@ -1,264 +0,0 @@
-
- bay12: ItemImprovementType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEMIMPROVEMENT_COVERED_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemSpecificImprovementType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- none of these are actual compounds - beware of potential alignment/padding issues
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: III_PAGE_* for several special negative values
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: WritingFormType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: WritingStyleType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: WritingStyleModifierType
-
-
-
-
-
-
- bay12: WritingRoleType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: EVENTDETAILFLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- can't use "art_image_ref" here because Toady put the "quality" field in the middle
-
-
-
-
-
-
-
-
-
-
diff --git a/df.items.xml b/df.items.xml
deleted file mode 100644
index 43f107cad1..0000000000
--- a/df.items.xml
+++ /dev/null
@@ -1,1415 +0,0 @@
-
- -- MISC TYPES
-
- bay12: ITEMFLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEMFLAG2_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- seems like a convenient name
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: CONTAMINANT_FLAG_*
-
-
-
-
-
- sub-element, NOT subclass!
-
- bay12: ITEM_CONTAMINANT_FLAG_*
-
-
-
-
-
- sub-element, NOT subclass!
-
- bay12: UNIT_CONTAMINANT_FLAG_*
-
-
-
-
-
- sub-element, NOT subclass!
-
-
- DFHack-only
-
-
-
-
-
-
-
-
-
- bay12: EngravingIntentType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: TradeGoodPurposeType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: Article, no base type
-
-
-
-
-
- -- CORE ITEM
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 30
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 50
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 70
-
-
- pointer-to-ref
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 90
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 110
-
-
-
-
-
-
-
-
-
-
-
-
- -- 120
-
-
-
-
-
-
-
-
-
- codegen workaround, enum forward declaration was missing the base-type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 130
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 140
-
-
-
-
- add to unit.owned_items/traded_items
-
-
-
-
-
-
-
-
- -- 150
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 160
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 170
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- actually int16 here
-
-
-
- -- 180
-
-
-
-
-
-
-
- only for item_cloth
- for all constructed items
-
-
-
-
-
-
-
-
- any at all
-
- -- 190
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 200
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 210
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 220
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 230
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- ACTUAL ITEM
-
-
-
- -- Important
-
-
-
- -- Misc
-
-
-
-
-
-
-
-
-
-
-
- -- Wielders
-
-
- naming weight 1
-
-
-
-
- naming weight 0.001
- naming weight 0.01
-
-
-
-
-
-
-
-
-
-
- (if (> $.stack_size 1) (fmt "stack: ~A" $.stack_size))
- (if (> $.wear 0) (fmt "wear: ~A" $.wear))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- CRAFTED ITEM
-
-
-
-
-
-
- $.quality
- (describe-obj (material-by-id $.mat_type $.mat_index))
-
-
-
-
-
-
-
-
-
- -- CONSTRUCTED ITEM
-
-
-
-
-
- -- BODY COMPONENT
-
- bay12: UNIT_BP_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Surface percentages for cuts/fractures, dents and effects (such as
- bruises, burns, frostbite, melting, freezing, necrosis, and blistering)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemBodyComponentMaterialType
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- not a compound
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEM_BODY_COMPONENT_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- CRITTER
-
-
-
-
-
-
-
-
-
- -- LIQUID/POWER
-
-
- bay12: ITEMFLAG_LIQUIPOWDER_*
-
-
-
-
-
-
-
-
-
- -- MISC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEM_ROCK_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEMFLAG_GLOB_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: food_ingredientst
- bay12: FoodIngredient
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEM_PET_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: LIQUID_MISC_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEM_EGG_FLAG_*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- CONSTRUCTED
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ItemGloveFlagType, no base type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bay12: ITEMFLAG_SHEET_*
-
-
-
-
-
-
-
diff --git a/df.job-types.xml b/df.job.xml
similarity index 52%
rename from df.job-types.xml
rename to df.job.xml
index 7eba02a439..3160dcfd3d 100644
--- a/df.job-types.xml
+++ b/df.job.xml
@@ -1,24 +1,73 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ bay12: JRE_JOB_DETAILS_FLAG_*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -- Custom:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bay12: JobRoleTypes
+
+
+
+
+
+
+
+
+
+ bay12: JOBITEMFLAG_*
+
+
+
+
+
+
+
+
+
+
+
+ -- Unused: Spells
+
bay12: JobType
-- Declare attributes:
@@ -39,73 +88,73 @@
-- 0
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -115,266 +164,266 @@
-- 12
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 22
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 32
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 40
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 48
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 58
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -382,57 +431,57 @@
-- 68
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -440,24 +489,24 @@
-- 79
-
+
-
+
-
+
-
+
@@ -471,93 +520,93 @@
-
+
-
+
-
+
-
+
-
+
-
+
-- 89
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -566,35 +615,35 @@
-- 99
-
+
-
+
-
+
-
+
-
+
-
+
@@ -602,24 +651,24 @@
-
+
-
+
-
+
-
+
@@ -629,61 +678,61 @@
-- 109
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -691,24 +740,24 @@
-- 119
-
+
-
+
-
+
-
+
@@ -716,7 +765,7 @@
-
+
@@ -724,23 +773,23 @@
-
+
-
+
-
+
-
+
@@ -748,13 +797,13 @@
-- 128
-
+
-
+
@@ -762,43 +811,43 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -806,151 +855,151 @@
-- 138
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 149
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 158
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -959,54 +1008,54 @@
-- 168
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1014,29 +1063,29 @@
-- 178
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1044,28 +1093,28 @@
-
+
-
+
-
+
-
+
@@ -1075,101 +1124,101 @@
-- 188
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-- 198
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1177,49 +1226,49 @@
-- 208
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1228,45 +1277,45 @@
-- 218
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -1274,16 +1323,16 @@
-- 228
-
+
-
+
-
+