diff options
| author | Petr Mrázek | 2012-01-01 03:34:29 +0100 |
|---|---|---|
| committer | Petr Mrázek | 2012-01-01 03:34:29 +0100 |
| commit | f2a69188ea3fc100662bb334664f7223cbfe5049 (patch) | |
| tree | 0679200f1ae7dc62488a7e04b1fc3ad4a92b3ac4 | |
| parent | 52dfa842ccd3ff3add2c92b6a8a12f1ff0d9a6e0 (diff) | |
| download | dfhack-f2a69188ea3fc100662bb334664f7223cbfe5049.tar.gz dfhack-f2a69188ea3fc100662bb334664f7223cbfe5049.tar.bz2 dfhack-f2a69188ea3fc100662bb334664f7223cbfe5049.tar.xz | |
Use submodule for memory structure definitions (df-structures).
36 files changed, 3 insertions, 11392 deletions
diff --git a/.gitmodules b/.gitmodules index 5fcc3ec0..76fb139d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "plugins/df2mc"] path = plugins/df2mc url = git://github.com/peterix/DF2MC.git +[submodule "library/xml"] + path = library/xml + url = git://github.com/peterix/df-structures.git diff --git a/library/xml b/library/xml new file mode 160000 +Subproject af32a27c89382a0cab330a74e5b6dec8a0006bf diff --git a/library/xml/Bitfield.pm b/library/xml/Bitfield.pm deleted file mode 100644 index e85c7af6..00000000 --- a/library/xml/Bitfield.pm +++ /dev/null @@ -1,50 +0,0 @@ -package Bitfield; - -use utf8; -use strict; -use warnings; - -BEGIN { - use Exporter (); - our $VERSION = 1.00; - our @ISA = qw(Exporter); - our @EXPORT = qw( &render_bitfield_core &render_bitfield_type ); - our %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - our @EXPORT_OK = qw( ); -} - -END { } - -use XML::LibXML; - -use Common; - -sub render_bitfield_core { - my ($name, $tag) = @_; - - emit_block { - emit get_primitive_base($tag), ' whole;'; - - emit_block { - for my $item ($tag->findnodes('child::ld:field')) { - ($item->getAttribute('ld:meta') eq 'number' && - $item->getAttribute('ld:subtype') eq 'flag-bit') - or die "Invalid bitfield member: ".$item->toString."\n"; - - check_bad_attrs($item); - my $name = ensure_name $item->getAttribute('name'); - my $size = $item->getAttribute('count') || 1; - emit "unsigned ", $name, " : ", $size, ";"; - } - } "struct ", " bits;"; - - emit $name, '() : whole(0) {};'; - } "union $name ", ";"; -} - -sub render_bitfield_type { - my ($tag) = @_; - render_bitfield_core($typename,$tag); -} - -1; diff --git a/library/xml/Common.pm b/library/xml/Common.pm deleted file mode 100644 index 82835a6b..00000000 --- a/library/xml/Common.pm +++ /dev/null @@ -1,262 +0,0 @@ -package Common; - -use utf8; -use strict; -use warnings; - -BEGIN { - use Exporter (); - our $VERSION = 1.00; - our @ISA = qw(Exporter); - our @EXPORT = qw( - $main_namespace $export_prefix - %types %type_files *typename *filename - - &parse_address &check_bad_attrs &check_name - &is_attr_true &type_header_def &add_type_to_hash - - *lines *indentation &with_emit &emit &indent &outdent &emit_block - - &is_primitive_type &primitive_type_name &get_primitive_base - - *weak_refs *strong_refs ®ister_ref &decode_type_name_ref - - %static_lines %static_includes &with_emit_static - - &ensure_name &with_anon - ); - our %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - our @EXPORT_OK = qw( ); -} - -END { } - -use XML::LibXML; - -our $main_namespace = ''; -our $export_prefix = ''; - -our %types; -our %type_files; - -# Misc XML analysis - -our $typename; -our $filename; - -sub parse_address($;$) { - my ($str,$in_bits) = @_; - return undef unless defined $str; - - # Parse the format used by offset attributes in xml - $str =~ /^0x([0-9a-f]+)(?:\.([0-7]))?$/ - or die "Invalid address syntax: $str\n"; - my ($full, $bv) = ($1, $2); - die "Bits not allowed: $str\n" unless $in_bits; - return $in_bits ? (hex($full)*8 + ($bv||0)) : hex($full); -} - -sub check_bad_attrs($;$$) { - my ($tag, $allow_size, $allow_align) = @_; - - die "Cannot use size, alignment or offset for ".$tag->nodeName."\n" - if ((!$allow_size && defined $tag->getAttribute('size')) || - defined $tag->getAttribute('offset') || - (!$allow_align && defined $tag->getAttribute('alignment'))); -} - -sub check_name($) { - my ($name) = @_; - $name =~ /^[_a-zA-Z][_a-zA-Z0-9]*$/ - or die "Invalid identifier: $name\n"; - return $name; -} - -sub is_attr_true($$) { - my ($tag, $name) = @_; - return ($tag->getAttribute($name)||'') eq 'true'; -} - -sub type_header_def($) { - my ($name) = @_; - return uc($main_namespace).'_'.uc($name).'_H'; -} - -sub add_type_to_hash($) { - my ($type) = @_; - - my $name = $type->getAttribute('type-name') - or die "Type without a name in $filename\n"; - - die "Duplicate definition of $name in $filename\n" if $types{$name}; - - local $typename = $name; - check_bad_attrs $type; - $types{$name} = $type; - $type_files{$name} = $filename; -} - -# Text generation with indentation - -our @lines; -our $indentation = 0; - -sub with_emit(&;$) { - # Executes the code block, and returns emitted lines - my ($blk, $start_indent) = @_; - local @lines; - local $indentation = ($start_indent||0); - $blk->(); - return @lines; -} - -sub emit(@) { - # Emit an indented line to be returned from with_emit - my $line = join('',map { defined($_) ? $_ : '' } @_); - $line = (' 'x$indentation).$line unless length($line) == 0; - push @lines, $line; -} - -sub indent(&) { - # Indent lines emitted from the block by one step - my ($blk) = @_; - local $indentation = $indentation+2; - $blk->(); -} - -sub outdent(&) { - # Unindent lines emitted from the block by one step - my ($blk) = @_; - local $indentation = ($indentation >= 2 ? $indentation-2 : 0); - $blk->(); -} - -sub emit_block(&;$$%) { - # Emit a full {...} block with indentation - my ($blk, $prefix, $suffix, %flags) = @_; - my @inner = &with_emit($blk,$indentation+2); - return if $flags{-auto} && !@inner; - $prefix ||= ''; - $suffix ||= ''; - emit $prefix,'{'; - push @lines, @inner; - emit '}',$suffix; -} - -# Primitive types - -my @primitive_type_list = - qw(int8_t uint8_t int16_t uint16_t - int32_t uint32_t int64_t uint64_t - s-float - bool flag-bit - padding static-string); - -my %primitive_aliases = ( - 's-float' => 'float', - 'static-string' => 'char', - 'flag-bit' => 'void', - 'padding' => 'void', -); - -my %primitive_types; -$primitive_types{$_}++ for @primitive_type_list; - -sub is_primitive_type($) { - return $primitive_types{$_[0]}; -} - -sub primitive_type_name($) { - my ($tag_name) = @_; - $primitive_types{$tag_name} - or die "Not primitive: $tag_name\n"; - return $primitive_aliases{$tag_name} || $tag_name; -} - -sub get_primitive_base($;$) { - my ($tag, $default) = @_; - - my $base = $tag->getAttribute('base-type') || $default || 'uint32_t'; - $primitive_types{$base} or die "Must be primitive: $base\n"; - - return $base; -} - -# Type references - -our %weak_refs; -our %strong_refs; - -sub register_ref($;$) { - # Register a reference to another type. - # Strong ones require the type to be included. - my ($ref, $is_strong) = @_; - - if ($ref) { - my $type = $types{$ref} - or die "Unknown type $ref referenced.\n"; - - if ($is_strong) { - $strong_refs{$ref}++; - } else { - $weak_refs{$ref}++; - } - } -} - -sub decode_type_name_ref($;%) { - # Interpret the type-name field of a tag - my ($tag,%flags) = @_; - my $force_type = $flags{-force_type}; - my $attr = $flags{-attr_name} || 'type-name'; - my $tname = $tag->getAttribute($attr) or return undef; - - if ($primitive_types{$tname}) { - die "Cannot use type $tname as $attr here: $tag\n" - if ($force_type && $force_type ne 'primitive'); - return primitive_type_name($tname); - } else { - register_ref $tname, !$flags{-weak}; - die "Cannot use type $tname as $attr here: $tag\n" - if ($force_type && $force_type ne $types{$tname}->getAttribute('ld:meta')); - return $main_namespace.'::'.$tname; - } -} - -# Static file output - -our %static_lines; -our %static_includes; - -sub with_emit_static(&;$) { - my ($blk, $tag) = @_; - my @inner = &with_emit($blk,2) or return; - $tag ||= ''; - $static_includes{$tag}{$typename}++; - push @{$static_lines{$tag}}, @inner; -} - -# Anonymous variable names - -our $anon_id = 0; -our $anon_prefix; - -sub ensure_name($) { - # If the name is empty, assign an auto-generated one - my ($name) = @_; - unless ($name) { - $name = $anon_prefix.(($anon_id == 0) ? '' : '_'.$anon_id); - $anon_id++; - } - return check_name($name); -} - -sub with_anon(&;$) { - # Establish a new anonymous namespace - my ($blk,$stem) = @_; - local $anon_id = $stem ? 0 : 1; - local $anon_prefix = ($stem||'anon'); - $blk->(); -} - -1; diff --git a/library/xml/Enum.pm b/library/xml/Enum.pm deleted file mode 100644 index 7a22239c..00000000 --- a/library/xml/Enum.pm +++ /dev/null @@ -1,165 +0,0 @@ -package Enum; - -use utf8; -use strict; -use warnings; - -BEGIN { - use Exporter (); - our $VERSION = 1.00; - our @ISA = qw(Exporter); - our @EXPORT = qw( &render_enum_core &render_enum_type ); - our %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - our @EXPORT_OK = qw( ); -} - -END { } - -use XML::LibXML; - -use Common; - -sub render_enum_core($$) { - my ($name,$tag) = @_; - - my $base = 0; - - emit_block { - my @items = $tag->findnodes('child::enum-item'); - my $idx = 0; - - for my $item (@items) { - my $name = ensure_name $item->getAttribute('name'); - my $value = $item->getAttribute('value'); - - $base = ($idx == 0) ? $value : undef if defined $value; - $idx++; - - emit $name, (defined($value) ? ' = '.$value : ''), ','; - } - - emit "_last_item_of_$name"; - } "enum $name ", ";"; - - return $base; -} - -sub render_enum_tables($$$) { - my ($name,$tag,$base) = @_; - - # Enumerate enum attributes - - my %aidx = ('key' => 0); - my @anames = ('key'); - my @avals = ('NULL'); - my @atypes = ('const char*'); - my @atnames = (undef); - my @aprefix = (''); - - for my $attr ($tag->findnodes('child::enum-attr')) { - my $name = $attr->getAttribute('name') or die "Unnamed enum-attr.\n"; - my $type = decode_type_name_ref $attr; - my $def = $attr->getAttribute('default-value'); - - my $base_tname = ($type && $type =~ /::(.*)$/ ? $1 : ''); - $type = $base_tname if $base_tname eq $typename; - - die "Duplicate attribute $name.\n" if exists $aidx{$name}; - - check_name $name; - $aidx{$name} = scalar @anames; - push @anames, $name; - push @atnames, $type; - - if ($type) { - push @atypes, $type; - push @aprefix, ($base_tname ? $base_tname."::" : ''); - push @avals, (defined $def ? $aprefix[-1].$def : "($type)0"); - } else { - push @atypes, 'const char*'; - push @avals, (defined $def ? "\"$def\"" : 'NULL'); - push @aprefix, ''; - } - } - - # Emit accessor function prototypes - - emit "const $name _first_item_of_$name = ($name)$base;"; - - emit_block { - emit "return (value >= _first_item_of_$name && value < _last_item_of_$name);"; - } "inline bool is_valid($name value) "; - - for (my $i = 0; $i < @anames; $i++) { - emit "${export_prefix}$atypes[$i] get_$anames[$i]($name value);"; - } - - # Emit implementation - - with_emit_static { - emit_block { - emit_block { - # Emit the entry type - emit_block { - for (my $i = 0; $i < @anames; $i++) { - emit "$atypes[$i] $anames[$i];"; - } - } "struct _info_entry ", ";"; - - # Emit the info table - emit_block { - for my $item ($tag->findnodes('child::enum-item')) { - my $tag = $item->nodeName; - - # Assemble item-specific attr values - my @evals = @avals; - my $name = $item->getAttribute('name'); - $evals[0] = "\"$name\"" if $name; - - for my $attr ($item->findnodes('child::item-attr')) { - my $name = $attr->getAttribute('name') or die "Unnamed item-attr.\n"; - my $value = $attr->getAttribute('value') or die "No-value item-attr.\n"; - my $idx = $aidx{$name} or die "Unknown item-attr: $name\n"; - - if ($atnames[$idx]) { - $evals[$idx] = $aprefix[$idx].$value; - } else { - $evals[$idx] = "\"$value\""; - } - } - - emit "{ ",join(', ',@evals)," },"; - } - - emit "{ ",join(', ',@avals)," }"; - } "static const _info_entry _info[] = ", ";"; - - for (my $i = 0; $i < @anames; $i++) { - emit_block { - emit "return is_valid(value) ? _info[value - $base].$anames[$i] : $avals[$i];"; - } "$atypes[$i] get_$anames[$i]($name value) "; - } - } "namespace $name "; - } "namespace enums "; - } 'enums'; -} - -sub render_enum_type { - my ($tag) = @_; - - emit_block { - emit_block { - my $base = render_enum_core($typename,$tag); - - if (defined $base) { - render_enum_tables($typename,$tag,$base); - } else { - print STDERR "Warning: complex enum: $typename\n"; - } - } "namespace $typename "; - } "namespace enums "; - - emit "using enums::",$typename,"::",$typename,";"; -} - -1; diff --git a/library/xml/StructFields.pm b/library/xml/StructFields.pm deleted file mode 100644 index 8947ef4a..00000000 --- a/library/xml/StructFields.pm +++ /dev/null @@ -1,328 +0,0 @@ -package StructFields; - -use utf8; -use strict; -use warnings; - -BEGIN { - use Exporter (); - our $VERSION = 1.00; - our @ISA = qw(Exporter); - our @EXPORT = qw( - *in_struct_body &with_struct_block - &get_struct_fields &get_struct_field_type - &emit_struct_fields - ); - our %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - our @EXPORT_OK = qw( ); -} - -END { } - -use XML::LibXML; - -use Common; -use Enum; -use Bitfield; - -# MISC - -our $in_struct_body = 0; - -sub with_struct_block(&$;$%) { - my ($blk, $tag, $name, %flags) = @_; - - my $kwd = (is_attr_true($tag,'is-union') ? "union" : "struct"); - my $exp = $flags{-export} ? $export_prefix : ''; - my $prefix = $kwd.' '.$exp.($name ? $name.' ' : ''); - - emit_block { - local $_; - local $in_struct_body = 1; - if ($flags{-no_anon}) { - $blk->(); - } else { - &with_anon($blk); - } - } $prefix, ";"; -} - -# FIELD TYPE - -sub get_container_item_type($;%) { - my ($tag, %flags) = @_; - my @items = $tag->findnodes('ld:item'); - if (@items) { - return get_struct_field_type($items[0], -local => 1, %flags); - } elsif ($flags{-void}) { - return $flags{-void}; - } else { - die "Container without element: $tag\n"; - } -} - -my %atable = ( 1 => 'char', 2 => 'short', 4 => 'int' ); - -my %custom_primitive_handlers = ( - 'stl-string' => sub { return "std::string"; }, -); - -my %custom_container_handlers = ( - 'stl-vector' => sub { - my $item = get_container_item_type($_, -void => 'void*'); - $item = 'char' if $item eq 'bool'; - return "std::vector<$item>"; - }, - 'stl-bit-vector' => sub { - return "std::vector<bool>"; - }, - 'df-flagarray' => sub { - my $type = decode_type_name_ref($_, -attr_name => 'index-enum', -force_type => 'enum-type') || 'int'; - return "BitArray<$type>"; - }, -); - -sub emit_typedef($$) { - # Convert a prefix/postfix pair into a single name - my ($pre, $post) = @_; - my $name = ensure_name undef; - emit 'typedef ', $pre, ' ', $name, $post, ';'; - return $name; -} - -sub get_struct_fields($) { - return $_[0]->findnodes('ld:field'); -} - -sub get_struct_field_type($;%) { - # Dispatch on the tag name, and retrieve the type prefix & suffix - my ($tag, %flags) = @_; - my $meta = $tag->getAttribute('ld:meta'); - my $subtype = $tag->getAttribute('ld:subtype'); - my $prefix; - my $suffix = ''; - - if ($prefix = $tag->getAttribute('ld:typedef-name')) { - unless ($flags{-local}) { - my @names = ( $main_namespace ); - for my $parent ($tag->findnodes('ancestor::*')) { - if ($parent->nodeName eq 'ld:global-type') { - push @names, $parent->getAttribute('type-name'); - } elsif (my $n = $parent->getAttribute('ld:typedef-name')) { - push @names, $n; - } - } - $prefix = join('::',@names,$prefix); - } - } elsif ($meta eq 'number') { - $prefix = primitive_type_name($subtype); - } elsif ($meta eq 'bytes') { - if ($flags{-local} && !$flags{-weak}) { - if ($subtype eq 'static-string') { - my $count = $tag->getAttribute('size') || 0; - $prefix = "char"; - $suffix = "[$count]"; - } elsif ($subtype eq 'padding') { - my $count = $tag->getAttribute('size') || 0; - my $alignment = $tag->getAttribute('alignment') || 1; - $prefix = $atable{$alignment} or die "Invalid alignment: $alignment\n"; - ($count % $alignment) == 0 or die "Invalid size & alignment: $count $alignment\n"; - $suffix = "[".($count/$alignment)."]"; - } else { - die "Invalid bytes subtype: $subtype\n"; - } - } else { - $prefix = primitive_type_name($subtype); - } - } elsif ($meta eq 'global') { - my $tname = $tag->getAttribute('type-name'); - register_ref $tname, !$flags{-weak}; - $prefix = $main_namespace.'::'.$tname; - } elsif ($meta eq 'compound') { - die "Unnamed compound in global mode: ".$tag->toString."\n" unless $flags{-local}; - - $prefix = ensure_name undef; - $tag->setAttribute('ld:typedef-name', $prefix) if $in_struct_body; - - $subtype ||= 'compound'; - if ($subtype eq 'enum') { - with_anon { - render_enum_core($prefix,$tag); - }; - } elsif ($subtype eq 'bitfield') { - with_anon { - render_bitfield_core($prefix,$tag); - }; - } else { - with_struct_block { - emit_struct_fields($tag, $prefix); - } $tag, $prefix; - } - } elsif ($meta eq 'pointer') { - $prefix = get_container_item_type($tag, -weak => 1, -void => 'void')."*"; - } elsif ($meta eq 'static-array') { - ($prefix, $suffix) = get_container_item_type($tag); - my $count = $tag->getAttribute('count') || 0; - $suffix = "[$count]".$suffix; - } elsif ($meta eq 'primitive') { - local $_ = $tag; - my $handler = $custom_primitive_handlers{$subtype} or die "Invalid primitive: $subtype\n"; - $prefix = $handler->($tag, %flags); - } elsif ($meta eq 'container') { - local $_ = $tag; - my $handler = $custom_container_handlers{$subtype} or die "Invalid container: $subtype\n"; - $prefix = $handler->($tag, %flags); - } elsif (!$flags{-local} && $tag->nodeName eq 'ld:global-type') { - my $tname = $tag->getAttribute('type-name'); - $prefix = $main_namespace.'::'.$tname; - } else { - die "Invalid field meta type: $meta\n"; - } - - if ($subtype && $flags{-local} && $subtype eq 'enum') { - my $base = get_primitive_base($tag, 'int32_t'); - $prefix = "enum_field<$prefix,$base>"; - } - - return ($prefix,$suffix) if wantarray; - if ($suffix) { - $prefix = emit_typedef($prefix, $suffix); - $tag->setAttribute('ld:typedef-name', $prefix) if $flags{-local} && $in_struct_body; - } - return $prefix; -} - -sub render_struct_field($) { - my ($tag) = @_; - - # Special case: anonymous compounds. - if (is_attr_true($tag, 'ld:anon-compound')) - { - check_bad_attrs($tag); - with_struct_block { - render_struct_field($_) for get_struct_fields($tag); - } $tag, undef, -no_anon => 1; - return; - } - - # Otherwise, create the name if necessary, and render - my $field_name = $tag->getAttribute('name'); - my $name = ensure_name $field_name; - $tag->setAttribute('ld:anon-name', $name) unless $field_name; - with_anon { - my ($prefix, $postfix) = get_struct_field_type($tag, -local => 1); - emit $prefix, ' ', $name, $postfix, ';'; - } "T_$name"; -} - -our @simple_inits; -our $in_union = 0; - -sub render_field_init($$) { - my ($field, $prefix) = @_; - local $_; - - my $meta = $field->getAttribute('ld:meta'); - my $subtype = $field->getAttribute('ld:subtype'); - my $name = $field->getAttribute('name') || $field->getAttribute('ld:anon-name'); - my $fname = ($prefix && $name ? $prefix.'.'.$name : ($name||$prefix)); - - my $is_struct = $meta eq 'compound' && !$subtype; - my $is_union = ($is_struct && is_attr_true($field, 'is-union')); - local $in_union = $in_union || $is_union; - - if (is_attr_true($field, 'ld:anon-compound') || ($in_union && $is_struct)) - { - my @fields = $is_union ? $field->findnodes('ld:field[1]') : get_struct_fields($field); - &render_field_init($_, $fname) for @fields; - return; - } - - return unless ($name || $prefix =~ /\]$/); - - my $val = $field->getAttribute('init-value'); - my $assign = 0; - - if ($meta eq 'number' || $meta eq 'pointer') { - $assign = 1; - my $signed_ref = - !is_attr_true($field,'ld:unsigned') && - ($field->getAttribute('ref-target') || $field->getAttribute('refers-to')); - $val ||= ($signed_ref ? '-1' : 0); - } elsif ($meta eq 'bytes') { - emit "memset($fname, 0, sizeof($fname));"; - } elsif ($meta eq 'global' || $meta eq 'compound') { - return unless $subtype; - - if ($subtype eq 'bitfield' && $val) { - emit $fname, '.whole = ', $val; - } elsif ($subtype eq 'enum') { - $assign = 1; - if ($meta eq 'global') { - my $tname = $field->getAttribute('type-name'); - $val = ($val ? $main_namespace.'::enums::'.$tname.'::'.$val : "ENUM_FIRST_ITEM($tname)"); - } else { - $val ||= $field->findvalue('enum-item[1]/@name'); - } - } - } elsif ($meta eq 'static-array') { - my $idx = ensure_name undef; - my $count = $field->getAttribute('count')||0; - emit_block { - my $pfix = $fname."[$idx]"; - render_field_init($_, $pfix) for $field->findnodes('ld:item'); - } "for (int $idx = 0; $idx < $count; $idx++) ", "", -auto => 1; - } - - if ($assign) { - if ($prefix || $in_union) { - emit "$fname = $val;"; - } else { - push @simple_inits, "$name($val)"; - } - } -} - -sub emit_struct_fields($$;%) { - my ($tag, $name, %flags) = @_; - - local $_; - my @fields = get_struct_fields($tag); - &render_struct_field($_) for @fields; - - return if $tag->findnodes("ancestor-or-self::ld:field[\@is-union='true']"); - - local $in_struct_body = 0; - - my $want_ctor = 0; - my $ctor_args = ''; - my $ctor_arg_init = ''; - - with_emit_static { - local @simple_inits; - my @ctor_lines = with_emit { - if ($flags{-class}) { - $ctor_args = "virtual_identity *_id"; - $ctor_arg_init = " = &".$name."::_identity"; - push @simple_inits, "$flags{-inherits}(_id)" if $flags{-inherits}; - emit "_identity.adjust_vtable(this, _id);"; - } - render_field_init($_, '') for @fields; - }; - if (@simple_inits || @ctor_lines) { - $want_ctor = 1; - my $full_name = get_struct_field_type($tag); - emit $full_name,'::',$name,"($ctor_args)"; - emit " : ", join(', ', @simple_inits) if @simple_inits; - emit_block { - emit $_ for @ctor_lines; - }; - } - } 'ctors'; - - if ($want_ctor) { - emit "$name($ctor_args$ctor_arg_init);"; - } -} - -1; diff --git a/library/xml/StructType.pm b/library/xml/StructType.pm deleted file mode 100644 index bc5561d4..00000000 --- a/library/xml/StructType.pm +++ /dev/null @@ -1,192 +0,0 @@ -package StructType; - -use utf8; -use strict; -use warnings; - -BEGIN { - use Exporter (); - our $VERSION = 1.00; - our @ISA = qw(Exporter); - our @EXPORT = qw( - &render_struct_type - ); - our %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - our @EXPORT_OK = qw( ); -} - -END { } - -use XML::LibXML; - -use Common; -use StructFields; - -# MISC - -sub translate_lookup($) { - my ($str) = @_; - return undef unless $str && $str =~ /^\$global((\.[_a-zA-Z0-9]+)+)$/; - my @fields = split /\./, substr($1,1); - my $expr = "df::global::".shift(@fields); - for my $fn (@fields) { - $expr = "_toref($expr).$fn"; - } - return $expr; -} - -sub emit_find_instance { - my ($tag) = @_; - - my $instance_vector = translate_lookup $tag->getAttribute('instance-vector'); - if ($instance_vector) { - emit "static std::vector<$typename*> &get_vector();"; - emit "static $typename *find(int id);"; - - with_emit_static { - emit_block { - emit "return ", $instance_vector, ";"; - } "std::vector<$typename*>& ${typename}::get_vector() "; - - emit_block { - emit "std::vector<$typename*> &vec_ = get_vector();"; - - if (my $id = $tag->getAttribute('key-field')) { - emit "return binsearch_in_vector(vec_, &${typename}::$id, id_);"; - } else { - emit "return (id_ >= 0 && id_ < vec_.size()) ? vec_[id_] : NULL;"; - } - } "$typename *${typename}::find(int id_) "; - }; - } -} - -sub render_virtual_methods { - my ($tag) = @_; - - # Collect all parent classes - my @parents = ( $tag ); - for (;;) { - my $inherits = $parents[0]->getAttribute('inherits-from') or last; - my $parent = $types{$inherits} || die "Unknown parent: $inherits\n"; - unshift @parents, $parent; - } - - # Build the vtable array - my %name_index; - my @vtable; - my @starts; - my $dtor_id = '~destructor'; - - for my $type (@parents) { - push @starts, scalar(@vtable); - for my $method ($type->findnodes('virtual-methods/vmethod')) { - my $is_destructor = is_attr_true($method, 'is-destructor'); - my $name = $is_destructor ? $dtor_id : $method->getAttribute('name'); - if ($name) { - die "Duplicate method: $name in ".$type->getAttribute('type-name')."\n" - if exists $name_index{$name}; - $name_index{$name} = scalar(@vtable); - } - push @vtable, $method; - } - } - - # Ensure there is a destructor to avoid warnings - my $dtor_idx = $name_index{$dtor_id}; - unless (defined $dtor_idx) { - for (my $i = 0; $i <= $#vtable; $i++) { - next if $vtable[$i]->getAttribute('name'); - $name_index{$dtor_id} = $dtor_idx = $i; - last; - } - } - unless (defined $dtor_idx) { - push @vtable, undef; - $dtor_idx = $#vtable; - } - - # Generate the methods - my $min_id = $starts[-1]; - my $cur_mode = ''; - for (my $idx = $min_id; $idx <= $#vtable; $idx++) { - my $method = $vtable[$idx]; - my $is_destructor = 1; - my $name = $typename; - my $is_anon = 1; - - if ($method) { - $is_destructor = is_attr_true($method, 'is-destructor'); - $name = $method->getAttribute('name') unless $is_destructor; - $is_anon = 0 if $name; - } - - my $rq_mode = $is_anon ? 'protected' : 'public'; - unless ($rq_mode eq $cur_mode) { - $cur_mode = $rq_mode; - outdent { emit "$cur_mode:"; } - } - - with_anon { - $name = ensure_name $name; - $method->setAttribute('ld:anon-name', $name) if $method && $is_anon; - - my @ret_type = $is_destructor ? () : $method->findnodes('ret-type'); - my @arg_types = $is_destructor ? () : $method->findnodes('ld:field'); - my $ret_type = $ret_type[0] ? get_struct_field_type($ret_type[0], -local => 1) : 'void'; - my @arg_strs = map { scalar get_struct_field_type($_, -local => 1) } @arg_types; - - my $ret_stmt = ''; - unless ($ret_type eq 'void') { - $ret_stmt = ' return '.($ret_type =~ /\*$/ ? '0' : "$ret_type()").'; '; - } - - emit 'virtual ', ($is_destructor?'~':$ret_type.' '), $name, - '(', join(', ', @arg_strs), ') {', $ret_stmt, '}; //', $idx; - } "anon_vmethod_$idx"; - } -} - -sub render_struct_type { - my ($tag) = @_; - - my $tag_name = $tag->getAttribute('ld:meta'); - my $is_class = ($tag_name eq 'class-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 $ispec = ''; - - if ($inherits) { - register_ref $inherits, 1; - $ispec = ' : '.$inherits; - } elsif ($is_class) { - $ispec = ' : virtual_class'; - } - - with_struct_block { - emit_struct_fields($tag, $typename, -class => $is_class, -inherits => $inherits); - emit_find_instance($tag); - - if ($has_methods) { - if ($is_class) { - emit "static class_virtual_identity<$typename> _identity;"; - with_emit_static { - emit "class_virtual_identity<$typename> ${typename}::_identity(", - "\"$typename\",", - ($original_name ? "\"$original_name\"" : 'NULL'), ',', - ($inherits ? "&${inherits}::_identity" : 'NULL'), - ");"; - }; - } - - if ($is_class) { - render_virtual_methods $tag; - } else { - emit "~",$typename,"() {}"; - } - } - } $tag, "$typename$ispec", -export => 1; -} - -1; diff --git a/library/xml/codegen.pl b/library/xml/codegen.pl deleted file mode 100755 index 20c4a431..00000000 --- a/library/xml/codegen.pl +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -BEGIN { - our $script_root = '.'; - if ($0 =~ /^(.*)[\\\/][^\\\/]*$/) { - $script_root = $1; - unshift @INC, $1; - } -}; - -use XML::LibXML; -use XML::LibXSLT; - -use Common; - -use Enum; -use Bitfield; -use StructType; - -my $input_dir = $ARGV[0] || '.'; -my $output_dir = $ARGV[1] || 'codegen'; - -$main_namespace = $ARGV[2] || 'df'; -$export_prefix = 'DFHACK_EXPORT '; - -# Collect all type definitions from XML files - -our $script_root; -my $parser = XML::LibXML->new(); -my $xslt = XML::LibXSLT->new(); -my @transforms = - map { $xslt->parse_stylesheet_file("$script_root/$_"); } - ('lower-1.xslt', 'lower-2.xslt'); -my @documents; - -for my $fn (sort { $a cmp $b } glob "$input_dir/*.xml") { - local $filename = $fn; - my $doc = $parser->parse_file($filename); - $doc = $_->transform($doc) for @transforms; - - push @documents, $doc; - add_type_to_hash $_ foreach $doc->findnodes('/ld:data-definition/ld:global-type'); -} - -# Generate text representations - -my %type_handlers = ( - 'enum-type' => \&render_enum_type, - 'bitfield-type' => \&render_bitfield_type, - 'class-type' => \&render_struct_type, - 'struct-type' => \&render_struct_type, -); - -my %type_data; - -for my $name (sort { $a cmp $b } keys %types) { - local $typename = $name; - local $filename = $type_files{$typename}; - local %weak_refs; - local %strong_refs; - - eval { - my $type = $types{$typename}; - my $meta = $type->getAttribute('ld:meta') or die "Null meta"; - - # Emit the actual type definition - my @code = with_emit { - with_anon { - my $handler = $type_handlers{$meta} or die "Unknown type meta: $meta\n"; - $handler->($type); - }; - } 2; - - delete $weak_refs{$name}; - delete $strong_refs{$name}; - - # Add wrapping - my @all = with_emit { - my $def = type_header_def($typename); - emit "#ifndef $def"; - emit "#define $def"; - - for my $strong (sort { $a cmp $b } keys %strong_refs) { - my $sdef = type_header_def($strong); - emit "#ifndef $sdef"; - emit "#include \"$strong.h\""; - emit "#endif"; - } - - emit_block { - for my $weak (sort { $a cmp $b } keys %weak_refs) { - next if $strong_refs{$weak}; - my $ttype = $types{$weak}; - my $tstr = 'struct'; - $tstr = 'enum' if $ttype->nodeName eq 'enum-type'; - $tstr = 'union' if $ttype->nodeName eq 'bitfield-type'; - $tstr = 'union' if ($ttype->nodeName eq 'struct-type' && is_attr_true($ttype,'is-union')); - emit $tstr, ' ', $weak, ';'; - } - - push @lines, @code; - } "namespace $main_namespace "; - - emit "#endif"; - }; - - $type_data{$typename} = \@all; - }; - if ($@) { - print 'Error: '.$@."Type $typename in $filename ignored\n"; - } -} - -# Write output files - -mkdir $output_dir; - -{ - # Delete the old files - for my $name (glob "$output_dir/*.h") { - unlink $name; - } - for my $name (glob "$output_dir/*.inc") { - unlink $name; - } - unlink "$output_dir/codegen.out.xml"; - - # Write out the headers - local $, = "\n"; - local $\ = "\n"; - - for my $name (keys %type_data) { - open FH, ">$output_dir/$name.h"; - print FH "/* THIS FILE WAS GENERATED. DO NOT EDIT. */"; - print FH @{$type_data{$name}}; - close FH; - } - - # Write out the static file - for my $tag (keys %static_lines) { - my $name = $output_dir.'/static'.($tag?'.'.$tag:'').'.inc'; - open FH, ">$name"; - print FH "/* THIS FILE WAS GENERATED. DO NOT EDIT. */"; - for my $name (sort { $a cmp $b } keys %{$static_includes{$tag}}) { - print FH "#include \"$name.h\""; - } - print FH "namespace $main_namespace {"; - print FH @{$static_lines{$tag}}; - print FH '}'; - close FH; - } - - # Write an xml file with all types - open FH, ">$output_dir/codegen.out.xml"; - print FH '<ld:data-definition xmlns:ld="http://github.com/peterix/dfhack/lowered-data-definition">'; - for my $doc (@documents) { - for my $node ($doc->documentElement()->findnodes('*')) { - print FH ' '.$node->toString(); - } - } - print FH '</ld:data-definition>'; - close FH; -} diff --git a/library/xml/df.building-raws.xml b/library/xml/df.building-raws.xml deleted file mode 100644 index bf522ae3..00000000 --- a/library/xml/df.building-raws.xml +++ /dev/null @@ -1,58 +0,0 @@ -<data-definition> - <class-type type-name='building_def' original-name='building_defst' key-field='code'> - <stl-string name="code"/> - <int32_t name="index"/> - <stl-string name="name"/> - - <int32_t name='unk_40'/> - <int32_t name='unk_44'/> - <static-array name='name_color' count='3' type-name='int16_t'/> - - <static-array name='tile' count='4'> - <static-array count='31'> - <static-array count='31' type-name='uint8_t'/> - </static-array> - </static-array> - - <static-array name='tile_color' count='3'> - <static-array count='4'> - <static-array count='31'> - <static-array count='31' type-name='uint8_t'/> - </static-array> - </static-array> - </static-array> - - <static-array name='tile_block' count='31'> - <static-array count='31' type-name='uint8_t'/> - </static-array> - - <int32_t name='build_key'/> - <bool name='needs_magma'/> - - <stl-vector name="build_items"> - <pointer/> - </stl-vector> - - <int32_t name="dim_x"/> - <int32_t name="dim_y"/> - <int32_t name="workloc_x"/> - <int32_t name="workloc_y"/> - - <stl-vector name="build_labors"> - <enum base-type='int32_t' type-name='unit_labor'/> - </stl-vector> - <stl-string name="labor_description"/> - - <int32_t name="build_stages"/> - </class-type> - - <class-type type-name='building_def_workshopst' inherits-from='building_def'/> - <class-type type-name='building_def_furnacest' inherits-from='building_def'/> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.buildings.xml b/library/xml/df.buildings.xml deleted file mode 100644 index 74df09eb..00000000 --- a/library/xml/df.buildings.xml +++ /dev/null @@ -1,403 +0,0 @@ -<data-definition> - <bitfield-type type-name='building_flags'> - <flag-bit name='exists' comment='actually built, not just ordered'/> - <flag-bit/> - <flag-bit name='room_collision' comment='major intersection with another room?'/> - <flag-bit/> - <flag-bit name='justice'/> - </bitfield-type> - - <class-type type-name='building' original-name='buildingst' - instance-vector='$global.world.buildings.all' key-field='id'> - - <int32_t name='x1' comment='left'/> - <int32_t name='y1'/> - <int32_t name='x2' comment='work location'/> - <int32_t name='x3' comment='right'/> - <int32_t name='y3'/> - <int32_t name='y2'/> - <int32_t name='z'/> - - <compound name='flags' type-name='building_flags'/> - - <int16_t name='materialType' ref-target='material' aux-value='$$.materialIndex'/> - <int32_t name='materialIndex'/> - - <compound name='room'> - <pointer name='extents' type-name='uint8_t'> - <comment>0 - not room; 1 in stockpile; 2 wall; 3 inner; 4 distance boundary.</comment> - </pointer> - <int32_t name='x'/> - <int32_t name='y'/> - <int32_t name='width'/> - <int32_t name='height'/> - </compound> - - <int32_t name='age'/> - <int16_t name='race' ref-target='creature_raw'/> - <int32_t name='id'/> - - <stl-vector name='jobs'> - <pointer type-name='job'/> - </stl-vector> - <stl-vector name='meetings'> - <pointer type-name='meeting_ref'/> - </stl-vector> - <stl-vector name='unk6' type-name='pointer'/> - - <bool name='is_room'/> - - <stl-vector name='children' comment='other buildings within this room'> - <pointer type-name='building'/> - </stl-vector> - <stl-vector name='parents' comment='rooms this building belongs to'> - <pointer type-name='building'/> - </stl-vector> - - <pointer type-name='unit' name='owner'/> - - <stl-vector name='unk7' type-name='pointer'/> - <stl-string name='name'/> - - <stl-vector name='activities'> - <pointer> - <int32_t name='id' ref-target='activity_entry'/> - <int32_t name='is_group'/> - </pointer> - </stl-vector> - </class-type> - - -- stockpile -- - - <class-type type-name='building_stockpilest' inherits-from='building'> - <compound type-name='stockpile_settings' name='settings'/> - - <int16_t name='max_barrels'/> - <int16_t name='max_bins'/> - - <stl-vector name='container_type'> - <enum base-type='int16_t' type-name='item_type'/> - </stl-vector> - <stl-vector name='container_item_id'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='container_x' type-name='int16_t'/> - <stl-vector name='container_y' type-name='int16_t'/> - - <pointer name='give_to' type-name='building_stockpilest'/> - <stl-vector name='take_from'> - <pointer type-name='building_stockpilest'/> - </stl-vector> - - <int32_t name='stockpile_number'/> - </class-type> - - -- zone -- - - <class-type type-name='building_civzonest' inherits-from='building'> - - </class-type> - - -- actual -- - - <class-type type-name='building_actual' inherits-from='building' - original-name='building_actualst'> - <int16_t name='construction_stage' - comment='0 not started, then 1 or 3 max depending on type'/> - - <stl-vector name='contained_items'> - <pointer> - <pointer name='item' type-name='item'/> - <int16_t name='use_mode'/> - </pointer> - </stl-vector> - - <pointer name='design' type-name='building_design'/> - </class-type> - - <struct-type type-name='building_design'> - <int32_t name='architect' ref-target='historical_figure'/> - <int32_t name='unk2' comment='-1'/> - <int16_t name='unk3'/> - <int32_t name='builder1' ref-target='historical_figure'/> - <int32_t name='unk5' comment='-1'/> - <int16_t name='unk6'/> - <int16_t name='build_timer1' comment='+1 per 10 frames while building'/> - <int32_t name='builder2' ref-target='historical_figure'/> - <int16_t name='build_timer2'/> - <int16_t name='unk8b'/> - <int16_t name='unk9'/> - <bitfield name='flags' base-type='uint32_t'> - <flag-bit name='rough' comment='rough gabbro road'/> - <flag-bit name='built'/> - <flag-bit name='designed'/> - </bitfield> - <int32_t name='unk11'/> - <int32_t name='unk12'/> - <int32_t name='unk13'/> - </struct-type> - - -- workshops -- - - <enum-type type-name='furnace_type'> - <enum-item name="WoodFurnace"/> - <enum-item name="Smelter"/> - <enum-item name="GlassFurnace"/> - <enum-item name="Kiln"/> - <enum-item name="MagmaSmelter"/> - <enum-item name="MagmaGlassFurnace"/> - <enum-item name="MagmaKiln"/> - <enum-item name="Custom"/> - </enum-type> - - <class-type type-name='building_furnacest' inherits-from='building_actual'> - <stl-vector name='melt_remainder' type-name='int32_t' - index-refers-to='(material-by-id 0 $)'/> - - <int16_t name="unk_108"/> - - <enum base-type='int16_t' name="type" type-name='furnace_type'/> - - <stl-vector name="permitted_workers"> - <int32_t ref-target='unit'/> - </stl-vector> - <int32_t name="min_level"/> - <int32_t name="max_level"/> - - <int32_t name="custom_type" refers-to='$global.world.raws.buildings.furnaces[$]'/> - </class-type> - - <enum-type type-name='workshop_type'> - <enum-item name="Carpenters"/> - <enum-item name="Farmers"/> - <enum-item name="Masons"/> - <enum-item name="Craftdwarfs"/> - <enum-item name="Jewelers"/> - <enum-item name="MetalsmithsForge"/> - <enum-item name="MagmaForge"/> - <enum-item name="Bowyers"/> - <enum-item name="Mechanics"/> - <enum-item name="Siege"/> - <enum-item name="Butchers"/> - <enum-item name="Leatherworks"/> - <enum-item name="Tanners"/> - <enum-item name="Clothiers"/> - <enum-item name="Fishery"/> - <enum-item name="Still"/> - <enum-item name="Loom"/> - <enum-item name="Quern"/> - <enum-item name="Kennels"/> - <enum-item name="Kitchen"/> - <enum-item name="Ashery"/> - <enum-item name="Dyers"/> - <enum-item name="Millstone"/> - <enum-item name="Custom"/> - </enum-type> - - <class-type type-name='building_workshopst' inherits-from='building_actual'> - <enum base-type='int16_t' name="type" type-name='workshop_type'/> - - <stl-vector name="permitted_workers"> - <int32_t ref-target='unit'/> - </stl-vector> - <int32_t name="min_level"/> - <int32_t name="max_level"/> - - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_118"/> - - <int32_t name="custom_type" refers-to='$global.world.raws.buildings.workshops[$]'/> - </class-type> - - -- misc -- - - <class-type type-name='building_animaltrapst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_archerytargetst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_armorstandst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_bars_verticalst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_bars_floorst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_bedst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_boxst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_bridgest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_cabinetst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_cagest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_chainst' inherits-from='building_actual'> - <pointer name='assigned' type-name='unit'/> - <pointer name='chained' type-name='unit'/> - <int16_t name='unk'/> - </class-type> - - <class-type type-name='building_chairst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_coffinst' inherits-from='building_actual'> - <bitfield name='burial_mode' base-type='uint16_t'> - <flag-bit name='allow_burial'/> - <flag-bit name='no_citizens'/> - <flag-bit name='no_pets'/> - </bitfield> - </class-type> - - <class-type type-name='building_constructionst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_doorst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_farmplotst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_floodgatest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_grate_floorst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_grate_wallst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_hatchst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_hivest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_nestst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_nest_boxst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_roadst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_road_dirtst' inherits-from='building_roadst'> - - </class-type> - - <class-type type-name='building_road_pavedst' inherits-from='building_roadst'> - - </class-type> - - <class-type type-name='building_shopst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_siegeenginest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_slabst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_statuest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_supportst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_tablest' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_traction_benchst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_tradedepotst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_trapst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_wagonst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_weaponst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_weaponrackst' inherits-from='building_actual'> - <int16_t name='unk_c0'/> - - <stl-vector name='assignments'> - <pointer> - <int32_t name='squad_id' ref-target='squad'/> - <compound name='mode' type-name='squad_use_flags'/> - </pointer> - </stl-vector> - - <int32_t name='unk_d0'/> - </class-type> - - <class-type type-name='building_wellst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_windowst' inherits-from='building_actual'> - - </class-type> - - <class-type type-name='building_window_glassst' inherits-from='building_windowst'> - - </class-type> - - <class-type type-name='building_window_gemst' inherits-from='building_windowst'> - - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.creature-raws.xml b/library/xml/df.creature-raws.xml deleted file mode 100644 index 61aa7ed7..00000000 --- a/library/xml/df.creature-raws.xml +++ /dev/null @@ -1,592 +0,0 @@ -<data-definition> - <enum-type type-name='creature_raw_flags'> - <enum-item/> - <enum-item name='EQUIPMENT_WAGON'/> - <enum-item name='MUNDANE'/> - <enum-item name='VERMIN_EATER'/> - <enum-item name='VERMIN_GROUNDER'/> - <enum-item name='VERMIN_ROTTER'/> - <enum-item name='VERMIN_SOIL'/> - <enum-item name='VERMIN_SOIL_COLONY'/> - - <enum-item name='LARGE_ROAMING'/> - <enum-item name='VERMIN_FISH'/> - <enum-item name='LOOSE_CLUSTERS'/> - <enum-item name='FANCIFUL'/> - <enum-item name='BIOME_MOUNTAIN'/> - <enum-item name='BIOME_GLACIER'/> - <enum-item name='BIOME_TUNDRA'/> - <enum-item name='BIOME_SWAMP_TEMPERATE_FRESHWATER'/> - - <enum-item name='BIOME_SWAMP_TEMPERATE_SALTWATER'/> - <enum-item name='BIOME_MARSH_TEMPERATE_FRESHWATER'/> - <enum-item name='BIOME_MARSH_TEMPERATE_SALTWATER'/> - <enum-item name='BIOME_SWAMP_TROPICAL_FRESHWATER'/> - <enum-item name='BIOME_SWAMP_TROPICAL_SALTWATER'/> - <enum-item name='BIOME_SWAMP_MANGROVE'/> - <enum-item name='BIOME_MARSH_TROPICAL_FRESHWATER'/> - <enum-item name='BIOME_MARSH_TROPICAL_SALTWATER'/> - - <enum-item name='BIOME_FOREST_TAIGA'/> - <enum-item name='BIOME_FOREST_TEMPERATE_CONIFER'/> - <enum-item name='BIOME_FOREST_TEMPERATE_BROADLEAF'/> - <enum-item name='BIOME_FOREST_TROPICAL_CONIFER'/> - <enum-item name='BIOME_FOREST_TROPICAL_DRY_BROADLEAF'/> - <enum-item name='BIOME_FOREST_TROPICAL_MOIST_BROADLEAF'/> - <enum-item name='BIOME_GRASSLAND_TEMPERATE'/> - <enum-item name='BIOME_SAVANNA_TEMPERATE'/> - - <enum-item name='BIOME_SHRUBLAND_TEMPERATE'/> - <enum-item name='BIOME_GRASSLAND_TROPICAL'/> - <enum-item name='BIOME_SAVANNA_TROPICAL'/> - <enum-item name='BIOME_SHRUBLAND_TROPICAL'/> - <enum-item name='BIOME_DESERT_BADLAND'/> - <enum-item name='BIOME_DESERT_ROCK'/> - <enum-item name='BIOME_DESERT_SAND'/> - <enum-item name='BIOME_OCEAN_TROPICAL'/> - - <enum-item name='BIOME_OCEAN_TEMPERATE'/> - <enum-item name='BIOME_OCEAN_ARCTIC'/> - <enum-item name='BIOME_SUBTERRANEAN_WATER'/> - <enum-item name='BIOME_SUBTERRANEAN_CHASM'/> - <enum-item name='BIOME_SUBTERRANEAN_LAVA'/> - <enum-item name='BIOME_POOL_TEMPERATE_FRESHWATER'/> - <enum-item name='BIOME_POOL_TEMPERATE_BRACKISHWATER'/> - <enum-item name='BIOME_POOL_TEMPERATE_SALTWATER'/> - - <enum-item name='BIOME_POOL_TROPICAL_FRESHWATER'/> - <enum-item name='BIOME_POOL_TROPICAL_BRACKISHWATER'/> - <enum-item name='BIOME_POOL_TROPICAL_SALTWATER'/> - <enum-item name='BIOME_LAKE_TEMPERATE_FRESHWATER'/> - <enum-item name='BIOME_LAKE_TEMPERATE_BRACKISHWATER'/> - <enum-item name='BIOME_LAKE_TEMPERATE_SALTWATER'/> - <enum-item name='BIOME_LAKE_TROPICAL_FRESHWATER'/> - <enum-item name='BIOME_LAKE_TROPICAL_BRACKISHWATER'/> - - <enum-item name='BIOME_LAKE_TROPICAL_SALTWATER'/> - <enum-item name='BIOME_RIVER_TEMPERATE_FRESHWATER'/> - <enum-item name='BIOME_RIVER_TEMPERATE_BRACKISHWATER'/> - <enum-item name='BIOME_RIVER_TEMPERATE_SALTWATER'/> - <enum-item name='BIOME_RIVER_TROPICAL_FRESHWATER'/> - <enum-item name='BIOME_RIVER_TROPICAL_BRACKISHWATER'/> - <enum-item name='BIOME_RIVER_TROPICAL_SALTWATER'/> - <enum-item name='GOOD'/> - - <enum-item name='EVIL'/> - <enum-item name='SAVAGE'/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item name='GENERATED'/> - <enum-item/> - <enum-item/> - <enum-item name='DOES_NOT_EXIST'/> - <enum-item/> - - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item name='ARTIFICIAL_HIVEABLE'/> - - <enum-item name='UBIQUITOUS'/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - <enum-item/> - </enum-type> - - <struct-type type-name='body_part_layer_raw' key-field='layer_name'> - <stl-string name='layer_name'/> - - <int32_t name='tissue_id'/> - - <df-flagarray name='flags'/> - - <int32_t name='unk2'/> - - <int32_t name='healing_rate'/> - <int32_t name='vascular'/> - <int32_t name='pain_receptors'/> - - <int32_t name='unk6'/> - <int16_t name='unk7'/> - - <stl-vector name='unk8'/> - - <int32_t name='layer_id' comment='across all body parts'/> - - <int32_t name='unk10'/> - <int32_t name='unk11'/> - <int32_t name='layer_depth' comment='-1 for skin and internal organs'/> - <int32_t name='unk13'/> - <int32_t name='unk14'/> - <int32_t name='unk15'/> - <int32_t name='unk16'/> - </struct-type> - - <struct-type type-name='body_part_raw' key-field='part_name'> - <stl-string name='part_code'/> - <stl-string name='part_name'/> - - <int16_t name='con_part_id'/> - - <df-flagarray name='flags'/> - - <stl-vector name='layers'> - <pointer type-name='body_part_layer_raw'/> - </stl-vector> - - <int32_t name='unk2'/> - <int32_t name='unk3'/> - <int32_t name='unk4'/> - <int32_t name='unk5'/> - <int32_t name='relsize'/> - <int32_t name='unk7'/> - - <int16_t name='unk7b'/> - - <stl-vector name='name_singular'> - <pointer type-name='stl-string'/> - </stl-vector> - <stl-vector name='name_plural'> - <pointer type-name='stl-string'/> - </stl-vector> - - <pointer name='bp_relation_part_id'> - <stl-vector type-name='int16_t'/> - </pointer> - <pointer name='bp_relation_code'> - <stl-vector type-name='int16_t'/> // 0 around of, 1 around by - </pointer> - <pointer name='bp_relation_coverage'> - <stl-vector type-name='int16_t'/> - </pointer> - - <uint16_t name='min_temp'/> - <uint16_t name='max_temp'/> - <uint16_t name='temp_factor'/> - - <int32_t name='unused'/> - - <int32_t name='unk11'/> - <int16_t name='unk12'/> - </struct-type> - - <struct-type type-name='caste_raw' key-field='caste_id'> - <stl-string name='caste_id'/> - - <code-helper name='find-instance'>$global.world.raws.creatures.all[$$].caste[$]</code-helper> - - <static-array type-name='stl-string' name='caste_name' count='3'/> - - <stl-string name='vermin_bite_txt'/> - <stl-string name='gnawer_txt'/> - - <static-array type-name='stl-string' name='baby_name' count='2'/> - <static-array type-name='stl-string' name='child_name' count='2'/> - <static-array type-name='stl-string' name='itemcorpse_str' count='5'/> // temporary - <static-array type-name='stl-string' name='remains' count='2'/> - <stl-string name='description'/> - <static-array type-name='stl-string' name='mannerisms' count='17'> - <comment>fingers[2], nose, ear, head, eyes, mouth, hair, knuckles, lips, cheek, nails, f eet, arms, hands, tongue, leg</comment> - </static-array> - - <uint8_t name='caste_tile'/> - <uint8_t name='caste_soldier_tile'/> - <uint8_t name='caste_alttile'/> - <uint8_t name='caste_soldier_alttile'/> - <uint8_t name='caste_glowtile'/> - - <uint16_t name='homeotherm'/> - <int16_t name='unk1_1'/> - <int16_t name='unk1_2'/> - <uint16_t name='fixed_temp'/> - - <static-array type-name='int16_t' name='caste_color' count='3'/> - - <compound name='misc'> - <int16_t name='litter_size_min'/> - <int16_t name='litter_size_max'/> - <int16_t name='penetratepower'/> - <int16_t name='vermin_bite_chance'/> - <int16_t name='grasstrample'/> - <int16_t name='buildingdestroyer'/> - <enum base-type='int16_t' name='itemcorpse_itemtype' type-name='item_type'/> - <int16_t name='itemcorpse_itemsubtype'/> - <int16_t name='itemcorpse_materialtype' - ref-target='material' aux-value='$$.itemcorpse_materialindex'/> - <int16_t name='itemcorpse_materialindex'/> // NOT 32-bit! - <int16_t name='itemcorpse_quality'/> - <static-array type-name='int16_t' name='remains_color' count='3'/> - <int16_t name='difficulty'/> - <static-array type-name='int16_t' name='caste_glowcolor' count='3'/> - <int16_t name='beach_frequency'/> - <int16_t name='clutch_size_min'/> - <int16_t name='clutch_size_max'/> - <int32_t name='speed'/> - <int32_t name='modvalue'/> - <int32_t name='petvalue'/> - <int32_t name='milkable'/> - <int32_t name='viewrange'/> - <int32_t name='maxage_min'/> - <int32_t name='maxage_max'/> - <static-array type-name='int32_t' name='unk3' count='2'/> - <int32_t name='swim_speed'/> - <int32_t name='trade_capacity'/> - <int32_t name='unk4'/> - <int32_t name='pop_ratio'/> - <int32_t name='adult_size'/> - <static-array type-name='int32_t' name='unk5' count='4'/> - <static-array type-name='int32_t' name='attack_trigger' count='3'/> - <int32_t name='egg_size'/> - <int32_t name='grazer'/> - <int32_t name='petvalue_divisor'/> - <int32_t name='prone_to_rage'/> - <static-array type-name='int32_t' name='unk6' count='29'/> - </compound> - - <static-array name='personality' count='30'> - <int16_t name='a'/> - <int16_t name='b'/> - <int16_t name='c'/> - </static-array> - - <df-flagarray name='flags'/> - - <int32_t name='unk7'/> - - <stl-vector name='body_parts'> - <pointer type-name='body_part_raw'/> - </stl-vector> - - <stl-vector name='attacks'> - <pointer/> - </stl-vector> - - <compound name='unknown1'> - <int32_t name='unk8'/> - <stl-vector type-name='int16_t' name='unk9a'/> - <stl-vector type-name='int16_t' name='unk9b'/> - <stl-vector name='unk10'/> - <stl-vector name='unk11'/> - <stl-vector name='unk12'/> - <stl-vector type-name='int16_t' name='unk13'/> - <stl-vector type-name='int32_t' name='unk14'/> - </compound> - - <static-array type-name='int32_t' name='unk15' count='4'/> - - <stl-vector name='caste_speech_1'/> - <stl-vector name='caste_speech_2'/> - - <static-array name='skill_rates' count='116'> - <static-array type-name='int32_t' count='4'/> - </static-array> - - <compound name='attributes'> - <static-array name='phys_att_range' count='7'> - <static-array type-name='int32_t' count='6'/> - </static-array> - <static-array name='ment_att_range' count='7'> - <static-array type-name='int32_t' count='13'/> - </static-array> - <static-array name='phys_att_rates' count='4'> - <static-array type-name='int32_t' count='6'/> - </static-array> - <static-array name='ment_att_rates' count='4'> - <static-array type-name='int32_t' count='13'/> - </static-array> - <static-array type-name='int32_t' name='phys_att_cap_perc' count='6'/> - <static-array type-name='int32_t' name='ment_att_cap_perc' count='13'/> - </compound> - - <int8_t name='gender'/> - - <stl-vector type-name='int32_t' name='body_size_1'/> - <stl-vector type-name='int32_t' name='body_size_2'/> - - <static-array name='unk16' count='19'> - <stl-vector/> - </static-array> - - <static-array type-name='int32_t' name='unk17' count='2'/> - - <stl-vector type-name='int16_t' name='natural_skill_id'/> - <stl-vector type-name='int32_t' name='natural_skill_exp'/> - <stl-vector type-name='int32_t' name='natural_skill_lvl'/> - - <static-array name='caste_profession_name' count='106'> - <stl-string name='singular'/> - <stl-string name='plural'/> - </static-array> - - <compound name='extracts'> - <stl-vector type-name='int16_t' name='extract_mat'/> - <stl-vector type-name='int32_t' name='extract_matidx'/> - <static-array name='extract_str' count='3'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - - <int16_t name='milkable_mat'/> - <int32_t name='milkable_matidx'/> - <static-array name='milkable_str' count='3'> - <stl-string/> - </static-array> - - <int16_t name='webber_mat'/> - <int32_t name='webber_matidx'/> - <static-array name='webber_str' count='3'> - <stl-string/> - </static-array> - - <int16_t name='vermin_bite_mat'/> - <int32_t name='vermin_bite_matidx'/> - <int16_t name='vermin_bite_chance'/> - <static-array name='vermin_bite_str' count='3'> - <stl-string/> - </static-array> - - <int16_t name='tendons_mat'/> - <int32_t name='tendons_matidx'/> - <static-array name='tendons_str' count='3'> - <stl-string/> - </static-array> - <int32_t name='tendons_heal'/> - - <int16_t name='ligaments_mat'/> - <int32_t name='ligaments_matidx'/> - <static-array name='ligaments_str' count='3'> - <stl-string/> - </static-array> - <int32_t name='ligaments_heal'/> - - <int16_t name='blood_state'/> - <int16_t name='blood_mat'/> - <int32_t name='blood_matidx'/> - <static-array name='blood_str' count='3'> - <stl-string/> - </static-array> - - <int16_t name='pus_state'/> - <int16_t name='pus_mat'/> - <int32_t name='pus_matidx'/> - <static-array name='pus_str' count='3'> - <stl-string/> - </static-array> - - <stl-vector type-name='int16_t' name='material_breath_attack_mattype'/> - <stl-vector type-name='int32_t' name='material_breath_attack_matindex'/> - <static-array name='material_breath_attack_str' count='3'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - <stl-vector type-name='int16_t' name='material_breath_attack_type'/> - - <stl-vector type-name='int16_t' name='egg_material_mattype'/> - <stl-vector type-name='int32_t' name='egg_material_matindex'/> - <static-array name='egg_material_str' count='3'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - - <stl-vector name='lays_unusual_eggs_itemtype'> - <enum base-type='int16_t' type-name='item_type'/> - </stl-vector> - <stl-vector name='lays_unusual_eggs_itemsubtype'/> - <stl-vector type-name='int16_t' name='lays_unusual_eggs_mattype'/> - <stl-vector type-name='int32_t' name='lays_unusual_eggs_matindex'/> - <static-array name='lays_unusual_eggs_str' count='5'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - </compound> - - <stl-vector name='unk22'/> - - <stl-vector name='creature_class'> - <pointer type-name='stl-string'/> - </stl-vector> - - <compound name='unknown2'> - <stl-vector name='unk23a'/> - <stl-vector name='unk23b'/> - <stl-vector name='unk23c'/> - - <df-flagarray name='unk24_flags'/> - <df-flagarray name='unk25_flags'/> - - <static-array type-name='int32_t' name='unk26' count='33'/> - <static-array name='unk27' count='5'><stl-vector/></static-array> - <static-array type-name='int32_t' name='unk28' count='2'/> - </compound> - - <static-array type-name='int32_t' name='habit_num' count='2'/> - <static-array name='habit' count='2'><stl-vector/></static-array> - <static-array name='lair' count='2'><stl-vector/></static-array> - <static-array name='lair_characteristic' count='2'><stl-vector/></static-array> - <static-array name='lair_hunter_speech' count='2'><stl-vector/></static-array> - <static-array name='unk29' count='2'><stl-vector/></static-array> - <static-array name='specific_food' count='2'><stl-vector/></static-array> - <static-array name='unk30' count='3'><stl-vector/></static-array> - </struct-type> - - <struct-type type-name='creature_raw' key-field='creature_id'> - <stl-string name='creature_id'/> - - <code-helper name='find-instance'>$global.world.raws.creatures.all[$]</code-helper> - - <static-array type-name='stl-string' name='name' count='3'/> - <static-array type-name='stl-string' name='general_baby_name' count='2'/> - <static-array type-name='stl-string' name='general_child_name' count='2'/> - - <uint8_t name='creature_tile'/> - <uint8_t name='creature_soldier_tile'/> - <uint8_t name='alttile'/> - <uint8_t name='soldier_alttile'/> - <uint8_t name='glowtile'/> - - <int16_t name='unk1'/> - <int16_t name='unk2'/> - <int16_t name='frequency'/> - <static-array type-name='int16_t' name='population_number' count='2'/> - <static-array type-name='int16_t' name='cluster_number' count='2'/> - <static-array type-name='int16_t' name='triggerable_group' count='2'/> - <static-array type-name='int16_t' name='color' count='3'/> - <static-array type-name='int16_t' name='glowcolor' count='3'/> - - <int32_t name='adultsize'/> - - <stl-vector name='prefstring'> - <pointer type-name='stl-string'/> - </stl-vector> - - <stl-vector type-name='int16_t' name='sphere'/> - <stl-vector name='caste'> - <pointer type-name='caste_raw'/> - </stl-vector> - - <stl-vector type-name='int32_t' name='pop_ratio'/> - - <df-flagarray name='flags' index-enum='creature_raw_flags'/> - - <compound name='stuff'> - <static-array name='stuff1' count='2'> - <static-array type-name='int32_t' count='7'/> - </static-array> - - <static-array name='stuff2a' count='7'> - <static-array type-name='int32_t' count='12'/> - </static-array> - - <static-array name='stuff2b' count='7'> - <static-array type-name='int32_t' count='12'/> - </static-array> - - <static-array type-name='int32_t' name='unk3' count='84'/> - - <static-array name='stuff3a' count='7'> - <static-array type-name='int32_t' count='106'/> - </static-array> - - <static-array name='stuff3b' count='7'> - <static-array type-name='int32_t' count='106'/> - </static-array> - - <static-array type-name='int8_t' name='stuff4' count='7'/> - - <static-array name='stuff2c' count='7'> - <static-array type-name='int8_t' count='12'/> - </static-array> - - <static-array type-name='int8_t' name='unk4' count='42'/> - - <static-array name='stuff3c' count='7'> - <static-array type-name='int8_t' count='106'/> - </static-array> - </compound> - - <stl-vector name='unk5'/> - <stl-vector name='speech1'/> - <stl-vector name='speech2'/> - <stl-vector name='speech3'/> - - <stl-vector name='material'> - <pointer type-name='material'/> - </stl-vector> - <stl-vector type-name='pointer' name='tissue'/> - - <static-array name='profession_name' count='106'> - <stl-string name='singular'/> - <stl-string name='plural'/> - </static-array> - - <pointer name='unk6pa'/> - <pointer name='unk6pb'/> - - <stl-vector type-name='int32_t' name='unk6'/> - <stl-vector type-name='int32_t' name='unk7'/> - - <stl-vector type-name='int32_t' name='hive_product_0'/> - <stl-vector type-name='int32_t' name='hive_product_1'/> - <stl-vector type-name='int16_t' name='hive_product_2'/> - <stl-vector type-name='int16_t' name='hive_product_3'/> - <stl-vector type-name='int16_t' name='hive_product_4'/> - <stl-vector type-name='int32_t' name='hive_product_5'/> - - <static-array name='hive_product_tmpstr' count='5'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - - <int32_t name='unk8'/> - - <stl-vector name='raws'> - <pointer type-name='stl-string'/> - </stl-vector> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.d_init.xml b/library/xml/df.d_init.xml deleted file mode 100644 index 345fa812..00000000 --- a/library/xml/df.d_init.xml +++ /dev/null @@ -1,129 +0,0 @@ -<data-definition> - <enum-type type-name='d_init_nickname'> - <enum-item name='REPLACE_FIRST'/> - <enum-item name='CENTRALIZE'/> - <enum-item name='REPLACE_ALL'/> - </enum-type> - - <enum-type type-name='d_init_z_view'> - <enum-item name='OFF'/> - <enum-item name='UNHIDDEN'/> - <enum-item name='CREATURE'/> - <enum-item name='ON'/> - </enum-type> - - <enum-type type-name='d_init_idlers'> - <enum-item name='OFF' value='-1'/> - <enum-item name='TOP'/> - <enum-item name='BOTTOM'/> - </enum-type> - - <enum-type type-name='d_init_tunnel'> - <enum-item name='NO'/> - <enum-item name='FINDER'/> - <enum-item name='ALWAYS'/> - </enum-type> - - <enum-type type-name='d_init_flags1'> - <enum-item name='VARIED_GROUND_TILES'/> - <enum-item name='ENGRAVINGS_START_OBSCURED'/> - <enum-item name='SHOW_IMP_QUALITY'/> - <enum-item name='SHOW_FLOW_AMOUNTS'/> - </enum-type> - - <enum-type type-name='d_init_flags2'> - <enum-item name='MORE'/> - <enum-item name='ADVENTURER_TRAPS'/> - <enum-item name='ADVENTURER_ALWAYS_CENTER'/> - </enum-type> - - <enum-type type-name='d_init_flags3'> - <enum-item name='COFFIN_NO_PETS_DEFAULT'/> - </enum-type> - - <enum-type type-name='d_init_flags4'> - <enum-item name='TEMPERATURE'/> - <enum-item name='WEATHER'/> - <enum-item name='ECONOMY'/> - <enum-item name='ZERO_RENT'/> - <enum-item name='AUTOSAVE_SEASONAL'/> - <enum-item name='AUTOSAVE_YEARLY'/> - <enum-item name='AUTOSAVE_PAUSE'/> - <enum-item name='AUTOBACKUP'/> - <enum-item name='INITIAL_SAVE'/> - <enum-item name='INVADERS'/> - <enum-item name='CAVEINS'/> - <enum-item name='ARTIFACTS'/> - <enum-item name='LOG_MAP_REJECTS'/> - <enum-item name='PAUSE_ON_LOAD'/> - <enum-item name='EMBARK_WARNING_ALWAYS'/> - <enum-item name='SHOW_ALL_HISTORY_IN_DWARF_MODE'/> - <enum-item name='TESTING_ARENA'/> - <enum-item name='WALKING_SPREADS_SPATTER_DWF'/> - <enum-item name='WALKING_SPREADS_SPATTER_ADV'/> - </enum-type> - - <struct-type type-name='d_init'> - <df-flagarray name='flags1' index-enum='d_init_flags1'/> - - <enum name="nickname_dwarf" type-name='d_init_nickname'/> - <enum name="nickname_adventure" type-name='d_init_nickname'/> - <enum name="nickname_legends" type-name='d_init_nickname'/> - <enum name="nickname_dwarf2" type-name='d_init_nickname'/> - - <int32_t name="unk_18"/> - <int32_t name="unk_1c"/> - - <uint8_t name='sky_tile'/> - <static-array name='sky_color' type-name='int16_t' count='3'/> - <uint8_t name='chasm_tile'/> - <uint8_t name='pillar_tile'/> - <static-array name='chasm_color' type-name='int16_t' count='3'/> - - <compound name='wound_color'> - <static-array name='none' type-name='int16_t' count='3'/> - <static-array name='minor' type-name='int16_t' count='3'/> - <static-array name='inhibited' type-name='int16_t' count='3'/> - <static-array name='function_loss' type-name='int16_t' count='3'/> - <static-array name='broken' type-name='int16_t' count='3'/> - <static-array name='missing' type-name='int16_t' count='3'/> - </compound> - - <enum name="idlers" base-type='int16_t' type-name='d_init_idlers'/> - <enum name="show_embark_tunnel" base-type='int16_t' type-name='d_init_tunnel'/> - - <df-flagarray name='flags2' index-enum='d_init_flags2'/> - - <int32_t name="display_length"/> - - <enum name="adventurer_z_view" type-name='d_init_z_view'/> - <int32_t name="adventurer_z_view_size"/> - - <df-flagarray name='flags3' index-enum='d_init_flags3'/> - - <int32_t name="population_cap"/> - <int32_t name="baby_cap_absolute"/> - <int32_t name="baby_cap_percent"/> - - <static-array name='path_cost' type-name='int32_t' count='4'/> - <static-array name='embark_rect' type-name='int16_t' count='2'/> - - <compound name='store_dist'> - <int16_t name='item_decrease'/> - <int16_t name='seed_combine'/> - <int16_t name='bucket_combine'/> - <int16_t name='barrel_combine'/> - <int16_t name='bin_combine'/> - </compound> - - <df-flagarray name='flags4' index-enum='d_init_flags4'/> - 85266c0 - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.history.xml b/library/xml/df.history.xml deleted file mode 100644 index da666e93..00000000 --- a/library/xml/df.history.xml +++ /dev/null @@ -1,246 +0,0 @@ -<data-definition> - <struct-type type-name='historical_kills'> - -- Important - - <stl-vector name="events"> - <int32_t ref-target='history_event'/> - </stl-vector> - - -- Misc - - <stl-vector name="killed_race"> - <int16_t ref-target='creature_raw'/> - </stl-vector> - <stl-vector name="killed_caste"> - <int16_t ref-target='caste_raw' aux-value='$$._parent.killed_race[$._key]'/> - </stl-vector> - <stl-vector name="unk_30"> - <int32_t comment='-1'/> - </stl-vector> - <stl-vector name="unk_40"> - <int32_t comment='-1'/> - </stl-vector> - <stl-vector name="killed_site"> - <int32_t ref-target='world_site'/> - </stl-vector> - <stl-vector name="killed_undead"> - <bitfield base-type='uint16_t'> - <flag-bit name='skeletal'/> - <flag-bit name='zombie'/> - <flag-bit name='ghostly'/> - </bitfield> - </stl-vector> - <stl-vector name="killed_count" type-name='int32_t'/> - </struct-type> - - <struct-type type-name='historical_figure_info'> - <pointer name="unk_0"> - <stl-vector> - <int16_t/> - </stl-vector> - </pointer> - - <pointer name="unk_4"> - <stl-vector name="unk_0"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_10"> - <int32_t/> - </stl-vector> - <stl-vector name="unk_20"/> - <stl-vector name="unk_30"/> - <stl-vector name="unk_40" type-name='int16_t'/> - <stl-vector name="unk_50" type-name='int16_t'/> - <int16_t name="unk_60"/> - </pointer> - - <pointer name="unk_8"> - <stl-vector> - <int16_t/> - </stl-vector> - </pointer> - - <pointer name="unk_c"> - <static-array name='unk_0' count='30' type-name='int16_t'/> - <stl-vector name="unk_3c"> - <pointer> - <int16_t name='a'/> - <int16_t name='b'/> - </pointer> - </stl-vector> - <stl-vector name="unk_4c"> - <int16_t/> - </stl-vector> - </pointer> - - <pointer name="masterpieces"> - <stl-vector name="events"> - <int32_t ref-target='history_event'/> - </stl-vector> - <stl-vector name="events2" comment='ones that were stolen??..'> - <int32_t ref-target='history_event'/> - </stl-vector> - </pointer> - - <pointer name="unk_14"> - <int16_t name="unk_0"/> - <int32_t name="site" ref-target='world_site'/> - <int32_t name="unk_8"/> - <int32_t name="unk_c"/> - <int16_t name="unk_10"/> - <int16_t name="unk_12"/> - </pointer> - - <pointer name="kills" type-name='historical_kills'/> - - <pointer name="wounds"> - <stl-vector name="events"> - <int32_t ref-target='history_event'/> - </stl-vector> - <stl-bit-vector name="status"> - <code-helper name='index-refers-to'> - (let* ((info $$._parent._parent._parent) - (figure $info._parent._parent) - (caste (find-instance $caste_raw $figure.caste $figure.race))) - $caste.body_parts[$]) - </code-helper> - </stl-bit-vector> - </pointer> - </struct-type> - - <struct-type type-name='historical_figure' instance-vector='$global.world.history.figures' key-field='id'> - <enum base-type='int16_t' name='profession' type-name='profession'/> - - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - - <int8_t name='sex'/> - - <int32_t name='appeared_year'/> - <int32_t name='born_year'/> - <int32_t name='born_seconds'/> - <int32_t name='old_year'/> - <int32_t name='old_seconds'/> - <int32_t name='died_year'/> - <int32_t name='died_seconds'/> - - <compound type-name='language_name' name='name'/> - - <code-helper name='describe'> - (describe-obj $.name) - (awhen (find-creature $.race) - (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id)) - </code-helper> - - <int32_t name='civ_id' ref-target='historical_entity'/> - <int32_t name='population_id' ref-target='entity_population'/> - - <df-flagarray name='flags'/> - - <int32_t name='unit_id' ref-target='unit'/> - <int32_t name='id'/> - - <int32_t name='unk4'/> - - <stl-vector name='entity_links'/> - <stl-vector name='site_links'/> - <stl-vector name='histfig_links'/> - - <pointer name='info' type-name='historical_figure_info'/> - - <compound name='worldgen'> - <pointer name="unk_0" type-name="world_site"/> - <pointer name="unk_4" type-name="language_name"/> - <pointer name="unk_8" type-name="world_underground_region"/> - <pointer name="unk_c"> - <pointer name="unk_0" type-name='uint8_t' is-array='true'/> - <int16_t name="unk_4"/> - <pointer name="unk_8" type-name='int16_t' is-array='true'/> - <int16_t name="unk_c"/> - </pointer> - <int32_t name="unk_10"/> - </compound> - </struct-type> - - <class-type type-name='history_event' original-name='history_eventst' - instance-vector='$global.world.history.events' key-field='id'> - <int32_t name='year'/> - <int32_t name='seconds'/> - <df-flagarray name='flags'/> - <int32_t name='id'/> - </class-type> - - <class-type type-name='history_event_masterpiece_createdst' inherits-from='history_event'> - <int32_t name='maker' ref-target='historical_figure'/> - <int32_t name='maker_entity' ref-target='historical_entity'/> - <int32_t name='site' ref-target='world_site'/> - </class-type> - - <class-type type-name='history_event_masterpiece_created_itemst' - inherits-from='history_event_masterpiece_createdst'> - <enum base-type='int32_t' name='skill_used' type-name='job_skill'/> - <enum base-type='int16_t' name='item_type' type-name='item_type'/> - <int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/> - <int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/> - <int16_t name='mat_index'/> - <int32_t name='item_id' ref-target='item'/> - </class-type> - - <class-type type-name='history_event_masterpiece_created_foodst' - inherits-from='history_event_masterpiece_createdst'> - <int32_t name='unk1'/> - <int16_t name='item_subtype' refers-to='$global.world.raws.itemdefs.food[$]'/> - <int32_t name='item_id' ref-target='item'/> - </class-type> - - <struct-type type-name='world_history'> - dtor 8532fa0 - - <stl-vector name='events'> - <pointer type-name='history_event'/> - </stl-vector> - <stl-vector name='events2'> - <pointer type-name='history_event'/> - </stl-vector> - - <stl-vector name='figures'> - <pointer type-name='historical_figure'/> - </stl-vector> - - <static-array name='other_events' count='9'> - <stl-vector> - <pointer type-name='history_event'/> - </stl-vector> - </static-array> - - <stl-vector name='ages'> - <pointer/> - </stl-vector> - - <stl-vector name='unk1' type-name='int32_t'/> - <stl-vector name='unk2' type-name='int16_t'/> - - <int32_t/> - <int32_t/> - <int32_t/> - <int32_t/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <bool/> - <stl-vector/> - <int32_t/> - <int32_t/> - <int32_t/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.init.xml b/library/xml/df.init.xml deleted file mode 100644 index 6680b788..00000000 --- a/library/xml/df.init.xml +++ /dev/null @@ -1,138 +0,0 @@ -<data-definition> - -- init.h - - <enum-type type-name='init_display_flags'> - <enum-item name='USE_GRAPHICS'/> - <enum-item name='BLACK_SPACE'/> - <enum-item name='PARTIAL_PRINT'/> - <enum-item name='FRAME_BUFFER'/> - <enum-item name='SINGLE_BUFFER'/> - <enum-item name='ACCUM_BUFFER'/> - <enum-item name='VBO'/> - <enum-item name='RENDER_2D'/> - <enum-item name='RENDER_2DHW'/> - <enum-item name='RENDER_2DASYNC'/> - <enum-item name='UNUSED_01_08'/> - <enum-item name='TEXT'/> - <enum-item name='SHADER'/> - <enum-item name='NOT_RESIZABLE'/> - <enum-item name='ARB_SYNC'/> - </enum-type> - - <struct-type type-name='init_display'> - <df-flagarray name='flag' index-enum='init_display_flags'/> - - <enum name='windowed'> - <enum-item name='True'/> - <enum-item name='False'/> - <enum-item name='Prompt'/> - </enum> - - <int32_t name='grid_x'/> - <int32_t name='grid_y'/> - - <int32_t name='desired_fullscreen_width'/> - <int32_t name='desired_fullscreen_height'/> - <int32_t name='desired_windowed_width'/> - <int32_t name='desired_windowed_height'/> - - <int8_t name='partial_print_count'/> - </struct-type> - - <enum-type type-name='init_media_flags'> - <enum-item name='SOUND_OFF'/> - <enum-item name='INTRO_OFF'/> - <enum-item name='COMPRESS_SAVES'/> - </enum-type> - - <struct-type type-name='init_media'> - <df-flagarray name='flag' index-enum='init_media_flags'/> - <int32_t name='volume'/> - </struct-type> - - <enum-type type-name='init_input_flags'> - <enum-item name='MOUSE_OFF'/> - <enum-item name='MOUSE_PICTURE'/> - </enum-type> - - <struct-type type-name='init_input'> - <int32_t name='hold_time'/> - <int32_t name='repeat_time'/> - <int32_t name='macro_time'/> - <int32_t name='pause_zoom_no_interface_ms'/> - <df-flagarray name='flag' index-enum='init_input_flags'/> - <int32_t name='zoom_speed'/> - <int32_t name='repeat_accel_start'/> - <int32_t name='repeat_accel_limit'/> - </struct-type> - - <struct-type type-name='init_font'> - <static-array name='small_font_texpos' type-name='int32_t' count='256'/> - <static-array name='large_font_texpos' type-name='int32_t' count='256'/> - <static-array name='small_font_datapos' type-name='int32_t' count='256'/> - <static-array name='large_font_datapos' type-name='int32_t' count='256'/> - <s-float name='small_font_adjx'/> - <s-float name='small_font_adjy'/> - <s-float name='large_font_adjx'/> - <s-float name='large_font_adjy'/> - <int32_t name='small_font_dispx'/> - <int32_t name='small_font_dispy'/> - <int32_t name='large_font_dispx'/> - <int32_t name='large_font_dispy'/> - <bool name='use_ttf'/> - </struct-type> - - <enum-type type-name='init_window_flags'> - <enum-item name='TOPMOST'/> - <enum-item name='VSYNC_ON'/> - <enum-item name='VSYNC_OFF'/> - <enum-item name='TEXTURE_LINEAR'/> - </enum-type> - - <struct-type type-name='init_window'> - <df-flagarray name='flag' index-enum='init_window_flags'/> - </struct-type> - - <struct-type type-name='init'> - <compound name='display' type-name='init_display'/> - <compound name='media' type-name='init_media'/> - <compound name='input' type-name='init_input'/> - <compound name='font' type-name='init_font'/> - <compound name='window' type-name='init_window'/> - </struct-type> - - -- texture_handler.h - - <struct-type type-name='tile_page'> - <stl-string name='token'/> - <stl-string name='filename'/> - - <int16_t name='tile_dim_x'/> - <int16_t name='tile_dim_y'/> - <int16_t name='page_dim_x'/> - <int16_t name='page_dim_y'/> - - <stl-vector name='texpos' type-name='int32_t'/> - <stl-vector name='datapos' type-name='int32_t'/> - <stl-vector name='texpos_gs' type-name='int32_t'/> - <stl-vector name='datapos_gs' type-name='int32_t'/> - - <bool name='loaded'/> - </struct-type> - - <struct-type type-name='texture_handler'> - <stl-vector name='page'> - <pointer type-name='tile_page'/> - </stl-vector> - - <stl-vector name='texpos' type-name='int32_t'/> - <stl-vector name='datapos' type-name='int32_t'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.item-raws.xml b/library/xml/df.item-raws.xml deleted file mode 100644 index cdd3a175..00000000 --- a/library/xml/df.item-raws.xml +++ /dev/null @@ -1,374 +0,0 @@ -<data-definition> - <enum-type type-name='item_type'> - <enum-item name='BAR' comment='Bars, such as metal, fuel, or soap.'/> - <enum-item name='SMALLGEM' comment='Cut gemstones usable in jewelers workshop'/> - <enum-item name='BLOCKS' comment='Blocks of any kind.'/> - <enum-item name='ROUGH' comment='Rough gemstones.'/> - <enum-item name='BOULDER' comment='Raw mined stone.'/> - <enum-item name='WOOD' comment='Wooden logs.'/> - <enum-item name='DOOR' comment='Doors.'/> - <enum-item name='FLOODGATE' comment='Floodgates.'/> - <enum-item name='BED' comment='Beds.'/> - <enum-item name='CHAIR' comment='Chairs and thrones.'/> - <enum-item name='CHAIN' comment='Restraints.'/> - <enum-item name='FLASK' comment='Flasks.'/> - <enum-item name='GOBLET' comment='Goblets.'/> - <enum-item name='INSTRUMENT' comment='Musical instruments.'/> - <enum-item name='TOY' comment='Toys.'/> - <enum-item name='WINDOW' comment='Glass windows.'/> - <enum-item name='CAGE' comment='Cages.'/> - <enum-item name='BARREL' comment='Barrels.'/> - <enum-item name='BUCKET' comment='Buckets.'/> - <enum-item name='ANIMALTRAP' comment='Animal traps.'/> - <enum-item name='TABLE' comment='Tables.'/> - <enum-item name='COFFIN' comment='Coffins.'/> - <enum-item name='STATUE' comment='Statues.'/> - <enum-item name='CORPSE' comment='Corpses. Does not have a material.'/> - <enum-item name='WEAPON' comment='Weapons.'/> - <enum-item name='ARMOR' comment='Armor and clothing worn on the upper body.'/> - <enum-item name='SHOES' comment='Armor and clothing worn on the feet.'/> - <enum-item name='SHIELD' comment='Shields and bucklers.'/> - <enum-item name='HELM' comment='Armor and clothing worn on the head.'/> - <enum-item name='GLOVES' comment='Armor and clothing worn on the hands.'/> - <enum-item name='BOX' comment='Chests (wood), coffers (stone), boxes (glass), and bags (cloth or leather).'/> - <enum-item name='BIN' comment='Bins.'/> - <enum-item name='ARMORSTAND' comment='Armor stands.'/> - <enum-item name='WEAPONRACK' comment='Weapon racks.'/> - <enum-item name='CABINET' comment='Cabinets.'/> - <enum-item name='FIGURINE' comment='Figurines.'/> - <enum-item name='AMULET' comment='Amulets.'/> - <enum-item name='SCEPTER' comment='Scepters.'/> - <enum-item name='AMMO' comment='Ammunition for hand-held weapons.'/> - <enum-item name='CROWN' comment='Crowns.'/> - <enum-item name='RING' comment='Rings.'/> - <enum-item name='EARRING' comment='Earrings.'/> - <enum-item name='BRACELET' comment='Bracelets.'/> - <enum-item name='GEM' comment='Large gems.'/> - <enum-item name='ANVIL' comment='Anvils.'/> - <enum-item name='CORPSEPIECE' comment='Body parts. Does not have a material.'/> - <enum-item name='REMAINS' comment='Dead vermin bodies. Material is CREATURE_ID:CASTE.'/> - <enum-item name='MEAT' comment='Butchered meat.'/> - <enum-item name='FISH' comment='Prepared fish. Material is CREATURE_ID:CASTE.'/> - <enum-item name='FISH_RAW' comment='Unprepared fish. Material is CREATURE_ID:CASTE.'/> - <enum-item name='VERMIN' comment='Live vermin. Material is CREATURE_ID:CASTE.'/> - <enum-item name='PET' comment='Tame vermin. Material is CREATURE_ID:CASTE.'/> - <enum-item name='SEEDS' comment='Seeds from plants.'/> - <enum-item name='PLANT' comment='Plants.'/> - <enum-item name='SKIN_TANNED' comment='Tanned skins.'/> - <enum-item name='LEAVES' comment='Leaves, usually from quarry bushes.'/> - <enum-item name='THREAD' comment='Thread gathered from webs or made at the farmers workshop.'/> - <enum-item name='CLOTH' comment='Cloth made at the loom.'/> - <enum-item name='TOTEM' comment='Skull totems.'/> - <enum-item name='PANTS' comment='Armor and clothing worn on the legs.'/> - <enum-item name='BACKPACK' comment='Backpacks.'/> - <enum-item name='QUIVER' comment='Quivers.'/> - <enum-item name='CATAPULTPARTS' comment='Catapult parts.'/> - <enum-item name='BALLISTAPARTS' comment='Ballista parts.'/> - <enum-item name='SIEGEAMMO' comment='Siege engine ammunition.'/> - <enum-item name='BALLISTAARROWHEAD' comment='Ballista arrow heads.'/> - <enum-item name='TRAPPARTS' comment='Mechanisms.'/> - <enum-item name='TRAPCOMP' comment='Trap components.'/> - <enum-item name='DRINK' comment='Alcoholic drinks.'/> - <enum-item name='POWDER_MISC' comment='Powders such as flour, gypsum plaster, dye, or sand.'/> - <enum-item name='CHEESE' comment='Pieces of cheese.'/> - <enum-item name='FOOD' comment='Prepared meals. Subtypes come from item_food.txt'/> - <enum-item name='LIQUID_MISC' comment='Liquids such as water, lye, and extracts.'/> - <enum-item name='COIN' comment='Coins.'/> - <enum-item name='GLOB' comment='Fat, tallow, pastes/pressed objects, and small bits of molten rock/metal.'/> - <enum-item name='ROCK' comment='Small rocks (usually sharpened and/or thrown in adventurer mode)'/> - <enum-item name='PIPE_SECTION' comment='Pipe sections.'/> - <enum-item name='HATCH_COVER' comment='Hatch covers.'/> - <enum-item name='GRATE' comment='Grates.'/> - <enum-item name='QUERN' comment='Querns.'/> - <enum-item name='MILLSTONE' comment='Millstones.'/> - <enum-item name='SPLINT' comment='Splints.'/> - <enum-item name='CRUTCH' comment='Crutches.'/> - <enum-item name='TRACTION_BENCH' comment='Traction benches.'/> - <enum-item name='ORTHOPEDIC_CAST' comment='Casts'/> - <enum-item name='TOOL' comment='Tools.'/> - <enum-item name='SLAB' comment='Slabs.'/> - <enum-item name='EGGS' comment='Eggs. Material is CREATURE_ID:CASTE.'/> - </enum-type> - - <class-type type-name='itemdef' original-name='itemdefst' key-field='id'> - <stl-string name="id"/> - <int16_t name="subtype"/> - </class-type> - - <enum-type type-name='ammo_flags'> - <enum-item name='HAS_EDGE_ATTACK'/> - </enum-type> - - <class-type type-name='itemdef_ammost' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="ammo_class"/> - - <df-flagarray name='flags' index-enum='ammo_flags'/> - - <int32_t name="size" comment='divided by 10'/> - <int32_t name="unk_84"/> - - <stl-vector name="attacks"> - <pointer/> - </stl-vector> - </class-type> - - <enum-type type-name='armor_general_flags'> - <enum-item name='SOFT'/> - <enum-item name='HARD'/> - <enum-item name='METAL'/> - <enum-item name='BARRED'/> - <enum-item name='SCALED'/> - <enum-item name='LEATHER'/> - <enum-item name='SHAPED'/> - <enum-item name='CHAIN_METAL_TEXT'/> - - <enum-item name='STRUCTURAL_ELASTICITY_WOVEN_THREAD'/> - <enum-item name='STRUCTURAL_ELASTICITY_CHAIN_METAL'/> - <enum-item name='STRUCTURAL_ELASTICITY_CHAIN_ALL'/> - </enum-type> - - <struct-type type-name='armor_properties'> - <df-flagarray name='flags' index-enum='armor_general_flags'/> - <int32_t name="layer"/> - <int16_t name="layer_size"/> - <int16_t name="layer_permit"/> - <int16_t name="coverage"/> - </struct-type> - - <enum-type type-name='armor_flags'> - <enum-item name='METAL_ARMOR_LEVELS'/> - </enum-type> - - <class-type type-name='itemdef_armorst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="name_preplural"/> - <stl-string name="material_placeholder"/> - <int32_t name="value"/> - <int8_t name="armorlevel"/> - <int16_t name="ubstep"/> - <int16_t name="lbstep"/> - <int32_t name="material_size"/> - - <compound name='props' type-name='armor_properties'/> - - <df-flagarray name='flags' index-enum='armor_flags'/> - </class-type> - - <class-type type-name='itemdef_foodst' inherits-from='itemdef'> - <stl-string name="name"/> - <int16_t name="level"/> - </class-type> - - <enum-type type-name='gloves_flags'> - <enum-item name='METAL_ARMOR_LEVELS'/> - </enum-type> - - <class-type type-name='itemdef_glovesst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <int32_t name="value"/> - <int8_t name='armorlevel'/> - <int16_t name="ubstep"/> - <df-flagarray name='flags' index-enum='gloves_flags'/> - <int32_t name="material_size"/> - <compound name='props' type-name='armor_properties'/> - </class-type> - - <enum-type type-name='helm_flags'> - <enum-item name='METAL_ARMOR_LEVELS'/> - </enum-type> - - <class-type type-name='itemdef_helmst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <int32_t name="value"/> - <int8_t name='armorlevel'/> - <df-flagarray name='flags' index-enum='helm_flags'/> - <int32_t name="material_size"/> - <compound name='props' type-name='armor_properties'/> - </class-type> - - <enum-type type-name='instrument_flags'> - <enum-item name='HARD_MAT'/> - </enum-type> - - <class-type type-name='itemdef_instrumentst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <df-flagarray name='flags' index-enum='instrument_flags'/> - </class-type> - - <enum-type type-name='pants_flags'> - <enum-item name='METAL_ARMOR_LEVELS'/> - </enum-type> - - <class-type type-name='itemdef_pantsst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="name_preplural"/> - <stl-string name="material_placeholder"/> - <int32_t name="value"/> - <int8_t name="armorlevel"/> - <df-flagarray name='flags' index-enum='pants_flags'/> - <int32_t name="material_size"/> - <int16_t name="lbstep"/> - - <compound name='props' type-name='armor_properties'/> - </class-type> - - <class-type type-name='itemdef_shieldst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <int32_t name="value"/> - <int32_t name="blockchance"/> - <int8_t name='armorlevel'/> - <int16_t name="ubstep"/> - <int32_t name="material_size"/> - </class-type> - - <enum-type type-name='shoes_flags'> - <enum-item name='METAL_ARMOR_LEVELS'/> - </enum-type> - - <class-type type-name='itemdef_shoesst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <int32_t name="value"/> - <int8_t name='armorlevel'/> - <int16_t name="ubstep"/> - <df-flagarray name='flags' index-enum='shoes_flags'/> - <int32_t name="material_size"/> - - <compound name='props' type-name='armor_properties'/> - </class-type> - - <class-type type-name='itemdef_siegeammost' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="ammo_class"/> - </class-type> - - <enum-type type-name='tool_flags'> - <enum-item name='HARD_MAT'/> - <enum-item name='METAL_MAT'/> - <enum-item name='HAS_EDGE_ATTACK'/> - <enum-item name='METAL_WEAPON_MAT'/> - <enum-item name='UNIMPROVABLE'/> - </enum-type> - - <enum-type type-name='tool_uses'> - <enum-item name='LIQUID_COOKING'/> - <enum-item name='LIQUID_SCOOP'/> - <enum-item name='GRIND_POWDER_RECEPTACLE'/> - <enum-item name='GRIND_POWDER_GRINDER'/> - <enum-item name='MEAT_CARVING'/> - <enum-item name='MEAT_BONING'/> - <enum-item name='MEAT_SLICING'/> - <enum-item name='MEAT_CLEAVING'/> - <enum-item name='HOLD_MEAT_FOR_CARVING'/> - <enum-item name='MEAL_CONTAINER'/> - <enum-item name='LIQUID_CONTAINER'/> - <enum-item name='FOOD_STORAGE'/> - <enum-item name='HIVE'/> - <enum-item name='NEST_BOX'/> - </enum-type> - - <class-type type-name='itemdef_toolst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <df-flagarray name='flags' index-enum='tool_flags'/> - <int32_t name="value"/> - <uint8_t name="tile"/> - - <stl-vector name="tool_use"> - <enum base-type='int16_t' type-name='tool_uses'/> - </stl-vector> - - <stl-string name="adjective"/> - <int32_t name="size"/> - <int16_t name="skill_melee"/> - <int16_t name="skill_ranged"/> - <stl-string name="ranged_ammo"/> - <int32_t name="two_handed"/> - <int32_t name="minimum_size"/> - <int32_t name="material_size"/> - - <stl-vector name="attacks"/> - - <int32_t name="shoot_force"/> - <int32_t name="shoot_maxvel"/> - - <int32_t name="container_capacity"/> - </class-type> - - <enum-type type-name='toy_flags'> - <enum-item name='HARD_MAT'/> - </enum-type> - - <class-type type-name='itemdef_toyst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <df-flagarray name='flags' index-enum='toy_flags'/> - </class-type> - - <enum-type type-name='trapcomp_flags'> - <enum-item name='IS_SCREW'/> - <enum-item name='IS_SPIKE'/> - <enum-item name='WOOD'/> - <enum-item name='METAL'/> - <enum-item name='HAS_EDGE_ATTACK'/> - </enum-type> - - <class-type type-name='itemdef_trapcompst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="adjective"/> - - <int32_t name="size"/> - <int32_t name="unk_7c"/> - <int32_t name="hits"/> - <int32_t name="material_size"/> - - <df-flagarray name='flags' index-enum='trapcomp_flags'/> - - <stl-vector name="attacks"> - <pointer/> - </stl-vector> - </class-type> - - <enum-type type-name='weapon_flags'> - <enum-item name='CAN_STONE'/> - <enum-item name='HAS_EDGE_ATTACK'/> - <enum-item name='TRAINING'/> - </enum-type> - - <class-type type-name='itemdef_weaponst' inherits-from='itemdef'> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-string name="adjective"/> - <int32_t name="size"/> - <int32_t name="unk_7c"/> - <int16_t name="skill_melee"/> - <int16_t name="skill_ranged"/> - <stl-string name="ranged_ammo"/> - <int32_t name="two_handed"/> - <int32_t name="minimum_size"/> - <int32_t name="material_size"/> - <df-flagarray name='flags' index-enum='weapon_flags'/> - <stl-vector name="attacks"> - <pointer/> - </stl-vector> - <int32_t name="shoot_force"/> - <int32_t name="shoot_maxvel"/> - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.items.xml b/library/xml/df.items.xml deleted file mode 100644 index d4c5732b..00000000 --- a/library/xml/df.items.xml +++ /dev/null @@ -1,894 +0,0 @@ -<data-definition> - -- MISC TYPES - - <bitfield-type type-name='item_flags'> - <flag-bit name='on_ground' comment='Item on ground'/> - <flag-bit name='in_job' comment='Item currently being used in a job'/> - <flag-bit name='hostile' comment='Item owned by hostile'/> - <flag-bit name='in_inventory' comment='Item in a creature or workshop inventory'/> - - <flag-bit name='unk1' comment='unknown, lost (artifact)?, unusable, unseen'/> - <flag-bit name='in_building' comment='Part of a building (including mechanisms, bodies in coffins)'/> - <flag-bit name='unk2' comment='unknown, unseen'/> - <flag-bit name='dead_dwarf' comment='Dwarfs dead body or body part'/> - - <flag-bit name='rotten' comment='Rotten food'/> - <flag-bit name='spider_web' comment='Thread in spider web'/> - <flag-bit name='construction' comment='Material used in construction'/> - <flag-bit name='unk3' comment='unknown, unseen, unusable'/> - - <flag-bit name='unk4' comment='unknown, unseen'/> - <flag-bit name='murder' comment='Implies murder - used in fell moods'/> - <flag-bit name='foreign' comment='Item is imported'/> - <flag-bit name='trader' comment='Item ownwed by trader'/> - - <flag-bit name='owned' comment='Item is owned by a dwarf'/> - <flag-bit name='garbage_colect' comment='Marked for deallocation by DF it seems'/> - <flag-bit name='artifact1' comment='Artifact ?'/> - <flag-bit name='forbid' comment='Forbidden item'/> - - <flag-bit name='unk6' comment='unknown, unseen'/> - <flag-bit name='dump' comment='Designated for dumping'/> - <flag-bit name='on_fire' comment='Indicates if item is on fire, Will Set Item On Fire if Set!'/> - <flag-bit name='melt' comment='Designated for melting, if applicable'/> - - <flag-bit name='hidden' comment='Hidden item'/> - <flag-bit name='in_chest' comment='Stored in chest/part of well?'/> - <flag-bit name='unk7' comment='unknown, unseen'/> - <flag-bit name='artifact2' comment='Artifact ?'/> - - <flag-bit name='unk8' comment='unknown, unseen, common'/> - <flag-bit name='weight_computed'/> - <flag-bit name='unk10' comment='unknown, unseen'/> - <flag-bit name='unk11' comment='unknown, unseen'/> - </bitfield-type> - - <struct-type type-name='contaminant'> - <int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/> - <int32_t name='mat_index'/> - <int16_t name='mat_state' comment='enum or document in text'/> - <uint16_t name='temperature'/> - <uint16_t name='temperature_fraction'/> - <int32_t name='size' comment='1-24=spatter, 25-49=smear, 50-* = coating'/> - <int16_t name='unk' comment='-1'/> - <int16_t name='id'/> - </struct-type> - - <enum-type type-name='item_quality'> - <enum-item name='Ordinary'/> - <enum-item name='WellCrafted'/> - <enum-item name='FinelyCrafted'/> - <enum-item name='Superior'/> - <enum-item name='Exceptional'/> - <enum-item name='Masterful'/> - <enum-item name='Artifact'/> - </enum-type> - - -- CORE ITEM - - <class-type type-name='item' original-name='itemst' - instance-vector='$global.world.items.all' key-field='id'> - <int16_t name='x'/> - <int16_t name='y'/> - <int16_t name='z'/> - - <compound name='flags' type-name='item_flags'/> - - <uint32_t name='age'/> - <uint32_t name='id'/> - - <stl-vector name='jobs'> - <pointer> - <int32_t name='unk1'/> - <pointer name='job' type-name='job'/> - <int32_t name='unk2'/> - </pointer> - </stl-vector> - - <stl-vector name='itemrefs'> - <pointer type-name='general_ref'/> - </stl-vector> - - <compound name='temp'> - <int16_t name='unk1'/> - <int16_t name='unk2'/> - <int16_t name='unk3'/> - <int16_t name='unk4'/> - <int16_t name='unk5'/> - <int16_t name='spec_heat'/> - <int16_t name='ignite_point'/> - <int16_t name='heatdam_point'/> - <int16_t name='colddam_point'/> - <int16_t name='boiling_point'/> - <int16_t name='melting_point'/> - <int16_t name='fixed_temp'/> - </compound> - - <int32_t name='weight' comment='if flags.weight_computed'/> - <int32_t name='weight_fraction' comment='1e-6'/> - - <virtual-methods> - <vmethod ret-type='item_type' name='getType'/> - <vmethod ret-type='int16_t' name='getSubtype'/> - <vmethod ret-type='int16_t' name='getMaterial'/> - <vmethod ret-type='int32_t' name='getMaterialIndex'/> - <vmethod name='setSubtype'> <int16_t/> </vmethod> - - <vmethod name='setMaterial'> <int16_t/> </vmethod> - <vmethod name='setMaterialIndex'> <int32_t/> </vmethod> - <vmethod ret-type='int16_t' name='getActualMaterial' - comment='returns an actual material type, never a race'/> - <vmethod ret-type='int32_t' name='getActualMaterialIndex' - comment='returns an actual material index, never a caste'/> - <vmethod ret-type='int16_t' name='getRace' - comment='only if the object is made of a "specific creature mat"'/> - - -- 10 - - <vmethod ret-type='int16_t' name='getCaste' - comment='only if the object is made of a "specific creature mat"'/> - <vmethod ret-type='int16_t' name='getPlantID' - comment='only if the object is made of a plant material'/> - <vmethod ret-type='int32_t' name='getTotalDimension'/> - <vmethod name='setDimension'> <int32_t name='amount'/> </vmethod> - <vmethod ret-type='bool' name='subtractDimension'> <int32_t name='amount'/> </vmethod> - - <vmethod ret-type='bool' name='isFoodStorage'/> - <vmethod name='getStockpile'> - <ret-type><pointer type-name='item_stockpile_ref'/></ret-type> - </vmethod> - <vmethod ret-type='bool' name='containsPlaster'/> - <vmethod ret-type='bool' name='isPlaster'/> - <vmethod ret-type='bool' name='getColorOverride'> <pointer/> </vmethod> - - -- 20 - - <vmethod name='getHistoryInfo'> - <ret-type><pointer><pointer type-name='item_history_info'/></pointer></ret-type> - </vmethod> - <vmethod ret-type='bool' name='hasToolUse'> <int16_t/> </vmethod> - <vmethod name='becomePaste'/> - <vmethod name='becomePressed'/> - <vmethod name='calculateWeight'/> - - <vmethod ret-type='bool' name='isSharpStone'/> - <vmethod ret-type='bool' name='isCrystalGlassable'/> - <vmethod ret-type='bool' name='isMetalOre'> <int16_t name='matIndex'/> </vmethod> - <vmethod/> - <vmethod/> - - -- 30 - - <vmethod ret-type='uint16_t' name='getSpecHeat'/> - <vmethod ret-type='uint16_t' name='getIgnitePoint'/> - <vmethod ret-type='uint16_t' name='getHeatdamPoint'/> - <vmethod ret-type='uint16_t' name='getColddamPoint'/> - <vmethod ret-type='uint16_t' name='getBoilingPoint'/> - - <vmethod ret-type='uint16_t' name='getMeltingPoint'/> - <vmethod ret-type='uint16_t' name='getFixedTemp'/> - <vmethod ret-type='int32_t' name='getSolidDensity'/> - <vmethod ret-type='bool' name='materialRots'/> - <vmethod ret-type='uint16_t' name='getTemperature'/> - - -- 40 - - <vmethod ret-type='bool' name='adjustTemperature'> - <uint16_t name='target'/> - <int32_t name='unk'/> - </vmethod> - <vmethod/> - <vmethod name='extinguish'/> - <vmethod ret-type='int8_t' name='getGloveHandedness'/> - <vmethod name='setGloveHandedness'> <int8_t/> </vmethod> - - <vmethod ret-type='bool' name='isSpike'/> - <vmethod ret-type='bool' name='isScrew'/> - <vmethod ret-type='bool' name='isBuildMat'/> - <vmethod ret-type='bool' name='isTemperatureSafe'> <int8_t comment='1 fire, 2 magma'/> </vmethod> - <vmethod name='setRandSubtype'> <pointer/> </vmethod> - - -- 50 - - <vmethod/> - <vmethod ret-type='int16_t' name='getWear'/> - <vmethod name='setWear'> <int16_t/> </vmethod> - <vmethod ret-type='int32_t' name='getMaker'/> - <vmethod name='setMaker'> <int32_t name='unit_id'/> </vmethod> - - <vmethod/> - <vmethod/> - <vmethod name='getGloveFlags'> - <ret-type><pointer><df-flagarray/></pointer></ret-type> - </vmethod> - <vmethod name='getItemShapeDesc' comment='a statue/figurine of "string goes here"'> - <ret-type><pointer type-name='stl-string'/></ret-type> - </vmethod> - <vmethod ret-type='bool' name='isMatchingAmmoItem'> <pointer type-name='item_filter_spec'/> </vmethod> - - -- 60 - - <vmethod/> - <vmethod name='setSeedsUnk84'> <int32_t/> </vmethod> - <vmethod ret-type='int16_t' name='getCorpseUnk17c'/> - <vmethod name='ageItem'><int32_t name='amount'/></vmethod> - <vmethod ret-type='int32_t' name='getCritterUnk80'/> - - <vmethod name='setCritterUnk80'> <int32_t/> </vmethod> - <vmethod name='incrementCritterUnk80'/> - <vmethod ret-type='int32_t' name='getRotTimer'/> - <vmethod name='setRotTimer'> <int32_t name='val'/> </vmethod> - <vmethod name='incrementRotTimer'/> - - -- 70 - - <vmethod ret-type='bool' name='isBogeymanCorpse'/> - <vmethod/> - <vmethod name='getAmmoType'> - <ret-type><pointer type-name='stl-string'/></ret-type> - <pointer type-name='stl-string'/> - </vmethod> - <vmethod/> - <vmethod ret-type='bool' name='isLiquid'/> - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod ret-type='bool' name='isArmorNotClothing'/> - <vmethod ret-type='bool' name='isMillable'/> - - -- 80 - - <vmethod ret-type='bool' name='isProcessableThread'/> - <vmethod ret-type='bool' name='isProcessableVial'/> - <vmethod ret-type='bool' name='isProcessableBag'/> - <vmethod ret-type='bool' name='isProcessableBarrel'/> - <vmethod ret-type='bool' name='isEdiblePlant'/> - - <vmethod ret-type='bool' name='isEdibleRaw'> <int32_t name='hunger'/> </vmethod> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 90 - - <vmethod/> - <vmethod ret-type='bool' name='isPressed'/> - <vmethod/> - <vmethod/> - <vmethod/> - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 100 - - <vmethod/> - <vmethod/> - <vmethod ret-type='bool' name='needTwoHandedWield'> <int32_t/> </vmethod> - <vmethod name='splitStack'> - <ret-type><pointer type-name='item'/></ret-type> - <int32_t/> - <int32_t/> - </vmethod> - <vmethod ret-type='bool' name='isTameableVermin'/> - - <vmethod ret-type='bool' name='isDistillable'> - <bool name='checkKitchenSettings'/> - </vmethod> - <vmethod ret-type='bool' name='isDye'/> - <vmethod/> - <vmethod ret-type='bool' name='isSandBearing'/> - <vmethod ret-type='bool' name='isLyeBearing'/> - - -- 110 - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 120 - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod name='write_file'> <pointer comment='file_compressorst'/> </vmethod> - <vmethod name='read_file'> - <pointer comment='file_compressorst'/> - <int32_t name='loadversion'/> - </vmethod> - - <vmethod name='getWeaponAttacks'> - <ret-type><pointer><stl-vector type-name='pointer'/></pointer></ret-type> - </vmethod> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 130 - - <vmethod/> - <vmethod ret-type='bool' name='isBag' comment='BOX made of cloth'/> - <vmethod ret-type='bool' name='isSand'/> - <vmethod ret-type='int32_t' name='getStackSize'/> - <vmethod name='addStackSize'> <int32_t name='amount'/> </vmethod> - - <vmethod name='setStackSize'> <int32_t name='amount'/> </vmethod> - <vmethod ret-type='bool' name='isAmmoClass'> <pointer type-name='stl-string'/> </vmethod> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 140 - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod ret-type='int16_t' name='getMeleeSkill'/> - <vmethod ret-type='int16_t' name='getRangedSkill'/> - - -- 150 - - <vmethod name='setQuality'> <int16_t name='quality'/> </vmethod> - <vmethod ret-type='int16_t' name='getQuality'/> - <vmethod ret-type='int16_t' name='getOverallQuality'/> - <vmethod ret-type='int16_t' name='getImprovementQuality'/> - <vmethod ret-type='int32_t' name='getProjectileSize'/> - - <vmethod/> - <vmethod name='setSharpness'> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - </vmethod> - <vmethod ret-type='int32_t' name='getSharpness'/> - <vmethod ret-type='bool' name='isTotemable'/> - <vmethod ret-type='bool' name='isDyeable'/> - - -- 160 - - <vmethod ret-type='bool' name='isNotDyed'/> - <vmethod ret-type='bool' name='isDyed'/> - <vmethod ret-type='bool' name='canSewImage'/> - <vmethod/> - <vmethod ret-type='bool' name='isProcessableVialAtStill'/> - - <vmethod/> - <vmethod ret-type='int32_t' name='getBlockChance'/> - <vmethod/> - <vmethod ret-type='int16_t' name='getMakerRace'/> - <vmethod name='setMakerRace'> <int16_t/> </vmethod> - - -- 170 - - <vmethod ret-type='int8_t' name='getEffectiveArmorLevel' - comment="adds 1 if it has [METAL_ARMOR_LEVELS] and it's made of an inorganic mat"/> - <vmethod/> - <vmethod ret-type='bool' name='isOrganicCloth'/> - <vmethod/> - <vmethod/> - - <vmethod/> - <vmethod ret-type='bool' name='isImproved'/> - <vmethod ret-type='int32_t' name='getUnk60'/> - <vmethod name='getItemDescription'> - <pointer type-name='stl-string'/> - <int8_t name='mode'/> - </vmethod> - <vmethod/> - - -- 180 - - <vmethod/> - <vmethod ret-type='bool' name='isExtractBearingFish'/> - <vmethod ret-type='bool' name='isExtractBearingVermin'/> - <vmethod ret-type='int32_t' name='getBaseWeight'/> - <vmethod ret-type='int32_t' name='getWeightShiftBits'/> - - <vmethod ret-type='bool' name='isCollected'/> - <vmethod/> - <vmethod ret-type='bool' name='isEdibleVermin'/> - <vmethod name='drawSelf'/> - <vmethod ret-type='bool' name='isRangedWeapon'/> - - -- 190 - - <vmethod ret-type='bool' name='isClothing'/> - <vmethod ret-type='bool' name='isWet'/> - <vmethod/> - <vmethod ret-type='bool' name='isAssignedToStockpile'/> - <vmethod ret-type='bool' name='isAssignedToThisStockpile'> <int32_t/> </vmethod> - - <vmethod/> - <vmethod name='removeStockpileAssignment'/> - <vmethod name='getStockpile2'> - <ret-type><pointer type-name='item_stockpile_ref'/></ret-type> - </vmethod> - <vmethod/> - <vmethod/> - - -- 200 - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - - -- 210 - - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod/> - <vmethod ret-type='int16_t' name='isEngraved' comment='slabs only'/> - - <vmethod ret-type='int32_t' name='getAbsorption'/> - <vmethod/> - <vmethod is-destructor='true'/> - </virtual-methods> - </class-type> - - -- ACTUAL ITEM - - <struct-type type-name='item_kill_info'> - <compound name='targets' type-name='historical_kills'/> - - -- Wielders - - <stl-vector name="slayers"> - <int32_t ref-target='historical_figure'/> - </stl-vector> - <stl-vector name="slayer_kill_counts" type-name='int32_t'/> - </struct-type> - - <struct-type type-name='item_history_info'> - <pointer name='kills' type-name='item_kill_info'/> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - </struct-type> - - <class-type type-name='item_actual' inherits-from='item' original-name='item_actualst'> - <int32_t name='stack_size'/> - - <code-helper name='describe'> - (if (> $.stack_size 1) (fmt "stack: ~A" $.stack_size)) - (if (> $.wear 0) (fmt "wear: ~A" $.wear)) - </code-helper> - - <pointer name='history_info'> - <pointer type-name='item_history_info'/> - </pointer> - - <pointer name='unk5'> - <stl-vector/> - </pointer> - - <pointer name='contaminants'> - <stl-vector> - <pointer type-name='contaminant'/> - </stl-vector> - </pointer> - - <uint16_t name='temperature'/> - <uint16_t name='temperature_fraction'/> - - <int16_t name='wear'/> - <int32_t name='wear_timer' comment='counts up to 806400'/> - - <int32_t name='unk3' comment='-1'/> - </class-type> - - -- CRAFTED ITEM - - <class-type type-name='item_crafted' inherits-from='item_actual' - original-name='item_craftedst'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - - <code-helper name='describe'> - $.quality - (describe-obj (material-by-id $.matType $.matIndex)) - </code-helper> - - <int16_t name='maker_race' ref-target='creature_raw'/> - <enum base-type='int16_t' name='quality' type-name='item_quality'/> - <enum base-type='int32_t' name='skill_used' type-name='job_skill'/> - <int32_t name='maker' ref-target='historical_figure'/> - <int32_t name='masterpiece_event' ref-target='history_event'/> - </class-type> - - -- CONSTRUCTED ITEM - - <class-type type-name='item_constructed' inherits-from='item_crafted' - original-name='item_constructedst'> - <stl-vector name='improvements'> - <pointer/> - </stl-vector> - </class-type> - - -- BODY COMPONENT - - <class-type type-name='item_body_component' inherits-from='item_actual' - original-name='item_body_componentst'> - <int16_t name='race' ref-target='creature_raw'/> - <int32_t name='unk_7c'/> - <int32_t name='unk_80'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int8_t name='unk_86'/> - <int32_t name='unk_88'/> - <int8_t name='unk_8c'/> - <stl-vector name='unk_90'/> - <padding size='44'/> - <stl-vector name='unk_cc'/> - <stl-vector name='unk_dc'/> - <stl-vector name='unk_ec'/> - <stl-vector name='unk_fc'/> - <stl-vector name='unk_10c'/> - <stl-vector name='unk_11c'/> - <stl-vector name='unk_12c'/> - <stl-vector name='unk_13c'/> - <padding size='72'/> - <stl-vector name='unk_194'/> - <stl-vector name='unk_1a4'/> - <stl-vector name='unk_1b4'/> - <padding size='20'/> - <stl-vector name='unk_1d8'/> - <stl-vector name='unk_1e8'/> - <stl-vector name='unk_1f8'/> - <stl-vector name='unk_208'/> - <stl-vector name='unk_218'/> - <padding size='12'/> - <static-array name='unk_234' count='19' type-name='int32_t'/> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int16_t name='unk_288'/> - <int32_t name='unk_28c'/> - </class-type> - - <class-type type-name='item_corpsest' inherits-from='item_body_component'/> - <class-type type-name='item_corpsepiecest' inherits-from='item_body_component'/> - - -- CRITTER - - <class-type type-name='item_critter' inherits-from='item_actual' original-name='item_critterst'> - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int32_t name='unk_7c'/> - <int32_t name='unk_80'/> - </class-type> - - -- LIQUID/POWER - - <bitfield-type type-name='item_matstate'> - <flag-bit/> - <flag-bit name='pressed'/> - <flag-bit name='paste'/> - </bitfield-type> - - <class-type type-name='item_liquidpowder' inherits-from='item_actual' - original-name='item_liquidpowderst'> - <compound name='mat_state' type-name='item_matstate'/> - <int32_t name='dimension'/> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - - <class-type type-name='item_liquid' inherits-from='item_liquidpowder' original-name='item_liquidst'/> - <class-type type-name='item_powder' inherits-from='item_liquidpowder' original-name='item_powderst'/> - - -- MISC - - <class-type type-name='item_barst' inherits-from='item_actual'> - <int16_t name='subtype'/> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='dimension'/> - </class-type> - - <class-type type-name='item_smallgemst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - <class-type type-name='item_blocksst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - <class-type type-name='item_roughst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - <class-type type-name='item_boulderst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - <class-type type-name='item_woodst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> - - <class-type type-name='item_rockst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='sharpness'/> - <int32_t name='unk_84'/> - </class-type> - - <class-type type-name='item_seedsst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='unk_80'/> - <int32_t name='unk_84'/> - </class-type> - - <class-type type-name='item_skin_tannedst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='unk_80'/> - </class-type> - - <class-type type-name='item_meatst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_plantst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_leavesst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_cheesest' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_globst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int32_t name='rot_timer'/> - <compound name='mat_state' type-name='item_matstate'/> - </class-type> - <class-type type-name='item_remainsst' inherits-from='item_actual'> - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_fishst' inherits-from='item_actual'> - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int32_t name='rot_timer'/> - </class-type> - <class-type type-name='item_fish_rawst' inherits-from='item_actual'> - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int32_t name='rot_timer'/> - </class-type> - - <class-type type-name='item_foodst' inherits-from='item_crafted'> - <pointer name='subtype' type-name='itemdef_foodst'/> - <int32_t name='unk_94'/> - <int16_t name='unk_98'/> - <stl-vector name='unk_9c'/> - <int32_t name='rot_timer'/> - </class-type> - - <class-type type-name='item_verminst' inherits-from='item_critter'/> - <class-type type-name='item_petst' inherits-from='item_critter'/> - - <class-type type-name='item_drinkst' inherits-from='item_liquid'/> - <class-type type-name='item_powder_miscst' inherits-from='item_powder'/> - <class-type type-name='item_liquid_miscst' inherits-from='item_liquid'> - <int32_t name='unk_88'/> - </class-type> - - <class-type type-name='item_threadst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int16_t name='dyeColor'/> - <int32_t name='unk_84'/> - <int32_t name='unk_88'/> - <int32_t name='unk_8c'/> - <int16_t name='unk_90'/> - <int16_t name='unk_92'/> - <int32_t name='unk_94'/> - <int8_t name='unk_98'/> - <int32_t name='dimension'/> - </class-type> - - <class-type type-name='item_eggst' inherits-from='item_actual'> - <int16_t name='race' ref-target='creature_raw'/> - <int16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <int32_t name='unk_7c'/> - <stl-vector name='eggMatType' type-name='int16_t'/> - <stl-vector name='eggMatIndex' type-name='int32_t'/> - <padding size='44'/> - <compound name='unk_cc'> - <int16_t/> - <int16_t/> - <int16_t/> - <int32_t/> - <int32_t/> - <int32_t/> - <int16_t/> - </compound> - <int32_t/> - <int32_t name='size'/> - </class-type> - - -- CONSTRUCTED - - <class-type type-name='item_doorst' inherits-from='item_constructed'/> - <class-type type-name='item_floodgatest' inherits-from='item_constructed'/> - <class-type type-name='item_bedst' inherits-from='item_constructed'/> - <class-type type-name='item_chairst' inherits-from='item_constructed'/> - <class-type type-name='item_chainst' inherits-from='item_constructed'/> - <class-type type-name='item_flaskst' inherits-from='item_constructed'/> - <class-type type-name='item_gobletst' inherits-from='item_constructed'/> - <class-type type-name='item_windowst' inherits-from='item_constructed'/> - <class-type type-name='item_cagest' inherits-from='item_constructed'/> - <class-type type-name='item_bucketst' inherits-from='item_constructed'/> - <class-type type-name='item_animaltrapst' inherits-from='item_constructed'/> - <class-type type-name='item_tablest' inherits-from='item_constructed'/> - <class-type type-name='item_coffinst' inherits-from='item_constructed'/> - <class-type type-name='item_boxst' inherits-from='item_constructed'/> - <class-type type-name='item_armorstandst' inherits-from='item_constructed'/> - <class-type type-name='item_weaponrackst' inherits-from='item_constructed'/> - <class-type type-name='item_cabinetst' inherits-from='item_constructed'/> - <class-type type-name='item_amuletst' inherits-from='item_constructed'/> - <class-type type-name='item_scepterst' inherits-from='item_constructed'/> - <class-type type-name='item_crownst' inherits-from='item_constructed'/> - <class-type type-name='item_ringst' inherits-from='item_constructed'/> - <class-type type-name='item_earringst' inherits-from='item_constructed'/> - <class-type type-name='item_braceletst' inherits-from='item_constructed'/> - <class-type type-name='item_gemst' inherits-from='item_constructed'/> - <class-type type-name='item_anvilst' inherits-from='item_constructed'/> - <class-type type-name='item_backpackst' inherits-from='item_constructed'/> - <class-type type-name='item_quiverst' inherits-from='item_constructed'/> - <class-type type-name='item_catapultpartsst' inherits-from='item_constructed'/> - <class-type type-name='item_ballistapartsst' inherits-from='item_constructed'/> - <class-type type-name='item_trappartsst' inherits-from='item_constructed'/> - <class-type type-name='item_pipe_sectionst' inherits-from='item_constructed'/> - <class-type type-name='item_hatch_coverst' inherits-from='item_constructed'/> - <class-type type-name='item_gratest' inherits-from='item_constructed'/> - <class-type type-name='item_quernst' inherits-from='item_constructed'/> - <class-type type-name='item_millstonest' inherits-from='item_constructed'/> - <class-type type-name='item_splintst' inherits-from='item_constructed'/> - <class-type type-name='item_crutchst' inherits-from='item_constructed'/> - <class-type type-name='item_traction_benchst' inherits-from='item_constructed'/> - - <class-type type-name='item_instrumentst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_instrumentst'/> - </class-type> - <class-type type-name='item_toyst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_toyst'/> - </class-type> - <class-type type-name='item_armorst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_armorst'/> - </class-type> - <class-type type-name='item_shoesst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_shoesst'/> - </class-type> - <class-type type-name='item_shieldst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_shieldst'/> - </class-type> - <class-type type-name='item_helmst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_helmst'/> - </class-type> - <class-type type-name='item_glovesst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_glovesst'/> - <df-flagarray name='flags' comment='1 right, 2 left'/> - </class-type> - <class-type type-name='item_pantsst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_pantsst'/> - </class-type> - <class-type type-name='item_siegeammost' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_siegeammost'/> - </class-type> - <class-type type-name='item_weaponst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_weaponst'/> - <int32_t name='sharpness'/> - </class-type> - <class-type type-name='item_ammost' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_ammost'/> - <int32_t name='sharpness'/> - </class-type> - <class-type type-name='item_trapcompst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_trapcompst'/> - <int32_t name='sharpness'/> - </class-type> - <class-type type-name='item_toolst' inherits-from='item_constructed'> - <pointer name='subtype' type-name='itemdef_toolst'/> - <int32_t name='sharpness'/> - <compound name='stockpile' type-name='item_stockpile_ref'/> - </class-type> - - <struct-type type-name='item_stockpile_ref'> - <int32_t name='id' ref-target='building'/> - <int16_t name='x'/> - <int16_t name='y'/> - </struct-type> - - <class-type type-name='item_barrelst' inherits-from='item_constructed'> - <compound name='stockpile' type-name='item_stockpile_ref'/> - </class-type> - <class-type type-name='item_binst' inherits-from='item_constructed'> - <compound name='stockpile' type-name='item_stockpile_ref'/> - </class-type> - - <class-type type-name='item_statuest' inherits-from='item_constructed'> - <int32_t name='unk_a0'/> - <int16_t name='unk_a4'/> - <stl-string name='description'/> - </class-type> - <class-type type-name='item_figurinest' inherits-from='item_constructed'> - <int32_t name='unk_a0'/> - <int16_t name='unk_a4'/> - <stl-string name='description'/> - </class-type> - - <class-type type-name='item_slabst' inherits-from='item_constructed'> - <stl-string name='description'/> - <int32_t name='unk_bc'/> - <int16_t name='unk_c0'/> - </class-type> - - <class-type type-name='item_orthopedic_castst' inherits-from='item_constructed'> - <stl-string name='unk_a0'/> - <stl-string name='unk_bc'/> - </class-type> - - <class-type type-name='item_coinst' inherits-from='item_constructed'> - <int16_t name='unk_a0'/> - </class-type> - - <class-type type-name='item_totemst' inherits-from='item_constructed'> - <int16_t name='unk_a0'/> - <int16_t name='unk_a2'/> - <int16_t name='unk_a4'/> - </class-type> - - <class-type type-name='item_clothst' inherits-from='item_constructed'> - <int32_t name='dimension'/> - </class-type> - - <class-type type-name='item_ballistaarrowheadst' inherits-from='item_actual'> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.job-enums.xml b/library/xml/df.job-enums.xml deleted file mode 100644 index 608693cb..00000000 --- a/library/xml/df.job-enums.xml +++ /dev/null @@ -1,2191 +0,0 @@ -<data-definition> - ----- PROFESSION ----- - - <enum-type type-name='profession'> - <enum-attr name='caption'/> - <enum-attr name='military' type-name='bool' default-value='false'/> - <enum-attr name='parent' type-name='profession' default-value='NONE'/> - <enum-attr name='can_assign_labor' type-name='bool' default-value='true' - comment='Can be assigned any labors, i.e. not child or baby'/> - - <enum-item name='NONE' value='-1'/> - - -- 0 - - <enum-item name='MINER'> - <item-attr name='caption' value='Miner'/> - </enum-item> - <enum-item name='WOODWORKER'> - <item-attr name='caption' value='Woodworker'/> - </enum-item> - <enum-item name='CARPENTER'> - <item-attr name='caption' value='Carpenter'/> - <item-attr name='parent' value='WOODWORKER'/> - </enum-item> - <enum-item name='BOWYER'> - <item-attr name='caption' value='Bowyer'/> - <item-attr name='parent' value='WOODWORKER'/> - </enum-item> - <enum-item name='WOODCUTTER'> - <item-attr name='caption' value='Woodcutter'/> - <item-attr name='parent' value='WOODWORKER'/> - </enum-item> - <enum-item name='STONEWORKER'> - <item-attr name='caption' value='Stoneworker'/> - </enum-item> - <enum-item name='ENGRAVER'> - <item-attr name='caption' value='Engraver'/> - <item-attr name='parent' value='STONEWORKER'/> - </enum-item> - <enum-item name='MASON'> - <item-attr name='caption' value='Mason'/> - <item-attr name='parent' value='STONEWORKER'/> - </enum-item> - <enum-item name='RANGER'> - <item-attr name='caption' value='Ranger'/> - </enum-item> - <enum-item name='ANIMAL_CARETAKER'> - <item-attr name='caption' value='Animal Caretaker'/> - <item-attr name='parent' value='RANGER'/> - </enum-item> - - -- 10 - - <enum-item name='ANIMAL_TRAINER'> - <item-attr name='caption' value='Animal Trainer'/> - <item-attr name='parent' value='RANGER'/> - </enum-item> - <enum-item name='HUNTER'> - <item-attr name='caption' value='Hunter'/> - <item-attr name='parent' value='RANGER'/> - </enum-item> - <enum-item name='TRAPPER'> - <item-attr name='caption' value='Trapper'/> - <item-attr name='parent' value='RANGER'/> - </enum-item> - <enum-item name='ANIMAL_DISSECTOR'> - <item-attr name='caption' value='Animal Dissector'/> - <item-attr name='parent' value='RANGER'/> - </enum-item> - <enum-item name='METALSMITH'> - <item-attr name='caption' value='Metalsmith'/> - </enum-item> - <enum-item name='FURNACE_OPERATOR'> - <item-attr name='caption' value='Furnace Operator'/> - <item-attr name='parent' value='METALSMITH'/> - </enum-item> - <enum-item name='WEAPONSMITH'> - <item-attr name='caption' value='Weaponsmith'/> - <item-attr name='parent' value='METALSMITH'/> - </enum-item> - <enum-item name='ARMORER'> - <item-attr name='caption' value='Armorer'/> - <item-attr name='parent' value='METALSMITH'/> - </enum-item> - <enum-item name='BLACKSMITH'> - <item-attr name='caption' value='Blacksmith'/> - <item-attr name='parent' value='METALSMITH'/> - </enum-item> - <enum-item name='METALCRAFTER'> - <item-attr name='caption' value='Metalcrafter'/> - <item-attr name='parent' value='METALSMITH'/> - </enum-item> - - -- 20 - - <enum-item name='JEWELER'> - <item-attr name='caption' value='Jeweler'/> - </enum-item> - <enum-item name='GEM_CUTTER'> - <item-attr name='caption' value='Gem Cutter'/> - <item-attr name='parent' value='JEWELER'/> - </enum-item> - <enum-item name='GEM_SETTER'> - <item-attr name='caption' value='Gem Setter'/> - <item-attr name='parent' value='JEWELER'/> - </enum-item> - <enum-item name='CRAFTSMAN'> - <item-attr name='caption' value='Craftsman'/> - </enum-item> - <enum-item name='WOODCRAFTER'> - <item-attr name='caption' value='Woodcrafter'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='STONECRAFTER'> - <item-attr name='caption' value='Stonecrafter'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='LEATHERWORKER'> - <item-attr name='caption' value='Leatherworker'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='BONE_CARVER'> - <item-attr name='caption' value='Bone Carver'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='WEAVER'> - <item-attr name='caption' value='Weaver'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='CLOTHIER'> - <item-attr name='caption' value='Clothier'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - - -- 30 - - <enum-item name='GLASSMAKER'> - <item-attr name='caption' value='Glassmaker'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='STRAND_EXTRACTOR'> - <item-attr name='caption' value='Strand Extractor'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='FISHERY_WORKER'> - <item-attr name='caption' value='Fishery Worker'/> - </enum-item> - <enum-item name='FISHERMAN'> - <item-attr name='caption' value='Fisherman'/> - <item-attr name='parent' value='FISHERY_WORKER'/> - </enum-item> - <enum-item name='FISH_DISSECTOR'> - <item-attr name='caption' value='Fish Dissector'/> - <item-attr name='parent' value='FISHERY_WORKER'/> - </enum-item> - <enum-item name='FISH_CLEANER'> - <item-attr name='caption' value='Fish Cleaner'/> - <item-attr name='parent' value='FISHERY_WORKER'/> - </enum-item> - <enum-item name='FARMER'> - <item-attr name='caption' value='Farmer'/> - </enum-item> - <enum-item name='CHEESE_MAKER'> - <item-attr name='caption' value='Cheese Maker'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='MILKER'> - <item-attr name='caption' value='Milker'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='COOK'> - <item-attr name='caption' value='Cook'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - - -- 40 - - <enum-item name='THRESHER'> - <item-attr name='caption' value='Thresher'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='MILLER'> - <item-attr name='caption' value='Miller'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='BUTCHER'> - <item-attr name='caption' value='Butcher'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='TANNER'> - <item-attr name='caption' value='Tanner'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='DYER'> - <item-attr name='caption' value='Dyer'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='PLANTER'> - <item-attr name='caption' value='Planter'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='HERBALIST'> - <item-attr name='caption' value='Herbalist'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='BREWER'> - <item-attr name='caption' value='Brewer'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='SOAP_MAKER'> - <item-attr name='caption' value='Soap Maker'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='POTASH_MAKER'> - <item-attr name='caption' value='Potash Maker'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - - -- 50 - - <enum-item name='LYE_MAKER'> - <item-attr name='caption' value='Lye Maker'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='WOOD_BURNER'> - <item-attr name='caption' value='Wood Burner'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='ENGINEER'> - <item-attr name='caption' value='Engineer'/> - </enum-item> - <enum-item name='MECHANIC'> - <item-attr name='caption' value='Mechanic'/> - <item-attr name='parent' value='ENGINEER'/> - </enum-item> - <enum-item name='SIEGE_ENGINEER'> - <item-attr name='caption' value='Siege Engineer'/> - <item-attr name='parent' value='ENGINEER'/> - </enum-item> - <enum-item name='SIEGE_OPERATOR'> - <item-attr name='caption' value='Siege Operator'/> - <item-attr name='parent' value='ENGINEER'/> - </enum-item> - <enum-item name='PUMP_OPERATOR'> - <item-attr name='caption' value='Pump Operator'/> - <item-attr name='parent' value='ENGINEER'/> - </enum-item> - <enum-item name='CLERK'> - <item-attr name='caption' value='Clerk'/> - <item-attr name='parent' value='ADMINISTRATOR'/> - </enum-item> - <enum-item name='ADMINISTRATOR'> - <item-attr name='caption' value='Administrator'/> - </enum-item> - <enum-item name='TRADER'> - <item-attr name='caption' value='Trader'/> - <item-attr name='parent' value='ADMINISTRATOR'/> - </enum-item> - - -- 60 - - <enum-item name='ARCHITECT'> - <item-attr name='caption' value='Architect'/> - <item-attr name='parent' value='ADMINISTRATOR'/> - </enum-item> - <enum-item name='ALCHEMIST'> - <item-attr name='caption' value='Alchemist'/> - </enum-item> - <enum-item name='DOCTOR'> - <item-attr name='caption' value='Doctor'/> - </enum-item> - <enum-item name='DIAGNOSER'> - <item-attr name='caption' value='Diagnoser'/> - <item-attr name='parent' value='DOCTOR'/> - </enum-item> - <enum-item name='BONE_SETTER'> - <item-attr name='caption' value='Bone Setter'/> - <item-attr name='parent' value='DOCTOR'/> - </enum-item> - <enum-item name='SUTURER'> - <item-attr name='caption' value='Suturer'/> - <item-attr name='parent' value='DOCTOR'/> - </enum-item> - <enum-item name='SURGEON'> - <item-attr name='caption' value='Surgeon'/> - <item-attr name='parent' value='DOCTOR'/> - </enum-item> - <enum-item name='MERCHANT'> - <item-attr name='caption' value='Merchant'/> - </enum-item> - <enum-item name='HAMMERMAN'> - <item-attr name='caption' value='Hammerman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_HAMMERMAN'> - <item-attr name='caption' value='Hammer Lord'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='HAMMERMAN'/> - </enum-item> - - -- 70 - - <enum-item name='SPEARMAN'> - <item-attr name='caption' value='Spearman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_SPEARMAN'> - <item-attr name='caption' value='Spearmaster'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='SPEARMAN'/> - </enum-item> - <enum-item name='CROSSBOWMAN'> - <item-attr name='caption' value='Crossbowman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_CROSSBOWMAN'> - <item-attr name='caption' value='Elite Crossbowman'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='CROSSBOWMAN'/> - </enum-item> - <enum-item name='WRESTLER'> - <item-attr name='caption' value='Wrestler'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_WRESTLER'> - <item-attr name='caption' value='Elite Wrestler'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='WRESTLER'/> - </enum-item> - <enum-item name='AXEMAN'> - <item-attr name='caption' value='Axeman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_AXEMAN'> - <item-attr name='caption' value='Axe Lord'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='AXEMAN'/> - </enum-item> - <enum-item name='SWORDSMAN'> - <item-attr name='caption' value='Swordsman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_SWORDSMAN'> - <item-attr name='caption' value='Swordsmaster'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='SWORDSMAN'/> - </enum-item> - - -- 80 - - <enum-item name='MACEMAN'> - <item-attr name='caption' value='Maceman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_MACEMAN'> - <item-attr name='caption' value='Mace Lord'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='MACEMAN'/> - </enum-item> - <enum-item name='PIKEMAN'> - <item-attr name='caption' value='Pikeman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_PIKEMAN'> - <item-attr name='caption' value='Pikemaster'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='PIKEMAN'/> - </enum-item> - <enum-item name='BOWMAN'> - <item-attr name='caption' value='Bowman'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_BOWMAN'> - <item-attr name='caption' value='Elite Bowman'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='BOWMAN'/> - </enum-item> - <enum-item name='BLOWGUNMAN'> - <item-attr name='caption' value='Blowgunner'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_BLOWGUNMAN'> - <item-attr name='caption' value='Master Blowgunner'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='BLOWGUNMAN'/> - </enum-item> - <enum-item name='LASHER'> - <item-attr name='caption' value='Lasher'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='MASTER_LASHER'> - <item-attr name='caption' value='Master Lasher'/> - <item-attr name='military' value='true'/> - <item-attr name='parent' value='LASHER'/> - </enum-item> - - -- 90 - - <enum-item name='RECRUIT'> - <item-attr name='caption' value='Recruit'/> - <item-attr name='military' value='true'/> - </enum-item> - <enum-item name='TRAINED_HUNTER'> - <item-attr name='caption' value='Hunting Animal'/> - </enum-item> - <enum-item name='TRAINED_WAR'> - <item-attr name='caption' value='War Animal'/> - </enum-item> - <enum-item name='MASTER_THIEF'> - <item-attr name='caption' value='Master Thief'/> - <item-attr name='parent' value='THIEF'/> - </enum-item> - <enum-item name='THIEF'> - <item-attr name='caption' value='Thief'/> - </enum-item> - <enum-item name='STANDARD'> - <item-attr name='caption' value='Peasant'/> - </enum-item> - <enum-item name='CHILD'> - <item-attr name='caption' value='Child'/> - <item-attr name='can_assign_labor' value='false'/> - <item-attr name='parent' value='STANDARD'/> - </enum-item> - <enum-item name='BABY'> - <item-attr name='caption' value='Baby'/> - <item-attr name='can_assign_labor' value='false'/> - <item-attr name='parent' value='STANDARD'/> - </enum-item> - <enum-item name='DRUNK'> - <item-attr name='caption' value='Drunk'/> - <item-attr name='can_assign_labor' value='false'/> - <item-attr name='parent' value='STANDARD'/> - </enum-item> - <enum-item name='SHEARER'> - <item-attr name='caption' value='Shearer'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - - -- 100 - - <enum-item name='SPINNER'> - <item-attr name='caption' value='Spinner'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='POTTER'> - <item-attr name='caption' value='Potter'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='GLAZER'> - <item-attr name='caption' value='Glazer'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - <enum-item name='PRESSER'> - <item-attr name='caption' value='Presser'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='BEEKEEPER'> - <item-attr name='caption' value='Bee Keeper'/> - <item-attr name='parent' value='FARMER'/> - </enum-item> - <enum-item name='WAX_WORKER'> - <item-attr name='caption' value='Wax Worker'/> - <item-attr name='parent' value='CRAFTSMAN'/> - </enum-item> - </enum-type> - - ----- LABOR ----- - - <enum-type type-name='unit_labor'> - <enum-attr name='caption'/> - - <enum-item name='NONE' value='-1'/> - - -- 0 - - <enum-item name='MINE'> - <item-attr name='caption' value='Mining'/> - </enum-item> - <enum-item name='HAUL_STONE'> - <item-attr name='caption' value='Stone Hauling'/> - </enum-item> - <enum-item name='HAUL_WOOD'> - <item-attr name='caption' value='Wood Hauling'/> - </enum-item> - <enum-item name='HAUL_BODY'> - <item-attr name='caption' value='Burial'/> - </enum-item> - <enum-item name='HAUL_FOOD'> - <item-attr name='caption' value='Food Hauling'/> - </enum-item> - <enum-item name='HAUL_REFUSE'> - <item-attr name='caption' value='Refuse Hauling'/> - </enum-item> - <enum-item name='HAUL_ITEM'> - <item-attr name='caption' value='Item Hauling'/> - </enum-item> - <enum-item name='HAUL_FURNITURE'> - <item-attr name='caption' value='Furniture Hauling'/> - </enum-item> - <enum-item name='HAUL_ANIMAL'> - <item-attr name='caption' value='Animal Hauling'/> - </enum-item> - <enum-item name='CLEAN'> - <item-attr name='caption' value='Cleaning'/> - </enum-item> - - -- 10 - - <enum-item name='CUTWOOD'> - <item-attr name='caption' value='Wood Cutting'/> - </enum-item> - <enum-item name='CARPENTER'> - <item-attr name='caption' value='Carpentry'/> - </enum-item> - <enum-item name='DETAIL'> - <item-attr name='caption' value='Stone Detailing'/> - </enum-item> - <enum-item name='MASON'> - <item-attr name='caption' value='Masonry'/> - </enum-item> - <enum-item name='ARCHITECT'> - <item-attr name='caption' value='Architecture'/> - </enum-item> - <enum-item name='ANIMALTRAIN'> - <item-attr name='caption' value='Animal Training'/> - </enum-item> - <enum-item name='ANIMALCARE'> - <item-attr name='caption' value='Animal Care'/> - </enum-item> - <enum-item name='DIAGNOSE'> - <item-attr name='caption' value='Diagnosis'/> - </enum-item> - <enum-item name='SURGERY'> - <item-attr name='caption' value='Surgery'/> - </enum-item> - <enum-item name='BONE_SETTING'> - <item-attr name='caption' value='Setting Bones'/> - </enum-item> - - -- 20 - - <enum-item name='SUTURING'> - <item-attr name='caption' value='Suturing'/> - </enum-item> - <enum-item name='DRESSING_WOUNDS'> - <item-attr name='caption' value='Dressing Wounds'/> - </enum-item> - <enum-item name='FEED_WATER_CIVILIANS'> - <item-attr name='caption' value='Feed Patients/Prisoners'/> - </enum-item> - <enum-item name='RECOVER_WOUNDED'> - <item-attr name='caption' value='Recovering Wounded'/> - </enum-item> - <enum-item name='BUTCHER'> - <item-attr name='caption' value='Butchery'/> - </enum-item> - <enum-item name='TRAPPER'> - <item-attr name='caption' value='Trapping'/> - </enum-item> - <enum-item name='DISSECT_VERMIN'> - <item-attr name='caption' value='Small Animal Dissection'/> - </enum-item> - <enum-item name='LEATHER'> - <item-attr name='caption' value='Leatherworking'/> - </enum-item> - <enum-item name='TANNER'> - <item-attr name='caption' value='Tanning'/> - </enum-item> - <enum-item name='BREWER'> - <item-attr name='caption' value='Brewing'/> - </enum-item> - - -- 30 - - <enum-item name='ALCHEMIST'> - <item-attr name='caption' value='Alchemy'/> - </enum-item> - <enum-item name='SOAP_MAKER'> - <item-attr name='caption' value='Soap Maker'/> - </enum-item> - <enum-item name='WEAVER'> - <item-attr name='caption' value='Weaving'/> - </enum-item> - <enum-item name='CLOTHESMAKER'> - <item-attr name='caption' value='Clothesmaking'/> - </enum-item> - <enum-item name='MILLER'> - <item-attr name='caption' value='Milling'/> - </enum-item> - <enum-item name='PROCESS_PLANT'> - <item-attr name='caption' value='Plant Processing'/> - </enum-item> - <enum-item name='MAKE_CHEESE'> - <item-attr name='caption' value='Cheese Making'/> - </enum-item> - <enum-item name='MILK'> - <item-attr name='caption' value='Milking'/> - </enum-item> - <enum-item name='COOK'> - <item-attr name='caption' value='Cooking'/> - </enum-item> - <enum-item name='PLANT'> - <item-attr name='caption' value='Farming (Fields)'/> - </enum-item> - - -- 40 - - <enum-item name='HERBALIST'> - <item-attr name='caption' value='Plant Gathering'/> - </enum-item> - <enum-item name='FISH'> - <item-attr name='caption' value='Fishing'/> - </enum-item> - <enum-item name='CLEAN_FISH'> - <item-attr name='caption' value='Fish Cleaning'/> - </enum-item> - <enum-item name='DISSECT_FISH'> - <item-attr name='caption' value='Fish Dissection'/> - </enum-item> - <enum-item name='HUNT'> - <item-attr name='caption' value='Hunting'/> - </enum-item> - <enum-item name='SMELT'> - <item-attr name='caption' value='Furnace Operating'/> - </enum-item> - <enum-item name='FORGE_WEAPON'> - <item-attr name='caption' value='Weaponsmithing'/> - </enum-item> - <enum-item name='FORGE_ARMOR'> - <item-attr name='caption' value='Armoring'/> - </enum-item> - <enum-item name='FORGE_FURNITURE'> - <item-attr name='caption' value='Blacksmithing'/> - </enum-item> - <enum-item name='METAL_CRAFT'> - <item-attr name='caption' value='Metalcrafting'/> - </enum-item> - - -- 50 - - <enum-item name='CUT_GEM'> - <item-attr name='caption' value='Gem Cutting'/> - </enum-item> - <enum-item name='ENCRUST_GEM'> - <item-attr name='caption' value='Gem Setting'/> - </enum-item> - <enum-item name='WOOD_CRAFT'> - <item-attr name='caption' value='Woodcrafting'/> - </enum-item> - <enum-item name='STONE_CRAFT'> - <item-attr name='caption' value='Stonecrafting'/> - </enum-item> - <enum-item name='BONE_CARVE'> - <item-attr name='caption' value='Bone Carving'/> - </enum-item> - <enum-item name='GLASSMAKER'> - <item-attr name='caption' value='Glassmaking'/> - </enum-item> - <enum-item name='EXTRACT_STRAND'> - <item-attr name='caption' value='Strand Extraction'/> - </enum-item> - <enum-item name='SIEGECRAFT'> - <item-attr name='caption' value='Siege Engineering'/> - </enum-item> - <enum-item name='SIEGEOPERATE'> - <item-attr name='caption' value='Siege Operating'/> - </enum-item> - <enum-item name='BOWYER'> - <item-attr name='caption' value='Crossbow-making'/> - </enum-item> - - -- 60 - - <enum-item name='MECHANIC'> - <item-attr name='caption' value='Mechanics'/> - </enum-item> - <enum-item name='POTASH_MAKING'> - <item-attr name='caption' value='Potash Making'/> - </enum-item> - <enum-item name='LYE_MAKING'> - <item-attr name='caption' value='Lye Making'/> - </enum-item> - <enum-item name='DYER'> - <item-attr name='caption' value='Dyeing'/> - </enum-item> - <enum-item name='BURN_WOOD'> - <item-attr name='caption' value='Wood Burning'/> - </enum-item> - <enum-item name='OPERATE_PUMP'> - <item-attr name='caption' value='Pump Operating'/> - </enum-item> - <enum-item name='SHEARER'> - <item-attr name='caption' value='Shearing'/> - </enum-item> - <enum-item name='SPINNER'> - <item-attr name='caption' value='Spinning'/> - </enum-item> - <enum-item name='POTTERY'> - <item-attr name='caption' value='Pottery'/> - </enum-item> - <enum-item name='GLAZING'> - <item-attr name='caption' value='Glazing'/> - </enum-item> - - -- 70 - - <enum-item name='PRESSING'> - <item-attr name='caption' value='Pressing'/> - </enum-item> - <enum-item name='BEEKEEPING'> - <item-attr name='caption' value='Bee Keeping'/> - </enum-item> - <enum-item name='WAX_WORKING'> - <item-attr name='caption' value='Wax Working'/> - </enum-item> - </enum-type> - - ----- SKILL ----- - - <enum-type type-name='job_skill_class' comment='not in DF'> - <enum-item name='Normal'/> - <enum-item name='Medical'/> - <enum-item name='Personal'/> - <enum-item name='Social'/> - <enum-item name='Cultural'/> - <enum-item name='MilitaryWeapon'/> - <enum-item name='MilitaryAttack'/> - <enum-item name='MilitaryDefense'/> - <enum-item name='MilitaryMisc'/> - </enum-type> - - <enum-type type-name='job_skill'> - <enum-attr name='caption'/> - <enum-attr name='caption_noun'/> - <enum-attr name='profession' type-name='profession' default-value='NONE'/> - <enum-attr name='labor' type-name='unit_labor' default-value='NONE'/> - <enum-attr name='type' type-name='job_skill_class' default-value='Normal'/> - - <enum-item name='NONE' value='-1'/> - - -- 0 - - <enum-item name='MINING'> - <item-attr name='caption' value='Mining'/> - <item-attr name='caption_noun' value='Miner'/> - <item-attr name='profession' value='MINER'/> - <item-attr name='labor' value='MINE'/> - </enum-item> - <enum-item name='WOODCUTTING'> - <item-attr name='caption' value='Wood Cutting'/> - <item-attr name='caption_noun' value='Wood Cutter'/> - <item-attr name='profession' value='WOODCUTTER'/> - <item-attr name='labor' value='CUTWOOD'/> - </enum-item> - <enum-item name='CARPENTRY'> - <item-attr name='caption' value='Carpentry'/> - <item-attr name='caption_noun' value='Carpenter'/> - <item-attr name='profession' value='CARPENTER'/> - <item-attr name='labor' value='CARPENTER'/> - </enum-item> - <enum-item name='DETAILSTONE'> - <item-attr name='caption' value='Engraving'/> - <item-attr name='caption_noun' value='Engraver'/> - <item-attr name='profession' value='ENGRAVER'/> - <item-attr name='labor' value='DETAIL'/> - </enum-item> - <enum-item name='MASONRY'> - <item-attr name='caption' value='Masonry'/> - <item-attr name='caption_noun' value='Mason'/> - <item-attr name='profession' value='MASON'/> - <item-attr name='labor' value='MASON'/> - </enum-item> - <enum-item name='ANIMALTRAIN'> - <item-attr name='caption' value='Animal Training'/> - <item-attr name='caption_noun' value='Animal Trainer'/> - <item-attr name='profession' value='ANIMAL_TRAINER'/> - <item-attr name='labor' value='ANIMALTRAIN'/> - </enum-item> - <enum-item name='ANIMALCARE'> - <item-attr name='caption' value='Animal Caretaking'/> - <item-attr name='caption_noun' value='Animal Caretaker'/> - <item-attr name='profession' value='ANIMAL_CARETAKER'/> - <item-attr name='labor' value='ANIMALCARE'/> - </enum-item> - <enum-item name='DISSECT_FISH'> - <item-attr name='caption' value='Fish Dissection'/> - <item-attr name='caption_noun' value='Fish Dissector'/> - <item-attr name='profession' value='FISH_DISSECTOR'/> - <item-attr name='labor' value='DISSECT_FISH'/> - </enum-item> - <enum-item name='DISSECT_VERMIN'> - <item-attr name='caption' value='Animal Dissection'/> - <item-attr name='caption_noun' value='Animal Dissector'/> - <item-attr name='profession' value='ANIMAL_DISSECTOR'/> - <item-attr name='labor' value='DISSECT_VERMIN'/> - </enum-item> - <enum-item name='PROCESSFISH'> - <item-attr name='caption' value='Fish Cleaning'/> - <item-attr name='caption_noun' value='Fish Cleaner'/> - <item-attr name='profession' value='FISH_CLEANER'/> - <item-attr name='labor' value='CLEAN_FISH'/> - </enum-item> - - -- 10 - - <enum-item name='BUTCHER'> - <item-attr name='caption' value='Butchery'/> - <item-attr name='caption_noun' value='Butcher'/> - <item-attr name='profession' value='BUTCHER'/> - <item-attr name='labor' value='BUTCHER'/> - </enum-item> - <enum-item name='TRAPPING'> - <item-attr name='caption' value='Trapping'/> - <item-attr name='caption_noun' value='Trapper'/> - <item-attr name='profession' value='TRAPPER'/> - <item-attr name='labor' value='TRAPPER'/> - </enum-item> - <enum-item name='TANNER'> - <item-attr name='caption' value='Tanning'/> - <item-attr name='caption_noun' value='Tanner'/> - <item-attr name='profession' value='TANNER'/> - <item-attr name='labor' value='TANNER'/> - </enum-item> - <enum-item name='WEAVING'> - <item-attr name='caption' value='Weaving'/> - <item-attr name='caption_noun' value='Weaver'/> - <item-attr name='profession' value='WEAVER'/> - <item-attr name='labor' value='WEAVER'/> - </enum-item> - <enum-item name='BREWING'> - <item-attr name='caption' value='Brewing'/> - <item-attr name='caption_noun' value='Brewer'/> - <item-attr name='profession' value='BREWER'/> - <item-attr name='labor' value='BREWER'/> - </enum-item> - <enum-item name='ALCHEMY'> - <item-attr name='caption' value='Alchemy'/> - <item-attr name='caption_noun' value='Alchemist'/> - <item-attr name='profession' value='ALCHEMIST'/> - <item-attr name='labor' value='ALCHEMIST'/> - </enum-item> - <enum-item name='CLOTHESMAKING'> - <item-attr name='caption' value='Clothes Making'/> - <item-attr name='caption_noun' value='Clothier'/> - <item-attr name='profession' value='CLOTHIER'/> - <item-attr name='labor' value='CLOTHESMAKER'/> - </enum-item> - <enum-item name='MILLING'> - <item-attr name='caption' value='Milling'/> - <item-attr name='caption_noun' value='Miller'/> - <item-attr name='profession' value='MILLER'/> - <item-attr name='labor' value='MILLER'/> - </enum-item> - <enum-item name='PROCESSPLANTS'> - <item-attr name='caption' value='Threshing'/> - <item-attr name='caption_noun' value='Thresher'/> - <item-attr name='profession' value='THRESHER'/> - <item-attr name='labor' value='PROCESS_PLANT'/> - </enum-item> - <enum-item name='CHEESEMAKING'> - <item-attr name='caption' value='Cheese Making'/> - <item-attr name='caption_noun' value='Cheese Maker'/> - <item-attr name='profession' value='CHEESE_MAKER'/> - <item-attr name='labor' value='MAKE_CHEESE'/> - </enum-item> - - -- 20 - - <enum-item name='MILK'> - <item-attr name='caption' value='Milking'/> - <item-attr name='caption_noun' value='Milker'/> - <item-attr name='profession' value='MILKER'/> - <item-attr name='labor' value='MILK'/> - </enum-item> - <enum-item name='COOK'> - <item-attr name='caption' value='Cooking'/> - <item-attr name='caption_noun' value='Cook'/> - <item-attr name='profession' value='COOK'/> - <item-attr name='labor' value='COOK'/> - </enum-item> - <enum-item name='PLANT'> - <item-attr name='caption' value='Growing'/> - <item-attr name='caption_noun' value='Grower'/> - <item-attr name='profession' value='PLANTER'/> - <item-attr name='labor' value='PLANT'/> - </enum-item> - <enum-item name='HERBALISM'> - <item-attr name='caption' value='Herbalism'/> - <item-attr name='caption_noun' value='Herbalist'/> - <item-attr name='profession' value='HERBALIST'/> - <item-attr name='labor' value='HERBALIST'/> - </enum-item> - <enum-item name='FISH'> - <item-attr name='caption' value='Fishing'/> - <item-attr name='caption_noun' value='Fisherman'/> - <item-attr name='profession' value='FISHERMAN'/> - <item-attr name='labor' value='FISH'/> - </enum-item> - <enum-item name='SMELT'> - <item-attr name='caption' value='Furnace Operation'/> - <item-attr name='caption_noun' value='Furnace Operator'/> - <item-attr name='profession' value='FURNACE_OPERATOR'/> - <item-attr name='labor' value='SMELT'/> - </enum-item> - <enum-item name='EXTRACT_STRAND'> - <item-attr name='caption' value='Strand Extraction'/> - <item-attr name='caption_noun' value='Strand Extractor'/> - <item-attr name='profession' value='STRAND_EXTRACTOR'/> - <item-attr name='labor' value='EXTRACT_STRAND'/> - </enum-item> - <enum-item name='FORGE_WEAPON'> - <item-attr name='caption' value='Weaponsmithing'/> - <item-attr name='caption_noun' value='Weaponsmith'/> - <item-attr name='profession' value='WEAPONSMITH'/> - <item-attr name='labor' value='FORGE_WEAPON'/> - </enum-item> - <enum-item name='FORGE_ARMOR'> - <item-attr name='caption' value='Armorsmithing'/> - <item-attr name='caption_noun' value='Armorsmith'/> - <item-attr name='profession' value='ARMORER'/> - <item-attr name='labor' value='FORGE_ARMOR'/> - </enum-item> - <enum-item name='FORGE_FURNITURE'> - <item-attr name='caption' value='Metalsmithing'/> - <item-attr name='caption_noun' value='Metalsmith'/> - <item-attr name='profession' value='BLACKSMITH'/> - <item-attr name='labor' value='FORGE_FURNITURE'/> - </enum-item> - - -- 30 - - <enum-item name='CUTGEM'> - <item-attr name='caption' value='Gem Cutting'/> - <item-attr name='caption_noun' value='Gem Cutter'/> - <item-attr name='profession' value='GEM_CUTTER'/> - <item-attr name='labor' value='CUT_GEM'/> - </enum-item> - <enum-item name='ENCRUSTGEM'> - <item-attr name='caption' value='Gem Setting'/> - <item-attr name='caption_noun' value='Gem Setter'/> - <item-attr name='profession' value='GEM_SETTER'/> - <item-attr name='labor' value='ENCRUST_GEM'/> - </enum-item> - <enum-item name='WOODCRAFT'> - <item-attr name='caption' value='Wood Crafting'/> - <item-attr name='caption_noun' value='Wood Crafter'/> - <item-attr name='profession' value='WOODCRAFTER'/> - <item-attr name='labor' value='WOOD_CRAFT'/> - </enum-item> - <enum-item name='STONECRAFT'> - <item-attr name='caption' value='Stone Crafting'/> - <item-attr name='caption_noun' value='Stone Crafter'/> - <item-attr name='profession' value='STONECRAFTER'/> - <item-attr name='labor' value='STONE_CRAFT'/> - </enum-item> - <enum-item name='METALCRAFT'> - <item-attr name='caption' value='Metal Crafting'/> - <item-attr name='caption_noun' value='Metal Crafter'/> - <item-attr name='profession' value='METALCRAFTER'/> - <item-attr name='labor' value='METAL_CRAFT'/> - </enum-item> - <enum-item name='GLASSMAKER'> - <item-attr name='caption' value='Glassmaking'/> - <item-attr name='caption_noun' value='Glassmaker'/> - <item-attr name='profession' value='GLASSMAKER'/> - <item-attr name='labor' value='GLASSMAKER'/> - </enum-item> - <enum-item name='LEATHERWORK'> - <item-attr name='caption' value='Leatherworkering'/> - <item-attr name='caption_noun' value='Leatherworker'/> - <item-attr name='profession' value='LEATHERWORKER'/> - <item-attr name='labor' value='LEATHER'/> - </enum-item> - <enum-item name='BONECARVE'> - <item-attr name='caption' value='Bone Carving'/> - <item-attr name='caption_noun' value='Bone Carver'/> - <item-attr name='profession' value='BONE_CARVER'/> - <item-attr name='labor' value='BONE_CARVE'/> - </enum-item> - <enum-item name='AXE'> - <item-attr name='caption' value='Axe'/> - <item-attr name='caption_noun' value='Axeman'/> - <item-attr name='profession' value='AXEMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='SWORD'> - <item-attr name='caption' value='Sword'/> - <item-attr name='caption_noun' value='Swordsman'/> - <item-attr name='profession' value='SWORDSMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - - -- 40 - - <enum-item name='DAGGER'> - <item-attr name='caption' value='Knife'/> - <item-attr name='caption_noun' value='Knife User'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='MACE'> - <item-attr name='caption' value='Mace'/> - <item-attr name='caption_noun' value='Maceman'/> - <item-attr name='profession' value='MACEMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='HAMMER'> - <item-attr name='caption' value='Hammer'/> - <item-attr name='caption_noun' value='Hammerman'/> - <item-attr name='profession' value='HAMMERMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='SPEAR'> - <item-attr name='caption' value='Spear'/> - <item-attr name='caption_noun' value='Spearman'/> - <item-attr name='profession' value='SPEARMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='CROSSBOW'> - <item-attr name='caption' value='Crossbow'/> - <item-attr name='caption_noun' value='Crossbowman'/> - <item-attr name='profession' value='CROSSBOWMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='SHIELD'> - <item-attr name='caption' value='Shield'/> - <item-attr name='caption_noun' value='Shield User'/> - <item-attr name='type' value='MilitaryDefense'/> - </enum-item> - <enum-item name='ARMOR'> - <item-attr name='caption' value='Armor'/> - <item-attr name='caption_noun' value='Armor User'/> - <item-attr name='type' value='MilitaryDefense'/> - </enum-item> - <enum-item name='SIEGECRAFT'> - <item-attr name='caption' value='Siege Engineering'/> - <item-attr name='caption_noun' value='Siege Engineer'/> - <item-attr name='profession' value='SIEGE_ENGINEER'/> - <item-attr name='labor' value='SIEGECRAFT'/> - </enum-item> - <enum-item name='SIEGEOPERATE'> - <item-attr name='caption' value='Siege Operation'/> - <item-attr name='caption_noun' value='Siege Operator'/> - <item-attr name='profession' value='SIEGE_OPERATOR'/> - <item-attr name='labor' value='SIEGEOPERATE'/> - </enum-item> - <enum-item name='BOWYER'> - <item-attr name='caption' value='Bowmaking'/> - <item-attr name='caption_noun' value='Bowyer'/> - <item-attr name='profession' value='BOWYER'/> - <item-attr name='labor' value='BOWYER'/> - </enum-item> - - -- 50 - - <enum-item name='PIKE'> - <item-attr name='caption' value='Pike'/> - <item-attr name='caption_noun' value='Pikeman'/> - <item-attr name='profession' value='PIKEMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='WHIP'> - <item-attr name='caption' value='Lash'/> - <item-attr name='caption_noun' value='Lasher'/> - <item-attr name='profession' value='LASHER'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='BOW'> - <item-attr name='caption' value='Bow'/> - <item-attr name='caption_noun' value='Bowman'/> - <item-attr name='profession' value='BOWMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='BLOWGUN'> - <item-attr name='caption' value='Blowgun'/> - <item-attr name='caption_noun' value='Blowgunner'/> - <item-attr name='profession' value='BLOWGUNMAN'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='THROW'> - <item-attr name='caption' value='Throwing'/> - <item-attr name='caption_noun' value='Thrower'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='MECHANICS'> - <item-attr name='caption' value='Machinery'/> - <item-attr name='caption_noun' value='Mechanic'/> - <item-attr name='profession' value='MECHANIC'/> - <item-attr name='labor' value='MECHANIC'/> - </enum-item> - <enum-item name='MAGIC_NATURE'> - <item-attr name='caption' value='Nature'/> - <item-attr name='caption_noun' value='Druid'/> - </enum-item> - <enum-item name='SNEAK'> - <item-attr name='caption' value='Ambush'/> - <item-attr name='caption_noun' value='Ambusher'/> - <item-attr name='profession' value='HUNTER'/> - <item-attr name='labor' value='HUNT'/> - </enum-item> - <enum-item name='DESIGNBUILDING'> - <item-attr name='caption' value='Building Design'/> - <item-attr name='caption_noun' value='Building Designer'/> - <item-attr name='profession' value='ARCHITECT'/> - <item-attr name='labor' value='ARCHITECT'/> - </enum-item> - <enum-item name='DRESS_WOUNDS'> - <item-attr name='caption' value='Wound Dressing'/> - <item-attr name='caption_noun' value='Wound Dresser'/> - <item-attr name='labor' value='DRESSING_WOUNDS'/> - <item-attr name='type' value='Medical'/> - </enum-item> - - -- 60 - - <enum-item name='DIAGNOSE'> - <item-attr name='caption' value='Diagnostics'/> - <item-attr name='caption_noun' value='Diagnostician'/> - <item-attr name='profession' value='DIAGNOSER'/> - <item-attr name='labor' value='DIAGNOSE'/> - <item-attr name='type' value='Medical'/> - </enum-item> - <enum-item name='SURGERY'> - <item-attr name='caption' value='Surgery'/> - <item-attr name='caption_noun' value='Surgeon'/> - <item-attr name='profession' value='SURGEON'/> - <item-attr name='labor' value='SURGERY'/> - <item-attr name='type' value='Medical'/> - </enum-item> - <enum-item name='SET_BONE'> - <item-attr name='caption' value='Bone Setting'/> - <item-attr name='caption_noun' value='Bone Doctor'/> - <item-attr name='profession' value='BONE_SETTER'/> - <item-attr name='labor' value='BONE_SETTING'/> - <item-attr name='type' value='Medical'/> - </enum-item> - <enum-item name='SUTURE'> - <item-attr name='caption' value='Suturing'/> - <item-attr name='caption_noun' value='Suturer'/> - <item-attr name='profession' value='SUTURER'/> - <item-attr name='labor' value='SUTURING'/> - <item-attr name='type' value='Medical'/> - </enum-item> - <enum-item name='CRUTCH_WALK'> - <item-attr name='caption' value='Crutch-walking'/> - <item-attr name='caption_noun' value='Crutch-walker'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='WOOD_BURNING'> - <item-attr name='caption' value='Wood Burning'/> - <item-attr name='caption_noun' value='Wood Burner'/> - <item-attr name='profession' value='WOOD_BURNER'/> - <item-attr name='labor' value='BURN_WOOD'/> - </enum-item> - <enum-item name='LYE_MAKING'> - <item-attr name='caption' value='Lye Making'/> - <item-attr name='caption_noun' value='Lye Maker'/> - <item-attr name='profession' value='LYE_MAKER'/> - <item-attr name='labor' value='LYE_MAKING'/> - </enum-item> - <enum-item name='SOAP_MAKING'> - <item-attr name='caption' value='Soap Making'/> - <item-attr name='caption_noun' value='Soaper'/> - <item-attr name='profession' value='SOAP_MAKER'/> - <item-attr name='labor' value='SOAP_MAKER'/> - </enum-item> - <enum-item name='POTASH_MAKING'> - <item-attr name='caption' value='Potash Making'/> - <item-attr name='caption_noun' value='Potash Maker'/> - <item-attr name='profession' value='POTASH_MAKER'/> - <item-attr name='labor' value='POTASH_MAKING'/> - </enum-item> - <enum-item name='DYER'> - <item-attr name='caption' value='Dyeing'/> - <item-attr name='caption_noun' value='Dyer'/> - <item-attr name='profession' value='DYER'/> - <item-attr name='labor' value='DYER'/> - </enum-item> - - -- 70 - - <enum-item name='OPERATE_PUMP'> - <item-attr name='caption' value='Pump Operation'/> - <item-attr name='caption_noun' value='Pump Operator'/> - <item-attr name='profession' value='PUMP_OPERATOR'/> - <item-attr name='labor' value='OPERATE_PUMP'/> - </enum-item> - <enum-item name='SWIMMING'> - <item-attr name='caption' value='Swimming'/> - <item-attr name='caption_noun' value='Swimmer'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='PERSUASION'> - <item-attr name='caption' value='Persuasion'/> - <item-attr name='caption_noun' value='Persuader'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='NEGOTIATION'> - <item-attr name='caption' value='Negotiation'/> - <item-attr name='caption_noun' value='Negotiator'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='JUDGING_INTENT'> - <item-attr name='caption' value='Judging Intent'/> - <item-attr name='caption_noun' value='Judge of Intent'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='APPRAISAL'> - <item-attr name='caption' value='Appraisal'/> - <item-attr name='caption_noun' value='Appraiser'/> - <item-attr name='profession' value='TRADER'/> - </enum-item> - <enum-item name='ORGANIZATION'> - <item-attr name='caption' value='Organization'/> - <item-attr name='caption_noun' value='Organizer'/> - <item-attr name='profession' value='ADMINISTRATOR'/> - </enum-item> - <enum-item name='RECORD_KEEPING'> - <item-attr name='caption' value='Record Keeping'/> - <item-attr name='caption_noun' value='Record Keeper'/> - <item-attr name='profession' value='CLERK'/> - </enum-item> - <enum-item name='LYING'> - <item-attr name='caption' value='Lying'/> - <item-attr name='caption_noun' value='Liar'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='INTIMIDATION'> - <item-attr name='caption' value='Intimidation'/> - <item-attr name='caption_noun' value='Intimidator'/> - <item-attr name='type' value='Social'/> - </enum-item> - - -- 80 - - <enum-item name='CONVERSATION'> - <item-attr name='caption' value='Conversation'/> - <item-attr name='caption_noun' value='Conversationalist'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='COMEDY'> - <item-attr name='caption' value='Comedy'/> - <item-attr name='caption_noun' value='Comedian'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='FLATTERY'> - <item-attr name='caption' value='Flattery'/> - <item-attr name='caption_noun' value='Flatterer'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='CONSOLE'> - <item-attr name='caption' value='Consoling'/> - <item-attr name='caption_noun' value='Consoler'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='PACIFY'> - <item-attr name='caption' value='Pacification'/> - <item-attr name='caption_noun' value='Pacifier'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='TRACKING'> - <item-attr name='caption' value='Tracking'/> - <item-attr name='caption_noun' value='Tracker'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='KNOWLEDGE_ACQUISITION'> - <item-attr name='caption' value='Studying'/> - <item-attr name='caption_noun' value='Student'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='CONCENTRATION'> - <item-attr name='caption' value='Concentration'/> - <item-attr name='caption_noun' value='Concentration'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='DISCIPLINE'> - <item-attr name='caption' value='Discipline'/> - <item-attr name='caption_noun' value='Discipline'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='SITUATIONAL_AWARENESS'> - <item-attr name='caption' value='Observation'/> - <item-attr name='caption_noun' value='Observer'/> - <item-attr name='type' value='Personal'/> - </enum-item> - - -- 90 - - <enum-item name='WRITING'> - <item-attr name='caption' value='Writing'/> - <item-attr name='caption_noun' value='Wordsmith'/> - <item-attr name='type' value='Cultural'/> - </enum-item> - <enum-item name='PROSE'> - <item-attr name='caption' value='Prose'/> - <item-attr name='caption_noun' value='Writer'/> - <item-attr name='type' value='Cultural'/> - </enum-item> - <enum-item name='POETRY'> - <item-attr name='caption' value='Poetry'/> - <item-attr name='caption_noun' value='Poet'/> - <item-attr name='type' value='Cultural'/> - </enum-item> - <enum-item name='READING'> - <item-attr name='caption' value='Reading'/> - <item-attr name='caption_noun' value='Reader'/> - <item-attr name='type' value='Cultural'/> - </enum-item> - <enum-item name='SPEAKING'> - <item-attr name='caption' value='Speaking'/> - <item-attr name='caption_noun' value='Speaker'/> - <item-attr name='type' value='Cultural'/> - </enum-item> - <enum-item name='COORDINATION'> - <item-attr name='caption' value='Coordination'/> - <item-attr name='caption_noun' value='Coordination'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='BALANCE'> - <item-attr name='caption' value='Balance'/> - <item-attr name='caption_noun' value='Balance'/> - <item-attr name='type' value='Personal'/> - </enum-item> - <enum-item name='LEADERSHIP'> - <item-attr name='caption' value='Leadership'/> - <item-attr name='caption_noun' value='Leader'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='TEACHING'> - <item-attr name='caption' value='Teaching'/> - <item-attr name='caption_noun' value='Teacher'/> - <item-attr name='type' value='Social'/> - </enum-item> - <enum-item name='MELEE_COMBAT'> - <item-attr name='caption' value='Fighting'/> - <item-attr name='caption_noun' value='Fighter'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - - -- 100 - - <enum-item name='RANGED_COMBAT'> - <item-attr name='caption' value='Archery'/> - <item-attr name='caption_noun' value='Archer'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='WRESTLING'> - <item-attr name='caption' value='Wrestling'/> - <item-attr name='caption_noun' value='Wrestler'/> - <item-attr name='profession' value='WRESTLER'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='BITE'> - <item-attr name='caption' value='Biting'/> - <item-attr name='caption_noun' value='Biter'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='GRASP_STRIKE'> - <item-attr name='caption' value='Striking'/> - <item-attr name='caption_noun' value='Striker'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='STANCE_STRIKE'> - <item-attr name='caption' value='Kicking'/> - <item-attr name='caption_noun' value='Kicker'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='DODGING'> - <item-attr name='caption' value='Dodging'/> - <item-attr name='caption_noun' value='Dodger'/> - <item-attr name='type' value='MilitaryDefense'/> - </enum-item> - <enum-item name='MISC_WEAPON'> - <item-attr name='caption' value='Misc. Object'/> - <item-attr name='caption_noun' value='Misc. Object User'/> - <item-attr name='type' value='MilitaryWeapon'/> - </enum-item> - <enum-item name='KNAPPING'> - <item-attr name='caption' value='Knapping'/> - <item-attr name='caption_noun' value='Knapper'/> - <item-attr name='type' value='MilitaryAttack'/> - </enum-item> - <enum-item name='MILITARY_TACTICS'> - <item-attr name='caption' value='Military Tactics'/> - <item-attr name='caption_noun' value='Military Tactics'/> - </enum-item> - <enum-item name='SHEARING'> - <item-attr name='caption' value='Shearing'/> - <item-attr name='caption_noun' value='Shearer'/> - <item-attr name='profession' value='SHEARER'/> - <item-attr name='labor' value='SHEARER'/> - </enum-item> - - -- 110 - - <enum-item name='SPINNING'> - <item-attr name='caption' value='Spinning'/> - <item-attr name='caption_noun' value='Spinner'/> - <item-attr name='profession' value='SPINNER'/> - <item-attr name='labor' value='SPINNER'/> - </enum-item> - <enum-item name='POTTERY'> - <item-attr name='caption' value='Pottery'/> - <item-attr name='caption_noun' value='Potter'/> - <item-attr name='profession' value='POTTER'/> - <item-attr name='labor' value='POTTERY'/> - </enum-item> - <enum-item name='GLAZING'> - <item-attr name='caption' value='Glazing'/> - <item-attr name='caption_noun' value='Glazer'/> - <item-attr name='profession' value='GLAZER'/> - <item-attr name='labor' value='GLAZING'/> - </enum-item> - <enum-item name='PRESSING'> - <item-attr name='caption' value='Pressing'/> - <item-attr name='caption_noun' value='Presser'/> - <item-attr name='profession' value='PRESSER'/> - <item-attr name='labor' value='PRESSING'/> - </enum-item> - <enum-item name='BEEKEEPING'> - <item-attr name='caption' value='Beekeeping'/> - <item-attr name='caption_noun' value='Beekeeper'/> - <item-attr name='profession' value='BEEKEEPER'/> - <item-attr name='labor' value='BEEKEEPING'/> - </enum-item> - <enum-item name='WAX_WORKING'> - <item-attr name='caption' value='Wax Working'/> - <item-attr name='caption_noun' value='Wax Worker'/> - <item-attr name='profession' value='WAX_WORKER'/> - <item-attr name='labor' value='WAX_WORKING'/> - </enum-item> - </enum-type> - - ----- JOB TYPE ----- - - <enum-type type-name='job_type'> - -- Declare attributes: - - <enum-attr name='caption'/> - - -- 0 - - <enum-item name='CarveFortification'> - <item-attr name='caption' value="Carve Fortification"/> - </enum-item> - <enum-item name='DetailWall'> - <item-attr name='caption' value='Detail Wall'/> - </enum-item> - <enum-item name='DetailFloor'> - <item-attr name='caption' value='Detail Floor'/> - </enum-item> - <enum-item name='Dig'> - <item-attr name='caption' value='Dig'/> - </enum-item> - <enum-item name='CarveUpwardStaircase'> - <item-attr name='caption' value='Carve Upward Staircase'/> - </enum-item> - <enum-item name='CarveDownwardStaircase'> - <item-attr name='caption' value='Carve Downward Staircase'/> - </enum-item> - <enum-item name='CarveUpDownStaircase'> - <item-attr name='caption' value='Carve Up/Down Staircase'/> - </enum-item> - <enum-item name='CarveRamp'> - <item-attr name='caption' value='Carve Ramp'/> - </enum-item> - <enum-item name='DigChannel'> - <item-attr name='caption' value='Dig Channel'/> - </enum-item> - <enum-item name='FellTree'> - <item-attr name='caption' value='Fell Tree'/> - </enum-item> - - -- 10 - - <enum-item name='GatherPlants'> - <item-attr name='caption' value='Gather Plants'/> - </enum-item> - <enum-item name='RemoveConstruction'> - <item-attr name='caption' value='Remove Construction'/> - </enum-item> - <enum-item name='CollectWebs'> - <item-attr name='caption' value='Collect Webs'/> - </enum-item> - <enum-item name='BringItemToDepot'> - <item-attr name='caption' value='Bring Item to Depot'/> - </enum-item> - <enum-item name='BringItemToShop'> - <item-attr name='caption' value='Bring Item to Shop'/> - </enum-item> - <enum-item name='Eat'> - <item-attr name='caption' value='Eat'/> - </enum-item> - <enum-item name='GetProvisions'> - <item-attr name='caption' value='Get Provisions'/> - </enum-item> - <enum-item name='Drink'> - <item-attr name='caption' value='Drink'/> - </enum-item> - <enum-item name='Drink2'> - <item-attr name='caption' value='Drink'/> - </enum-item> - <enum-item name='FillWaterskin'> - <item-attr name='caption' value='Fill Waterskin'/> - </enum-item> - - -- 20 - - <enum-item name='FillWaterskin2'> - <item-attr name='caption' value='Fill Waterskin'/> - </enum-item> - <enum-item name='Sleep'> - <item-attr name='caption' value='Sleep'/> - </enum-item> - <enum-item name='CollectSand'> - <item-attr name='caption' value='Collect Sand'/> - </enum-item> - <enum-item name='Fish'> - <item-attr name='caption' value='Fish'/> - </enum-item> - <enum-item name='Hunt'> - <item-attr name='caption' value='Hunt'/> - </enum-item> - <enum-item name='HuntSmallCreature'> - <item-attr name='caption' value='Hunt for Small Creature'/> - </enum-item> - <enum-item name='Kidnap'> - <item-attr name='caption' value='Kidnap'/> - </enum-item> - <enum-item name='BeatCriminal'> - <item-attr name='caption' value='Beat Criminal'/> - </enum-item> - <enum-item name='StartingFistFight'> - <item-attr name='caption' value='Starting Fist Fight'/> - </enum-item> - <enum-item name='CollectTaxes'> - <item-attr name='caption' value='Collect Taxes'/> - </enum-item> - - -- 30 - - <enum-item name='GuardTaxCollector'> - <item-attr name='caption' value='Guard Tax Collector'/> - </enum-item> - <enum-item name='CatchLiveLandAnimal'> - <item-attr name='caption' value='Catch Live Land Animal'/> - </enum-item> - <enum-item name='CatchLiveFish'> - <item-attr name='caption' value='Catch Live Fish'/> - </enum-item> - <enum-item name='ReturnKill'> - <item-attr name='caption' value='Return Kill'/> - </enum-item> - <enum-item name='CheckChest'> - <item-attr name='caption' value='Check Chest'/> - </enum-item> - <enum-item name='StoreOwnedItem'> - <item-attr name='caption' value='Store Owned Item'/> - </enum-item> - <enum-item name='PlaceItemInTomb'> - <item-attr name='caption' value='Place Item in Tomb'/> - </enum-item> - <enum-item name='StoreItemInStockpile'> - <item-attr name='caption' value='Store Item in Stockpile'/> - </enum-item> - <enum-item name='StoreItemInBag'> - <item-attr name='caption' value='Store Item in Bag'/> - </enum-item> - <enum-item name='StoreItemInHospital'> - <item-attr name='caption' value='Store Item in Hospital'/> - </enum-item> - - -- 40 - - <enum-item name='StoreItemInChest'> - <item-attr name='caption' value='Store Item in Chest'/> - </enum-item> - <enum-item name='StoreItemInCabinet'> - <item-attr name='caption' value='Store Item in Cabinet'/> - </enum-item> - <enum-item name='StoreWeapon'> - <item-attr name='caption' value='Store Weapon'/> - </enum-item> - <enum-item name='StoreArmor'> - <item-attr name='caption' value='Store Armor'/> - </enum-item> - <enum-item name='StoreItemInBarrel'> - <item-attr name='caption' value='Store Item in Barrel'/> - </enum-item> - <enum-item name='StoreItemInBin'> - <item-attr name='caption' value='Store Item in Bin'/> - </enum-item> - <enum-item name='SeekArtifact'> - <item-attr name='caption' value='Seek Artifact'/> - </enum-item> - <enum-item name='SeekInfant'> - <item-attr name='caption' value='Seek Infant'/> - </enum-item> - <enum-item name='AttendParty'> - <item-attr name='caption' value='Attend Party'/> - </enum-item> - <enum-item name='GoShopping'> - <item-attr name='caption' value='Go Shopping'/> - </enum-item> - - -- 50 - - <enum-item name='GoShopping2'> - <item-attr name='caption' value='Go Shopping'/> - </enum-item> - <enum-item name='Clean'> - <item-attr name='caption' value='Clean'/> - </enum-item> - <enum-item name='Rest'> - <item-attr name='caption' value='Rest'/> - </enum-item> - <enum-item name='PickupEquipment'> - <item-attr name='caption' value='Pickup Equipment'/> - </enum-item> - <enum-item name='DumpItem'> - <item-attr name='caption' value='Dump Item'/> - </enum-item> - <enum-item name='StrangeMoodCrafter'> - <item-attr name='caption' value='Strange Mood Crafter'/> - </enum-item> - <enum-item name='StrangeMoodJeweller'> - <item-attr name='caption' value='Strange Mood Jeweller'/> - </enum-item> - <enum-item name='StrangeMoodForge'> - <item-attr name='caption' value='Strange Mood Forge'/> - </enum-item> - <enum-item name='StrangeMoodMagmaForge'> - <item-attr name='caption' value='Strange Mood Magma Forge'/> - </enum-item> - <enum-item name='StrangeMoodBrooding'> - <item-attr name='caption' value='Strange Mood Brooding'/> - </enum-item> - - -- 60 - - <enum-item name='StrangeMoodFell'> - <item-attr name='caption' value='Strange Mood Fell'/> - </enum-item> - <enum-item name='StrangeMoodCarpenter'> - <item-attr name='caption' value='Strange Mood Carpenter'/> - </enum-item> - <enum-item name='StrangeMoodMason'> - <item-attr name='caption' value='Strange Mood Mason'/> - </enum-item> - <enum-item name='StrangeMoodBowyer'> - <item-attr name='caption' value='Strange Mood Bowyer'/> - </enum-item> - <enum-item name='StrangeMoodTanner'> - <item-attr name='caption' value='Strange Mood Tanner'/> - </enum-item> - <enum-item name='StrangeMoodWeaver'> - <item-attr name='caption' value='Strange Mood Weaver'/> - </enum-item> - <enum-item name='StrangeMoodGlassmaker'> - <item-attr name='caption' value='Strange Mood Glassmaker'/> - </enum-item> - <enum-item name='StrangeMoodMechanics'> - <item-attr name='caption' value='Strange Mood Mechanics'/> - </enum-item> - <enum-item name='ConstructBuilding'> - <item-attr name='caption' value='Construct Building'/> - </enum-item> - <enum-item name='ConstructDoor'> - <item-attr name='caption' value='Construct Door'/> - </enum-item> - - -- 70 - - <enum-item name='ConstructFloodgate'> - <item-attr name='caption' value='Construct Floodgate'/> - </enum-item> - <enum-item name='ConstructBed'> - <item-attr name='caption' value='Construct [MAT] Bed'/> - </enum-item> - <enum-item name='ConstructThrone'> - <item-attr name='caption' value='Construct [MAT] Throne'/> - </enum-item> - <enum-item name='ConstructCoffin'> - <item-attr name='caption' value='Construct [MAT] Casket/Sarcophagus/Coffin'/> - </enum-item> - <enum-item name='ConstructTable'> - <item-attr name='caption' value='Construct [MAT] Table'/> - </enum-item> - <enum-item name='ConstructContainer'> - <item-attr name='caption' value='Construct [MAT] Container'/> - </enum-item> - <enum-item name='ConstructBin'> - <item-attr name='caption' value='Construct [MAT] Bin'/> - </enum-item> - <enum-item name='ConstructArmorStand'> - <item-attr name='caption' value='Construct [MAT] Armor Stand'/> - </enum-item> - <enum-item name='ConstructWeaponRack'> - <item-attr name='caption' value='Construct [MAT] Weapon Rack'/> - </enum-item> - <enum-item name='ConstructCabinet'> - <item-attr name='caption' value='Construct [MAT] Cabinet'/> - </enum-item> - - -- 80 - - <enum-item name='ConstructStatue'> - <item-attr name='caption' value='Construct [MAT] Statue'/> - </enum-item> - <enum-item name='ConstructBlocks'> - <item-attr name='caption' value='Construct [MAT] Blocks'/> - </enum-item> - <enum-item name='MakeRaw'> - <item-attr name='caption' value='Make Raw [MAT]'/> - </enum-item> - <enum-item name='MakeCrafts'> - <item-attr name='caption' value='Make [MAT] Crafts'/> - </enum-item> - <enum-item name='MintCoins'> - <item-attr name='caption' value='Mint [MAT] Coins'/> - </enum-item> - <enum-item name='CutGems'> - <item-attr name='caption' value='Cut [MAT]'/> - </enum-item> - <enum-item name='CutGlass'> - <item-attr name='caption' value='Cut crystal(?) glass(?)'/> - </enum-item> - <enum-item name='EncrustWith1'> - <item-attr name='caption' value='Encrust ?something? with [MAT]'/> - </enum-item> - <enum-item name='EncrustWith2'> - <item-attr name='caption' value='Encrust ?something? with [MAT]'/> - </enum-item> - <enum-item name='DestroyBuilding'> - <item-attr name='caption' value='Destroy Building'/> - </enum-item> - - -- 90 - - <enum-item name='SmeltOre'> - <item-attr name='caption' value='Smelt [MAT] Ore'/> - </enum-item> - <enum-item name='MeltMetalObject'> - <item-attr name='caption' value='Melt a Metal Object'/> - </enum-item> - <enum-item name='ExtractMetalStrands'> - <item-attr name='caption' value='Extract Metal Strands'/> - </enum-item> - <enum-item name='PlantSeeds'> - <item-attr name='caption' value='Plant Seeds'/> - </enum-item> - <enum-item name='HarvestPlants'> - <item-attr name='caption' value='Harvest Plants'/> - </enum-item> - <enum-item name='TrainHuntingAnimal'> - <item-attr name='caption' value='Train Hunting Animal'/> - </enum-item> - <enum-item name='TrainWarAnimal'> - <item-attr name='caption' value='Train War Animal'/> - </enum-item> - <enum-item name='MakeWeapon'> - <item-attr name='caption' value='Forge Weapon'/> - </enum-item> - <enum-item name='ForgeAnvil'> - <item-attr name='caption' value='Forge Anvil'/> - </enum-item> - <enum-item name='ConstructCatapultParts'> - <item-attr name='caption' value='Construct Catapult Parts'/> - </enum-item> - - -- 100 - - <enum-item name='ConstructBallistaParts'> - <item-attr name='caption' value='Construct Ballista Parts'/> - </enum-item> - <enum-item name='MakeArmor'> - <item-attr name='caption' value='Make Armor'/> - </enum-item> - <enum-item name='MakeHelm'> - <item-attr name='caption' value='Forge Helm'/> - </enum-item> - <enum-item name='MakePants'> - <item-attr name='caption' value='Make Pants'/> - </enum-item> - <enum-item name='StudWith'> - <item-attr name='caption' value='Stud with [MAT]'/> - </enum-item> - <enum-item name='ButcherAnimal'> - <item-attr name='caption' value='Butcher an Animal'/> - </enum-item> - <enum-item name='PrepareRawFish'> - <item-attr name='caption' value='Prepare a Raw Fish'/> - </enum-item> - <enum-item name='MillPlants'> - <item-attr name='caption' value='Mill Plants'/> - </enum-item> - <enum-item name='BaitTrap'> - <item-attr name='caption' value='Bait Trap with Meat/Gem/Fish'/> - </enum-item> - <enum-item name='MilkCreature'> - <item-attr name='caption' value='Milk Creature'/> - </enum-item> - - -- 110 - - <enum-item name='MakeCheese'> - <item-attr name='caption' value='Make Cheese'/> - </enum-item> - <enum-item name='ProcessPlants'> - <item-attr name='caption' value='Process Plants'/> - </enum-item> - <enum-item name='ProcessPlantsBag'> - <item-attr name='caption' value='Process Plants (Bag)'/> - </enum-item> - <enum-item name='ProcessPlantsVial'> - <item-attr name='caption' value='Process Plants (Vial)'/> - </enum-item> - <enum-item name='ProcessPlantsBarrel'> - <item-attr name='caption' value='Process Plants (Barrel)'/> - </enum-item> - <enum-item name='PrepareMeal'> - <item-attr name='caption' value='Prepare Meal'/> - </enum-item> - <enum-item name='WeaveCloth'> - <item-attr name='caption' value='Weave ?? into ??'/> - </enum-item> - <enum-item name='MakeGloves'> - <item-attr name='caption' value='Make Gloves'/> - </enum-item> - <enum-item name='MakeShoes'> - <item-attr name='caption' value='Make Shoes'/> - </enum-item> - <enum-item name='MakeShield'> - <item-attr name='caption' value='Make Shield'/> - </enum-item> - - -- 120 - - <enum-item name='ForgeCage'> - <item-attr name='caption' value='Forge Cage'/> - </enum-item> - <enum-item name='MakeChain'> - <item-attr name='caption' value='Make Chain'/> - </enum-item> - <enum-item name='MakeFlask'> - <item-attr name='caption' value='Forge/Make Waterskin/Vial/Flask'/> - </enum-item> - <enum-item name='MakeGoblet'> - <item-attr name='caption' value='Make Goblet'/> - </enum-item> - <enum-item name='MakeInstrument'> - <item-attr name='caption' value='Make Instrument'/> - </enum-item> - <enum-item name='MakeToy'> - <item-attr name='caption' value='Make Toy'/> - </enum-item> - <enum-item name='MakeAnimalTrap'> - <item-attr name='caption' value='Make Animal Trap'/> - </enum-item> - <enum-item name='MakeBarrel'> - <item-attr name='caption' value='Make Barrel'/> - </enum-item> - <enum-item name='MakeBucket'> - <item-attr name='caption' value='Make Bucket'/> - </enum-item> - <enum-item name='MakeWindow'> - <item-attr name='caption' value='Make Window'/> - </enum-item> - - -- 130 - - <enum-item name='MakeTotem'> - <item-attr name='caption' value='Make Totem'/> - </enum-item> - <enum-item name='ForgeBolts'> - <item-attr name='caption' value='Forge Bolts'/> - </enum-item> - <enum-item name='DecorateWith'> - <item-attr name='caption' value='Decorate With ?something?'/> - </enum-item> - <enum-item name='MakeBackpack'> - <item-attr name='caption' value='Make Backpack'/> - </enum-item> - <enum-item name='MakeLeatherQuiver'> - <item-attr name='caption' value='Make leather quiver'/> - </enum-item> - <enum-item name='MakeBallistaArrowHead'> - <item-attr name='caption' value='Make Ballista Arrow Head'/> - </enum-item> - <enum-item name='AssembleSiegeAmmo'> - <item-attr name='caption' value='Assemble Siege Ammo'/> - </enum-item> - <enum-item name='LoadCatapult'> - <item-attr name='caption' value='Load Catapult'/> - </enum-item> - <enum-item name='LoadBallista'> - <item-attr name='caption' value='Load Ballista'/> - </enum-item> - <enum-item name='FireCatapult'> - <item-attr name='caption' value='Fire Catapult'/> - </enum-item> - - -- 140 - - <enum-item name='FireBallista'> - <item-attr name='caption' value='Fire Ballista'/> - </enum-item> - <enum-item name='ConstructMechanisms'> - <item-attr name='caption' value='Construct Mechanisms'/> - </enum-item> - <enum-item name='ForgeTrapWeapon'> - <item-attr name='caption' value='Forge Trap Weapon'/> - </enum-item> - <enum-item name='LoadCageTrap'> - <item-attr name='caption' value='Load Cage Trap'/> - </enum-item> - <enum-item name='LoadStoneTrap'> - <item-attr name='caption' value='Load Stone Trap'/> - </enum-item> - <enum-item name='LoadWeaponTrap'> - <item-attr name='caption' value='Load Weapon Trap'/> - </enum-item> - <enum-item name='CleanTrap'> - <item-attr name='caption' value='Clean Trap'/> - </enum-item> - <enum-item name='CastSpell'> - <item-attr name='caption' value='Cast Spell'/> - </enum-item> - <enum-item name='LinkBuildingToTrigger'> - <item-attr name='caption' value='Link a Building to Trigger'/> - </enum-item> - <enum-item name='PullLever'> - <item-attr name='caption' value='Pull the Lever'/> - </enum-item> - - -- 150 - - <enum-item name='BrewDrink'> - <item-attr name='caption' value='Brew Drink'/> - </enum-item> - <enum-item name='ExtractFromPlants'> - <item-attr name='caption' value='Extract from Plants'/> - </enum-item> - <enum-item name='ExtractFromRawFish'> - <item-attr name='caption' value='Extract from Raw Fish'/> - </enum-item> - <enum-item name='ExtractFromLandAnimal'> - <item-attr name='caption' value='Extract from Land Animal'/> - </enum-item> - <enum-item name='TameSmallAnimal'> - <item-attr name='caption' value='Tame Small Animal'/> - </enum-item> - <enum-item name='TameAnimal'> - <item-attr name='caption' value='Tame ?something?'/> - </enum-item> - <enum-item name='ChainAnimal'> - <item-attr name='caption' value='Chain Animal'/> - </enum-item> - <enum-item name='UnchainAnimal'> - <item-attr name='caption' value='Unchain Animal'/> - </enum-item> - <enum-item name='UnchainPet'> - <item-attr name='caption' value='Unchain Pet'/> - </enum-item> - <enum-item name='ReleaseLargeCreature'> - <item-attr name='caption' value='Release Large Creature'/> - </enum-item> - - -- 160 - - <enum-item name='ReleasePet'> - <item-attr name='caption' value='Release Pet'/> - </enum-item> - <enum-item name='ReleaseSmallCreature'> - <item-attr name='caption' value='Release Small Creature'/> - </enum-item> - <enum-item name='HandleSmallCreature'> - <item-attr name='caption' value='Handle Small Creature'/> - </enum-item> - <enum-item name='HandleLargeCreature'> - <item-attr name='caption' value='Handle Large Creature'/> - </enum-item> - <enum-item name='CageLargeCreature'> - <item-attr name='caption' value='Cage Large Creature'/> - </enum-item> - <enum-item name='CageSmallCreature'> - <item-attr name='caption' value='Cage Small Creature'/> - </enum-item> - <enum-item name='RecoverWounded'> - <item-attr name='caption' value='Recover Wounded'/> - </enum-item> - <enum-item name='DiagnosePatient'> - <item-attr name='caption' value='Diagnose Patient'/> - </enum-item> - <enum-item name='ImmobilizeBreak'> - <item-attr name='caption' value='Immobilize Break'/> - </enum-item> - <enum-item name='DressWound'> - <item-attr name='caption' value='Dress Wound'/> - </enum-item> - - -- 170 - - <enum-item name='CleanPatient'> - <item-attr name='caption' value='Clean Patient'/> - </enum-item> - <enum-item name='Surgery'> - <item-attr name='caption' value='Surgery'/> - </enum-item> - <enum-item name='Suture'> - <item-attr name='caption' value='Suture'/> - </enum-item> - <enum-item name='SetBone'> - <item-attr name='caption' value='Set Bone'/> - </enum-item> - <enum-item name='PlaceInTraction'> - <item-attr name='caption' value='Place In Traction'/> - </enum-item> - <enum-item name='DrainAquarium'> - <item-attr name='caption' value='Drain Aquarium'/> - </enum-item> - <enum-item name='FillAquarium'> - <item-attr name='caption' value='Fill Aquarium'/> - </enum-item> - <enum-item name='FillPond'> - <item-attr name='caption' value='Fill Pond'/> - </enum-item> - <enum-item name='GiveWater'> - <item-attr name='caption' value='Give Water'/> - </enum-item> - <enum-item name='GiveFood'> - <item-attr name='caption' value='Give Food'/> - </enum-item> - - -- 180 - - <enum-item name='GiveWater2'> - <item-attr name='caption' value='Give Water'/> - </enum-item> - <enum-item name='GiveFood2'> - <item-attr name='caption' value='Give Food'/> - </enum-item> - <enum-item name='RecoverPet'> - <item-attr name='caption' value='Recover Pet'/> - </enum-item> - <enum-item name='PitLargeAnimal'> - <item-attr name='caption' value='Pit/Pond Large Animal'/> - </enum-item> - <enum-item name='PitSmallAnimal'> - <item-attr name='caption' value='Pit/Pond Small Animal'/> - </enum-item> - <enum-item name='SlaughterAnimal'> - <item-attr name='caption' value='Slaughter Animal'/> - </enum-item> - <enum-item name='MakeCharcoal'> - <item-attr name='caption' value='Make Charcoal'/> - </enum-item> - <enum-item name='MakeAsh'> - <item-attr name='caption' value='Make Ash'/> - </enum-item> - <enum-item name='MakeLye'> - <item-attr name='caption' value='Make Lye'/> - </enum-item> - <enum-item name='MakePotashFromLye'> - <item-attr name='caption' value='Make Potash From Lye'/> - </enum-item> - - -- 190 - - <enum-item name='FertilizeField'> - <item-attr name='caption' value='Fertilize Field'/> - </enum-item> - <enum-item name='MakePotashFromAsh'> - <item-attr name='caption' value='Make Potash From Ash'/> - </enum-item> - <enum-item name='DyeThread'> - <item-attr name='caption' value='Dye Thread'/> - </enum-item> - <enum-item name='DyeCloth'> - <item-attr name='caption' value='Dye Cloth'/> - </enum-item> - <enum-item name='SewImage'> - <item-attr name='caption' value='Sew ?? Image'/> - </enum-item> - <enum-item name='MakePipeSection'> - <item-attr name='caption' value='Make Pipe Section'/> - </enum-item> - <enum-item name='OperatePump'> - <item-attr name='caption' value='Operate Pump'/> - </enum-item> - <enum-item name='ManageWorkOrders'> - <item-attr name='caption' value='Manage Work Orders'/> - </enum-item> - <enum-item name='UpdateStockpileRecords'> - <item-attr name='caption' value='Update Stockpile Records'/> - </enum-item> - <enum-item name='TradeAtDepot'> - <item-attr name='caption' value='Trade at Depot'/> - </enum-item> - - -- 200 - - <enum-item name='ConstructHatchCover'> - <item-attr name='caption' value='Construct ?? Hatch Cover'/> - </enum-item> - <enum-item name='ConstructGrate'> - <item-attr name='caption' value='Construct ?? Grate'/> - </enum-item> - <enum-item name='RemoveStairs'> - <item-attr name='caption' value='Remove Stairs/Ramps'/> - </enum-item> - <enum-item name='ConstructQuern'> - <item-attr name='caption' value='Construct ?? Quern'/> - </enum-item> - <enum-item name='ConstructMillstone'> - <item-attr name='caption' value='Construct Millstone'/> - </enum-item> - <enum-item name='UpgradeSquadEquipment'> - <item-attr name='caption' value='Upgrade Squad Equipment'/> - </enum-item> - <enum-item name='PrepareEquipmentManifests'> - <item-attr name='caption' value='Prepare Equipment Manifests'/> - </enum-item> - <enum-item name='ConstructSplint'> - <item-attr name='caption' value='Construct ?? Splint'/> - </enum-item> - <enum-item name='ConstructCrutch'> - <item-attr name='caption' value='Construct ?? Crutch'/> - </enum-item> - <enum-item name='ConstructTractionBench'> - <item-attr name='caption' value='Construct Traction Bench'/> - </enum-item> - - -- 210 - - <enum-item name='CleanSelf'> - <item-attr name='caption' value='Clean Self'/> - </enum-item> - <enum-item name='BringCrutch'> - <item-attr name='caption' value='Bring Crutch'/> - </enum-item> - <enum-item name='ApplyCast'> - <item-attr name='caption' value='Apply Cast'/> - </enum-item> - <enum-item name='PerformCustomReaction'> - <item-attr name='caption' value='Perform Custom Reaction'/> - </enum-item> - <enum-item name='Unknown214'> - <item-attr name='caption' value='Unknown Job'/> - </enum-item> - <enum-item name='Unknown215'> - <item-attr name='caption' value='Unknown Job'/> - </enum-item> - <enum-item name='ShearCreature'> - <item-attr name='caption' value='Shear Creature'/> - </enum-item> - <enum-item name='SpinThread'> - <item-attr name='caption' value='Spin Thread'/> - </enum-item> - <enum-item name='PenLargeAnimal'> - <item-attr name='caption' value='Pen/Pasture Large Animal'/> - </enum-item> - <enum-item name='PenSmallAnimal'> - <item-attr name='caption' value='Pen/Pasture Small Animal'/> - </enum-item> - - -- 220 - - <enum-item name='Unknown220'> - <item-attr name='caption' value='Unknown Job'/> - </enum-item> - <enum-item name='ForgeTool'> - <item-attr name='caption' value='Forge Tool'/> - </enum-item> - <enum-item name='CollectClay'> - <item-attr name='caption' value='Collect Clay'/> - </enum-item> - <enum-item name='InstallColonyInHive'> - <item-attr name='caption' value='Install Colony In Hive'/> - </enum-item> - <enum-item name='CollectHiveProducts'> - <item-attr name='caption' value='Collect Hive Products'/> - </enum-item> - </enum-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.jobs.xml b/library/xml/df.jobs.xml deleted file mode 100644 index 3c215073..00000000 --- a/library/xml/df.jobs.xml +++ /dev/null @@ -1,264 +0,0 @@ -<data-definition> - <struct-type type-name='meeting_diplomat'> - <int32_t name='unk1' comment='uninitialized'/> - <pointer name='person1' type-name='unit' comment='diplomat'/> - <pointer name='person2' type-name='unit' comment='count'/> - <pointer name='place' type-name='building'/> - <int16_t name='unk2' comment='1'/> - <int8_t name='unk3' comment='3'/> - <int16_t name='unk4' comment='0'/> - <int32_t name='unk5' comment='-1'/> - </struct-type> - - <struct-type type-name='meeting_pet' key-field='name'> - <int32_t name='unk0' comment='uninitialized'/> - <int32_t name='unk1' comment='-1'/> - <int32_t name='pet_id' ref-target='unit'/> - <compound name='name' type-name='language_name'/> - <int32_t name='unk3'/> - <int32_t name='owner_id' ref-target='unit'/> - </struct-type> - - <struct-type type-name='meeting_ref'> - <int32_t name='unk1' - comment='4 person, 7 pet (pet), 8 pet (owner)'/> - <pointer name='ptr' comment='type varies'/> - <int32_t name='unk2' comment='0'/> - </struct-type> - - <bitfield-type type-name='job_material_category' base-type='uint32_t'> - <flag-bit name='plant'/> - <flag-bit name='wood'/> - <flag-bit name='cloth'/> - <flag-bit name='silk'/> - <flag-bit name='leather'/> - <flag-bit name='bone'/> - <flag-bit name='shell'/> - <flag-bit name='wood2'/> - <flag-bit name='soap'/> - <flag-bit name='tooth'/> - <flag-bit name='horn'/> - <flag-bit name='pearl'/> - <flag-bit name='yarn'/> - </bitfield-type> - - <bitfield-type type-name='job_item_category' base-type='uint32_t'> - <flag-bit name='unk1'/> - <flag-bit name='unk2'/> - <flag-bit name='furniture'/> - <flag-bit name='unk8'/> - <flag-bit name='unk16'/> - <flag-bit name='unk32'/> - <flag-bit name='ammo'/> - <flag-bit name='unk128'/> - <flag-bit name='unk256'/> - <flag-bit name='unk512'/> - <flag-bit name='finished_goods'/> - </bitfield-type> - - <struct-type type-name='job_list_link' key-field='job'> - <pointer name='job' type-name='job'/> - <pointer name='prev' type-name='job_list_link'/> - <pointer name='next' type-name='job_list_link'/> - </struct-type> - - <struct-type type-name='job' key-field='id'> - <int32_t name='id'/> - <pointer name='list_link' type-name='job_list_link'/> - <enum name='job_id' base-type='int16_t' type-name='job_type'/> - <int32_t name='unk2'/> - - <int16_t name='x'/> - <int16_t name='y'/> - <int16_t name='z'/> - - <int32_t name='completion_timer' comment='-1 per 10 frames'/> - - <uint16_t name='unk4a'/> - <uint16_t name='unk4b'/> - - <bitfield name='flags' base-type='uint32_t'> - <flag-bit name='repeat'/> - <flag-bit name='suspend'/> - </bitfield> - - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - <int16_t name='unk5'/> - <int16_t name='unk6'/> - <int16_t name='item_subtype'/> - <int32_t name='unk7'/> - <int32_t name='unk8'/> - - <compound name='job_material_category' type-name='job_material_category'/> - - <stl-string name='reaction_name'/> - - <int32_t name='unk9'/> - <int32_t name='unk10'/> - - <stl-vector name='items'> - <pointer> - <pointer name='item' type-name='item'/> - <int32_t name='unk1' comment='1 for reagents, 2 for build materials'/> - <int32_t name='to_bring' - comment='0 immediately once taken to be brought'/> - <int32_t name='job_item_idx'/> - </pointer> - </stl-vector> - - <stl-vector name='unk11' type-name='pointer'/> - - <stl-vector name='references'> - <pointer type-name='general_ref'/> - </stl-vector> - - <stl-vector name='job_items'> - <pointer type-name='job_item'/> - </stl-vector> - </struct-type> - - <struct-type type-name='job_item'> - <enum base-type='int16_t' name='itemType' type-name='item_type'/> - <int16_t name='itemSubtype' refers-to='(item-subtype-target $$._parent.itemType $)'/> - <int16_t name='matType' ref-target='material' aux-value='$$.matIndex'/> - <int32_t name='matIndex'/> - - <bitfield name='flags1' base-type='uint32_t'/> - - <int32_t name='count'/> - <int16_t name='unk1'/> - - <bitfield name='flags2' base-type='uint32_t'/> - <int32_t name='unk2'/> - <bitfield name='flags3' base-type='uint32_t'/> - <int32_t name='unk3'/> - - <int32_t name='metal_ore'/> - - <stl-string name='reaction_class'/> - <stl-string name='has_material_reaction_product'/> - - <int32_t name='unk4'/> - <int32_t name='reagent_index'/> - - <stl-vector type-name='int32_t' name='contains' comment='used with custom reactions'/> - - <int32_t name='unk5'/> - <int16_t name='has_tool_use'/> - </struct-type> - - <struct-type type-name='manager_order'> - <enum name='job_id' base-type='int16_t' type-name='job_type'/> - <int16_t name="unk_2"/> - - <int16_t name="item_subtype"/> - - <stl-string name="reaction_name"/> - - <int16_t name="mat_type" ref-target='material' aux-value='$$.mat_index'/> - <int32_t name="mat_index"/> - - <compound name="item_category" type-name='job_item_category'/> - <int32_t name="unk_18"/> - <compound name="material_category" type-name='job_material_category'/> - - <int16_t name="amount_left"/> - <int16_t name="amount_total"/> - <int32_t name="is_validated"/> - </struct-type> - - <struct-type type-name='mandate'> - <pointer name='unit' type-name='unit'/> - - <int16_t name='mode' comment='0 export, 1 make, 2 guild jobs'/> - - <enum base-type='int16_t' name='item_type' type-name='item_type'/> - <int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/> - - <int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/> - <int32_t name='mat_index'/> - - <int16_t name='amount_total'/> - <int16_t name='amount_remaining'/> - - <int32_t name='timeout_counter' comment='counts once per 10 frames'/> - <int32_t name='timeout_limit' comment='once counter passes limit, mandate ends'/> - - <int16_t name='unk2'/> - <int16_t name='unk3'/> - <int32_t name='unk4'/> - <uint8_t name='unk5'/> - </struct-type> - - <struct-type type-name='activity_entry' instance-vector='$global.world.activities.all' key-field='id'> - <int32_t name='id'/> - <int16_t name='is_individual'/> - <stl-vector name='events'> - <pointer type-name='activity_event'/> - </stl-vector> - <int32_t name='unk2'/> - </struct-type> - - <class-type type-name='activity_event' original-name='activity_eventst'> - <int32_t name='event_id' - comment='mostly, but not always, the index in activity.events'/> - <int32_t name='activity_id' ref-target='activity_entry'/> - - -- Guess: - <int32_t name='subevent_id' comment='-1 unless subevent'/> - <int32_t name='num_subevents' comment='0 for ind.drill, 2 for all in training session'/> - - <stl-vector name='hist_figure_ids'> - <int32_t ref-target='historical_figure'/> - </stl-vector> - <stl-vector name='participant_ids'> - <int32_t ref-target='unit'/> - </stl-vector> - - -- Either empty, or same as above: - <stl-vector name='hist_figure_ids2'> - <int32_t ref-target='historical_figure'/> - </stl-vector> - <stl-vector name='participant_ids2'> - <int32_t ref-target='unit'/> - </stl-vector> - - -- These are equal to the ones above: - <int32_t name='activity_id2' ref-target='activity_entry'/> - <int32_t name='event_id2'/> - </class-type> - - <class-type type-name='activity_event_individual_skill_drillst' inherits-from='activity_event'> - <int32_t name='building_id' ref-target='building'/> - <int32_t name='unk5'/> - </class-type> - - <class-type type-name='activity_event_training_sessionst' inherits-from='activity_event'> - </class-type> - - <class-type type-name='activity_event_combat_trainingst' inherits-from='activity_event'> - <int32_t name='building_id' ref-target='building'/> - <int32_t name='hist_figure_id' ref-target='historical_figure'/> - <int32_t name='unit_id' ref-target='unit'/> - <int32_t name='unk5'/> - </class-type> - - <class-type type-name='activity_event_skill_demonstrationst' inherits-from='activity_event'> - <int32_t name='building_id' ref-target='building'/> - <int32_t name='hist_figure_id' ref-target='historical_figure'/> - <int32_t name='unit_id' ref-target='unit'/> - <int16_t name='unk5'/> - <int32_t name='unk6'/> - <int32_t name='unk7'/> - <int32_t name='unk8'/> - <int32_t name='unk9'/> - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.language.xml b/library/xml/df.language.xml deleted file mode 100644 index 9a0c7d7f..00000000 --- a/library/xml/df.language.xml +++ /dev/null @@ -1,123 +0,0 @@ -<data-definition> - <enum-type type-name='language_word_flags'> - <enum-item name='FRONT_COMPOUND_NOUN_SING'/> - <enum-item name='FRONT_COMPOUND_NOUN_PLUR'/> - <enum-item name='FRONT_COMPOUND_ADJ'/> - <enum-item name='FRONT_COMPOUND_PREFIX'/> - <enum-item name='REAR_COMPOUND_NOUN_SING'/> - <enum-item name='REAR_COMPOUND_NOUN_PLUR'/> - <enum-item name='REAR_COMPOUND_ADJ'/> - <enum-item name='THE_NOUN_SING'/> - <enum-item name='THE_NOUN_PLUR'/> - <enum-item name='THE_COMPOUND_NOUN_SING'/> - <enum-item name='THE_COMPOUND_NOUN_PLUR'/> - <enum-item name='THE_COMPOUND_ADJ'/> - <enum-item name='THE_COMPOUND_PREFIX'/> - <enum-item name='OF_NOUN_SING'/> - <enum-item name='OF_NOUN_PLUR'/> - <enum-item name='STANDARD_VERB'/> - </enum-type> - - <enum-type type-name='part_of_speech'> - <enum-item name='Noun'/> - <enum-item name='NounPlural'/> - <enum-item name='Adjective'/> - <enum-item name='Prefix'/> - <enum-item name='Verb'/> - <enum-item name='Verb3rdPerson'/> - <enum-item name='VerbPast'/> - <enum-item name='VerbPassive'/> - <enum-item name='VerbGerund'/> - </enum-type> - - <struct-type type-name='language_word' instance-vector='$global.world.raws.language_words'> - <stl-string name='word'/> - - <code-helper name='describe'>$.word</code-helper> - - <static-array type-name='stl-string' name='forms' count='9' index-enum='part_of_speech'/> - - <uint8_t name='adj_dist'/> - - <padding size='7' comment='looks like garbage'/> - - <df-flagarray name='flags' index-enum='language_word_flags'/> - </struct-type> - - <struct-type type-name='language_translation' instance-vector='$global.world.raws.translations'> - <stl-string name='name'/> - - <code-helper name='describe'>$.name</code-helper> - - <stl-vector name='unknown1' comment='empty'/> - <stl-vector name='unknown2' comment='empty'/> - - <stl-vector name='words' index-refers-to='$global.world.raws.language_words[$]'> - <pointer type-name='stl-string'/> - </stl-vector> - </struct-type> - - <struct-type type-name='language_symbol'> - <stl-string name='name'/> - - <stl-vector name='unknown' comment='empty'/> - - <stl-vector name='words'> - <int32_t ref-target='language_word'/> - </stl-vector> - </struct-type> - - <struct-type type-name='language_name'> - <stl-string name='first_name'/> - <stl-string name='nickname'/> - - <static-array name='words' count='7'> - <int32_t ref-target='language_word'/> - </static-array> - <static-array name='parts_of_speech' count='7'> - <enum base-type='int16_t' type-name='part_of_speech'/> - </static-array> - - <int32_t name='language' ref-target='language_translation'/> - <int16_t name='unknown'/> - - <bool name='has_name'/> - - <code-helper name='describe'> - (when $.has_name - (let* ((nick $.nickname) - (language $global.world.raws.translations[$.language]) - (english $global.world.raws.language_words) - (fname $.first_name) - (lwords $language.words)) - (flet ((get-words (start end) - (loop for i from start to end - for word = $.words[i] - collect $lwords[word].value)) - (get-english (start end) - (loop for i from start to end - for word = $.words[i] and ps = $.parts_of_speech[i] - collect $english[word].forms[ps]))) - (list - (fmt "Name:~:(~@[ ~A~]~@[ '~A'~]~@[ ~{~A~}~]~@[ ~{~A~}~]~@[ ~{~A~}~]~)" - (if (> (length fname) 0) fname) - (if (> (length nick) 0) nick) - (flatten (get-words 0 1)) - (flatten (get-words 2 5)) - (flatten (get-words 6 6))) - (fmt "aka~:(~@[ ~A~]~@[ ~{~A~}~]~@[ the ~A~]~@[ of ~{~A~}~]~)" - (if (> (length fname) 0) fname) - (flatten (get-english 0 1)) - (when (>= $.words[5] 0) - (apply #'format nil "~@[~A ~]~@[~A ~]~@[~A-~]~A" (get-english 2 5))) - (flatten (get-english 6 6))))))) - </code-helper> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.legends.xml b/library/xml/df.legends.xml deleted file mode 100644 index baa0da15..00000000 --- a/library/xml/df.legends.xml +++ /dev/null @@ -1,305 +0,0 @@ -<data-definition> - <struct-type type-name='historical_entity' key-field='id' instance-vector='$global.world.entities.all'> - <int16_t name='unk1'/> - <int32_t name='id' comment='index in the array'/> - <pointer name='entity_raw'/> - - <int32_t name='save_file_id' comment='changes once has 100 entries'/> - <int16_t name='next_member_idx'/> - - <compound name='name' type-name='language_name'/> - - <code-helper name='describe'> - (describe-obj $.name) - (describe-obj (find-creature $.race)) - </code-helper> - - <int16_t name='race' ref-target='creature_raw'/> - <int32_t name='unk5'/> - - <static-array name='unk6' count='2'> - <stl-vector> - <pointer> - <int16_t name='unk1'/> - <int32_t name='unk2'/> - <int16_t name='unk3'/> - </pointer> - </stl-vector> - </static-array> - - <stl-vector name='unit_ids'> - <int32_t ref-target='unit'/> - </stl-vector> - - <stl-vector name='unk7' type-name='int32_t'/> - - <stl-vector name='nemesis_ids'> - <int32_t ref-target='historical_figure'/> - </stl-vector> - - <compound name='unknown1'> - <static-array name='unk8' count='15'> - <stl-vector type-name='int16_t'/> - </static-array> - - <static-array name='unk9' count='12'> - <stl-vector name='unk1' type-name='int16_t'/> - <stl-vector name='unk2' type-name='int32_t'/> - </static-array> - - <static-array name='unk10' count='3'> - <stl-vector type-name='int32_t'/> - </static-array> - - <static-array name='unk11' count='21'> - <stl-vector name='unk1' type-name='int16_t'/> - <stl-vector name='unk2' type-name='int32_t'/> - </static-array> - - <compound name='unk12'> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int16_t'/> - - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int16_t'/> - - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - - <stl-vector type-name='int32_t'/> - <stl-vector name='unk6e8' type-name='int32_t' comment='empty'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t' comment='empty'/> - - <stl-vector type-name='int16_t'/> - <stl-vector name='unk748' type-name='int16_t' comment='empty'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - - <stl-vector name='unk798' type-name='int32_t' comment='empty'/> - <stl-vector name='unk7a8' type-name='int32_t' comment='empty'/> - </compound> - - <static-array name='unk13' count='3'> - <int16_t name='unk1'/> - <int32_t name='unk2'/> - </static-array> - - <stl-vector name='unk14' type-name='pointer' comment='empty'/> - - <static-array name='unk15' count='24' type-name='int16_t'/> - - <stl-vector name='unk16' type-name='int16_t'/> - <stl-vector name='unk17' type-name='int32_t'/> - <stl-vector name='unk18' type-name='int16_t'/> - <stl-vector name='unk19' type-name='int8_t'/> - <stl-vector name='unk20' type-name='int8_t'/> - <stl-vector name='unk21' type-name='int8_t'/> - <stl-vector name='unk22' type-name='int8_t'/> - <stl-vector name='unk23' type-name='int16_t'/> - <stl-vector name='unk24' type-name='int16_t'/> - </compound> - - <stl-vector name='uniforms'> - <pointer type-name='entity_uniform'/> - </stl-vector> - - <compound name='unknown1b'> - <int16_t name='unk26a'/> - <int16_t name='unk26b'/> - <int16_t name='unk27'/> - <int32_t name='unk28'/> - <int32_t name='unk29'/> - <int32_t name='unk30'/> - <int32_t name='unk31'/> - - <df-flagarray name='flags'/> - - <stl-vector name='unk32a' type-name='pointer' comment='empty'/> - <stl-vector name='unk32b' type-name='int32_t'/> - <stl-vector name='unk32c' type-name='int32_t'/> - <stl-vector name='unk32d' type-name='int32_t'/> - <stl-vector name='unk32e' type-name='pointer'/> - <stl-vector name='unk32f' type-name='pointer'/> - - <int16_t name='unk33'/> - - <stl-vector name='unk34a' type-name='int16_t'/> - <stl-vector name='unk34b' type-name='int16_t'/> - <stl-vector name='unk34c' type-name='int16_t'/> - <stl-vector name='unk34d' type-name='pointer' comment='empty'/> - <stl-vector name='unk34e' type-name='pointer' comment='empty'/> - <stl-vector name='unk34f' type-name='pointer'/> - <stl-vector name='unk34g' type-name='pointer'/> - <stl-vector name='unk34h' type-name='pointer'/> - - <int32_t name='unk35'/> - <stl-vector name='unk36' type-name='pointer'/> - <int32_t name='unk37'/> - <stl-vector name='unk38' type-name='pointer'/> - <int32_t name='unk39'/> - <stl-vector name='unk40' type-name='pointer'/> - <stl-vector name='unk41' type-name='int32_t'/> - <int32_t name='unk42'/> - <stl-vector name='unk43' type-name='pointer' comment='empty'/> - <int32_t name='unk44'/> - <stl-vector name='unk45' type-name='pointer'/> - - <pointer name='unk46'/> - <int16_t name='unk47'/> - <int32_t name='unk48'/> - - <static-array name='unk49' count='15' type-name='int32_t'/> - - <stl-vector name='unk50' type-name='pointer' comment='empty'/> - </compound> - - <stl-vector name='hist_figures'> - <pointer type-name='historical_figure'/> - </stl-vector> - <stl-vector name='nemesis'> - <pointer type-name='nemesis_record'/> - </stl-vector> - - <compound name='unknown2'> - <stl-vector name='unk1' type-name='int16_t'/> - <stl-vector name='unk2' type-name='int32_t'/> - <stl-vector name='unk3' type-name='int16_t'/> - <stl-vector name='unk4' type-name='int32_t'/> - - <static-array name='unk5' count='30'> - <stl-vector type-name='int16_t'/> - </static-array> - - <static-array name='unk6' count='25'> - <stl-vector type-name='pointer'/> - </static-array> - - <static-array name='unk6b' count='6'> - <stl-vector type-name='int16_t'/> - </static-array> - - <stl-vector name='unk8' type-name='int32_t'/> - - <int32_t name='unk9'/> - <stl-vector name='unk10' type-name='int16_t'/> - - <pointer name='unk11'/> - <int16_t name='unk12a' comment='-1'/> - <int16_t name='unk12b' comment='uninitialized'/> - <bool name='unk13' comment='0'/> - <int32_t name='unk14' comment='0'/> - <int32_t name='unk15' comment='uninitialized'/> - <int32_t name='unk16' comment='uninitialized'/> - <int16_t name='unk17' comment='0'/> - - <stl-vector name='unk18' type-name='pointer' comment='empty'/> - <stl-vector name='unk19' type-name='pointer' comment='empty'/> - - <int16_t name='unk20' comment='0'/> - <int32_t name='unk21' comment='0'/> - <int32_t name='unk22' comment='0'/> - <int32_t name='unk23' comment='0'/> - - <stl-vector name='unk24' type-name='pointer' comment='empty'/> - <stl-vector name='unk25' type-name='pointer' comment='empty'/> - - <static-array name='unk26' count='173' type-name='int32_t' comment='Uninitialized'/> - <static-array name='unk27' count='15' type-name='int32_t' comment='0'/> - - <stl-vector name='unk28' type-name='pointer' comment='empty'/> - </compound> - </struct-type> - - <struct-type type-name='entity_population_unk4'> - <static-array count='3'> - <stl-vector> - <pointer> - <int32_t name='idx'/> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - </pointer> - </stl-vector> - </static-array> - </struct-type> - - <struct-type type-name='entity_population' key-field='id' instance-vector='$global.world.entity_populations'> - <compound name='name' type-name='language_name'/> - - <code-helper name='describe'> - (describe-obj $.name) - </code-helper> - - <stl-vector name='unk1'> - <int16_t ref-target='creature_raw'/> - </stl-vector> - <stl-vector name='unk2' type-name='int32_t'/> - <stl-vector name='unk3' type-name='int32_t'/> - <stl-vector name='unk4'> - <pointer type-name='entity_population_unk4'/> - </stl-vector> - <int32_t name='unk5'/> - <int32_t name='unk6'/> - <int32_t name='id'/> - <bool name='unk7' comment='unk6 == -1'/> - <int32_t name='civ_id' ref-target='historical_entity'/> - </struct-type> - - <struct-type type-name='nemesis_record' key-field='id' instance-vector='$global.world.nemesis.all'> - <int32_t name='id' comment='sequential index in the array'/> - - <int32_t name='unit_id' ref-target='unit'/> - - <int32_t name='save_file_id' comment='unit-*.dat'/> - <int16_t name='member_idx' comment='index in the file'/> - - <pointer name='figure' type-name='historical_figure'/> - <pointer name='unit' type-name='unit'/> - - <code-helper name='describe'> - (describe-obj $.figure) - </code-helper> - - <int32_t name='unk6' comment='-1'/> - <stl-vector name='unk7' type-name='pointer' comment='empty'/> - <int16_t name='unk10' comment='-1'/> - <int32_t name='unk11' comment='-1'/> - <int32_t name='unk12' comment='-1'/> - <df-flagarray name='flags'/> - <stl-vector name='unk13' type-name='pointer' comment='empty'/> - </struct-type> - - <struct-type type-name='artifact_record' key-field='id' - instance-vector='$global.world.artifacts.all'> - <int32_t name='id'/> - - <code-helper name='describe'> - (describe-obj $.name) - </code-helper> - - <compound name='name' type-name='language_name'/> - - <df-flagarray name='flags'/> - - <pointer name='item' type-name='item'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.machines.xml b/library/xml/df.machines.xml deleted file mode 100644 index 000e8325..00000000 --- a/library/xml/df.machines.xml +++ /dev/null @@ -1,96 +0,0 @@ -<data-definition> - -- MACHINE - - <class-type type-name='machine' original-name='machinest' - instance-vector='$global.world.machines.all' key-field='id'> - <int32_t name="x"/> - <int32_t name="y"/> - <int32_t name="z"/> - - <int32_t name="id"/> - - <stl-vector name="components"> - <pointer> - <int32_t name="building_id" ref-target='building'/> - <stl-vector name="connections" type-name='int32_t' - comment='indices into the same component vector'/> - </pointer> - </stl-vector> - - <int32_t name="cur_power"/> - <int32_t name="min_power"/> - - <int8_t name='visual_phase'/> - <int16_t name="phase_timer"/> - - <int32_t name="is_active"/> - </class-type> - - <class-type type-name='machine_standardst' inherits-from='machine'> - </class-type> - - -- MACHINE COMPONENT BUILDINGS - - <class-type type-name='building_axle_horizontalst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - <bool name='is_vertical'/> - </class-type> - - <class-type type-name='building_axle_verticalst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - </class-type> - - <class-type type-name='building_gear_assemblyst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - <bitfield name='gear_flags'> - <flag-bit name='disengaged'/> - </bitfield> - </class-type> - - <class-type type-name='building_windmillst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - - <int16_t name="orient_angle"/> - <int16_t name="orient_mode"/> - - <int16_t name="is_working"/> - <bool name="visual_rotated"/> - <int16_t name="rotate_timer"/> - - <int16_t name="orient_timer"/> - </class-type> - - <class-type type-name='building_water_wheelst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - <bool name='is_vertical'/> - <bool name='gives_power'/> - </class-type> - - <class-type type-name='building_screw_pumpst' inherits-from='building_actual'> - <int32_t name="machine_id" ref-target='machine'/> - <int32_t name="unk_fc"/> - - <uint8_t name="unk_100"/> - - <enum name='direction' base-type='int8_t'> - <enum-item name='FromNorth'/> - <enum-item name='FromEast'/> - <enum-item name='FromSouth'/> - <enum-item name='FromWest'/> - </enum> - - <bool name='pump_manually'/> - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.map.xml b/library/xml/df.map.xml deleted file mode 100644 index eac8bbeb..00000000 --- a/library/xml/df.map.xml +++ /dev/null @@ -1,247 +0,0 @@ -<data-definition> - <enum-type type-name='tile_traffic'> - <enum-item name='Normal'/> - <enum-item name='Low'/> - <enum-item name='High'/> - <enum-item name='Restricted'/> - </enum-type> - - <enum-type type-name='tile_dig_designation'> - <enum-item name='No' comment='no designation'/> - <enum-item name='Default' comment='dig walls, remove stairs and ramps, gather plants, fell trees'/> - <enum-item name='UpDownStair'/> - <enum-item name='Channel'/> - <enum-item name='Ramp'/> - <enum-item name='DownStair'/> - <enum-item name='UpStair'/> - </enum-type> - - <enum-type type-name='tile_liquid'> - <enum-item name='Water'/> - <enum-item name='Magma'/> - </enum-type> - - <bitfield-type type-name='tile_designation'> - <flag-bit name='flow_size' count='3' comment='liquid amount'/> - <flag-bit name='pile' comment='stockpile?'/> - <flag-bit name='dig' count='3' - refers-to='(enum-to-key $tile_dig_designation $)'/> - <flag-bit name='smooth' count='2'/> - <flag-bit name='hidden'/> - - <flag-bit name='geolayer_index' count='4'/> - <flag-bit name='light'/> - <flag-bit name='subterranean'/> - <flag-bit name='outside'/> - <flag-bit name='biome' count='4'/> - - <flag-bit name='liquid_type' - refers-to='(enum-to-key $tile_liquid $)'/> - - <flag-bit name='water_table' comment='aquifer'/> - <flag-bit name='rained'/> - - <flag-bit name='traffic' count='2' - refers-to='(enum-to-key $tile_traffic $)'/> - - <flag-bit name='flow_forbid'/> - <flag-bit name='liquid_static'/> - <flag-bit name='feature_local'/> - <flag-bit name='feature_global'/> - <flag-bit name='water_stagnant'/> - <flag-bit name='water_salt'/> - </bitfield-type> - - <bitfield-type type-name='tile_occupancy'> - <flag-bit name='building' count='3'/> - <flag-bit name='unit' comment='standing'/> - <flag-bit name='unit_grounded' comment='prone'/> - <flag-bit name='item'/> - <flag-bit name='edge_flow_in' - comment='if set on an edge tile, water or magma will flow in'/> - <flag-bit name='moss'/> - <flag-bit name='arrow_color' count='4'/> - <flag-bit name='arrow_variant'/> - <flag-bit name='unk13'/> - <flag-bit name='monster_lair' - comment='A monster lair. Items placed wont be moved.'/> - <flag-bit name='no_grow' - comment='seems to be set on terrain tiles where grass growth is impossible'/> - </bitfield-type> - - <enum-type type-name='block_flags'> - <enum-item name='Designated' comment='for jobs etc'/> - <enum-item name='UpdateTemperature'/> - <enum-item name='UpdateLiquid'/> - <enum-item name='UpdateLiquidTwice' - comment='Protects UpdateLiquid from being cleared the first time.'/> - </enum-type> - - <struct-type type-name='block_burrow'> - <int32_t name='id' ref-target='burrow'/> - - <static-array name='tile_bitmask' count='16'> - <uint16_t/> - </static-array> - - <pointer name="link" type-name='block_burrow_link'/> - </struct-type> - - <struct-type type-name='block_burrow_link'> - <pointer name='item' type-name='block_burrow'/> - <pointer name='prev' type-name='block_burrow_link'/> - <pointer name='next' type-name='block_burrow_link'/> - </struct-type> - - <struct-type type-name='map_block'> - <df-flagarray name='flags' index-enum='block_flags'/> - - <stl-vector name='block_events'> - <pointer/> - </stl-vector> - - <compound name='block_burrows' type-name='block_burrow_link'/> - - <int32_t name='local_feature'/> - <int32_t name='global_feature'/> - <int32_t name='unk2'/> - <int32_t name='unk3' comment='undef'/> - <int32_t name='unk4'/> - <int32_t name='unk5'/> - - <stl-vector name='items'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='effects'> - <pointer/> - </stl-vector> - - <int32_t name='unk7'/> - <int32_t name='unk8' comment='undef'/> - - <stl-vector name='plants'> - <pointer/> - </stl-vector> - - <int16_t name='map_x'/> - <int16_t name='map_y'/> - <int16_t name='map_z'/> - <int16_t name='region_x'/> - <int16_t name='region_y'/> - - <static-array name='tiletype' count='16'> - <static-array count='16'> - <int16_t/> - </static-array> - </static-array> - <static-array name='designation' count='16'> - <static-array count='16'> - <compound type-name='tile_designation'/> - </static-array> - </static-array> - <static-array name='occupancy' count='16'> - <static-array count='16'> - <compound type-name='tile_occupancy'/> - </static-array> - </static-array> - - <static-array name='unk9' count='16'> - <static-array count='16'> - <int8_t/> - </static-array> - </static-array> - <static-array name='pathfinding' count='16'> - <static-array count='16'> - <int32_t/> - </static-array> - </static-array> - <static-array name='unk10' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - <static-array name='unk11' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - <static-array name='unk12' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - - <static-array name='temperature_1' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - <static-array name='temperature_2' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - - <static-array name='unk13' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - <static-array name='unk14' count='16'> - <static-array count='16'> - <uint16_t/> - </static-array> - </static-array> - - <static-array name='region_offset' count='9'> - <uint8_t/> - </static-array> - </struct-type> - - <struct-type type-name='cave_column_link'> - <pointer name='item'/> - <pointer name='prev' type-name='cave_column_link'/> - <pointer name='next' type-name='cave_column_link'/> - </struct-type> - - <struct-type type-name='map_block_column'> - <int16_t name="unk_0"/> - <int16_t name="unk_2"/> - <int16_t name="unk_4"/> - - <stl-vector name="unk_8"> - <pointer> - <static-array name='unk1' count='8' type-name='int16_t'/> - <static-array name='unk2' count='4' type-name='uint8_t'/> - </pointer> - </stl-vector> - - <int16_t name="z_base"/> - - <static-array name='cave_columns' count='16'> - <static-array count='16'> - <compound type-name='cave_column_link'/> - </static-array> - </static-array> - - <stl-vector name='column_rectangles'> - <pointer/> - </stl-vector> - - <int16_t name='unk_c2c'/> - <df-flagarray name='flags'/> - - <int16_t name='tile_min_x'/> - <int16_t name='tile_min_y'/> - <int16_t name='unk_c3c' comment='uninitialized'/> - <int16_t name='unk_c3e'/> - <int16_t name='unk_c40'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.materials.xml b/library/xml/df.materials.xml deleted file mode 100644 index c69b876a..00000000 --- a/library/xml/df.materials.xml +++ /dev/null @@ -1,419 +0,0 @@ -<data-definition> - <enum-type type-name='material_flags'> - <enum-item name='BONE'/> - <enum-item name='MEAT'/> - <enum-item name='EDIBLE_VERMIN'/> - <enum-item name='EDIBLE_RAW'/> - <enum-item name='EDIBLE_COOKED'/> - <enum-item/> - <enum-item name='ITEMS_METAL'/> - <enum-item name='ITEMS_BARRED'/> - - <enum-item name='ITEMS_SCALED'/> - <enum-item name='ITEMS_LEATHER'/> - <enum-item name='ITEMS_SOFT'/> - <enum-item name='ITEMS_HARD'/> - <enum-item name='IMPLIES_ANIMAL_KILL'/> - <enum-item name='ALCOHOL_PLANT'/> - <enum-item name='ALCOHOL_CREATURE'/> - <enum-item name='CHEESE_PLANT'/> - - <enum-item name='CHEESE_CREATURE'/> - <enum-item name='POWDER_MISC_PLANT'/> - <enum-item name='POWDER_MISC_CREATURE'/> - <enum-item name='STOCKPILE_GLOB'/> - <enum-item name='LIQUID_MISC_PLANT'/> - <enum-item name='LIQUID_MISC_CREATURE'/> - <enum-item name='LIQUID_MISC_OTHER'/> - <enum-item name='WOOD'/> - - <enum-item name='THREAD_PLANT'/> - <enum-item name='TOOTH'/> - <enum-item name='HORN'/> - <enum-item name='PEARL'/> - <enum-item name='SHELL'/> - <enum-item name='LEATHER'/> - <enum-item name='SILK'/> - <enum-item name='SOAP'/> - - <enum-item name='ROTS'/> - <enum-item comment='dye?'/> - <enum-item/> - <enum-item/> - <enum-item name='STRUCTURAL_PLANT_MAT'/> - <enum-item name='SEED_MAT'/> - <enum-item name='LEAF_MAT'/> - <enum-item/> - - <enum-item name='ENTERS_BLOOD'/> - <enum-item name='BLOOD_MAP_DESCRIPTOR'/> - <enum-item name='ICHOR_MAP_DESCRIPTOR'/> - <enum-item name='GOO_MAP_DESCRIPTOR'/> - <enum-item name='SLIME_MAP_DESCRIPTOR'/> - <enum-item name='PUS_MAP_DESCRIPTOR'/> - <enum-item name='GENERATES_MIASMA'/> - <enum-item name='IS_METAL'/> - - <enum-item name='IS_GEM'/> - <enum-item name='IS_GLASS'/> - <enum-item name='CRYSTAL_GLASSABLE'/> - <enum-item name='ITEMS_WEAPON'/> - <enum-item name='ITEMS_WEAPON_RANGED'/> - <enum-item name='ITEMS_ANVIL'/> - <enum-item name='ITEMS_AMMO'/> - <enum-item name='ITEMS_DIGGER'/> - - <enum-item name='ITEMS_ARMOR'/> - <enum-item name='ITEMS_DELICATE'/> - <enum-item name='ITEMS_SIEGE_ENGINE'/> - <enum-item name='ITEMS_QUERN'/> - <enum-item name='IS_STONE'/> - <enum-item name='UNDIGGABLE'/> - <enum-item name='YARN'/> - <enum-item name='STOCKPILE_GLOB_PASTE'/> - - <enum-item name='STOCKPILE_GLOB_PRESSED'/> - <enum-item name='DISPLAY_UNGLAZED'/> - <enum-item name='DO_NOT_CLEAN_GLOB'/> - <enum-item name='NO_STONE_STOCKPILE'/> - <enum-item name='STOCKPILE_THREAD_METAL'/> - </enum-type> - - <struct-type type-name='material_common'> - <stl-string name='id'/> - <stl-string name='gem_name1'/> - <stl-string name='gem_name2'/> - <stl-string name='stone_name'/> - - <code-helper name='describe'> (describe-material $) </code-helper> - - <compound name='heat'> - <uint16_t name='spec_heat'/> - <uint16_t name='heatdam_point'/> - <uint16_t name='colddam_point'/> - <uint16_t name='ignite_point'/> - <uint16_t name='melting_point'/> - <uint16_t name='boiling_point'/> - <uint16_t name='mat_fixed_temp'/> - </compound> - - <int32_t name='solid_density'/> - <int32_t name='liquid_density'/> - <int32_t name='molar_mass'/> - - <static-array name='state_color' type-name='int32_t' count='6'/> - <static-array name='state_name' type-name='stl-string' count='6'/> - <static-array name='state_adj' type-name='stl-string' count='6'/> - - <compound name='strength'> - <int32_t name='absorption'/> - <int32_t name='bending_yield'/> - <int32_t name='shear_yield'/> - <int32_t name='torsion_yield'/> - <int32_t name='impact_yield'/> - <int32_t name='tensile_yield'/> - <int32_t name='compressive_yield'/> - - <int32_t name='bending_fracture'/> - <int32_t name='shear_fracture'/> - <int32_t name='torsion_fracture'/> - <int32_t name='impact_fracture'/> - <int32_t name='tensile_fracture'/> - <int32_t name='compressive_fracture'/> - - <int32_t name='bending_strain_at_yield'/> - <int32_t name='shear_strain_at_yield'/> - <int32_t name='torsion_strain_at_yield'/> - <int32_t name='impact_strain_at_yield'/> - <int32_t name='tensile_strain_at_yield'/> - <int32_t name='compressive_strain_at_yield'/> - - <int32_t name='max_edge'/> - </compound> - - <int32_t name='material_value'/> - - <df-flagarray name='mat_flags' index-enum='material_flags'/> - - <int16_t name='extract_storage'/> - <int16_t name='butcher_special_type'/> - <int16_t name='butcher_special_subtype'/> - - <static-array name='meat_name' type-name='stl-string' count='3'/> - <static-array name='block_name' type-name='stl-string' count='2'/> - - <stl-vector name='material_reaction_product_id'> - <pointer type-name='stl-string'/> - </stl-vector> - - <stl-vector name='material_reaction_product_matType' type-name='int16_t'/> - <stl-vector name='material_reaction_product_matIndex' type-name='int32_t'/> - <static-array name='material_reaction_product_str' count='3'> - <stl-vector> - <pointer type-name='stl-string'/> - </stl-vector> - </static-array> - - <int16_t name='hardens_with_water_matType'/> - <int32_t name='hardens_with_water_matIndex'/> - <static-array name='hardens_with_water_str' type-name='stl-string' count='3'/> - - <stl-vector name='reaction_class'> - <pointer type-name='stl-string'/> - </stl-vector> - - <uint8_t name='tile'/> - - <static-array name='basic_color' type-name='int16_t' count='2'/> - <static-array name='build_color' type-name='int16_t' count='3'/> - <static-array name='tile_color' type-name='int16_t' count='3'/> - - <uint8_t name='item_symbol'/> - - <int16_t name='powder_dye'/> // color token index - <int16_t name='temp_diet_info'/> - - <stl-vector name='syndrome'> - <pointer/> - </stl-vector> - - <int32_t name='soap_level'/> - </struct-type> - - <struct-type type-name='material' inherits-from='material_common'> - <code-helper name='find-instance'>(material-by-id $ $$)</code-helper> - <code-helper name='describe'> (describe-material $) </code-helper> - - <stl-string name='prefix'/> - - <static-array name='food_mat_index' count='37' index-enum='organic_mat_category'> - <int32_t refers-to='(food-mat-by-idx $$._key $)' - comment='When valid, refers to itself.'/> - </static-array> - - <stl-string name='powder_dye_str' comment='temporary'/> - <static-array name='state_color_str' type-name='stl-string' count='6'/> - </struct-type> - - <struct-type type-name='material_template'> - <compound type-name='material_common'/> - - <code-helper name='describe'> (describe-material $) </code-helper> - - <stl-string name='powder_dye_str' comment='temporary'/> - <static-array name='state_color_str' type-name='stl-string' count='6'/> - </struct-type> - - <struct-type type-name='material_plant' instance-vector='$global.world.raws.plants.all'> - <stl-string name='id'/> - - <code-helper name='describe'>$.id</code-helper> - - <df-flagarray name='flags'/> - - <stl-string name='name'/> - <stl-string name='name_plural'/> - <stl-string name='adj'/> - - <stl-string name='seed_singular'/> - <stl-string name='seed_plural'/> - <stl-string name='leaves_singular'/> - <stl-string name='leaves_plural'/> - - <uint8_t name='unk1'/> - <uint8_t name='unk2'/> - - <compound name='tiles'> - <uint8_t name='picked_tile'/> - <uint8_t name='dead_picked_tile'/> - <uint8_t name='shrub_tile'/> - <uint8_t name='dead_shrub_tile'/> - <uint8_t name='leaves_tile'/> - <uint8_t name='tree_tile'/> - <uint8_t name='dead_tree_tile'/> - <uint8_t name='sapling_tile'/> - <uint8_t name='dead_sapling_tile'/> - <static-array type-name='uint8_t' name='grass_tiles' count='16'/> - <static-array type-name='uint8_t' name='alt_grass_tiles' count='12'/> - </compound> - - <int32_t name='growdur'/> - <int32_t name='value'/> - - <compound name='colors'> - <static-array type-name='int8_t' name='picked_color' count='3'/> - <static-array type-name='int8_t' name='dead_picked_color' count='3'/> - <static-array type-name='int8_t' name='shrub_color' count='3'/> - <static-array type-name='int8_t' name='dead_shrub_color' count='3'/> - <static-array type-name='int8_t' name='seed_color' count='3'/> - <static-array type-name='int8_t' name='leaves_color' count='3'/> - <static-array type-name='int8_t' name='dead_leaves_color' count='3'/> - <static-array type-name='int8_t' name='tree_color' count='3'/> - <static-array type-name='int8_t' name='dead_tree_color' count='3'/> - <static-array type-name='int8_t' name='sapling_color' count='3'/> - <static-array type-name='int8_t' name='dead_sapling_color' count='3'/> - - <static-array type-name='int8_t' name='grass_colors_0' count='20'/> - <static-array type-name='int8_t' name='grass_colors_1' count='20'/> - <static-array type-name='int8_t' name='grass_colors_2' count='20'/> - </compound> - - <static-array type-name='int32_t' name='alt_period' count='2'/> - - <int8_t name='shrub_drown_level'/> - <int8_t name='tree_drown_level'/> - <int8_t name='sapling_drown_level'/> - <int16_t name='frequency'/> - <int16_t name='clustersize'/> - <stl-vector name='prefstring'> - <pointer type-name='stl-string'/> - </stl-vector> - - <stl-vector name='material'> - <pointer type-name='material'/> - </stl-vector> - - <compound name='material_defs'> - <int16_t name='material_type_basic_mat'/> - <int16_t name='material_type_tree'/> - <int16_t name='material_type_drink'/> - <int16_t name='material_type_seed'/> - <int16_t name='material_type_thread'/> - <int16_t name='material_type_mill'/> - <int16_t name='material_type_extract_vial'/> - <int16_t name='material_type_extract_barrel'/> - <int16_t name='material_type_extract_still_vial'/> - <int16_t name='material_type_leaves'/> - - <int32_t name='material_idx_basic_mat'/> - <int32_t name='material_idx_tree'/> - <int32_t name='material_idx_drink'/> - <int32_t name='material_idx_seed'/> - <int32_t name='material_idx_thread'/> - <int32_t name='material_idx_mill'/> - <int32_t name='material_idx_extract_vial'/> - <int32_t name='material_idx_extract_barrel'/> - <int32_t name='material_idx_extract_still_vial'/> - <int32_t name='material_idx_leaves'/> - - <static-array type-name='stl-string' name='material_str_basic_mat' count='3'/> - <static-array type-name='stl-string' name='material_str_tree' count='3'/> - <static-array type-name='stl-string' name='material_str_drink' count='3'/> - <static-array type-name='stl-string' name='material_str_seed' count='3'/> - <static-array type-name='stl-string' name='material_str_thread' count='3'/> - <static-array type-name='stl-string' name='material_str_mill' count='3'/> - <static-array type-name='stl-string' name='material_str_extract_vial' count='3'/> - <static-array type-name='stl-string' name='material_str_extract_barrel' count='3'/> - <static-array type-name='stl-string' name='material_str_extract_still_vial' count='3'/> - <static-array type-name='stl-string' name='material_str_leaves' count='3'/> - </compound> - - <int32_t name='underground_depth_min'/> - <int32_t name='underground_depth_max'/> - </struct-type> - - <struct-type type-name='material_inorganic' instance-vector='$global.world.raws.inorganics'> - <stl-string name='id'/> - - <code-helper name='describe'>$.id</code-helper> - - <df-flagarray name='flags'/> - - <stl-vector name='metal_ore_str' comment='only during parsing'> - <pointer type-name='stl-string'/> - </stl-vector> - <stl-vector type-name='int16_t' name='metal_ore_matIndex'/> - <stl-vector type-name='int16_t' name='metal_ore_probability'/> - - <stl-vector name='thread_metal_str' comment='only during parsing'> - <pointer type-name='stl-string'/> - </stl-vector> - <stl-vector type-name='int16_t' name='thread_metal_matIndex'/> - <stl-vector type-name='int16_t' name='thread_metal_probability'/> - - <stl-vector type-name='int32_t' name='unk1'/> - - <stl-vector name='environment_spec_str' comment='only during parsing'> - <pointer type-name='stl-string'/> - </stl-vector> - <stl-vector type-name='int16_t' name='environment_spec_matIndex'/> - <stl-vector type-name='int16_t' name='environment_spec_inclusion_type'/> - <stl-vector type-name='int8_t' name='environment_spec_probability'/> - <stl-vector type-name='int16_t' name='environment_location'/> - <stl-vector type-name='int16_t' name='environment_type'/> - <stl-vector type-name='int8_t' name='environment_probability'/> - - <int32_t name='unk2'/> - <compound name='material' type-name='material'/> - </struct-type> - - <enum-type type-name='organic_mat_category'> - <enum-item name='Meat'/> - <enum-item name='Fish'/> - <enum-item name='UnpreparedFish'/> - <enum-item name='Eggs'/> - <enum-item name='Plants'/> - <enum-item name='PlantDrink'/> - <enum-item name='CreatureDrink'/> - <enum-item name='PlantCheese'/> - <enum-item name='CreatureCheese'/> - <enum-item name='Seed'/> - <enum-item name='Leaf'/> - <enum-item name='PlantPowder'/> - <enum-item name='CreaturePowder'/> - <enum-item name='Glob'/> - <enum-item name='PlantLiquid'/> - <enum-item name='CreatureLiquid'/> - <enum-item name='MiscLiquid'/> - <enum-item name='Leather'/> - <enum-item name='Silk'/> - <enum-item name='PlantFiber'/> - <enum-item name='Bone'/> - <enum-item name='Shell'/> - <enum-item name='Wood'/> - <enum-item name='Horn'/> - <enum-item name='Pearl'/> - <enum-item name='Tooth'/> - <enum-item name='EdibleCheese'/> - <enum-item name='AnyDrink'/> - <enum-item name='EdiblePlant'/> - <enum-item name='CookableLiquid'/> - <enum-item name='CookablePowder'/> - <enum-item name='CookableSeed'/> - <enum-item name='CookableLeaf'/> - <enum-item name='Paste'/> - <enum-item name='Pressed'/> - <enum-item name='Yarn'/> - <enum-item name='MetalThread'/> - </enum-type> - - <struct-type type-name='special_mat_table'> - <static-array name='organic_types' count='37' index-enum='organic_mat_category'> - <stl-vector type-name='int16_t' index-refers-to='(food-mat-by-idx $$._key $)'/> - </static-array> - <static-array name='organic_indexes' count='37' index-enum='organic_mat_category'> - <stl-vector type-name='int32_t'/> - </static-array> - <static-array name='organic_unknown' count='37' comment='everything 0' - index-enum='organic_mat_category'> - <stl-vector type-name='int32_t'/> - </static-array> - - <static-array name='builtin' count='659'> - <pointer type-name='material'/> - </static-array> - - <stl-vector name='extract_types'> - <int16_t ref-target='material' aux-value='$$._parent.extract_indexes[$._key]'/> - </stl-vector> - <stl-vector name='extract_indexes' type-name='int32_t'/> - <stl-vector name='extract_unknown' type-name='int32_t'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.military.xml b/library/xml/df.military.xml deleted file mode 100644 index e22fd1fa..00000000 --- a/library/xml/df.military.xml +++ /dev/null @@ -1,285 +0,0 @@ -<data-definition> - <enum-type type-name='uniform_material_class'> - <enum-item name='None' value='-1'/> - - <enum-item comment='BROKEN'/> - <enum-item name='Leather'/> - <enum-item name='Cloth'/> - <enum-item name='Wood'/> - <enum-item comment='BROKEN'/> - - <enum-item name='Stone'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item name='Metal'/> - - <enum-item comment='BROKEN'/> - <enum-item name='Metal2'/> - <enum-item name='Gem'/> - <enum-item name='Bone'/> - <enum-item name='Shell'/> - - <enum-item name='Pearl'/> - <enum-item name='Tooth'/> - <enum-item name='Horn'/> - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - - <enum-item comment='BROKEN'/> - <enum-item comment='BROKEN'/> - <enum-item name='PlantFiber'/> - <enum-item name='Silk'/> - <enum-item name='Yarn'/> - </enum-type> - - <bitfield-type type-name='uniform_indiv_choice'> - <flag-bit name='any'/> - <flag-bit name='melee'/> - <flag-bit name='ranged'/> - </bitfield-type> - - <struct-type type-name='item_filter_spec'> - <enum base-type='int16_t' name="item_type" type-name='item_type'/> - <int16_t name="item_subtype" refers-to='(item-subtype-target $$._parent.item_type $)'/> - - <enum base-type='int16_t' name="material_class" type-name='uniform_material_class'/> - - <int16_t name='mattype' ref-target='material' aux-value='$$.matindex'/> - <int32_t name='matindex'/> - </struct-type> - - <struct-type type-name='squad_uniform_spec'> - <int32_t name="item" ref-target='item'/> - - <compound name='item_filter' type-name='item_filter_spec'/> - - <int32_t name="color"/> - - <stl-vector name="assigned"> - <int32_t ref-target='item'/> - </stl-vector> - - <compound name="indiv_choice" type-name='uniform_indiv_choice'/> - </struct-type> - - <struct-type type-name='squad_ammo_spec'> - <compound name='item_filter' type-name='item_filter_spec'/> - - <int32_t name="amount"/> - - <bitfield name='flags' base-type='uint32_t'> - <flag-bit name='use_combat'/> - <flag-bit name='use_training'/> - </bitfield> - - <stl-vector name="assigned"> - <int32_t ref-target='item'/> - </stl-vector> - </struct-type> - - <bitfield-type type-name='squad_use_flags' base-type='uint32_t'> - <flag-bit name='sleep'/> - <flag-bit name='train'/> - <flag-bit name='indiv_eq'/> - <flag-bit name='squad_eq'/> - </bitfield-type> - - <enum-type type-name='uniform_category'> - <enum-item name='body'/> - <enum-item name='head'/> - <enum-item name='pants'/> - <enum-item name='gloves'/> - <enum-item name='shoes'/> - <enum-item name='shield'/> - <enum-item name='weapon'/> - </enum-type> - - <bitfield-type type-name='uniform_flags' base-type='uint32_t'> - <flag-bit name='replace_clothing'/> - <flag-bit name='exact_matches'/> - </bitfield-type> - - <struct-type type-name='squad_position' key-field='occupant'> - <int32_t name='occupant' ref-target='historical_figure'/> - - <stl-vector name="unk_4"/> - - <compound name='preferences'> - <stl-vector name="bed"> - <int32_t ref-target='building'/> - </stl-vector> - <stl-vector name="armor_stand"> - <int32_t ref-target='building'/> - </stl-vector> - <stl-vector name="box"> - <int32_t ref-target='building'/> - </stl-vector> - </compound> - - <stl-vector name="unk_44"/> - - <static-array name='uniform' count='7' index-enum='uniform_category'> - <stl-vector> - <pointer type-name='squad_uniform_spec'/> - </stl-vector> - </static-array> - - <stl-string name="unk_c4"/> - - <compound name='flags' type-name='uniform_flags'/> - - <stl-vector name='assigned_items'> - <int32_t ref-target='item'/> - </stl-vector> - - <int32_t name="quiver" ref-target='item'/> - <int32_t name="backpack" ref-target='item'/> - <int32_t name="flask" ref-target='item'/> - - -- May be invalid: - <int32_t name="activity1" ref-target='activity_entry'/> - <int32_t name="activity2" ref-target='activity_entry'/> - <int32_t name="activity3" ref-target='activity_entry'/> - - <int32_t name="unk_10c"/> - <int32_t name="unk_110"/> - <int32_t name="unk_114"/> - <int32_t name="unk_118"/> - <int32_t name="unk_11c"/> - </struct-type> - - <struct-type type-name='squad' key-field='id' instance-vector='$global.world.squads.all'> - <int32_t name='id'/> - - <compound name='name' type-name='language_name'/> - - <stl-string name='alias' comment='if not empty, used instead of name'/> - - <code-helper name='describe'> - (describe-obj $.name) - </code-helper> - - <stl-vector name='positions'> - <pointer type-name='squad_position'/> - </stl-vector> - - <stl-vector name="unk_9c"/> - - <stl-vector name="schedule"> - <pointer> - <static-array count='12'> - <stl-string name='name'/> - - <int16_t name='sleep_mode' comment='0 room, 1 barrack will, 2 barrack need'/> - <int16_t name='uniform_mode' comment='0 uniformed, 1 civ clothes'/> - - <stl-vector name='orders'> - <pointer> - <pointer name="order"/> - <int32_t name="min_count"/> - <stl-vector name="unk_8"> - <int32_t/> - </stl-vector> - <int32_t name="unk_18"/> - </pointer> - </stl-vector> - - <stl-vector name='order_assignments'> - <int32_t refers-to='$$._parent._parent.orders[$]'/> - </stl-vector> - </static-array> - </pointer> - </stl-vector> - - <int32_t name="cur_alert_idx"/> - - <stl-vector name="rooms"> - <pointer> - <int32_t name='building_id' ref-target='building'/> - <compound name='mode' type-name='squad_use_flags'/> - </pointer> - </stl-vector> - - <stl-vector name="unk_d0"/> - <stl-vector name="unk_e0"/> - - <int32_t name="uniform_priority"/> - <int32_t name="activity" ref-target='activity_entry'/> - - <stl-vector name="ammunition"> - <pointer type-name='squad_ammo_spec'/> - </stl-vector> - - <stl-vector name="weapons_free"> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name="weapons_inuse"> - <int32_t ref-target='item'/> - </stl-vector> - - <stl-vector name="ammo_items"> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name="ammo_units"> - <int32_t ref-target='unit'/> - </stl-vector> - - <int16_t name="carry_food"/> - <int16_t name="carry_water"/> - </struct-type> - - <struct-type type-name='entity_uniform' key-field='id'> - <int32_t name="id"/> - <int16_t name="unk_4"/> - - <code-helper name='describe'> - (describe-obj $.name) - </code-helper> - - <static-array name='uniform_item_types' count='7' index-enum='uniform_category'> - <stl-vector> - <enum base-type='int16_t' type-name='item_type'/> - </stl-vector> - </static-array> - - <static-array name='uniform_item_subtypes' count='7' index-enum='uniform_category'> - <stl-vector> - <int16_t refers-to='(item-subtype-target $$._parent._parent._parent.uniform_item_types[$$._parent._key][$$._key] $)'/> - </stl-vector> - </static-array> - - <static-array name='uniform_item_info' count='7' index-enum='uniform_category'> - <stl-vector name="unk_e8"> - <pointer> - <int16_t name="unk_0"/> - <int16_t name="color"/> - <int32_t name="unk_4"/> - <int32_t name="unk_8"/> - <int32_t name="unk_c"/> - <compound name="indiv_choice" type-name='uniform_indiv_choice'/> - <int16_t name="mattype" ref-target='material' aux-value='$$.matindex'/> - <int32_t name="matindex"/> - <enum base-type='int16_t' name="material_class" type-name='uniform_material_class'/> - </pointer> - </stl-vector> - </static-array> - - <stl-string name="name"/> - - <compound name='flags' type-name='uniform_flags'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.projectile.xml b/library/xml/df.projectile.xml deleted file mode 100644 index 5fc9b3e4..00000000 --- a/library/xml/df.projectile.xml +++ /dev/null @@ -1,62 +0,0 @@ -<data-definition> - <struct-type type-name='proj_list_link'> - <pointer name='item' type-name='projectile'/> - <pointer name='prev' type-name='proj_list_link'/> - <pointer name='next' type-name='proj_list_link'/> - </struct-type> - - <class-type type-name='projectile' original-name='projst' key-field='id'> - <pointer name='link' type-name='proj_list_link'/> - - <int32_t name='id'/> - <pointer name='firer' type-name='unit'/> - - <int16_t name='origin_x'/> - <int16_t name='origin_y'/> - <int16_t name='origin_z'/> - <int16_t name='target_x'/> - <int16_t name='target_y'/> - <int16_t name='target_z'/> - <int16_t name='cur_x'/> - <int16_t name='cur_y'/> - <int16_t name='cur_z'/> - <int16_t name='prev_x'/> - <int16_t name='prev_y'/> - <int16_t name='prev_z'/> - - <int32_t name='distance_flown'/> - - <int32_t name='unk14'/> - <int32_t name='unk15'/> - <int32_t name='unk16'/> - - <bool name='collided' comment='or falling?'/> - - <int16_t name='fall_counter' comment='counts down from delay to 0, then it moves'/> - <int16_t name='fall_delay'/> - - <int32_t name='unk20'/> - <int32_t name='unk21'/> - <int32_t name='unk22'/> - <int32_t name='unk23'/> - </class-type> - - <class-type type-name='proj_itemst' inherits-from='projectile'> - <pointer name='item' type-name='item'/> - </class-type> - - <class-type type-name='proj_unitst' inherits-from='projectile'> - <pointer name='unit' type-name='unit' comment='?'/> - </class-type> - - <class-type type-name='proj_magicst' inherits-from='projectile'> - <pointer name='unk' comment='?'/> - </class-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.raws.xml b/library/xml/df.raws.xml deleted file mode 100644 index ed2745fb..00000000 --- a/library/xml/df.raws.xml +++ /dev/null @@ -1,237 +0,0 @@ -<data-definition> - <struct-type type-name='world_raws'> - -- Materials - - <stl-vector name='material_templates'> - <pointer type-name='material_template'/> - </stl-vector> - - -- Inorganic - - <stl-vector name='inorganics'> - <pointer type-name='material_inorganic'/> - </stl-vector> - <stl-vector name='inorganics_subset'> - <pointer type-name='material_inorganic'/> - </stl-vector> - - -- Plants - - <compound name='plants'> - dtor 852cc20 - - <stl-vector name='all'> - <pointer type-name='material_plant'/> - </stl-vector> - <stl-vector name='bushes'> - <pointer type-name='material_plant'/> - </stl-vector> - <stl-vector name='bushes_idx' index-refers-to='$$._parent.bushes[$]'> - <int32_t ref-target='material_plant'/> - </stl-vector> - <stl-vector name='trees'> - <pointer type-name='material_plant'/> - </stl-vector> - <stl-vector name='trees_idx' index-refers-to='$$._parent.trees[$]'> - <int32_t ref-target='material_plant'/> - </stl-vector> - <stl-vector name='grasses'> - <pointer type-name='material_plant'/> - </stl-vector> - <stl-vector name='grasses_idx' index-refers-to='$$._parent.grasses[$]'> - <int32_t ref-target='material_plant'/> - </stl-vector> - </compound> - - -- Creature RAWs - - <stl-vector name='tissue_templates' type-name='pointer'/> - - dtor 89bab50 - <stl-vector name='misc_templates' type-name='pointer'/> - - dtor 8527e40 - <stl-vector name='body_templates' type-name='pointer'/> - - <stl-vector name='part_name_pairs'> - <pointer key-field='id'> - <stl-string name='id'/> - <stl-string name='human_singular'/> - <stl-string name='animal_singular'/> - <stl-string name='human_plural'/> - <stl-string name='animal_plural'/> - </pointer> - </stl-vector> - - dtor 89ba980 - <stl-vector name='mutant_templates' type-name='pointer'/> - - -- Creatures - - <compound name='creatures'> - dtor 81448c0 - - <stl-vector name='alphabetic'> - <pointer type-name='creature_raw'/> - </stl-vector> - - <stl-vector name='all'> - <pointer type-name='creature_raw'/> - </stl-vector> - - <int32_t name='unk1'/> - - <stl-vector name='list_creature' type-name='int32_t' - comment='Together with list_caste, a list of all caste indexes in order.'/> - <stl-vector name='list_caste' type-name='int32_t'/> - </compound> - - -- Item RAWs - - <compound name='itemdefs'> - dtor 852e080 - - <stl-vector name='all'> - <pointer type-name='itemdef'/> - </stl-vector> - - <stl-vector name='weapons'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='trapcomps'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='toys'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='tools'> - <pointer type-name='itemdef'/> - </stl-vector> - <static-array name='tools_by_type' count='14'> - <stl-vector> - <pointer type-name='itemdef'/> - </stl-vector> - </static-array> - <stl-vector name='instruments'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='armor'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='ammo'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='siege_ammo'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='gloves'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='shoes'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='shields'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='helms'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='pants'> - <pointer type-name='itemdef'/> - </stl-vector> - <stl-vector name='food'> - <pointer type-name='itemdef'/> - </stl-vector> - </compound> - - -- Sapient species - - <stl-vector name='species'> - <pointer/> - </stl-vector> - - -- Language RAWs - - dtor 852bc90 - - <stl-vector name='language_words'> - <pointer type-name='language_word'/> - </stl-vector> - - <stl-vector name='language_symbols'> - <pointer type-name='language_symbol'/> - </stl-vector> - - <stl-vector name='translations'> - <pointer type-name='language_translation'/> - </stl-vector> - - <static-array name='unknown_54c88' count='2'> - <static-array count='58'> - <static-array count='12'> - <stl-vector type-name='int32_t'/> - </static-array> - </static-array> - </static-array> - - -- Words - - <stl-vector name='color_words'> - <pointer key-field='id'> - <stl-string name="id"/> - <stl-vector name="unk_1c"/> - <stl-vector name="unk_2c"/> - <stl-string name="name"/> - <int16_t name="unk_58"/> - <s-float name="unk_5c"/> - <s-float name="unk_60"/> - <s-float name="unk_64"/> - </pointer> - </stl-vector> - <stl-vector name='shape_words'> - <pointer key-field='id'> - <stl-string name="id"/> - <stl-vector name="unk_1c"/> - <stl-vector name="unk_2c"/> - <stl-string name="name"/> - <stl-string name="name_plural"/> - <stl-vector name="unk_74"/> - <int8_t name="unk_84"/> - </pointer> - </stl-vector> - <stl-vector name='all_color_words' type-name='pointer'/> - - -- Reaction RAWs - - <stl-vector name='reactions'> - <pointer/> - </stl-vector> - - -- Workshops - - <compound name='buildings'> - <stl-vector name='all'> - <pointer type-name='building_def'/> - </stl-vector> - <stl-vector name='workshops'> - <pointer type-name='building_def'/> - </stl-vector> - <stl-vector name='furnaces'> - <pointer type-name='building_def'/> - </stl-vector> - - <int32_t name='unk3'/> - </compound> - - -- Material index - - <compound name='mat_table' type-name='special_mat_table'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.refs.xml b/library/xml/df.refs.xml deleted file mode 100644 index 04671dc5..00000000 --- a/library/xml/df.refs.xml +++ /dev/null @@ -1,109 +0,0 @@ -<data-definition> - <class-type type-name='general_ref' original-name='general_refst'/> - - <class-type type-name='general_ref_artifact' inherits-from='general_ref' - original-name='general_ref_artifactst'> - <int32_t name='artifact_id' ref-target='artifact_record'/> - </class-type> - - <class-type type-name='general_ref_nemesis' inherits-from='general_ref' - original-name='general_ref_nemesisst'> - <int32_t name='nemesis_id' ref-target='nemesis_record'/> - </class-type> - - <class-type type-name='general_ref_item' inherits-from='general_ref' - original-name='general_ref_itemst'> - <int32_t name='item_id' ref-target='item'/> - </class-type> - - <class-type type-name='general_ref_item_type' inherits-from='general_ref' - original-name='general_ref_item_typest'> - <enum base-type='int32_t' name='type' type-name='item_type'/> - <int32_t name='subtype' refers-to='(item-subtype-target $$._parent.type $)'/> - <int16_t name='unk1'/> - <int16_t name='unk2'/> - </class-type> - - <class-type type-name='general_ref_coinbatch' inherits-from='general_ref' - original-name='general_ref_coinbatchst'> - <int32_t name='batch'/> - </class-type> - - <class-type type-name='general_ref_mapsquare' inherits-from='general_ref' - original-name='general_ref_mapsquarest'> - <int16_t name='unk1'/> - <int16_t name='unk2'/> - <int32_t name='unk3'/> - </class-type> - - <class-type type-name='general_ref_projectile' inherits-from='general_ref' - original-name='general_ref_projectilest'> - <int32_t name='projectile_id'/> - </class-type> - - <class-type type-name='general_ref_unit' inherits-from='general_ref' - original-name='general_ref_unitst'> - <int32_t name='unit_id' ref-target='unit'/> - </class-type> - - <class-type type-name='general_ref_building' inherits-from='general_ref' - original-name='general_ref_buildingst'> - <int32_t name='building_id' ref-target='building'/> - </class-type> - - <class-type type-name='general_ref_building_well_tag' inherits-from='general_ref_building' - original-name='general_ref_building_well_tagst'> - <bool name='unk'/> - </class-type> - - <class-type type-name='general_ref_entity' inherits-from='general_ref' - original-name='general_ref_entityst'> - <int32_t name='entity_id' ref-target='historical_entity'/> - </class-type> - - <class-type type-name='general_ref_entity_art_image' inherits-from='general_ref' - original-name='general_ref_entity_art_imagest'> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - </class-type> - - <class-type type-name='general_ref_is_artifactst' inherits-from='general_ref_artifact'/> - <class-type type-name='general_ref_is_nemesisst' inherits-from='general_ref_nemesis'/> - <class-type type-name='general_ref_contains_unitst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_contains_itemst' inherits-from='general_ref_item'/> - <class-type type-name='general_ref_contained_in_itemst' inherits-from='general_ref_item'/> - <class-type type-name='general_ref_unit_milkeest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_traineest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_itemownerst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_tradebringerst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_holderst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_workerst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_cageest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_beateest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_foodreceiverst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_kidnapeest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_patientst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_infantst' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_slaughtereest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_unit_sheareest' inherits-from='general_ref_unit'/> - <class-type type-name='general_ref_building_civzone_assignedst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_triggerst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_triggertargetst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_chainst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_cagedst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_holderst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_use_target_1st' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_use_target_2st' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_destinationst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_building_nest_boxst' inherits-from='general_ref_building'/> - <class-type type-name='general_ref_entity_stolenst' inherits-from='general_ref_entity'/> - <class-type type-name='general_ref_entity_offeredst' inherits-from='general_ref_entity'/> - <class-type type-name='general_ref_entity_itemownerst' inherits-from='general_ref_entity'/> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.stockpile.xml b/library/xml/df.stockpile.xml deleted file mode 100644 index cfd48e38..00000000 --- a/library/xml/df.stockpile.xml +++ /dev/null @@ -1,254 +0,0 @@ -<data-definition> - <struct-type type-name='stockpile_settings_food'> - <stl-vector type-name='bool' name='meat' - index-refers-to='(food-mat-by-idx $Meat $)'/> - <stl-vector type-name='bool' name='fish' - index-refers-to='(food-mat-by-idx $Fish $)'/> - <stl-vector type-name='bool' name='unprepared_fish' - index-refers-to='(food-mat-by-idx $UnpreparedFish $)'/> - <stl-vector type-name='bool' name='egg' - index-refers-to='(food-mat-by-idx $Eggs $)'/> - <stl-vector type-name='bool' name='plants' - index-refers-to='(food-mat-by-idx $Plants $)'/> - <stl-vector type-name='bool' name='drink_plant' - index-refers-to='(food-mat-by-idx $PlantDrink $)'/> - <stl-vector type-name='bool' name='drink_animal' - index-refers-to='(food-mat-by-idx $CreatureDrink $)'/> - <stl-vector type-name='bool' name='cheese_plant' - index-refers-to='(food-mat-by-idx $PlantCheese $)'/> - <stl-vector type-name='bool' name='cheese_animal' - index-refers-to='(food-mat-by-idx $CreatureCheese $)'/> also 26 - <stl-vector type-name='bool' name='seeds' - index-refers-to='(food-mat-by-idx $Seed $)'/> also 31 - <stl-vector type-name='bool' name='leaves' - index-refers-to='(food-mat-by-idx $Leaf $)'/> also 32 - <stl-vector type-name='bool' name='powder_plant' - index-refers-to='(food-mat-by-idx $PlantPowder $)'/> - <stl-vector type-name='bool' name='powder_creature' - index-refers-to='(food-mat-by-idx $CreaturePowder $)'/> - <stl-vector type-name='bool' name='glob' - index-refers-to='(food-mat-by-idx $Glob $)'/> - <stl-vector type-name='bool' name='glob_paste' - index-refers-to='(food-mat-by-idx $Paste $)'/> - <stl-vector type-name='bool' name='glob_pressed' - index-refers-to='(food-mat-by-idx $Pressed $)'/> - <stl-vector type-name='bool' name='liquid_plant' - index-refers-to='(food-mat-by-idx $PlantLiquid $)'/> - <stl-vector type-name='bool' name='liquid_animal' - index-refers-to='(food-mat-by-idx $CreatureLiquid $)'/> - <stl-vector type-name='bool' name='liquid_misc' - index-refers-to='(food-mat-by-idx $MiscLiquid $)'/> - </struct-type> - - <struct-type type-name='stockpile_settings_refuse'> - <stl-vector type-name='bool' name='type' index-enum='item_type'/> - <stl-vector type-name='bool' name='corpses' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='body_parts' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='skulls' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='bones' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='hair' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='shells' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='teeth' - index-refers-to='(find-creature $)'/> - <stl-vector type-name='bool' name='horns' - index-refers-to='(find-creature $)'/> - </struct-type> - - <enum-type type-name='stockpile_category'> - <enum-item name='Animals'/> - <enum-item name='Food'/> - <enum-item name='Furniture'/> - <enum-item name='Corpses'/> - <enum-item name='Refuse'/> - <enum-item name='Stone'/> - - <enum-item name='Unused6'/> - - <enum-item name='Ammo'/> - <enum-item name='Coins'/> - <enum-item name='Bars'/> - <enum-item name='Gems'/> - <enum-item name='Goods'/> - <enum-item name='Leather'/> - <enum-item name='Cloth'/> - <enum-item name='Wood'/> - <enum-item name='Weapons'/> - <enum-item name='Armor'/> - - <enum-item name='Custom'/> - </enum-type> - - <struct-type type-name='stockpile_settings'> - <bitfield name='flags' base-type='uint32_t'> - <flag-bit name='animals'/> - <flag-bit name='food'/> - <flag-bit name='furniture'/> - <flag-bit name='corpses'/> - <flag-bit name='refuse'/> - <flag-bit name='stone'/> - <flag-bit name='ammo'/> - <flag-bit name='coins'/> - - <flag-bit name='bars'/> - <flag-bit name='gems'/> - <flag-bit name='goods'/> - <flag-bit name='leather'/> - <flag-bit name='cloth'/> - <flag-bit name='wood'/> - <flag-bit name='weapons'/> - <flag-bit name='armor'/> - </bitfield> - - <compound name='animals'> - <bool name='animals_empty_cages'/> - <bool name='animals_empty_traps'/> - <stl-vector type-name='bool' name='enabled' - index-refers-to='(find-creature $)'/> - </compound> - - <compound name='food'> - <compound type-name='stockpile_settings_food' name='type'/> - <bool name='prepared_meals'/> - </compound> - - <compound name='furniture'> - <stl-vector type-name='bool' name='type' index-enum='item_type'/> - <stl-vector type-name='bool' name='other_mats'/> 16 - <stl-vector type-name='bool' name='mats' - index-refers-to='(material-by-id 0 $)'/> - <static-array type-name='bool' name='quality_core' count='7' index-enum='item_quality'/> - <static-array type-name='bool' name='quality_total' count='7' index-enum='item_quality'/> - <bool name='sand_bags'/> - </compound> - - <int32_t name='unk1'/> - - <compound name='refuse'> - <compound type-name='stockpile_settings_refuse' name='type'/> - <bool name='fresh_raw_hide'/> - <bool name='rotten_raw_hide'/> - </compound> - - <stl-vector type-name='bool' name='stone' - index-refers-to='(material-by-id 0 $)'/> - - <stl-vector type-name='bool' name='unk2'/> - - <compound name='ammo'> - <stl-vector type-name='bool' name='type' - index-refers-to='$global.world.raws.itemdefs.ammo[$]'/> - <stl-vector type-name='bool' name='other_mats'/> 2 - <stl-vector type-name='bool' name='mats' - index-refers-to='(material-by-id 0 $)'/> - <static-array type-name='bool' name='quality_core' count='7' index-enum='item_quality'/> - <static-array type-name='bool' name='quality_total' count='7' index-enum='item_quality'/> - </compound> - - <stl-vector type-name='bool' name='coins' - index-refers-to='(material-by-id 0 $)'/> - - <stl-vector type-name='bool' name='bars_other_mats'/> 5 - <stl-vector type-name='bool' name='blocks_other_mats'/> 5 - <stl-vector type-name='bool' name='bars_mats' - index-refers-to='(material-by-id 0 $)'/> - <stl-vector type-name='bool' name='blocks_mats' - index-refers-to='(material-by-id 0 $)'/> - - <compound name='gems'> - <stl-vector type-name='bool' name='rough_other_mats' - index-refers-to='(material-by-id $ -1)'/> 659 - <stl-vector type-name='bool' name='cut_other_mats' - index-refers-to='(material-by-id $ -1)'/> - <stl-vector type-name='bool' name='rough_mats' - index-refers-to='(material-by-id 0 $)'/> - <stl-vector type-name='bool' name='cut_mats' - index-refers-to='(material-by-id 0 $)'/> - </compound> - - <compound name='finished_goods'> - <stl-vector type-name='bool' name='type' index-enum='item_type'/> - <stl-vector type-name='bool' name='other_mats'/> 17 - <stl-vector type-name='bool' name='mats' - index-refers-to='(material-by-id 0 $)'/> - <static-array type-name='bool' name='quality_core' count='7' index-enum='item_quality'/> - <static-array type-name='bool' name='quality_total' count='7' index-enum='item_quality'/> - </compound> - - <stl-vector type-name='bool' name='leather' - index-refers-to='(food-mat-by-idx $Leather $)'/> - - <compound name='cloth'> - <stl-vector type-name='bool' name='thread_silk' - index-refers-to='(food-mat-by-idx $Silk $)'/> - <stl-vector type-name='bool' name='thread_plant' - index-refers-to='(food-mat-by-idx $PlantFiber $)'/> - <stl-vector type-name='bool' name='thread_yarn' - index-refers-to='(food-mat-by-idx $Yarn $)'/> - <stl-vector type-name='bool' name='thread_metal' - index-refers-to='(food-mat-by-idx $MetalThread $)'/> - <stl-vector type-name='bool' name='cloth_silk' - index-refers-to='(food-mat-by-idx $Silk $)'/> - <stl-vector type-name='bool' name='cloth_plant' - index-refers-to='(food-mat-by-idx $PlantFiber $)'/> - <stl-vector type-name='bool' name='cloth_yarn' - index-refers-to='(food-mat-by-idx $Yarn $)'/> - <stl-vector type-name='bool' name='cloth_metal' - index-refers-to='(food-mat-by-idx $MetalThread $)'/> - </compound> - - <stl-vector type-name='bool' name='wood' - index-refers-to='(find-plant-raw $)'/> - - <compound name='weapons'> - <stl-vector type-name='bool' name='weapon_type' - index-refers-to='$global.world.raws.itemdefs.weapons[$]'/> - <stl-vector type-name='bool' name='trapcomp_type' - index-refers-to='$global.world.raws.itemdefs.trapcomps[$]'/> - <stl-vector type-name='bool' name='other_mats'/> 11 - <stl-vector type-name='bool' name='mats' - index-refers-to='(material-by-id 0 $)'/> - <static-array type-name='bool' name='quality_core' count='7' index-enum='item_quality'/> - <static-array type-name='bool' name='quality_total' count='7' index-enum='item_quality'/> - <bool name='usable'/> - <bool name='unusable'/> - </compound> - - <compound name='armor'> - <stl-vector type-name='bool' name='body' - index-refers-to='$global.world.raws.itemdefs.armor[$]'/> - <stl-vector type-name='bool' name='head' - index-refers-to='$global.world.raws.itemdefs.helms[$]'/> - <stl-vector type-name='bool' name='feet' - index-refers-to='$global.world.raws.itemdefs.shoes[$]'/> - <stl-vector type-name='bool' name='hands' - index-refers-to='$global.world.raws.itemdefs.gloves[$]'/> - <stl-vector type-name='bool' name='legs' - index-refers-to='$global.world.raws.itemdefs.pants[$]'/> - <stl-vector type-name='bool' name='shield' - index-refers-to='$global.world.raws.itemdefs.shields[$]'/> - <stl-vector type-name='bool' name='other_mats'/> 11 - <stl-vector type-name='bool' name='mats' - index-refers-to='(material-by-id 0 $)'/> - <static-array type-name='bool' name='quality_core' count='7' index-enum='item_quality'/> - <static-array type-name='bool' name='quality_total' count='7' index-enum='item_quality'/> - <bool name='usable'/> - <bool name='unusable'/> - </compound> - - <bool name='allow_organic'/> - <bool name='allow_inorganic'/> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.ui.xml b/library/xml/df.ui.xml deleted file mode 100644 index 826a507c..00000000 --- a/library/xml/df.ui.xml +++ /dev/null @@ -1,607 +0,0 @@ -<data-definition> - <struct-type type-name='dipscript_info' key-field='code'> - <int32_t name='unk1' comment='uninit'/> - <stl-string name='script_file' comment='data/dipscript/dwarf_liaison'/> - <stl-vector name='script_steps' type-name='pointer'/> - <stl-vector name='unknown' comment='null'/> - <stl-string name='code' comment='DWARF_LIAISON etc'/> - </struct-type> - - <struct-type type-name='burrow' key-field='id' instance-vector='$global.ui.burrows.list'> - <int32_t name='id'/> - <stl-string name='name'/> - - <code-helper name='describe'> - (describe-obj $.name) - </code-helper> - - <uint8_t name='tile'/> - <int16_t name='fg_color'/> - <int16_t name='bg_color'/> - <stl-vector name='unk1' type-name='int32_t'/> - <stl-vector name='unk2' type-name='int32_t'/> - <stl-vector name='unk3' type-name='int32_t'/> - <stl-vector name='units'> - <int32_t ref-target='unit'/> - </stl-vector> - </struct-type> - - <enum-type type-name='ui_sidebar_mode'> - <enum-item name='Default'/> - <enum-item name='Squads'/> - - -- 2 - - <enum-item name='DesignateMine'/> - <enum-item name='DesignateRemoveRamps'/> - <enum-item name='DesignateUpStair'/> - <enum-item name='DesignateDownStair'/> - <enum-item name='DesignateUpDownStair'/> - <enum-item name='DesignateUpRamp'/> - <enum-item name='DesignateChannel'/> - <enum-item name='DesignateGatherPlants'/> - <enum-item name='DesignateRemoveDesignation'/> - <enum-item name='DesignateSmooth'/> - <enum-item name='DesignateEngrave'/> - <enum-item name='DesignateCarveFortification'/> - - -- 14 - - <enum-item name='Stockpiles'/> - <enum-item name='Build'/> - <enum-item name='QueryBuilding'/> - - -- 17 - - <enum-item name='Orders'/> - <enum-item name='OrdersForbid'/> - <enum-item name='OrdersRefuse'/> - <enum-item name='OrdersWorkshop'/> - <enum-item name='OrdersZone'/> - - -- 22 - - <enum-item name='BuildingItems'/> - <enum-item name='ViewUnits'/> - <enum-item name='LookAround'/> - - -- 25 - - <enum-item name='DesignateItemsClaim'/> - <enum-item name='DesignateItemsForbid'/> - <enum-item name='DesignateItemsMelt'/> - <enum-item name='DesignateItemsUnmelt'/> - <enum-item name='DesignateItemsDump'/> - <enum-item name='DesignateItemsUndump'/> - <enum-item name='DesignateItemsHide'/> - <enum-item name='DesignateItemsUnhide'/> - - -- 33 - - <enum-item name='DesignateChopTrees'/> - <enum-item name='DesignateToggleEngravings'/> - - -- 35 - - <enum-item name='Hotkeys'/> - - -- 36 - - <enum-item name='DesignateTrafficHigh'/> - <enum-item name='DesignateTrafficNormal'/> - <enum-item name='DesignateTrafficLow'/> - <enum-item name='DesignateTrafficRestricted'/> - - -- 40 - - <enum-item name='Zones'/> - <enum-item name='ZonesPenInfo'/> - <enum-item name='ZonesPitInfo'/> - <enum-item name='ZonesHospitalInfo'/> - - -- 44 - - <enum-item name='DesignateRemoveConstruction'/> - - <enum-item name='DepotAccess'/> - <enum-item name='NotesPoints'/> - <enum-item name='NotesRoutes'/> - <enum-item name='Burrows'/> - </enum-type> - - <struct-type type-name='cursor'> - <int32_t name='x'/> - <int32_t name='y'/> - <int32_t name='z'/> - </struct-type> - - <struct-type type-name='selection_rect'> - <int32_t name='start_x'/> - <int32_t name='start_y'/> - <int32_t name='start_z'/> - <int32_t name='end_x' - comment='only valid for an instant while its being completed'/> - <int32_t name='end_y'/> - <int32_t name='end_z'/> - </struct-type> - - <struct-type type-name='ui'> - ctor 86e33c0 x - dtor 8534190 - - <padding size='16'/> - <stl-vector name='unk10'/> - <padding size='76'/> - <stl-vector name='unk68' type-name='pointer'/> - <padding size='388'/> - <stl-vector name='currency_value' type-name='int32_t' - index-refers-to='(material-by-id 0 $)'/> - <padding size='812'/> - <stl-vector name='unk530' type-name='int32_t'/> - <padding size='7516'/> - <stl-vector name='unk2298' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk22a4' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk22b0' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <stl-vector name='unk22bc' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <padding size='16'/> - <stl-vector name='unk22d8' type-name='int32_t'/> - <padding size='4'/> - <stl-vector name='unk22e8'/> - - <stl-vector name='dip_meeting_vec'> - <pointer type-name='meeting_diplomat'/> - </stl-vector> - - <stl-vector name='dip_meeting_info'> - <pointer> - <int32_t name='civ_id' ref-target='historical_entity'/> - <int16_t name='unk1'/> - <int32_t name='diplomat_id' ref-target='historical_figure'/> - <int32_t name='unk2' comment='-1'/> - <padding size='32' comment='0'/> - <pointer name='dipscript' type-name='dipscript_info'/> - <padding size='16' comment='0'/> - <stl-string name='unk3'/> - <stl-string name='unk4'/> - <padding size='112' comment='0'/> - </pointer> - </stl-vector> - - <stl-vector name='unk230c' comment='really a wild guess'> - <int32_t ref-target='unit'/> - </stl-vector> - - <padding size='4'/> - - <stl-vector name='invasions' comment='goblins...'> - <pointer> - <int32_t name='id'/> - <int32_t name='civ_id' ref-target='historical_entity'/> - <int32_t name='is_active1' comment='0 unless active'/> - <int32_t name='is_active2'/> - <int32_t name='size' comment='just a guess'/> - <int32_t name='duration_counter'/> - <int16_t name='unk4a'/> - <int16_t name='unk4b'/> - </pointer> - </stl-vector> - <int32_t name='next_invasion_id'/> - - <stl-vector name='crimes'> - <pointer> - <enum name='mode' base-type='int16_t'> - <enum-item name='ProductionOrderViolation'/> - <enum-item name='ExportViolation'/> - <enum-item name='JobOrderViolation'/> - <enum-item name='ConspiracyToSlowLabor'/> - <enum-item name='Murder'/> - <enum-item name='DisorderlyBehavior'/> - <enum-item name='BuildingDestruction'/> - <enum-item name='Vandalism'/> - </enum> - <int16_t name='unk2' comment='uninit'/> - - <int16_t name='unk3'/> - <int16_t name='unk4'/> - <int32_t name='unk5'/> - - <pointer name='criminal' type-name='unit'/> - <pointer name='victim' type-name='unit'/> - <int32_t name='punishment_assigned'/> - </pointer> - </stl-vector> - - <stl-vector name='punishments'> - <pointer> - <pointer name="criminal" type-name='unit'/> - <pointer name="officer" type-name='unit'/> - <int16_t name="beating"/> - <int16_t name="hammer_strikes"/> - <int32_t name="prison_counter"/> - <int16_t name="unk_10" comment='10080'/> - <pointer name="chain" type-name='building'/> - <stl-vector name="victims"> - <pointer type-name="unit"/> - </stl-vector> - </pointer> - </stl-vector> - - <stl-vector name='pet_meeting_vec'> - <pointer type-name='meeting_pet'/> - </stl-vector> - - <stl-vector name='unk2350' type-name='pointer'/> - <stl-vector name='unk235c' type-name='pointer'/> - - <stl-vector name='dipscripts'> - <pointer type-name='dipscript_info'/> - </stl-vector> - - <stl-vector name='unk2374' type-name='pointer'/> - - <compound name='kitchen'> - <stl-vector name='item_types' type-name='int16_t'/> - <stl-vector name='item_subtypes' type-name='int16_t'/> - <stl-vector name='mat_types'> - <int16_t ref-target='material' aux-value='$$._parent.mat_indices[$._key]'/> - </stl-vector> - <stl-vector name='mat_indices' type-name='int32_t'/> - <stl-vector name='exc_types' type-name='int8_t'/> - </compound> - - <stl-vector name='economic_stone' type-name='bool' - index-refers-to='(material-by-id 0 $)'/> - - <padding size='4'/> - <int16_t name='unk23cc'/> - <int16_t name='unk23ce'/> - <int32_t name='unk23d0'/> - <int32_t name='unk23d4'/> - - <int32_t name='group_id' ref-target='historical_entity'/> - <int32_t name='race_id' ref-target='creature_raw'/> - - <stl-vector name='unk23e0' type-name='int16_t'/> - <stl-vector name='unk23ec' type-name='int8_t'/> - - <static-array name='unk23f8' count='2'> - <static-array count='30'> - <stl-vector type-name='int32_t'/> - </static-array> - </static-array> - - <compound name='stockpile'> - <int32_t name='reserved_bins'/> - <int32_t name='reserved_barrels'/> - - <compound name='custom_settings' type-name='stockpile_settings'/> - </compound> - - <static-array name='unk2a8c' count='4'> - <static-array count='768'> - <int16_t name='unk1'/> - <int16_t name='unk2'/> - </static-array> - </static-array> - - <stl-vector name='unk5a8c' type-name='int16_t'/> - <stl-vector name='unk5a98' type-name='int16_t'/> - <stl-vector name='unk5aa4' type-name='int16_t'/> - - <static-array name='unk5ab0' count='5'> - <stl-vector type-name='int16_t'/> - </static-array> - - <stl-vector name='unk5aec' type-name='int16_t'/> - - <static-array name='unk5af8' count='5'> - <stl-vector type-name='int16_t'/> - </static-array> - - <stl-vector name='unk5b34' type-name='int16_t'/> - - <static-array name='unk5b40' count='5'> - <stl-vector type-name='int16_t'/> - </static-array> - - <stl-vector name='unk5b7c' type-name='int16_t'/> - - <static-array name='unk5b88' count='7'> - <stl-vector/> - </static-array> - - <compound name='waypoints'> - <stl-vector name='points'> - <pointer key-field='name'> - <int32_t name='id'/> - <uint8_t name='tile'/> - <int16_t name='fg_color'/> - <int16_t name='bg_color'/> - <stl-string name='name'/> - <stl-string name='comment'/> - <int16_t name='x'/> - <int16_t name='y'/> - <int16_t name='z'/> - </pointer> - </stl-vector> - <stl-vector name='routes'> - <pointer key-field='name'> - <int32_t name='id'/> - <stl-string name='name'/> - <stl-vector name='points'> - <int32_t/> - </stl-vector> - </pointer> - </stl-vector> - <int16_t name='sym_selector'/> - <int16_t/> - <int32_t name='cur_point_index'/> - <bool name='in_edit_name_mode'/> - <int8_t/> - <uint8_t name='sym_tile'/> - <int16_t name='sym_fg_color'/> - <int16_t name='sym_bg_color'/> - <stl-vector name='unk5c04'> - <pointer type-name='stl-string'/> - </stl-vector> - <int32_t name='next_point_id'/> - <int32_t name='next_route_id'/> - <int32_t name='sel_route_idx'/> - <int32_t name='sel_route_waypt_idx'/> - <bool name='in_edit_waypts_mode'/> - </compound> - - <compound name='burrows'> - <stl-vector name='list'> - <pointer type-name='burrow'/> - </stl-vector> - <int32_t name='next_id'/> - <int32_t name='sel_index1'/> - <int32_t name='sel_index2'/> - <bool name='in_add_units_mode'/> - <stl-vector name='list_units'> - <pointer type-name='unit'/> - </stl-vector> - <stl-bit-vector name='sel_units' index-refers-to='$$._parent.list_units[$]'/> - <int32_t name='unit_cursor_pos'/> - <bool name='in_define_mode'/> - <int16_t name='rect_start_x'/> - <int16_t name='rect_start_y'/> - <int16_t name='rect_start_z'/> - <int32_t name='brush_mode'/> - <int16_t name='sym_selector'/> - <int16_t name='sym_tile'/> - <int16_t name='sym_fg_color'/> - <int16_t name='sym_bg_color'/> - </compound> - - <compound name='alerts'> - <stl-vector name='list'> - <pointer key-field='name'> - <int32_t name='id'/> - <stl-string name='name'/> - <stl-vector/> - </pointer> - </stl-vector> - <int32_t name='next_id'/> - <int32_t name='civ_alert_idx' refers-to='$$._parent.list[$]'/> - </compound> - - <compound name='equipment'> - <static-array name='items_by_type1' count='112' index-enum='item_type'> - <stl-vector> - <pointer type-name='item'/> - </stl-vector> - </static-array> - - <static-array name='items_unassigned' count='112' index-enum='item_type'> - <stl-vector> - <pointer type-name='item'/> - </stl-vector> - </static-array> - <static-array name='items_assigned' count='112' index-enum='item_type'> - <stl-vector> - <pointer type-name='item'/> - </stl-vector> - </static-array> - - <int32_t name='unk6c4c'/> - - <stl-vector name='work_weapons' comment='i.e. woodcutter axes, and miner picks'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='work_units'> - <int32_t ref-target='unit'/> - </stl-vector> - - <stl-vector name='hunter_ammunition'> - <pointer type-name='squad_ammo_spec'/> - </stl-vector> - <stl-vector name='ammo_items'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='ammo_units'> - <int32_t ref-target='unit'/> - </stl-vector> - </compound> - - <compound name='main'> - <static-array name='hotkeys' count='16'> - <stl-string name='name'/> - <int16_t name='cmd'/> - <int32_t name='x'/> - <int32_t name='y'/> - <int32_t name='z'/> - </static-array> - - <int32_t name='traffic_cost_high'/> - <int32_t name='traffic_cost_normal'/> - <int32_t name='traffic_cost_low'/> - <int32_t name='traffic_cost_restricted'/> - - <stl-vector name='unk6ddc'> - <pointer> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - <int32_t name='unk3'/> - <int32_t name='unk4'/> - <int32_t name='unk5'/> - <int16_t name='unk6'/> - <int32_t name='unk7'/> - </pointer> - </stl-vector> - - <pointer name='unk6de8' type-name='historical_entity'/> - - <enum base-type='int32_t' name='mode' type-name='ui_sidebar_mode'/> - - <int32_t name='selected_traffic_cost' - comment='For changing the above costs.'/> - - <int32_t name='unk6df4'/> - - <int16_t name='selected_hotkey'/> - <bool name='in_rename_hotkey'/> - </compound> - - <compound name='squads'> - <stl-vector name='list' has-bad-pointers='true' - comment='valid only when ui is displayed'> - <pointer type-name='squad'/> - </stl-vector> - - <stl-vector name='unk6e08'/> - - <stl-bit-vector name='sel_squads' index-refers-to='$$._parent.list[$]'/> - - <stl-vector name='indiv_selected'> - <int32_t ref-target='historical_figure'/> - </stl-vector> - <bool name='in_select_indiv'/> - <int32_t name='sel_indiv_squad' refers-to='$$._parent.list[$]'/> - - <padding size='8'/> - - <int32_t name='unk48'/> - <pointer name='unk4c' type-name='squad'/> - - <bool name='in_move_order'/> - <int32_t name='point_list_scroll'/> - - <bool name='in_kill_order'/> - - <stl-vector name='kill_rect_targets'> - <pointer type-name='unit'/> - </stl-vector> - - <padding size='4'/> - - <bool name='in_kill_list'/> - <stl-vector name='kill_targets'> - <pointer type-name='unit'/> - </stl-vector> - <stl-bit-vector name='sel_kill_targets' index-refers-to='$$._parent.kill_target[$]'/> - <padding size='4'/> - - <bool name='in_kill_rect'/> - <int16_t name='rect_start_x'/> - <int16_t name='rect_start_y'/> - <int16_t name='rect_start_z'/> - </compound> - - <padding size='4'/> - </struct-type> - - <struct-type type-name='build_item_selector'> - <stl-vector name='requirement'> - <pointer> - <enum base-type='int16_t' name="item_type" type-name='item_type'/> - <int16_t name="unk_2"/> - <int16_t name="unk_4"/> - <int32_t name="unk_8"/> - <int32_t name="unk_c"/> - <pointer name="item_vector"> - <stl-vector> - <pointer type-name='item'/> - </stl-vector> - </pointer> - <int8_t name="unk_14"/> - <int32_t name="unk_18"/> - <int8_t name="unk_1c"/> - <int32_t name="unk_20"/> - <int8_t name="unk_24"/> - <int32_t name="unk_28"/> - <int8_t name="unk_2c"/> - <int32_t name="unk_30"/> - <int8_t name="unk_34"/> - <stl-string name='unk38'/> - <stl-string name='unk3c'/> - <int32_t name="unk_40"/> - <int16_t name="unk_44"/> - <int8_t name="unk_46"/> - <int32_t name="unk_48"/> - <int32_t name="unk_4c"/> - <stl-vector name='unk50'/> - <int8_t name="unk_5c"/> - <int16_t name="unk_5e"/> - <int16_t name="unk_60"/> - <int16_t name="unk_62"/> - <int16_t name="unk_64"/> - <int32_t name="unk_68"/> - <int32_t name="unk_6c"/> - <int32_t name="unk_70"/> - <int32_t name="unk_74"/> - <stl-vector name='unk78'/> - <int8_t name="unk_84"/> - <stl-vector name='candidates'> - <pointer type-name='item'/> - </stl-vector> - <stl-vector name='unk_94' type-name='int8_t'/> - <stl-vector name='unk_a0' type-name='int16_t'/> - <stl-vector name='unk_ac' type-name='int8_t'/> - <int32_t name="unk_b8"/> - <int16_t name="unk_bc"/> - </pointer> - </stl-vector> - - <stl-vector name='choices' type-name='pointer'/> - - <int32_t name="unk_18"/> - <int16_t name="unk_1c"/> - <int16_t name="unk_1e"/> - <int32_t name="unk_20"/> - <int32_t name="unk_24"/> - <int16_t name="unk_28"/> - <int16_t name="sel_index"/> - <int32_t name="unk_2c"/> - - <stl-vector name='unk3'> - <pointer type-name='stl-string'/> - </stl-vector> - <stl-vector name='unk4'> - <pointer type-name='stl-string'/> - </stl-vector> - <padding size='3848'/> - <int32_t name='unk5_1'/> - <int32_t name='unk5_2'/> - <int8_t name='unk5_3a'/> - <int8_t name='unk5_3b'/> - <int8_t name='unk5_3c'/> - <int8_t name='unk5_3d'/> - <int32_t name='unk5_4'/> - <stl-vector name='unk6'/> - <stl-vector name='unk7'/> - dtor: 0x85272c0 - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.units.xml b/library/xml/df.units.xml deleted file mode 100644 index 51282dfd..00000000 --- a/library/xml/df.units.xml +++ /dev/null @@ -1,696 +0,0 @@ -<data-definition> - <bitfield-type type-name='unit_flags1' base-type='uint32_t'> - <flag-bit name='move_state' - comment='Can the dwarf move or are they waiting for their movement timer'/> - <flag-bit name='dead' - comment='Dead (might also be set for incoming/leaving critters that are alive)'/> - <flag-bit name='has_mood' comment='Currently in mood'/> - <flag-bit name='had_mood' comment='Had a mood already'/> - - <flag-bit name='marauder' comment='wide class of invader/inside creature attackers'/> - <flag-bit name='drowning' comment='Is currently drowning'/> - <flag-bit name='merchant' comment='An active merchant'/> - <flag-bit name='forest' - comment='used for units no longer linked to merchant/diplomacy, they just try to leave mostly'/> - - <flag-bit name='left' comment='left the map'/> - <flag-bit name='rider' comment='Is riding an another creature'/> - <flag-bit name='incoming'/> - <flag-bit name='diplomat'/> - - <flag-bit name='zombie'/> - <flag-bit name='skeleton'/> - <flag-bit name='can_swap' comment='Can swap tiles during movement (prevents multiple swaps)'/> - <flag-bit name='on_ground' comment='The creature is laying on the floor, can be conscious'/> - - <flag-bit name='projectile' comment='Launched into the air? Funny.'/> - <flag-bit name='active_invader' comment='Active invader (for organized ones)'/> - <flag-bit name='hidden_in_ambush'/> - <flag-bit name='invader_origin' comment='Invader origin (could be inactive and fleeing)'/> - - <flag-bit name='coward' comment='Will flee if invasion turns around'/> - <flag-bit name='hidden_ambusher' comment='Active marauder/invader moving inward?'/> - <flag-bit name='invades' comment='Marauder resident/invader moving in all the way'/> - <flag-bit name='check_flows' comment='Check against flows next time you get a chance'/> - - <flag-bit name='ridden'/> - <flag-bit name='caged'/> - <flag-bit name='tame'/> - <flag-bit name='chained'/> - - <flag-bit name='royal_guard'/> - <flag-bit name='fortress_guard'/> - <flag-bit name='suppress_wield'/> - <flag-bit name='important_historical_figure' comment='Is an important historical figure'/> - </bitfield-type> - - <bitfield-type type-name='unit_flags2' base-type='uint32_t'> - <flag-bit name='swimming'/> - <flag-bit name='sparring'/> - <flag-bit name='no_notify' comment='Do not notify about level gains (for embark etc)'/> - <flag-bit name='unused'/> - - <flag-bit name='calculated_nerves'/> - <flag-bit name='calculated_bodyparts'/> - <flag-bit name='important_historical_figure' - comment='Is important historical figure (slight variation)'/> - <flag-bit name='killed' - comment='Has been killed by kill function (slightly different from dead, not necessarily violent death)'/> - - <flag-bit name='cleanup_1' comment='Must be forgotten by forget function (just cleanup)'/> - <flag-bit name='cleanup_2' comment='Must be deleted (cleanup)'/> - <flag-bit name='cleanup_3' comment='Recently forgotten (cleanup)'/> - <flag-bit name='for_trade' comment='Offered for trade'/> - - <flag-bit name='trade_resolved'/> - <flag-bit name='has_breaks'/> - <flag-bit name='gutted'/> - <flag-bit name='circulatory_spray'/> - - <flag-bit name='locked_in_for_trading' - comment="Locked in for trading (it's a projectile on the other set of flags, might be what the flying was)"/> - <flag-bit name='slaughter' comment='marked for slaughter'/> - <flag-bit name='underworld' comment='Underworld creature'/> - <flag-bit name='resident' comment='Current resident'/> - - <flag-bit name='cleanup_4' - comment='Marked for special cleanup as unused load from unit block on disk'/> - <flag-bit name='calculated_insulation' comment='Insulation from clothing calculated'/> - <flag-bit name='visitor_uninvited' comment='Uninvited guest'/> - <flag-bit name='visitor'/> - - <flag-bit name='calculated_inventory' comment='Inventory order calculated'/> - <flag-bit name='vision_good' comment='Vision -- have good part'/> - <flag-bit name='vision_damaged' comment='Vision -- have damaged part'/> - <flag-bit name='vision_missing' comment='Vision -- have missing part'/> - - <flag-bit name='breathing_good' comment='Breathing -- have good part'/> - <flag-bit name='breathing_problem' comment='Breathing -- having a problem'/> - <flag-bit name='roaming_wilderness_population_source'/> - <flag-bit name='roaming_wilderness_population_source_not_a_map_feature'/> - </bitfield-type> - - <bitfield-type type-name='unit_flags3' base-type='uint32_t'> - <flag-bit name='unk0' comment='Is 1 for new and dead creatures, periodicaly set to 0 for non-dead creatures.'/> - <flag-bit name='unk1' comment='Is 1 for new creatures, periodically set to 0 for non-dead creatures.'/> - <flag-bit name='unk2' comment='Is set to 1 every tick for non-dead creatures.'/> - <flag-bit name='unk3' comment='Is periodically set to 0 for non-dead creatures.'/> - - <flag-bit name='announce_titan' comment='Announces creature like an FB or titan.'/> - <flag-bit name='unk5'/> - <flag-bit name='unk6'/> - <flag-bit name='unk7'/> - - <flag-bit name='unk8' comment='Is set to 1 every tick for non-dead creatures.'/> - <flag-bit name='unk9' comment='Is set to 0 every tick for non-dead creatures.'/> - <flag-bit name='scuttle'> - <comment> - Scuttle creature: causes creature to be killed, leaving a behind - corpse and generating negative thoughts like a real kill. - </comment> - </flag-bit> - <flag-bit name='unk11'/> - - <flag-bit name='ghostly'/> - </bitfield-type> - - <struct-type type-name='unit' key-field='id' instance-vector='$global.world.units.all'> - <compound type-name='language_name' name='name'/> - - <code-helper name='describe'> - (describe-obj $.name) - (awhen (find-creature $.race) - (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id)) - </code-helper> - - <stl-string name='custom_profession'/> - - <enum base-type='int16_t' name='profession' type-name='profession'/> - <enum base-type='int16_t' name='profession2' type-name='profession'/> - - <uint32_t name='race' ref-target='creature_raw'/> - - <int16_t name='x'/> - <int16_t name='y'/> - <int16_t name='z'/> - - <int16_t name='old_x'> - <comment> - E.g. for a dead miner, holds the place where he - was likely hanging around when he got the command - to mine in an aquifer. - </comment> - </int16_t> - <int16_t name='old_y'/> - <int16_t name='old_z'/> - - <compound name='unknown1'> - <uint32_t name='unk_9c'/> - <int16_t name='unk_a0'/> - <padding size='2'/> - <int16_t name='unk_a4a'/> - <int16_t name='unk_a4b'/> - </compound> - - <compound name='path'> - <int16_t name='dest_x'/> - <int16_t name='dest_y'/> - <int16_t name='dest_z'/> - <int16_t name='unk_ae' comment='-1 unless dest valid'/> - - <stl-vector name='path_x' type-name='int16_t'/> - <stl-vector name='path_y' type-name='int16_t'/> - <stl-vector name='path_z' type-name='int16_t'/> - </compound> - - <compound name='flags1' type-name='unit_flags1'/> - <compound name='flags2' type-name='unit_flags2'/> - <compound name='flags3' type-name='unit_flags3'/> - - <compound name='unknown2'> - <int8_t name='unk_ec'/> - <int32_t name='unk_f0'/> - <int16_t name='unk_f4'/> - <padding size='2'/> - </compound> - - <uint16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - <uint8_t name='sex'/> - - <int32_t name='id'/> - - <int16_t name='unk_100'/> - <int32_t name='unk_104'/> - - <int32_t name='civ_id' ref-target='historical_entity'/> - <int32_t name='population_id' ref-target='entity_population'/> - - <compound name='unknown3'> - <int32_t name='unk_110'/> - - <stl-vector name='unk_114'/> - <stl-vector name='unk_124'/> - <stl-vector name='unk_134'/> - - <uint32_t name='unk_144'/> - </compound> - - <stl-vector name='meetings'> - <pointer type-name='meeting_ref'/> - </stl-vector> - <stl-vector name='refs'> - <pointer type-name='general_ref'/> - </stl-vector> - - <compound name='military'> - <int32_t name='squad_index' ref-target='squad'/> - <int32_t name='squad_position'/> - <int32_t name='unk_170'/> - <int32_t name='draft_timer'/> - - <int16_t name='cur_uniform'/> - - <static-array name='uniforms' count='4'> - <stl-vector> - <int32_t ref-target='item'/> - </stl-vector> - </static-array> - - <bitfield name='pickup_flags'> - <flag-bit name='update'/> - </bitfield> - - <stl-vector name='uniform_pickup'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='uniform_drop'> - <int32_t ref-target='item'/> - </stl-vector> - - <stl-vector name='individual_drills'> - <int32_t ref-target='activity_entry'/> - </stl-vector> - </compound> - - <compound name='unknown4'> - <int16_t name='unk_1f0_a'/> - <int16_t name='unk_1f0_b'/> - <int16_t name='unk_1f4'/> - <int32_t name='unk_1f8'/> - <int32_t name='unk_1fc'/> - <int32_t name='unk_200'/> - <int16_t name='unk_204'/> - <uint32_t name='animal_leave_countdown' - comment='once 0, it heads for the edge and leaves'/> - <uint32_t name='unk_20c'/> - </compound> - - <int16_t name='mood'/> - <int16_t name='unk_18e'/> - - <compound name='relations'> - <uint32_t name='pregnancy_timer'/> - <pointer name='pregnancy_ptr'/> - <int16_t name='unk_21c_a'/> - <int16_t name='unk_21c_b'/> - <uint32_t name='unk_220'/> - <int32_t name='birth_year'/> - <int32_t name='birth_time'/> - <int32_t name='old_year' comment='could there be a death of old age time??'/> - <int32_t name='old_time'/> - <pointer type-name='unit' name='following'/> - <uint16_t name='unk_238'/> - - <int32_t name='pet_owner_id' ref-target='unit'/> - <int32_t name='married_id' ref-target='unit' - comment='not used in relationship screen..'/> - <int32_t name='mother_id' ref-target='unit'/> - <int32_t name='father_id' ref-target='unit'/> - <int32_t name='last_attacker_id' ref-target='unit'/> - <int32_t name='enemy_group_leader_id' ref-target='unit'/> - <int32_t name='unk_254'/> - <int32_t name='unk_258'/> - <int32_t name='unk_25c_mother'/> - <int32_t name='lover_id' ref-target='unit'/> - <int16_t name='unk_264'/> - </compound> - - <compound name='last_hit'> - <int32_t name='item' ref-target='item'/> - <enum base-type='int16_t' name='item_type' type-name='item_type'/> - <int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/> - - <int16_t name='mattype' ref-target='material' aux-value='$$.matindex'/> - <int32_t name='matindex'/> - - -- If shot by a ranged weapon: - <int32_t name='bow_item' ref-target='item'/> - <enum base-type='int16_t' name='bow_item_type' type-name='item_type'/> - <int16_t name='bow_item_subtype' refers-to='(item-subtype-target $$._parent.bow_item_type $)'/> - <int16_t name='bow_mattype' ref-target='material' aux-value='$$.bow_matindex'/> - <int32_t name='bow_matindex'/> - </compound> - - <stl-vector name='inventory'> - <pointer key-field='item'> - <pointer name='item' type-name='item'/> - <int16_t name='mode' comment='0 carried, 1 weapon, 2 worn, 9 sewn'/> - <int16_t name='body_part_id'/> - </pointer> - </stl-vector> - - <stl-vector name='owned_items'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='traded_items' comment='items brought to trade depot'> - <int32_t ref-target='item'/> - </stl-vector> - <stl-vector name='owned_buildings'> - <pointer type-name='building'/> - </stl-vector> - <stl-vector name='corpse_parts' comment='entries remain even when items are destroyed'> - <int32_t ref-target='item'/> - </stl-vector> - - <compound name='job'> - <uint32_t name='unk_2d8'/> - <uint32_t name='unk_2dc'/> - <pointer type-name='unit' name='hunt_target'/> - <pointer type-name='building' name='destroy_target'/> - <int16_t name='unk_2e8'/> // fight related - <int16_t name='unk_2ea'/> // fight related - <uint16_t name='unk_2ec'/> - <uint16_t name='unk_2ee'/> - <uint16_t name='unk_2f0_cntr'/> // increments every tick - <pointer comment='df_job' name='current_job' type-name='job'/> - <uint16_t name='unk_2f8'/> - <uint32_t name='unk_2fc'/> - <uint32_t name='unk_300'/> - <uint32_t name='unk_304'/> - </compound> - - <compound name='body'> - <stl-vector name='body_part_308' type-name='uint32_t'/> // 87*0 ? - - <stl-vector name='unk_318'/> - - <stl-vector name='body_layer_328' type-name='uint32_t'/> - <stl-vector name='body_layer_338' type-name='uint32_t'/> // 238*0 - <stl-vector name='body_layer_348' type-name='uint32_t'/> // 238*0 - <stl-vector name='body_layer_358' type-name='uint32_t'/> // 238*0 - <stl-vector name='body_layer_368' type-name='uint32_t'/> // 238*0 - <stl-vector name='body_layer_378' type-name='uint32_t'/> // 238*0 - - <stl-vector name='body_layer_388' type-name='pointer'/> - - <uint32_t name='unk_398'/> - <int32_t name='unk_39c'/> - <int32_t name='unk_3a0'/> - <int32_t name='unk_3a4'/> - <int32_t name='unk_3a8'/> - <int32_t name='unk_3ac'/> - <int32_t name='unk_3b0'/> - <int32_t name='unk_3b4'/> - <int32_t name='unk_3b8'/> - <int32_t name='unk_3bc'/> - <int32_t name='unk_3c0'/> - - <pointer name='body_plan' comment='points to the body_parts field of caste_raw'> - <stl-vector name='body_parts'> - <pointer type-name='body_part_raw'/> - </stl-vector> - </pointer> - - <uint16_t name='unk_3c8'/> - - <static-array type-name='unit_attribute' name='physical_attrs' count='6'/> - - <uint32_t name='unk_474'/> - <uint32_t name='unk_478'/> - <uint32_t name='unk_47c'/> - <uint32_t name='unk_480'/> - <uint32_t name='unk_484'/> - <uint32_t name='unk_488'/> - - <uint32_t name='blood_max'/> - <uint32_t name='blood_count'/> // 490 - <uint32_t name='unk_494'/> - - <stl-vector name='spatters'/> - </compound> - - <compound name='unknown6'> - <stl-vector type-name='uint16_t' name='unk_4a8'/> - <stl-vector type-name='uint16_t' name='unk_4b8'/> - <uint32_t name='unk_4c8'/> - <stl-vector type-name='int16_t' name='unk_4cc'/> - <stl-vector type-name='int32_t' name='unk_4dc'/> - <stl-vector type-name='int32_t' name='unk_4ec'/> - <stl-vector type-name='int32_t' name='unk_4fc'/> - <stl-vector type-name='int16_t' name='unk_50c'/> - <pointer name='unk_51c'/> - <uint16_t name='unk_520'/> - <pointer name='unk_524'/> - <uint16_t name='unk_528'/> - </compound> - - <stl-vector type-name='uint32_t' name='appearance'/> - - <compound name='counters'> - <int32_t name='think_counter'/> // 53c decrements every job_counter reroll, set when changing jobs - <int32_t name='job_counter'/> // 540 current_job unit/walk done when reach -1, decremented every tick - <int32_t name='unk_544'/> // if set, decrements every job_counter reroll - <int16_t name='unk_548'/> - <int16_t name='winded'/> - <int16_t name='stunned'/> // 54c decrements every tick, unstun at 0 - <int16_t name='unconscious'/> - <int16_t name='unk_550'/> - <int16_t name='webbed'/> - - <int16_t name='unk_x554'/> // coords ? (-30.000x3) - <int16_t name='unk_y556'/> - <int16_t name='unk_z558'/> - <int16_t name='unk_x55a'/> // coords again - <int16_t name='unk_y55c'/> - <int16_t name='unk_z55e'/> - - <int16_t name='soldier_mood_countdown'/> - <enum name='soldier_mood' base-type='int16_t'> - <enum-item name='None' value='-1'/> - <enum-item name='MartialTrance'/> - <enum-item name='Enranged'/> - <enum-item name='Tantrum'/> - </enum> - - <uint32_t name='unk_564'/> - <uint32_t name='unk_568'/> - <uint32_t name='unk_56c'/> - <uint32_t name='unk_570'/> - <uint32_t name='unk_574'/> - <uint32_t name='unk_578'/> - <uint32_t name='unk_57c'/> - - <uint32_t name='hunger_timer'/> - <uint32_t name='thirst_timer'/> - <uint32_t name='sleepiness_timer'/> - - <uint32_t name='unk_58c'/> // counter, decrement to 0 - <uint32_t name='unk_590'/> // same as 58c - <uint32_t name='unk_594'/> - <uint32_t name='unk_cntdn_598'/> // fluctuate - <uint32_t name='unk_59c'/> - </compound> - - <compound name='status'> - <stl-vector name='misc_traits'> - <pointer type-name='unit_misc_trait'/> - </stl-vector> - - <pointer name='unk_5b0'> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - <stl-vector type-name='int32_t'/> - </pointer> - - <uint32_t name='unk_5b4'/> // 0x3e8 (1000) - <uint32_t name='unk_5b8'/> // 0x3e8 (1000) - - <stl-vector name='unk_5bc'/> - <stl-vector name='unk_5cc'/> - <int8_t name='unk_5dc'/> - - <compound type-name='language_name' name='artifact_name'/> - <stl-vector name='souls'> - <pointer type-name='unit_soul'/> - </stl-vector> - <pointer name='current_soul' type-name='unit_soul'/> - <stl-vector name='unk_660'/> - - <static-array type-name='bool' name='labors' index-enum='unit_labor' count='94'/> - - <stl-vector name='unk_6d0'/> - <stl-vector name='unk_6e0'/> // item ids? - - <stl-vector name='recent_events'/> // 6f0: dined in a legendary dinning room, etc - - <stl-vector name='unk_700'/> - - <uint32_t name='happiness'/> // 710 - <uint16_t name='unk_714'/> - - <stl-vector name='unk_718'/> - <stl-vector name='unk_728'/> - <stl-vector name='relationships'/> // 738 - <stl-vector name='unk_748'/> - - <uint16_t name='unk_758'/> - <int16_t name='unk_x75a'/> // coords (-30000*3) - <int16_t name='unk_y75c'/> - <int16_t name='unk_z75e'/> - <stl-vector type-name='uint16_t' name='unk_760'/> - <stl-vector type-name='uint16_t' name='unk_770'/> - <stl-vector type-name='uint16_t' name='unk_780'/> - </compound> - - <int32_t name='hist_figure_id' ref-target='historical_figure'/> - - <compound name='status2'> - <uint16_t name='able_stand'/> // 794 - <uint16_t name='able_stand_impair'/> // 796 - <uint16_t name='able_grasp'/> // 798 - <uint16_t name='able_grasp_impair'/> // 79a - <uint32_t name='unk_79c'/> - <uint32_t name='unk_7a0'/> - - <stl-vector name='body_part_temperature'> - <pointer> - <uint16_t name='whole'/> - <uint16_t name='fraction' comment='the unit is 1/temp_factor in body part'/> - </pointer> - </stl-vector> - - <uint32_t name='unk_7b4'/> - <uint32_t name='unk_7b8'/> - <uint8_t name='unk_7bc'/> - - <int32_t name='unk_7c0'/> - </compound> - - <compound name='unknown8'> - <stl-vector name='unk_7c4'/> - <stl-vector name='unk_7d4' type-name='int32_t'/> - <stl-vector name='unk_7e4' type-name='int16_t'/> - <stl-vector name='unk_7f4' type-name='int32_t'/> // combat log? - <stl-vector name='unk_804' type-name='int32_t'/> - <stl-vector name='unk_814' type-name='int32_t'/> - - <uint32_t name='unk_824'/> - <uint32_t name='unk_828'/> - <uint32_t name='unk_82c'/> - <uint32_t name='unk_830'/> - <uint32_t name='unk_834'/> - <uint32_t name='unk_838'/> - - <pointer name='unk_83c'/> - - <stl-vector name='unk_840' type-name='pointer'/> // item related - - <stl-vector name='unk_850'/> - <stl-vector name='unk_860' type-name='int32_t'/> - - <int32_t name='unk_870'/> - <int32_t name='unk_874_cntr'/> // age ? incremented every tick - - <stl-vector name='body_part_878' type-name='uint8_t'/> - <stl-vector name='body_part_888' type-name='uint8_t'/> - <stl-vector name='body_part_898' type-name='uint32_t'/> - <stl-vector name='body_part_8a8' type-name='uint8_t'/> - <stl-vector name='body_part_8b8' type-name='uint16_t'/> - <stl-vector name='body_part_8c8' type-name='uint16_t'/> - <stl-vector name='body_part_8d8' type-name='uint16_t'/> - - <stl-vector name='unk_8e8'/> // items ids? - - <stl-vector type-name='uint16_t' name='unk_8f8'/> // same size as 8e8, soldier related? - - <stl-vector name='body_layer_908' type-name='uint32_t'/> - - <int32_t name='unk_918'/> - <int32_t name='unk_91c'/> - <int32_t name='unk_920'/> - - <uint32_t name='unk_924'/> - <uint32_t name='unk_928'/> - </compound> - - <stl-vector name='burrows'> - <int32_t ref-target='burrow'/> - </stl-vector> - - <uint32_t name='unk_93c'/> - </struct-type> - - <struct-type type-name='unit_attribute'> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - <int32_t name='unk3'/> - <int32_t name='unk4'/> - <int32_t name='unk5'/> - <int32_t name='unk6'/> - <int32_t name='unk7'/> - </struct-type> - - <struct-type type-name='unit_misc_trait' key-field='id'> - <enum base-type='int16_t' name='id'> - <enum-item name='ClaimCooldown' value='12'/> - <enum-item name='WantsDrink'/> - <enum-item name='LikesOutdoors'/> - <enum-item name='Hardened'/> - </enum> - - <code-helper name='describe'>(fmt "value=~A" $.value)</code-helper> - - <int32_t name='value'/> - </struct-type> - - <struct-type type-name='unit_soul'> - <int32_t name='unit_id' ref-target='unit'/> - - <compound name='name' type-name='language_name'/> - - <uint32_t name='race' ref-target='creature_raw'/> - <uint8_t name='sex'/> - <uint16_t name='caste' ref-target='caste_raw' aux-value='$$.race'/> - - <code-helper name='describe'> - (describe-obj $.name) - (awhen (find-creature $.race) - (fmt "~:(~A ~A~)" $it.caste[$.caste].caste_id $it.creature_id)) - </code-helper> - - <int32_t name='unk1'/> - <int32_t name='unk2'/> - <int32_t name='unk3'/> - <int32_t name='unk4'/> - - <static-array type-name='unit_attribute' name='mental_attrs' count='13'/> - - <stl-vector name='skills'> - <pointer type-name='unit_skill'/> - </stl-vector> - <stl-vector name='preferences'> - <pointer type-name='unit_preference'/> - </stl-vector> - - <static-array type-name='uint16_t' name='traits' count='30'/> - - <stl-vector name='unk5'> - <pointer> - <int16_t name='unk1'/> - <int16_t name='unk2'/> - </pointer> - </stl-vector> - - <stl-vector name='unk6'/> - </struct-type> - - <struct-type type-name='unit_skill' key-field='id'> - <enum base-type='int16_t' name="id" type-name='job_skill'/> - - <int32_t name="rating"/> - <uint32_t name="experience"/> - <int32_t name="unk_c"/> - <int32_t name="rusty"/> - <int32_t name="unk_14"/> - <int32_t name="unk_18"/> - <int32_t name="unk_1c"/> - </struct-type> - - <struct-type type-name='unit_preference' key-field='type'> - <enum base-type='int16_t' name="type"> - <enum-item name='LikeMaterial'/> - <enum-item name='LikeCreature'/> - <enum-item name='LikeFood'/> - <enum-item name='HateCreature'/> - <enum-item name='LikeItem'/> - <enum-item name='LikePlant'/> - <enum-item name='LikePlant2' comment='likely 2nd prefstring'/> - <enum-item name='LikeColor'/> - <enum-item name='LikeShape'/> - </enum> - - <compound is-union='true'> - <int16_t name="item_type" refers-to='(enum-to-key $item_type $)'/> - <int16_t name='creature_id' ref-target='creature_raw'/> - <int16_t name='color_id' refers-to='$global.world.raws.color_words[$]'/> - <int16_t name='shape_id' refers-to='$global.world.raws.shape_words[$]'/> - <int16_t name='plant_id' ref-target='material_plant'/> - </compound> - - <int16_t name="item_subtype" refers-to='(item-subtype-target $$._parent.item_type $)'/> - - <int16_t name='mattype' ref-target='material' aux-value='$$.matindex'/> - <int32_t name='matindex'/> - - <bool name='active'/> - - <uint32_t name='unk'/> - </struct-type> - -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.viewscreen.xml b/library/xml/df.viewscreen.xml deleted file mode 100644 index e5816a19..00000000 --- a/library/xml/df.viewscreen.xml +++ /dev/null @@ -1,106 +0,0 @@ -<data-definition> - <enum-type type-name='interface_breakdown_types'> - <enum-item name='NONE'/> - <enum-item name='QUIT'/> - <enum-item name='STOPSCREEN'/> - <enum-item name='TOFIRST'/> - </enum-type> - - <class-type type-name='viewscreen' original-name='viewscreenst'> - <pointer name='child' type-name='viewscreen'/> - <pointer name='parent' type-name='viewscreen'/> - <enum base-type='int8_t' name='breakdown_level' type-name='interface_breakdown_types'/> - <int8_t name='option_key_pressed'/> - - <virtual-methods> - <vmethod name='feed'> <pointer name='events'/> </vmethod> - <vmethod name='logic'/> - <vmethod name='render'/> - <vmethod name='resize'> <int32_t name='w'/> <int32_t name='h'/> </vmethod> - <vmethod name='help'/> - <vmethod ret-type='bool' name='movies_okay'/> - <vmethod ret-type='bool' name='is_option_screen'/> - <vmethod ret-type='bool' name='is_save_screen'/> - <vmethod is-destructor='true'/> - <vmethod ret-type='bool' name='key_conflict'> <int32_t/> </vmethod> - </virtual-methods> - </class-type> - - <struct-type type-name='interface'> - <int32_t name='original_fps'/> - - <compound name='view' type-name='viewscreen'/> - - <uint32_t name='flag'/> - <int32_t name='shutdown_interface_tickcount'/> - <int32_t name='shutdown_interface_for_ms'/> - - <int8_t name='supermovie_on'/> - <int32_t name='supermovie_pos'/> - <int32_t name='supermovie_delayrate'/> - <int32_t name='supermovie_delaystep'/> - - <stl-vector name='supermovie_sound'> - <pointer type-name='stl-string'/> - </stl-vector> - - <static-array name='supermovie_sound_time' count='16' comment='SOUND_CHANNELNUM'> - <static-array count='200' type-name='int32_t'/> - </static-array> - - <padding name='supermoviebuffer' size='800000'/> - <padding name='supermoviebuffer_comp' size='1000000'/> - - <int32_t name='currentblocksize'/> - <int32_t name='nextfilepos'/> - <int8_t name='first_movie_write'/> - <stl-string name='movie_file'/> - </struct-type> - - <class-type type-name='viewscreen_titlest' inherits-from='viewscreen'> - <static-string name='str_histories' size='256'/> - <static-string name='menu_items' size='256'/> - <enum base-type='int16_t' name="sel_subpage"> - <enum-item name='None'/> - <enum-item name='StartGame'/> - <enum-item name='Unk2'/> - <enum-item name='Arena'/> - <enum-item name='About'/> - </enum> - <int32_t name="sel_menu_line"/> - <int32_t name="sel_submenu_line"/> - <int8_t name="unk_218"/> - <stl-vector name="unk_21c"> - <int32_t/> - </stl-vector> - <stl-vector name="unk_228"/> - <stl-vector name="unk_234"/> - <stl-vector name="start_savegames"> - <pointer/> - </stl-vector> - <stl-vector name="continue_savegames"> - <pointer/> - </stl-vector> - <stl-string name="str_slaves"/> - <stl-string name="str_chapter"/> - <stl-string name="str_copyright"/> - <stl-string name="str_version"/> - <stl-string name="str_unk"/> - <stl-string name="str_programmed"/> - <stl-string name="str_designed"/> - <stl-string name="str_visit"/> - <stl-string name="str_site"/> - </class-type> - - <class-type type-name='viewscreen_dwarfmodest' inherits-from='viewscreen'> - todo - </class-type> - -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.world-data.xml b/library/xml/df.world-data.xml deleted file mode 100644 index a914f01e..00000000 --- a/library/xml/df.world-data.xml +++ /dev/null @@ -1,476 +0,0 @@ -<data-definition> - <struct-type type-name='world_site_unk130'> - <int32_t name="index"/> - - <stl-vector name="unk_4"> - <pointer> - <int32_t name="unk_0"/> - <int32_t name="index"/> - <int32_t name="unk_8"/> - <stl-vector name="unk_c"> - <int32_t/> - </stl-vector> - </pointer> - </stl-vector> - </struct-type> - - <struct-type type-name='world_site' key-field='id' - instance-vector='$global.world.world_data.sites'> - <compound name='name' type-name='language_name'/> - - <code-helper name='describe'>(describe-obj $.name)</code-helper> - - <int32_t name="civ_id" ref-target='historical_entity'/> - <int32_t name="owner1" ref-target='historical_entity'/> - <int32_t name="owner2" ref-target='historical_entity'/> - - <int16_t name="unk_78"/> - <int16_t name="unk_7a"/> - <int16_t name="unk_7c"/> - - <int32_t name="id"/> - - <stl-vector name="unk_84"> - <int32_t/> - </stl-vector> - - <stl-vector name="unk_94"/> - - <stl-vector name="animals"> - <pointer> - <int16_t name="unk_0"/> - <int16_t name="race" ref-target='creature_raw'/> - <int32_t name="count"/> - <int32_t name="unk_8"/> - <int32_t name="owner" ref-target='historical_entity'/> - <int32_t name="unk_10"/> - <int32_t name="unk_14"/> - </pointer> - </stl-vector> - - <stl-vector name="inhabitants"> - <pointer> - <int32_t name="count"/> - <int32_t name="race" ref-target='creature_raw'/> - <int32_t name="unk_8"/> - </pointer> - </stl-vector> - - <stl-vector name="unk_c4"/> - <stl-vector name="unk_d4"/> - - <int32_t name="index"/> - - <int16_t name="unk_e8"/> - <int16_t name="unk_ea"/> - <int16_t name="unk_ec"/> - <int16_t name="unk_ee"/> - - <int32_t name="unk_f0"/> - <int32_t name="unk_f4"/> - <int32_t name="unk_f8"/> - <int32_t name="unk_fc"/> - <int32_t name="unk_100"/> - - <uint32_t name="unk_104"/> - <uint32_t name="unk_108"/> - - <int32_t name="unk_10c"/> - <int32_t name="unk_110"/> - <int32_t name="unk_114"/> - <int32_t name="unk_118"/> - <int32_t name="unk_11c"/> - <int32_t name="unk_120"/> - <int32_t name="unk_124"/> - <int32_t name="unk_128"/> - <int32_t name="unk_12c"/> - <int32_t name="unk_130"/> - <int32_t name="unk_134"/> - <int32_t name="unk_138"/> - - <stl-vector name="unk_13c"> - <pointer> - <int32_t name="unk_0"/> - <int32_t name="unk_4"/> - <int32_t name="unk_8"/> - <int32_t name="unk_c"/> - </pointer> - </stl-vector> - - <df-flagarray name='flags'/> - - <stl-vector name="unk_154"/> - - <int32_t name="unk_164"/> - <int32_t name="unk_168"/> - <int32_t name="unk_16c"/> - <int32_t name="unk_170"/> - <int32_t name="unk_174"/> - - <int16_t name="unk_178"/> - <int16_t name="unk_17a"/> - <int16_t name="unk_17c"/> - - <int32_t name="unk_180"/> - - <pointer name="unk_184"> - <int16_t name="unk_0"/> - <stl-vector name="unk_4"/> - <int32_t name="unk_14"/> - <int32_t name="unk_18"/> - <int32_t name="unk_1c"/> - </pointer> - - <pointer name="unk_188" type-name='world_site_unk130'/> - - <stl-vector name="unk_18c"/> - <stl-vector name="unk_19c"/> - </struct-type> - - <struct-type type-name='world_underground_region'> - <int16_t name='unk1'/> - <compound name='name' type-name='language_name'/> - <int32_t name="unk_70"/> - <int16_t name="unk_74"/> - <int16_t name="unk_76"/> - <int16_t name="unk_78"/> - <int16_t name="unk_7a"/> - <int32_t name="unk_7c"/> - <int16_t name="unk_80"/> - <int16_t name="unk_82"/> - <int16_t name="unk_84"/> - <padding name="unk_86" size="2"/> - <stl-vector name="unk_88"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_98"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_a8"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_b8"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_c8"/> - <pointer name="feature_init"/> - </struct-type> - - <struct-type type-name='world_data'> - <compound name='name' type-name='language_name' comment='name of the world'/> - - <static-array name='unk1' count='15' type-name='int8_t'/> - - <int32_t name='num_sites'/> - <int32_t name='cur_site_id'/> - <int32_t/> - <int32_t/> - <int16_t name='world_width'/> - <int16_t name='world_height'/> - - <stl-vector name='unk2'> - <pointer> - <int16_t name="unk_0"/> - <int16_t name="unk_2"/> - <int16_t name="unk_4"/> - <int16_t name="unk_6"/> - <int16_t name="unk_8"/> - <int32_t name="unk_c"/> - <int32_t name="unk_10"/> - <stl-vector name="unk_14"> - <pointer/> - </stl-vector> - <int32_t name="unk_24"/> - <df-flagarray name='flags'/> - <stl-vector name="unk_30"/> - <stl-vector name="unk_40"/> - <stl-vector name="unk_50"/> - <stl-vector name="unk_60"/> - <int16_t name="unk_70"/> - <int16_t name="unk_72"/> - <int16_t name="unk_74"/> - <int16_t name="unk_76"/> - <int16_t name="unk_78"/> - <int32_t name="unk_7c"/> - <int32_t name="unk_80"/> - <int32_t name="unk_84"/> - </pointer> - </stl-vector> - - <int32_t/> - <int32_t/> - <int16_t/> - <int16_t/> - <int16_t/> - <int16_t/> - <int16_t/> - <int16_t/> - <int32_t name='world_width2'/> - <int32_t name='world_height2'/> - - <pointer type-name='uint32_t' is-array='true' comment='align(width,4)*height'/> - <pointer type-name='uint32_t' is-array='true' comment='align(width,4)*height'/> - <pointer type-name='uint32_t' is-array='true' comment='width*height'/> - <pointer type-name='uint8_t' is-array='true' comment='align(width,4)*height'/> - - <stl-vector name='unk4' type-name='pointer'/> - - <int32_t name="unk_dc"/> - <int32_t name="unk_e0"/> - <int32_t name="unk_e4"/> - - <int32_t name="unk_e8"/> - <int32_t name="unk_ec"/> - <int32_t name="unk_f0"/> - - <compound name='construction_squares'> - <int16_t name="width"/> - <int16_t name="height"/> - - <pointer name="table" is-array='true'> - <pointer is-array='true'> - <stl-vector> - <pointer/> - </stl-vector> - </pointer> - </pointer> - </compound> - - <stl-vector name="constructions"> - <pointer/> - </stl-vector> - <int32_t name="next_construction_id"/> - - <static-array name="unk_110" count='2'> - <pointer name="table" is-array='true'> - <pointer is-array='true'> - <stl-vector name='unk1'> - <int32_t/> - </stl-vector> - <stl-vector name='unk2'> - <pointer type-name='int8_t' is-array='true'/> - </stl-vector> - </pointer> - </pointer> - <int16_t name="width"/> - <int16_t name="height"/> - </static-array> - - <stl-vector name="sites"> - <pointer type-name='world_site'/> - </stl-vector> - - <stl-vector name="site_unk130"> - <pointer type-name='world_site_unk130'/> - </stl-vector> - - <stl-vector name="unk_140"> - <pointer> - <int32_t name='index'/> - <static-array name='resource_allotments' count='100'> - <stl-vector> - <pointer/> - </stl-vector> - </static-array> - <int32_t name='unk1'/> - <int32_t name='unk2'/> - <int32_t name='unk3'/> - </pointer> - </stl-vector> - - <stl-vector name="unk_150"> - <pointer> - <int32_t name="index"/> - <int32_t name="unk_4"/> - <stl-vector name="unk_8"> - <pointer> - <int32_t name="index"/> - <int32_t name="unk_4"/> - <int32_t name="unk_8"/> - </pointer> - </stl-vector> - <stl-vector name="unk_18"> - <pointer> - <int32_t name="index"/> - <int32_t name="unk_4"/> - <int32_t name="unk_8"/> - </pointer> - </stl-vector> - <stl-vector name="unk_28"> - <pointer> - <int32_t name="unk_0"/> - <int32_t name="unk_4"/> - </pointer> - </stl-vector> - </pointer> - </stl-vector> - - <stl-vector name="islands"> - <pointer> - <compound name='name' type-name='language_name'/> - </pointer> - </stl-vector> - <stl-vector name="regions"> - <pointer> - <compound name='name' type-name='language_name'/> - </pointer> - </stl-vector> - <stl-vector name="underground_regions"> - <pointer type-name='world_underground_region'/> - </stl-vector> - <stl-vector name="unk_190"> - <pointer> - <int16_t name='unk1'/> - <int16_t name='index'/> - <stl-vector name="unk_4"> - <pointer> - <int16_t name="unk_0"/> - <int32_t name="unk_4"/> - <stl-vector name="unk_8"> - <int32_t/> - </stl-vector> - <stl-vector name="unk_18"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_28"> - <int8_t/> - </stl-vector> - <stl-vector name="unk_38"> - <int8_t/> - </stl-vector> - <int32_t name="index"/> - </pointer> - </stl-vector> - </pointer> - </stl-vector> - <stl-vector name="unk_1a0"> - <pointer> - <compound name='name' type-name='language_name'/> - <int16_t name="unk_6c"/> - <int16_t name="unk_6e"/> - <df-flagarray name='flags'/> - <int16_t name="unk_78"/> - </pointer> - </stl-vector> - <stl-vector name="unk_1b0"> - <pointer> - <compound name='name' type-name='language_name'/> - <stl-vector name="unk_6c"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_7c"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_8c"> - <int32_t/> - </stl-vector> - <stl-vector name="unk_9c"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_ac"> - <int16_t/> - </stl-vector> - <int16_t name="unk_bc"/> - <int16_t name="unk_be"/> - <df-flagarray name='flags'/> - </pointer> - </stl-vector> - - <pointer name="unk_1c0"/> - <pointer name="unk_1c4"/> - <padding name="unk_1c8" size="4"/> - - <stl-vector name="unk_1cc"/> - - <pointer name="unk_1dc" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - <pointer name="unk_1e0" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - <pointer name="unk_1e4" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - <pointer name="unk_1e8" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - <pointer name="unk_1ec" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - <pointer name="unk_1f0" is-array='true'> - <pointer is-array='true'> - <stl-vector/> - </pointer> - </pointer> - - <stl-vector name="active_site"> - <pointer type-name='world_site'/> - </stl-vector> - - <pointer name="unk_204" is-array='true'> - <pointer is-array='true'> - <int16_t name='x'/> - <int16_t name='y'/> - <int32_t name='unk_4'/> - <pointer name='unk_8' type-name='int16_t' is-array='true'/> - <pointer name='unk_c' type-name='int32_t' is-array='true'/> - </pointer> - </pointer> - - <df-flagarray name='flags'/> - - <stl-vector name="unk_210"/> - <stl-vector name="unk_220"/> - <stl-vector name="unk_230"/> - <stl-vector name="unk_240"> - <int16_t/> - </stl-vector> - <stl-vector name="unk_250"> - <int16_t/> - </stl-vector> - <padding name="unk_260" size="4"/> - <int8_t name="unk_264"/> - <padding name="unk_265" size="3"/> - <padding name="unk_268" size="4"/> - <int8_t name="unk_26c"/> - <padding name="unk_26d" size="3"/> - <int32_t name="unk_270"/> - - <stl-vector name="unk_274"> - <pointer> - <stl-vector name="unk_0"> - <pointer type-name="historical_figure"/> - </stl-vector> - <stl-vector name="unk_10"> - <pointer> - <int32_t name="unk_0"/> - <int32_t name="unk_4"/> - <int32_t name="unk_8"/> - </pointer> - </stl-vector> - <pointer name="unk_20" type-name="historical_entity"/> - <int32_t name="unk_24"/> - <pointer name="unk_28" type-name="language_name"/> - <int32_t name="unk_2c"/> - <int32_t name="unk_30"/> - </pointer> - </stl-vector> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/df.world.xml b/library/xml/df.world.xml deleted file mode 100644 index 79f01fc8..00000000 --- a/library/xml/df.world.xml +++ /dev/null @@ -1,518 +0,0 @@ -<data-definition> - <struct-type type-name='world'> - dtor 89fff80 - - <static-array name='unk0' count='21'> - dtor 8532540 - - <stl-vector> - <pointer/> - </stl-vector> - </static-array> - - <stl-vector name='unk_fc'> - <pointer/> - </stl-vector> - <stl-vector name='unk_108'> - <pointer/> - </stl-vector> - - <stl-vector name='unk_114'> - <pointer> - <int8_t name='unk_0'/> - <int16_t name="unk_2"/> - <int32_t name="unk_4"/> - <int8_t name="unk_8"/> - <padding name="unk_9" size="3"/> - <int16_t name="unk_c"/> - <int16_t name="unk_e"/> - <int16_t name="unk_10"/> - - <int32_t name="unk_14"/> - <int32_t name="unk_18"/> - <int32_t name="unk_1c"/> - <int16_t name="unk_20"/> - </pointer> - </stl-vector> - - -- - - <stl-vector name='manager_orders'> - <pointer type-name='manager_order'/> - </stl-vector> - - <stl-vector name='mandates'> - <pointer type-name='mandate'/> - </stl-vector> - - -- Entities - - <compound name='entities'> - <stl-vector name='all'> - <pointer type-name='historical_entity'/> - </stl-vector> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='historical_entity'/> - </stl-vector> - </compound> - - -- Unknown - - <padding size='80004' comment='0 bytes; same size on Windows'/> - - -- Units - - <compound name='units'> - <stl-vector name='all'> - <pointer type-name='unit'/> - </stl-vector> - - <static-array name='other' count='4'> - <stl-vector> - <pointer type-name='unit'/> - </stl-vector> - </static-array> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='unit'/> - </stl-vector> - </compound> - - -- Unknown - - <stl-vector name='unk_13a1c'> - <pointer/> - </stl-vector> - <stl-vector name='unk_13a28'> - <pointer/> - </stl-vector> - - -- Nemesis - - <compound name='nemesis'> - <stl-vector name='all'> - <pointer type-name='nemesis_record'/> - </stl-vector> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='nemesis_record'/> - </stl-vector> - </compound> - - <bool name='unk4'/> - - -- Items - - <compound name='items'> - dtor 852f4b0 - - <stl-vector name='all'> - <pointer type-name='item'/> - </stl-vector> - - <static-array name='other' count='127'> - <stl-vector> - <pointer type-name='item'/> - </stl-vector> - </static-array> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='item'/> - </stl-vector> - - <stl-vector name='bad_tag' type-name='int32_t'/> - </compound> - - -- Artifacts - - <compound name='artifacts'> - <stl-vector name='all'> - <pointer type-name='artifact_record'/> - </stl-vector> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='artifact_record'/> - </stl-vector> - </compound> - - -- Jobs and projectiles - - <compound name='job_list' type-name='job_list_link'/> - - <compound name='proj_list' type-name='proj_list_link'/> - - -- Buildings - - <compound name='buildings'> - dtor 85316f0 - - <stl-vector name='all'> - <pointer type-name='building'/> - </stl-vector> - - <static-array name='other' count='86'> - <stl-vector> - <pointer type-name='building'/> - </stl-vector> - </static-array> - - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='building'/> - </stl-vector> - </compound> - - <bool name='unk5a'/> - <bool name='unk5b'/> - - -- Machines (connected groups of gears and so on) - - <compound name='machines'> - <stl-vector name='all'> - <pointer type-name='machine'/> - </stl-vector> - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='machine'/> - </stl-vector> - </compound> - - -- Unknown - - <compound name='unk_144d4'> - <stl-vector name='all' type-name='pointer'/> - <stl-vector name='bad' has-bad-pointers='true' type-name='pointer'/> - </compound> - - <padding size='84'/> - - <compound name='unk_material_info_14540'> - <stl-vector name='unk_plant_1' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <stl-vector name='unk_plant_2' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <stl-vector name='unk_creature_1' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk_creature_2' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk_creature_3' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk_plant_3' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <stl-vector name='unk_plant_4' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <padding size='8' comment='0'/> - <stl-vector name='unk_plant_5' type-name='bool' - index-refers-to='(find-plant-raw $)'/> - <stl-vector name='unk_creature_4' type-name='bool' - index-refers-to='(find-creature $)'/> - <stl-vector name='unk_builtin' type-name='bool' - index-refers-to='(material-by-id $ -1)'/> - <padding size='16' comment='0'/> - </compound> - - -- Plants - - <compound name='plants'> - <stl-vector name='all' type-name='pointer'/> - <static-array name='other' count='5'> - <stl-vector type-name='pointer'/> - </static-array> - </compound> - - -- Unknown - - <padding name='unk_14618' size='12' comment='linked list'/> - - -- Unknown - - <padding size='500' comment='bool array?'/> - <static-array name='unk_14818' type-name='int8_t' count='250000'/> - <int32_t name='unk_518a8'/> - - <compound name='unk_518ac'> - <stl-vector name='all'> - <pointer/> - </stl-vector> - <stl-vector name='bad' has-bad-pointers='true'> - <pointer/> - </stl-vector> - </compound> - - <compound name='squads'> - <stl-vector name='all'> - <pointer type-name='squad'/> - </stl-vector> - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='squad'/> - </stl-vector> - </compound> - - <compound name='unk_518dc'> - <stl-vector name='all'> - <pointer/> - </stl-vector> - <stl-vector name='bad' has-bad-pointers='true'> - <pointer/> - </stl-vector> - </compound> - - -- Drills - - <compound name='activities'> - <stl-vector name='all'> - <pointer type-name='activity_entry'/> - </stl-vector> - <stl-vector name='bad' has-bad-pointers='true'> - <pointer type-name='activity_entry'/> - </stl-vector> - </compound> - - -- Reports and announcements - - <compound name='status'> - dtor 85356e0 - <stl-vector name='reports' type-name='pointer'/> - <stl-vector name='announcements' type-name='pointer'/> - <stl-vector name='unk_vec' type-name='pointer'/> - - <int32_t name='next_report_id'/> - <int32_t/> - <int32_t/> - - <static-array name='slots' count='100'> - <comment>Written to by code at 0x80fd7b0</comment> - <int16_t name='id'/> - <padding name='info' size='24' alignment='4' - comment='Weird garbage. Possibly types change for different entries.'/> - <stl-string name='unk3a'/> - <stl-string name='unk3b'/> - <stl-string name='unk3c'/> - <stl-string name='unk3d'/> - <int32_t name='unk4'/> - </static-array> - - <static-array name='slot_id_used' type-name='int16_t' count='34'/> - <static-array name='slot_id_idx1' type-name='int16_t' count='34'/> - <static-array name='slot_id_idx2' type-name='int16_t' count='34'/> - - <int16_t name='slots_used'/> - </compound> - - <pointer name='selected_building' type-name='building'/> - <enum base-type='int16_t' name='selected_stockpile_type' type-name='stockpile_category'/> - <bool/> - <padding size='8' alignment='4' comment='0'/> - - <compound name='map'> 52cdc - <stl-vector name='map_blocks'> - <pointer type-name='map_block'/> - </stl-vector> - <pointer name='block_index'/> - - <stl-vector name='map_block_columns'> - <pointer type-name='map_block_column'/> - </stl-vector> - <pointer name='column_index'/> - - <int32_t name='x_count_block'/> - <int32_t name='y_count_block'/> - <int32_t name='z_count_block'/> - <int32_t name='x_count'/> - <int32_t name='y_count'/> - <int32_t name='z_count'/> - <int32_t name='region_x'/> - <int32_t name='region_y'/> - <int32_t name='region_z'/> - </compound> - - <static-array name='unknown_52d20' - count='2810' type-name='int16_t'/> - - <pointer name='world_data' type-name='world_data'/> - - <compound name='unk_54318'> - <padding size='1180'/> - <stl-vector comment='547b4'/> - <stl-vector/> - <padding size='8'/> - <stl-vector/> - <stl-vector/> - <padding size='8'/> - <bool/> - <stl-string/> 547f8 - <padding size='24'/> - <stl-vector comment='54814'/> - <stl-vector/> - <padding size='8'/> - <stl-vector/> - <stl-vector/> - <padding size='8'/> - <static-array count='10' comment='true array 54854'> - <stl-vector/> - </static-array> - <static-array count='10' comment='true array 548cc'> - <stl-vector/> - </static-array> - <static-array count='10' comment='true array'> - <stl-vector/> - </static-array> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - <stl-vector/> - </compound> - - <padding size='8' comment='0'/> - <int32_t name='unk_54a0c'/> - <int32_t name='unk_54a10'/> - - -- RAWs - - <compound name='raws' type-name='world_raws'/> - - <compound name='unk_59dc4'> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='pointer'/> - <static-array type-name='int16_t' count='32'/> - <int32_t/> - <int32_t/> - <int32_t/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int16_t'/> - <stl-vector type-name='int32_t'/> - <pointer name='unk_59e70'/> - <int32_t name='unk_59e74'/> - </compound> - - <int32_t name='unk_59e78'/> - - <compound name='unk_59e7c'> - <stl-string name='unk_59e7c'/> - <int32_t name="unk_5e200"/> - <int32_t name="unk_5e204"/> - <int32_t name="unk_5e208"/> - <int32_t name="unk_5e20c"/> - ctor 87ae880 - <stl-string name='unk_59e90'/> - <padding size='16'/> - <int32_t name="unk_5e23c"/> - <int32_t name="unk_5e240"/> - <stl-string name='unk_59eac'/> - <bool/> - <bool/> - <bool/> - <bool/> - <padding size='900'/> - <pointer name='unk_5a238'/> dtor 83bed90 - <int32_t name="unk_5e5ec"/> - <int32_t name="unk_5e5f0"/> - <int32_t name="unk_5e5f4"/> - <int32_t name="unk_5e5f8"/> - <int32_t name="unk_5e5fc"/> - <int32_t name="unk_5e600"/> - <int32_t name="unk_5e604"/> - <int32_t name="unk_5e608"/> - <bool/> - </compound> - - -- hist figures - - <compound name='history' type-name='world_history'/> - - <stl-vector name='entity_populations'> - <pointer type-name='entity_population'/> - </stl-vector> - - <int32_t name="unk_5e7a0"/> - - <int32_t name='frame_counter' comment='increases by 1 every time . is pressed'/> - - <compound name='unk_5a39c'> - <stl-vector name='unk_5a39c'/> - - <static-array name='unk' count='80000'> - <comment>Looks like a temporary buffer for pathfinding or something.</comment> - <uint16_t name='unk1a'/> - <uint16_t name='tag'/> - <int32_t name='unk2'/> - <int16_t name='x'/> - <int16_t name='y'/> - <int32_t name='z'/> - </static-array> - - <int32_t/> - <int16_t name='x1'/> - <int16_t name='y1'/> - <int16_t name='z1'/> - <int16_t name='x2'/> - <int16_t name='y2'/> - <int16_t name='z2'/> - <int32_t/> - <int32_t/> - <int32_t/> - <uint16_t/> - <uint16_t name='tag'/> - <bool/> - <uint16_t/> - <bool/> - <int16_t/> - <int16_t/> - <bool/> - <int32_t/> - </compound> - - <compound name='unk_192bd8'> - <stl-string name='save_dir'/> - <padding size='4'/> - - <static-array count='19'> 192be0 - <stl-vector/> - </static-array> - </compound> - - <int32_t name="unk_192cc4"/> - - <compound name='unk_192cc8'> - <stl-vector/> - <stl-vector/> - - <padding size='4'/> - - <static-array count='105' comment='true array'> - <stl-vector type-name='pointer'/> - </static-array> - - <stl-vector/> - <stl-vector/> - <stl-vector/> - - <static-array count='7'> - <stl-vector/> - </static-array> - - <padding size='8'/> - - <stl-vector/> - </compound> - - <compound name='unk_19325c'> - <static-array count='3'> - <stl-vector type-name='pointer'/> - </static-array> - - <padding size='12'/> - </compound> - </struct-type> -</data-definition> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/list.pl b/library/xml/list.pl deleted file mode 100755 index 20656584..00000000 --- a/library/xml/list.pl +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -use XML::LibXML; - -my $input_dir = $ARGV[0] || '.'; -my $output_dir = $ARGV[1] || 'codegen'; -my $separator = $ARGV[2] || "\n"; - -print "$output_dir/static.inc"; - -for my $filename (glob "$input_dir/*.xml") { - my $parser = XML::LibXML->new(); - my $doc = $parser->parse_file($filename); - - my @nodes = ( - $doc->findnodes('/data-definition/enum-type'), - $doc->findnodes('/data-definition/bitfield-type'), - $doc->findnodes('/data-definition/struct-type'), - $doc->findnodes('/data-definition/class-type') - ); - - for my $node (@nodes) { - my $name = $node->getAttribute('type-name') - or die "Unnamed type in $filename\n"; - print "$separator$output_dir/$name.h"; - } -} - -print $separator if $separator eq "\n"; - diff --git a/library/xml/lower-1.xslt b/library/xml/lower-1.xslt deleted file mode 100644 index 8316a384..00000000 --- a/library/xml/lower-1.xslt +++ /dev/null @@ -1,289 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<!-- - The original XML format is good for human use, but - difficult to interpret during code generation. This - lowers it to more repetitive & verbose, but easier - for the programs to interpret. - - This is the first pass that folds all field tags into ld:field. - --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:ld="http://github.com/peterix/dfhack/lowered-data-definition"> - <!-- - Global templates: - - - Copy attributes and simple tags - - Bail out on unexpected tags - --> - - <xsl:template match="@*"> - <xsl:copy-of select='.'/> - </xsl:template> - - <xsl:template match="*"> - <xsl:message terminate="yes"> - Error: Unexpected tag: <xsl:value-of select='name(.)'/> - </xsl:message> - </xsl:template> - - <xsl:template match="/data-definition"> - <ld:data-definition> - <xsl:apply-templates select='@*|node()'/> - </ld:data-definition> - </xsl:template> - - <xsl:template match="comment|code-helper|enum-attr|enum-item|item-attr"> - <xsl:copy> - <xsl:apply-templates select='@*|node()'/> - </xsl:copy> - </xsl:template> - - <xsl:template match="virtual-methods|cond-if|cond-else"> - <xsl:param name='level' select='-1'/> - <xsl:copy> - <xsl:apply-templates select='@*|node()'> - <xsl:with-param name='level' select="$level"/> - </xsl:apply-templates> - </xsl:copy> - </xsl:template> - - <!-- Type defs: convert to one common 'global-type' tag name. --> - - <xsl:template match='enum-type|bitfield-type|class-type|struct-type'> - <ld:global-type> - <xsl:attribute name='ld:meta'><xsl:value-of select='name(.)'/></xsl:attribute> - <xsl:attribute name='ld:level'>0</xsl:attribute> - <xsl:apply-templates select='@*|node()'> - <xsl:with-param name='level' select="1"/> - </xsl:apply-templates> - </ld:global-type> - </xsl:template> - - <!-- Code to properly annotate references to types by name --> - - <xsl:key name="primitive-type-lookup" match="prim-type" use="@ld:subtype"/> - <xsl:variable name="primitive-types-top" select="document('')/*/ld:primitive-types"/> - - <xsl:template match="ld:primitive-types"> - <xsl:param name="name"/> - <xsl:param name="level"/> - <xsl:param name="rq_global"/> - <xsl:variable name='item' select="key('primitive-type-lookup', $name)"/> - <xsl:choose> - <xsl:when test="$item"> - <xsl:if test='$rq_global'> - <xsl:message terminate="yes"> - Error: Cannot refer to primitive types from <xsl:value-of select='$rq_global'/> - </xsl:message> - </xsl:if> - <xsl:apply-templates select="$item/@*"/> - <xsl:apply-templates select="$item/*"> - <xsl:with-param name='level' select="$level+1"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name='ld:meta'>global</xsl:attribute> - <xsl:attribute name='type-name'><xsl:value-of select='$name'/></xsl:attribute> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="lookup-type-ref"> - <xsl:param name='name'/> - <xsl:param name='level' select='-1'/> - <xsl:param name='rq_global'/> - <xsl:attribute name='ld:level'><xsl:value-of select='$level'/></xsl:attribute> - <xsl:apply-templates select="$primitive-types-top"> - <xsl:with-param name="name" select="$name"/> - <xsl:with-param name="level" select="$level"/> - <xsl:with-param name="rq_global" select="$rq_global"/> - </xsl:apply-templates> - </xsl:template> - - <!-- - Fields: - - - Fold into one generic 'field' tag. - - Add a 'level' attribute to assist in searching by name. - --> - - <!-- Primitive types: --> - <ld:primitive-types> - <prim-type ld:meta='number' ld:subtype='int8_t' ld:bits='8'/> - <prim-type ld:meta='number' ld:subtype='uint8_t' ld:unsigned='true' ld:bits='8'/> - <prim-type ld:meta='number' ld:subtype='int16_t' ld:bits='16'/> - <prim-type ld:meta='number' ld:subtype='uint16_t' ld:unsigned='true' ld:bits='16'/> - <prim-type ld:meta='number' ld:subtype='int32_t' ld:bits='32'/> - <prim-type ld:meta='number' ld:subtype='uint32_t' ld:unsigned='true' ld:bits='32'/> - <prim-type ld:meta='number' ld:subtype='int64_t' ld:bits='64'/> - <prim-type ld:meta='number' ld:subtype='uint64_t' ld:unsigned='true' ld:bits='64'/> - <prim-type ld:meta='number' ld:subtype='bool' ld:bits='8'/> - <prim-type ld:meta='number' ld:subtype='s-float' ld:bits='32'/> - <prim-type ld:meta='number' ld:subtype='flag-bit' ld:bits='1'/> - - <prim-type ld:meta='bytes' ld:subtype='padding'/> - <prim-type ld:meta='bytes' ld:subtype='static-string'/> - - <prim-type ld:meta='pointer' ld:subtype='pointer'/> - <prim-type ld:meta='pointer' ld:subtype='ptr-string' ld:is-container='true'> - <static-string/> - </prim-type> - - <prim-type ld:meta='primitive' ld:subtype='stl-string'/> - </ld:primitive-types> - - <xsl:template match='int8_t|uint8_t|int16_t|uint16_t|int32_t|uint32_t|int64_t|uint64_t|bool|flag-bit|s-float|padding|static-string|ptr-string|stl-string'> - <xsl:param name='level' select='-1'/> - <ld:field> - <xsl:apply-templates select='@*'/> - <xsl:call-template name='lookup-type-ref'> - <xsl:with-param name="name" select="name(.)"/> - <xsl:with-param name="level" select="$level"/> - </xsl:call-template> - <xsl:apply-templates select='node()'/> - </ld:field> - </xsl:template> - - <!-- - Compound, enum or bitfield: - - - When a proxy: meta='global' subtype='$tag' type-name='blah' - - When an ad-hoc compound: meta='compound' subtype='$tag' - - Level not incremented unless it has a name. - --> - <xsl:template name='compound'> - <xsl:param name='level' select='-1'/> - <xsl:param name='level_shift' select='1'/> - <xsl:param name='rq_global'/> - <xsl:apply-templates select='@*'/> - <xsl:choose> - <xsl:when test='@type-name'> - <xsl:call-template name='lookup-type-ref'> - <xsl:with-param name='name' select="@type-name"/> - <xsl:with-param name="level" select="$level"/> - <xsl:with-param name='rq_global' select="$rq_global"/> - </xsl:call-template> - <xsl:apply-templates select='node()'/> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name='ld:level'><xsl:value-of select='$level'/></xsl:attribute> - <xsl:attribute name='ld:meta'>compound</xsl:attribute> - <xsl:apply-templates select='node()'> - <xsl:with-param name='level' select="$level+$level_shift"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match='compound'> - <xsl:param name='level' select='-1'/> - <ld:field> - <xsl:if test="not(@name|@type-name)"> - <xsl:attribute name='ld:anon-compound'>true</xsl:attribute> - </xsl:if> - <xsl:call-template name='compound'> - <xsl:with-param name='level' select="$level"/> - <xsl:with-param name='level_shift' select="count(@name)"/> - </xsl:call-template> - </ld:field> - </xsl:template> - - <xsl:template match='bitfield|enum'> - <xsl:param name='level' select='-1'/> - <ld:field> - <xsl:attribute name='ld:subtype'><xsl:value-of select='name(.)'/></xsl:attribute> - <xsl:call-template name='compound'> - <xsl:with-param name='level' select="$level"/> - <xsl:with-param name='rq_global' select="name(.)"/> - </xsl:call-template> - </ld:field> - </xsl:template> - - <!-- Generic container helper: resolve type-name to a field, then process subtags. --> - <xsl:template name='container'> - <xsl:param name='level' select='-1'/> - <xsl:attribute name='ld:is-container'>true</xsl:attribute> - <xsl:choose> - <xsl:when test='@type-name'> - <ld:field> - <xsl:call-template name='lookup-type-ref'> - <xsl:with-param name='name' select="@type-name"/> - <xsl:with-param name="level" select="$level"/> - </xsl:call-template> - </ld:field> - <xsl:apply-templates select='node()'/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select='node()'> - <xsl:with-param name='level' select="$level"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Special containers: meta='$tag' --> - <xsl:template match='static-array|pointer'> - <xsl:param name='level' select='-1'/> - <ld:field> - <xsl:attribute name='ld:level'><xsl:value-of select='$level'/></xsl:attribute> - <xsl:attribute name='ld:meta'><xsl:value-of select='name(.)'/></xsl:attribute> - <xsl:apply-templates select='@*'/> - <xsl:call-template name='container'> - <xsl:with-param name='level' select="$level+1"/> - </xsl:call-template> - </ld:field> - </xsl:template> - - <!-- Misc containers: meta='container' subtype='$tag' --> - <xsl:template match='stl-vector|df-flagarray|stl-bit-vector'> - <xsl:param name='level' select='-1'/> - <ld:field ld:meta='container'> - <xsl:attribute name='ld:level'><xsl:value-of select='$level'/></xsl:attribute> - <xsl:attribute name='ld:subtype'><xsl:value-of select='name(.)'/></xsl:attribute> - <xsl:apply-templates select='@*'/> - <xsl:call-template name='container'> - <xsl:with-param name='level' select="$level+1"/> - </xsl:call-template> - </ld:field> - </xsl:template> - - <!-- Virtual methods --> - - <xsl:template match='vmethod'> - <xsl:param name='level' select='-1'/> - <xsl:copy> - <xsl:attribute name='ld:level'><xsl:value-of select='$level'/></xsl:attribute> - <xsl:apply-templates select='@*'/> - <xsl:if test='@ret-type'> - <xsl:copy-of select='text()[1]'/> - <ret-type> - <xsl:call-template name='lookup-type-ref'> - <xsl:with-param name='name' select="@ret-type"/> - <xsl:with-param name="level" select="$level+1"/> - </xsl:call-template> - </ret-type> - </xsl:if> - <xsl:apply-templates select='node()'> - <xsl:with-param name='level' select="$level+1"/> - </xsl:apply-templates> - </xsl:copy> - </xsl:template> - - <xsl:template match='ret-type'> - <xsl:param name='level' select='-1'/> - <xsl:copy> - <xsl:call-template name='compound'> - <xsl:with-param name='level' select="$level"/> - </xsl:call-template> - </xsl:copy> - </xsl:template> -</xsl:stylesheet> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> diff --git a/library/xml/lower-2.xslt b/library/xml/lower-2.xslt deleted file mode 100644 index 9bcd53f0..00000000 --- a/library/xml/lower-2.xslt +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<!-- - Second pass of lowering: - - Detect incorrectly placed fields - - Fold container item fields into a single ld:item subelement. - --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:ld="http://github.com/peterix/dfhack/lowered-data-definition"> - <!-- Generic walk --> - <xsl:template match="@*"> - <xsl:copy-of select='.'/> - </xsl:template> - - <xsl:template match="*"> - <xsl:copy> - <xsl:apply-templates select='@*|node()'/> - </xsl:copy> - </xsl:template> - - <!-- Detect invalid fields & methods --> - <xsl:template match="ld:field[not(@ld:level) or (@ld:level < 0)]" priority='10'> - <xsl:message terminate='yes'> - Unexpected field: <xsl:copy-of select='.'/> - </xsl:message> - </xsl:template> - - <xsl:template match="ld:vmethod[not(@ld:level) or not(@ld:level = 1)]" priority='10'> - <xsl:message terminate='yes'> - Unexpected method: <xsl:copy-of select='.'/> - </xsl:message> - </xsl:template> - - <!-- Unify containers --> - <xsl:template match="ld:field" priority='8'> - <xsl:param name="tag" select="name(.)"/> - <xsl:element name='{$tag}'> - <xsl:apply-templates select='@*|node()'/> - </xsl:element> - </xsl:template> - - <xsl:template match="*[@ld:is-container]" priority='9'> - <xsl:param name="tag" select="name(.)"/> - <xsl:element name='{$tag}'> - <xsl:apply-templates select='@*'/> - <xsl:choose> - <xsl:when test='count(ld:field) <= 1'> - <xsl:apply-templates select='node()'> - <xsl:with-param name='tag' select="'ld:item'"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <!-- This destroys formatting, but it seems inevitable. --> - <xsl:copy-of select='text()[1]'/> - <ld:item ld:meta='compound'> - <xsl:attribute name='ld:level'><xsl:value-of select='@ld:level'/></xsl:attribute> - <xsl:apply-templates select='ld:field|text()'/> - </ld:item> - <xsl:apply-templates select='node()[not(self::ld:field)]'/> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:template> - - <xsl:template match='ret-type[count(ld:field)=1]'> - <xsl:apply-templates select='ld:field'> - <xsl:with-param name='tag' select="'ret-type'"/> - </xsl:apply-templates> - </xsl:template> -</xsl:stylesheet> - -<!-- -Local Variables: -indent-tabs-mode: nil -nxml-child-indent: 4 -End: ---> |
