v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

XML dump

From Dwarf Fortress Wiki
Revision as of 10:59, 23 May 2023 by PPKFS (talk | contribs) (Starting on adding details of the current state of the XML dump based on my work parsing it.)
Jump to navigation Jump to search
This article is about the current version of DF.
Note that some content may still need to be updated.


An XML dump of a world's history can be generated from Legends mode by pressing x, and will be placed in the Dwarf Fortress root folder. The dump consists of many internals Dwarf Fortress tracks about the world in XML format. Be warned that the generated XML file can be quite large, even a gigabyte or more, especially for long-lived worlds with many historical figures. The dump is currently incomplete and is missing a lot of data about the world. The third-party utility DFHack can output a more thorough legends_plus.xml dump that includes at least some of the missing information.

Format

A non-exhaustive breakdown of Dwarf Fortress XML export tags is available here.

The v0.31 xml dump page contains a lot of detail about the dumped information, and a lot of it is still accurate for this version.

seconds72

These values specify when during the year an event occurred. For example, the birth_seconds72 and death_seconds72 subelements of historical_figure elements have values of this type.

There are 12 months in a Dwarf Fortress year, exactly 28 days in each month, 24 hours in each day, 60 minutes in each hour, and 60 seconds in each minute. Divide seconds by 72 to get the seconds72 value. There are 1,200 seconds72 in a day. There are 403,200 seconds72 in a Dwarf Fortress year.

Troubleshooting

If you have played a fortress and then exported legends, you may get an error about unreadable HEX characters. This is caused by older versions of DFHack, where plugins (such as "workflow") saved their settings as unreadable historical figures. There are several ways to fix this:

  • Clear the settings for the various plugins in fortress mode before exporting legends
  • Edit the xml by hand, as described here (any platform)
  • Use the Legends Processing script (windows only), which fixes the xml and also creates a compressed folder as described above

Versions of DFHack made for Dwarf Fortress 0.47.01 and later should not suffer from this problem.

Contents of the XML file

The XML file has, at the top-level, the `df_world` node. This contains 14 child nodes, each of which acts as a list of identical child nodes. The nodes are as follows:

df_world format
Parent node Individual node name content
regions region A named region of the world map.
underground_regions underground_region An unnamed underground region of the world map.
sites site A site on the map with a location, site type, and structures contained.
artifacts artifact Artifacts with their associated written content (if books, scrolls, etc.) or location (if lost) or holder (if wielded).
world_constructions world_construction
historical_figures historical_figure
entity_populations entity_population
entities entity
historical_events historical_event
historical_event_collections historical_event_collection
historical_eras historical_era
poetic_forms poetic_form
musical_forms musical_form
dance_forms dance_form

See Also