world

world.worldgen_region_type

<enum-type type-name="worldgen_region_type">
  <enum-item name="SWAMP"/>
  <enum-item name="DESERT"/>
  <enum-item name="FOREST"/>
  <enum-item name="MOUNTAINS"/>
  <enum-item name="OCEAN"/>
  <enum-item name="LAKE"/>
  <enum-item name="GLACIER"/>
  <enum-item name="TUNDRA"/>
  <enum-item name="GRASSLAND"/>
  <enum-item name="HILLS"/>
</enum-type>

world.worldgen_range_type

<enum-type type-name="worldgen_range_type">
  <enum-item name="ELEVATION"/>
  <enum-item name="RAINFALL"/>
  <enum-item/>
  <enum-item name="TEMPERATURE"/>
  <enum-item/>
  <enum-item name="DRAINAGE"/>
  <enum-item name="VOLCANISM"/>
  <enum-item name="SAVAGERY"/>
  <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-type>

world.units_other_id

<enum-type type-name="units_other_id">
  <enum-item name="ANY_RIDER"/>
  <enum-item name="ANY_BABY2"/>
</enum-type>

world.incident

<struct-type type-name="incident"
    instance-vector="$global.world.incidents.all" key-field="id">
  dtor 0x8C1AE10
  <int32_t name="id"/>
  <int32_t name="unk_4"/>
  <stl-vector name="witnesses" type-name="int32_t" ref-target="unit"/>
  <int32_t name="victim" ref-target="unit"/>
  <int32_t name="victim_hfid" ref-target="historical_figure">
    v0.40.01
  </int32_t>
  <int32_t name="victim_race" ref-target="creature_raw">
    v0.40.01
  </int32_t>
  <int32_t name="victim_caste" ref-target="caste_raw"
      aux-value="$$.victim_race">
    v0.40.01
  </int32_t>
  <int32_t name="unk_v40_1b" init-value="-1">
    v0.40.01
  </int32_t>
  <int32_t name="unk_v40_1c" init-value="-1">
    v0.40.01
  </int32_t>
  <int32_t name="killer" ref-target="unit"/>
  <int32_t name="killer_hfid" ref-target="historical_figure">
    v0.40.01
  </int32_t>
  <int32_t name="killer_race" ref-target="creature_raw">
    v0.40.01
  </int32_t>
  <int32_t name="killer_caste" ref-target="caste_raw"
      aux-value="$$.killer_race">
    v0.40.01
  </int32_t>
  <int32_t name="entity1" ref-target="historical_entity">
    v0.40.01
  </int32_t>
  <int32_t name="unk_v40_2c" init-value="-1">
    v0.40.01
  </int32_t>
  <int32_t name="crime_id" ref-target="crime"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="unk_v40_3a" init-value="-1">
    v0.40.01
  </int32_t>
  <int32_t name="unk_v40_3b" init-value="-1">
    v0.40.01
  </int32_t>
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="event_year"/>
  <int32_t name="event_time"/>
  <bitfield name="flags">
    <flag-bit name="announced_missing"/>
    <flag-bit name="discovered"/>
    <flag-bit name="unk2">
      v0.40.01
    </flag-bit>
  </bitfield>
  <enum base-type="int16_t" name="death_cause"
      type-name="death_type"/>
  <int32_t name="unk_6c"/>
  <int32_t name="unk_70"/>
  <int32_t name="world_x"/>
  <int32_t name="world_y"/>
  <int32_t name="world_z"/>
  <int32_t name="unk_80"/>
  <int32_t name="unk_v42_1">
    v0.42.01
  </int32_t>
</struct-type>

world.crime

<struct-type type-name="crime"
    instance-vector="$global.world.crimes.all" key-field="id">
  dtor 0x8C166D0
  <int32_t name="id"/>
  <enum name="mode" base-type="int32_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-item name="Theft"/>
    <enum-item name="Robbery"/>
    <enum-item name="BloodDrinking"/>
  </enum>
  <compound name="punishment">
    <int32_t name="hammerstrikes"/>
    <int32_t name="prison_time"/>
    <int32_t name="give_beating"/>
  </compound>
  <int32_t name="criminal" ref-target="unit"/>
  <int32_t name="convicted" ref-target="unit"/>
  <int32_t name="victim" ref-target="unit"/>
  <bitfield name="flags">
    <flag-bit name="sentenced"/>
    <flag-bit name="discovered"/>
    <flag-bit name="needs_trial">
      i.e. the player chooses whom to convict
    </flag-bit>
  </bitfield>
  <int32_t name="death_id" ref-target="incident"/>
  <int32_t name="event_year"/>
  <int32_t name="event_time"/>
  <int32_t name="discovered_year"/>
  <int32_t name="discovered_time"/>
  <int32_t name="site" ref-target="world_site"/>
  <int32_t name="entity" ref-target="historical_entity"/>
  <stl-vector name="reports">
    <pointer>
      <int32_t name="death_id" ref-target="incident"/>
      <int32_t name="crime_id" ref-target="crime"/>
      <int32_t name="unk1">
        unk1 of witness_reports; 1 = found body?
      </int32_t>
      <int32_t name="event_year"/>
      <int32_t name="event_time"/>
      <int32_t name="witness" ref-target="unit"/>
      <int32_t name="accuses" ref-target="unit"/>
      <int32_t name="report_year"/>
      <int32_t name="report_time"/>
    </pointer>
  </stl-vector>
</struct-type>

world.world_unk_20

<struct-type type-name="world_unk_20">
  <int8_t/>
  <stl-vector type-name="int32_t"/>
  <int32_t/>
  <stl-vector type-name="int32_t"/>
  <int32_t/>
  <int32_t/>
  <stl-vector>
    <pointer>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
    </pointer>
  </stl-vector>
  <int16_t/>
  <int16_t/>
  <int16_t/>
</struct-type>

world.world_unk_6c

<struct-type type-name="world_unk_6c">
  <compound type-name="coord"/>
  <int8_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"/>
</struct-type>

world.world_unk_90

<struct-type type-name="world_unk_90">
  <int16_t name="x1"/>
  <int16_t name="y1"/>
  <int16_t name="x2"/>
  <int16_t name="y2"/>
  <int16_t name="z"/>
</struct-type>

world.world_unk_9c

<struct-type type-name="world_unk_9c">
  <compound type-name="coord2d" name="region"/>
  <compound type-name="coord2d" name="embark"/>
  <int16_t name="local_feature_idx"/>
  <int32_t name="global_feature_idx"
      ref-target="world_underground_region"/>
  <int32_t name="unk10"/>
  <int16_t name="unk14"/>
  <compound type-name="coord2d" name="local"/>
  <int16_t name="z_min"/>
  <int16_t name="z_max"/>
</struct-type>

world.world_unk_a8

<struct-type type-name="world_unk_a8">
  <int8_t/>
  <int32_t/>
  <stl-vector type-name="int32_t"/>
  <int16_t/>
  <int16_t/>
  <int16_t/>
</struct-type>

world.world_unk_b4

<struct-type type-name="world_unk_b4">
  <int8_t/>
  <int32_t/>
  <stl-vector type-name="int16_t"/>
  <stl-vector type-name="int16_t"/>
  <stl-vector type-name="int16_t"/>
  <int16_t/>
  <int16_t/>
  <int16_t/>
</struct-type>

world.world_unk_c0

<struct-type type-name="world_unk_c0">
  <int8_t/>
  <stl-vector type-name="int32_t"/>
  <int32_t/>
  <stl-vector type-name="int32_t"/>
  <int32_t/>
  <int32_t/>
  <stl-vector>
    <pointer>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
      <int32_t/>
    </pointer>
  </stl-vector>
  <int16_t/>
  <int16_t/>
  <int16_t/>
</struct-type>

world.combat_report_event_type

<enum-type type-name="combat_report_event_type" base-type="int16_t">
  <enum-item/>
  <enum-item name="Deflected"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="Unconscious"/>
  <enum-item name="Stunned"/>
  <enum-item name="MoreStunned"/>
  <enum-item name="Winded"/>
  <enum-item name="MoreWinded"/>
  <enum-item name="Nausea"/>
  <enum-item name="MoreNausea"/>
  <enum-item/>
  <enum-item/>
  <enum-item name="ExtractInjected"/>
  <enum-item name="ExtractSprayed"/>
  <enum-item name="BloodSucked"/>
  <enum-item name="SeveredPart"/>
  <enum-item/>
  <enum-item name="KnockedBack"/>
  <enum-item name="StuckIn"/>
  <enum-item name="LatchOnPart"/>
  <enum-item name="LatchOn"/>
  <enum-item name="Enraged"/>
  <enum-item name="PassThrough"/>
  <enum-item name="GlancesAway"/>
  <enum-item/>
  <enum-item/>
  <enum-item name="MajorArtery"/>
  <enum-item name="Artery"/>
  <enum-item name="MotorNerve"/>
  <enum-item name="SensoryNerve"/>
  <enum-item name="NoForce"/>
  <enum-item name="Interrupted"/>
</enum-type>

world.glowing_barrier

<struct-type type-name="glowing_barrier">
  <int8_t/>
  <int32_t/>
  <stl-vector name="buildings" type-name="int32_t"
      ref-target="building"/>
  <compound name="pos" type-name="coord"/>
</struct-type>

world.deep_vein_hollow

<struct-type type-name="deep_vein_hollow">
  <int8_t/>
  <int32_t/>
  <compound name="tiles" type-name="coord_path"/>
  <compound name="pos" type-name="coord">
    seemingly unused
  </compound>
</struct-type>

world.campfire

<struct-type type-name="campfire">
  <compound type-name="coord" name="pos"/>
  <int32_t name="timer"/>
</struct-type>

world.web_cluster

<struct-type type-name="web_cluster">
  <stl-vector type-name="int16_t" name="x"/>
  <stl-vector type-name="int16_t" name="y"/>
  <int16_t name="z"/>
  <int16_t name="race" ref-target="creature_raw"/>
  <int16_t name="caste" ref-target="caste_raw" aux-value="$$.race"/>
  <compound type-name="coord2d" name="pos_min"/>
  <compound type-name="coord2d" name="pos_max"/>
  <stl-vector type-name="int32_t" name="ambushers" ref-target="unit"/>
</struct-type>

world.fire

<struct-type type-name="fire">
  <compound type-name="coord" name="pos"/>
  <int16_t name="timer"/>
  <uint16_t name="temperature"/>
  <uint16_t name="unk1">
    10000
  </uint16_t>
  <uint16_t name="unk2"/>
  <uint16_t name="unk3"/>
</struct-type>

world.ocean_wave

<struct-type type-name="ocean_wave">
  <int16_t name="x1"/>
  <int16_t name="y1"/>
  <int16_t name="x2"/>
  <int16_t name="y2"/>
  <int16_t name="z"/>
  <int8_t/>
  <int8_t/>
  <int8_t/>
</struct-type>

world.coin_batch

<struct-type type-name="coin_batch"
    instance-vector="$global.world.coin_batches">
  <int32_t name="year"/>
  <int16_t name="mat_type" ref-target="material"
      aux-value="$$.mat_index"/>
  <int32_t name="mat_index"/>
  <int32_t name="entity" ref-target="historical_entity"/>
  <int32_t name="ruler" ref-target="historical_figure"/>
  <compound name="image_front">
    <int32_t name="id" ref-target="art_image_chunk"/>
    <int16_t name="subid" ref-target="art_image" aux-value="$$.id"/>
  </compound>
  <compound name="image_back">
    <int32_t name="id" ref-target="art_image_chunk"/>
    <int16_t name="subid" ref-target="art_image" aux-value="$$.id"/>
  </compound>
</struct-type>

world.building_handler

<class-type type-name="building_handler"
    original-name="building_handlerst" custom-methods="true">
  dtor 85316f0
  <stl-vector name="all" pointer-type="building"/>
  <static-array name="other" count="90"
      index-enum="buildings_other_id">
    <stl-vector pointer-type="building"/>
  </static-array>
  <stl-vector name="bad" has-bad-pointers="true"
      pointer-type="building"/>
  <virtual-methods>
    <vmethod name="get_machine_hookup_list">
      <pointer name="hookups">
        <stl-vector type-name="int16_t"/>
      </pointer>
      <int16_t name="type"/>
      <int16_t name="subtype"/>
      <int16_t name="x1"/>
      <int16_t name="y1"/>
      <int16_t name="x2"/>
      <int16_t name="y2"/>
      <int16_t name="z"/>
      <int8_t name="is_vertical"/>
      ToadyOnes name
    </vmethod>
  </virtual-methods>
</class-type>

world.machine_handler

<class-type type-name="machine_handler"
    original-name="machine_handlerst" custom-methods="true">
  <stl-vector name="all" pointer-type="machine"/>
  <stl-vector name="bad" has-bad-pointers="true"
      pointer-type="machine"/>
  <virtual-methods>
    <vmethod>
      <pointer type-name="building"/>
    </vmethod>
  </virtual-methods>
</class-type>

world.world

<struct-type type-name="world">
  dtor 89fff80
  <stl-vector name="glowing_barriers" pointer-type="glowing_barrier"/>
  <stl-vector name="deep_vein_hollows"
      pointer-type="deep_vein_hollow"/>
  <stl-vector name="unk_20" pointer-type="world_unk_20"/>
  <stl-vector name="engravings" pointer-type="engraving"/>
  <compound name="vermin">
    <stl-vector name="all" pointer-type="vermin"/>
    <stl-vector name="colonies" pointer-type="vermin"/>
  </compound>
  <stl-vector name="unk_3C" pointer-type="coord"/>
  <stl-vector name="campfires" pointer-type="campfire"/>
  <stl-vector name="web_clusters" pointer-type="web_cluster"/>
  <stl-vector name="fires" pointer-type="fire"/>
  <stl-vector name="unk_6C" pointer-type="world_unk_6c"/>
  <stl-vector name="ocean_waves" pointer-type="ocean_wave"/>
  <stl-vector name="constructions" pointer-type="construction"/>
  <stl-vector name="unk_90" pointer-type="world_unk_90"/>
  <stl-vector name="unk_9C" pointer-type="world_unk_9c"/>
  <stl-vector name="unk_A8" pointer-type="world_unk_a8"/>
  <stl-vector name="unk_B4" pointer-type="world_unk_b4"/>
  <stl-vector name="unk_C0" pointer-type="world_unk_c0"/>
  <stl-vector name="unk_CC" pointer-type="engraving"/>
  <stl-vector name="unk_D8" pointer-type="construction"/>
  <stl-vector name="unk_E4" pointer-type="world_unk_9c"/>
  <stl-vector name="unk_F0" pointer-type="world_unk_6c"/>
  <stl-vector name="unk_FC" pointer-type="world_unk_90"/>
  <stl-vector name="effects" pointer-type="effect_info"/>
  <stl-vector name="coin_batches" pointer-type="coin_batch"/>
  <stl-vector name="populations" pointer-type="local_population"/>
  <stl-vector name="manager_orders" pointer-type="manager_order"/>
  <int32_t name="manager_order_next_id"/>
  <stl-vector name="mandates" pointer-type="mandate"/>
  <compound name="entities">
    <stl-vector name="all" pointer-type="historical_entity"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="historical_entity"/>
  </compound>
  <compound name="worldgen_coord_buf">
    <static-array count="20000" type-name="coord2d" name="slots"/>
    <int16_t name="next_slot"/>
  </compound>
  <compound name="units">
    <stl-vector name="all" pointer-type="unit"/>
    <stl-vector name="active" pointer-type="unit">
      not sorted, entry 0 is adventurer
    </stl-vector>
    <static-array name="other" count="2" index-enum="units_other_id">
      <stl-vector pointer-type="unit"/>
    </static-array>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="unit"/>
  </compound>
  <stl-vector name="unit_chunks" pointer-type="unit_chunk"/>
  <stl-vector name="art_image_chunks" pointer-type="art_image_chunk"/>
  <compound name="nemesis">
    <stl-vector name="all" pointer-type="nemesis_record"/>
    <static-array name="other" count="2">
      <stl-vector pointer-type="nemesis_record"/>
      v0.40.01
    </static-array>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="nemesis_record"/>
  </compound>
  <bool name="unk4"/>
  <compound name="items">
    dtor 852f4b0
    <stl-vector name="all" pointer-type="item"/>
    <static-array name="other" count="132"
        index-enum="items_other_id">
      <stl-vector pointer-type="item"/>
    </static-array>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="item"/>
    <stl-vector name="bad_tag" type-name="int32_t"/>
  </compound>
  <compound name="artifacts">
    <stl-vector name="all" pointer-type="artifact_record"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="artifact_record"/>
  </compound>
  <df-linked-list name="job_list" type-name="job_list_link"/>
  <stl-vector name="job_postings">
    <pointer>
      <int32_t name="idx">
        equal to position in vector
      </int32_t>
      <pointer type-name="job" name="job">
        bad if dead flag is set
      </pointer>
      <bitfield name="flags" base-type="int32_t">
        <flag-bit name="dead"/>
      </bitfield>
      <int32_t>
        not saved
      </int32_t>
    </pointer>
    entries never removed
  </stl-vector>
  <static-array count="2000">
    <int32_t name="unk_0"/>
    <int32_t/>
    <pointer/>
  </static-array>
  <int32_t>
    next slot
  </int32_t>
  <df-linked-list name="proj_list" type-name="proj_list_link"/>
  <compound name="buildings" type-name="building_handler"/>
  <bool name="check_bridge_collapse"/>
  <bool name="check_machine_collapse">
    ?
  </bool>
  <compound name="machines" type-name="machine_handler"/>
  <compound name="flow_guides">
    <stl-vector name="all" pointer-type="flow_guide"/>
    <stl-vector name="bad" pointer-type="flow_guide"
        has-bad-pointers="true"/>
  </compound>
  <compound name="stockpile">
    <static-array type-name="int32_t" name="num_jobs" count="10"
        index-enum="hauler_type"/>
    <static-array type-name="int32_t" name="num_haulers" count="10"
        index-enum="hauler_type"/>
    <compound name="simple1">
      <int8_t/>
      <int8_t name="food"/>
      <int8_t/>
      <int8_t/>
    </compound>
    <stl-vector name="seeds" type-name="int8_t"
        index-refers-to="(find-plant-raw $)"/>
    <stl-vector name="plants" type-name="int8_t"
        index-refers-to="(find-plant-raw $)"/>
    <stl-vector name="cheese" type-name="int8_t"
        index-refers-to="(find-creature $)"/>
    <stl-vector name="meat_fish" type-name="int8_t"
        index-refers-to="(find-creature $)"/>
    <stl-vector name="eggs" type-name="int8_t"
        index-refers-to="(find-creature $)"/>
    <stl-vector name="leaves" type-name="int8_t"
        index-refers-to="(find-plant-raw $)"/>
    <stl-vector name="plant_powder" type-name="int8_t"
        index-refers-to="(find-plant-raw $)"/>
    <compound name="simple2">
      <int8_t name="seeds"/>
      <int8_t name="plants"/>
      <int8_t name="cheese"/>
      <int8_t name="fish"/>
      <int8_t name="meat"/>
      <int8_t name="leaves"/>
      <int8_t name="powder"/>
      <int8_t name="eggs"/>
    </compound>
    <stl-vector name="liquid_plant" type-name="int8_t"
        index-refers-to="(find-plant-raw $)"/>
    <stl-vector name="liquid_animal" type-name="int8_t"
        index-refers-to="(find-creature $)"/>
    <stl-vector name="liquid_builtin" type-name="int8_t"
        index-refers-to="(material-by-id $ -1)"/>
    <compound name="simple3">
      <int8_t name="glob_fat"/>
      <int8_t name="glob_tallow"/>
      <int8_t name="glob_paste"/>
      <int8_t name="glob_pressed"/>
      <int8_t name="weapons"/>
      <int8_t name="shields"/>
      <int8_t name="ammo"/>
      <int8_t name="coins"/>
      <int8_t name="bar_blocks"/>
      <int8_t name="gems">
        not large
      </int8_t>
      <int8_t name="finished_goods"/>
      <int8_t name="tanned_skins"/>
      <int8_t name="thread_cloth"/>
      <int8_t/>
      <int8_t/>
      <int8_t/>
    </compound>
  </compound>
  <compound name="plants">
    <stl-vector name="all" pointer-type="plant"/>
    <stl-vector name="shrub_dry" pointer-type="plant"/>
    <stl-vector name="shrub_wet" pointer-type="plant"/>
    <stl-vector name="tree_dry" pointer-type="plant"/>
    <stl-vector name="tree_wet" pointer-type="plant"/>
    <stl-vector name="empty" pointer-type="plant"/>
  </compound>
  <df-linked-list name='quests' type-name='quest_list_link'/>
  <compound name="enemy_status_cache">
    <static-array name="slot_used" type-name="bool" count="500"/>
    <static-array name="rel_map" count="500">
      <static-array type-name="int32_t" count="500"/>
    </static-array>
    <int32_t name="next_slot"/>
    ?
  </compound>
  <compound name="schedules">
    <stl-vector name="all" pointer-type="schedule_info"/>
    <stl-vector name="bad" pointer-type="schedule_info"
        has-bad-pointers="true"/>
  </compound>
  <compound name="squads">
    <stl-vector name="all" pointer-type="squad"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="squad"/>
  </compound>
  <compound name="formations">
    <stl-vector name="all">
      <pointer>
        <int32_t/>
      </pointer>
    </stl-vector>
    <stl-vector name="bad" has-bad-pointers="true">
      <pointer/>
    </stl-vector>
  </compound>
  <compound name="activities">
    <stl-vector name="all" pointer-type="activity_entry"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="activity_entry"/>
  </compound>
  <compound name="status">
    dtor 85356e0
    <stl-vector name="reports" pointer-type="report"/>
    <stl-vector name="announcements" pointer-type="report"/>
    <stl-vector name="popups" pointer-type="popup_message"/>
    <int32_t name="next_report_id"/>
    <bitfield name="flags">
      <flag-bit name="combat"/>
      <flag-bit name="hunting"/>
      <flag-bit name="sparring"/>
    </bitfield>
    <padding size="36">
      v0.40.01
    </padding>
    <int32_t name="display_timer"/>
    <static-array name="slots" count="100">
      Written to by code at 0x80fd7b0
      <enum type-name="combat_report_event_type" name="type"/>
      <int32_t name="item">
        or body part layer
      </int32_t>
      <int32_t name="unk1b"/>
      <int32_t name="unk1c"/>
      <int32_t name="unk1d"/>
      <int16_t name="body_part"/>
      <int16_t name="unk2b"/>
      <int16_t name="unk2c"/>
      <int16_t name="unk2d"/>
      <stl-string name="target_bp_name"/>
      <stl-string name="verb"/>
      <stl-string name="with_item_name"/>
      <stl-string name="unk3d"/>
      <bitfield name="flags" base-type="int32_t">
        <flag-bit name="behind"/>
        <flag-bit name="side"/>
        <flag-bit name="by"/>
        <flag-bit name="item"/>
        <flag-bit name="tap"/>
        <flag-bit name="sever"/>
      </bitfield>
    </static-array>
    <static-array name="slot_id_used" type-name="int16_t" count="38"
        index-enum="combat_report_event_type"/>
    <static-array name="slot_id_idx1" type-name="int16_t" count="38"
        index-enum="combat_report_event_type"/>
    <static-array name="slot_id_idx2" type-name="int16_t" count="38"
        index-enum="combat_report_event_type"/>
    <int16_t name="slots_used"/>
  </compound>
  <compound name="interaction_instances">
    <stl-vector name="all" pointer-type="interaction_instance"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="interaction_instance"/>
  </compound>
  <compound name="written_contents">
    <stl-vector name="all" pointer-type="written_content"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="written_content"/>
  </compound>
  <compound name="identities">
    <stl-vector name="all" pointer-type="identity"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="identity"/>
  </compound>
  <compound name="incidents">
    <stl-vector name="all" pointer-type="incident"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="incident"/>
  </compound>
  <compound name="crimes">
    <stl-vector name="all" pointer-type="crime"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="crime"/>
  </compound>
  <compound name="vehicles">
    <stl-vector name="all" pointer-type="vehicle"/>
    <stl-vector name="active" pointer-type="vehicle"/>
    <stl-vector name="bad" has-bad-pointers="true"
        pointer-type="vehicle"/>
    v0.34.08
  </compound>
  <compound name="armies">
    <stl-vector name="all" pointer-type="army"/>
    <stl-vector name="bad" pointer-type="army"
        has-bad-pointers="true"/>
    v0.40.01
  </compound>
  <compound name="army_controllers">
    <stl-vector name="all" pointer-type="army_controller"/>
    <stl-vector name="bad" pointer-type="army_controller"
        has-bad-pointers="true"/>
    v0.40.01
  </compound>
  <compound name="army_tracking_info">
    <stl-vector name="all"/>
    <stl-vector name="bad" has-bad-pointers="true"/>
    v0.40.01
  </compound>
  <compound name="cultural_identities">
    <stl-vector name="all" pointer-type="cultural_identity"/>
    <stl-vector name="bad" pointer-type="cultural_identity"
        has-bad-pointers="true"/>
    v0.40.01
  </compound>
  <compound name="agreements">
    <stl-vector name="all" pointer-type="agreement"/>
    <stl-vector name="bad" pointer-type="agreement"
        has-bad-pointers="true"/>
    v0.40.01
  </compound>
  <compound name="poetic_forms">
    <stl-vector name="all" pointer-type="poetic_form"/>
    <stl-vector name="bad" pointer-type="poetic_form"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <compound name="musical_forms">
    <stl-vector name="all" pointer-type="musical_form"/>
    <stl-vector name="bad" pointer-type="musical_form"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <compound name="dance_forms">
    <stl-vector name="all" pointer-type="dance_form"/>
    <stl-vector name="bad" pointer-type="dance_form"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <compound name="scales">
    <stl-vector name="all" pointer-type="scale"/>
    <stl-vector name="bad" pointer-type="scale"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <compound name="rhythms">
    <stl-vector name="all" pointer-type="rhythm"/>
    <stl-vector name="bad" pointer-type="rhythm"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <compound name="occupations">
    <stl-vector name="all" pointer-type="occupation"/>
    <stl-vector name="bad" pointer-type="occupation"
        has-bad-pointers="true"/>
    v0.42.01
  </compound>
  <pointer name="selected_building" type-name="building"/>
  <enum base-type="int16_t" name="selected_stockpile_type"
      type-name="stockpile_category"/>
  <bool name="update_selected_building"/>
  <int16_t name="building_width"/>
  <int16_t name="building_height"/>
  <enum name="selected_direction" base-type="int8_t"
      type-name="screw_pump_direction"/>
  <compound name="map">
    52cdc
    <stl-vector name="map_blocks" pointer-type="map_block"/>
    <pointer name="block_index" is-array="true">
      <pointer is-array="true">
        <pointer is-array="true">
          <pointer type-name="map_block"/>
        </pointer>
      </pointer>
    </pointer>
    <stl-vector name="map_block_columns"
        pointer-type="map_block_column"/>
    <pointer name="column_index" is-array="true">
      <pointer is-array="true">
        <pointer type-name="map_block_column"/>
      </pointer>
    </pointer>
    <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"/>
    <static-array name="distance_lookup" count="53">
      <static-array count="53" type-name="int16_t">
        Appears to be precomputed rounded integer distances
      </static-array>
    </static-array>
  </compound>
  <static-array name="unk_v40_1a" count="129" index-enum="profession">
    <stl-vector type-name="int16_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_1b" count="129" index-enum="profession">
    <stl-vector type-name="int16_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_2a" count="80" type-name="int32_t">
    v0.40.1
  </static-array>
  <static-array name="unk_v40_2b" count="181" type-name="d-float">
    v0.40.1
  </static-array>
  <static-array name="unk_v40_2c" count="121" type-name="d-float">
    v0.40.1
  </static-array>
  <compound name="map_extras">
    <uint8_t name="rotation"/>
    <pointer type-name="z_level_flags" name="z_level_flags"
        is-array="true">
      v0.34.05
    </pointer>
    <stl-vector name="unk_v40_3a" pointer-type="block_square_event">
      v0.40.1
    </stl-vector>
    <stl-vector name="unk_v40_3b" type-name="int16_t">
      v0.40.1
    </stl-vector>
    <stl-vector name="unk_v40_3c" type-name="int16_t">
      v0.40.1
    </stl-vector>
    <stl-vector name="unk_v40_3d" type-name="int16_t">
      v0.40.1
    </stl-vector>
  </compound>
  <pointer name="world_data" type-name="world_data"/>
  <compound name="worldgen_status">
    <int16_t name="state"/>
    <int32_t name="num_rejects"/>
    <static-array count="53" type-name="int32_t"/>
    <static-array count="53" type-name="int32_t"/>
    <int16_t name="rejection_reason"/>
    <int32_t name="lakes_total"/>
    <int32_t/>
    <int16_t/>
    <int32_t name="lakes_cur"/>
    <int32_t/>
    <int32_t/>
    <static-array count="100" type-name="pointer"/>
    <static-array count="100" type-name="int8_t"/>
    <static-array count="100" type-name="int16_t"/>
    <int32_t/>
    <int32_t name="finalized_civ_mats"/>
    <int32_t name="finalized_art"/>
    <int32_t name="finalized_uniforms"/>
    <int32_t name="finalized_sites"/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <stl-vector type-name="pointer"/>
    <stl-vector type-name="pointer"/>
    <int32_t name="width"/>
    <int32_t name="height"/>
    <stl-vector type-name="pointer"/>
    <stl-vector type-name="pointer"/>
    <int32_t name="rivers_total"/>
    <int32_t name="rivers_cur"/>
    <int8_t/>
    <stl-string name="last_param_set"/>
    <stl-string name="last_seed"/>
    <stl-string name="last_name_seed"/>
    <stl-string name="last_history_seed"/>
    <stl-string name="last_creature_seed"/>
    <bool name="placed_caves"/>
    <bool name="placed_good_evil"/>
    <bool name="placed_megabeasts"/>
    <bool name="placed_other_beasts"/>
    <bool name="made_cave_pops"/>
    <bool name="made_cave_civs"/>
    <bool name="placed_civs"/>
    <bool name="finished_prehistory"/>
    <stl-vector type-name="pointer"/>
    <stl-vector type-name="pointer"/>
    <int32_t/>
    <int8_t/>
    <int8_t/>
    <int8_t/>
    <int8_t/>
    <stl-vector type-name="pointer"/>
    <stl-vector type-name="pointer"/>
    <int32_t/>
    <int32_t/>
    <static-array count="10">
      <stl-vector/>
    </static-array>
    <static-array count="10">
      <stl-vector/>
    </static-array>
    <static-array count="10">
      <stl-vector/>
    </static-array>
    <stl-vector/>
    <stl-vector/>
    <stl-vector/>
    <stl-vector/>
    <stl-vector/>
    <stl-vector/>
    <int32_t/>
    <int32_t/>
    <stl-vector name="unk_10d298">
      v0.40.01
    </stl-vector>
    <stl-vector name="unk_10d2a4">
      v0.40.01
    </stl-vector>
    <stl-vector>
      v0.42.01
    </stl-vector>
    <int32_t>
      v0.42.01
    </int32_t>
  </compound>
  <compound name="orphaned_flow_pool" type-name="flow_reuse_pool"/>
  <compound name="raws" type-name="world_raws"/>
  <compound name="unk_59dc4">
    <compound name="regions" type-name="coord2d_path"/>
    <stl-vector name="unk1">
      <pointer>
        <compound name="ref" type-name="world_population_ref"/>
        <stl-vector name="unk">
          <int32_t/>
        </stl-vector>
      </pointer>
    </stl-vector>
  </compound>
  <compound name="flow_engine">
    <int8_t name="rnd_16"/>
    <int16_t name="rnd_256"/>
    <int16_t name="rnd_pos"/>
    <static-array name="rnd_x" type-name="int16_t" count="16"/>
    <static-array name="rnd_y" type-name="int16_t" count="16"/>
    <int32_t name="block_idx"
        refers-to="$$._global.map.map_blocks[$]"/>
    <stl-vector name="unk7a" type-name="int16_t"/>
    <stl-vector name="unk7b" type-name="int16_t"/>
    <stl-vector name="unk7c" type-name="int16_t"/>
    <stl-vector name="unk7_cntdn" type-name="int16_t"/>
  </compound>
  <stl-vector name="busy_buildings" type-name="int32_t"
      ref-target="building">
    buildings with nonempty getUsers
  </stl-vector>
  <df-flagarray name="cavein_flags">
    flag 0 means process cave columns
  </df-flagarray>
  <int32_t name="original_save_version">
    DF version on which the world was first created
  </int32_t>
  <compound name="worldgen">
    <stl-string name="version"/>
    <int32_t name="next_unit_chunk_id"/>
    <int16_t name="next_unit_chunk_offset"/>
    <int32_t name="next_art_image_chunk_id"/>
    <int16_t name="next_art_image_chunk_offset"/>
    <compound name="worldgen_parms">
      <stl-string name="title"/>
      <stl-string name="seed">
        v0.34.01
      </stl-string>
      <stl-string name="history_seed">
        v0.34.01
      </stl-string>
      <stl-string name="name_seed">
        v0.34.01
      </stl-string>
      <stl-string name="creature_seed">
        v0.34.01
      </stl-string>
      <int32_t name="dim_x"/>
      <int32_t name="dim_y"/>
      <stl-string name="custom_name"/>
      <bool name="has_seed"/>
      <bool name="has_history_seed"/>
      <bool name="has_name_seed"/>
      <bool name="has_creature_seed"/>
      <int32_t name="embark_points"/>
      <int32_t name="peak_number_min"/>
      <int32_t name="partial_ocean_edge_min"/>
      <int32_t name="complete_ocean_edge_min"/>
      <int32_t name="volcano_min"/>
      <static-array name="region_counts" count="3">
        <static-array type-name="int32_t" count="10"
            index-enum="worldgen_region_type"/>
      </static-array>
      <static-array type-name="int32_t" name="river_mins" count="2"/>
      <int32_t name="subregion_max"/>
      <int32_t name="cavern_layer_count"/>
      <int32_t name="cavern_layer_openness_min"/>
      <int32_t name="cavern_layer_openness_max"/>
      <int32_t name="cavern_layer_passage_density_min"/>
      <int32_t name="cavern_layer_passage_density_max"/>
      <int32_t name="cavern_layer_water_min"/>
      <int32_t name="cavern_layer_water_max"/>
      <bool name="have_bottom_layer_1"/>
      <bool name="have_bottom_layer_2"/>
      <int32_t name="levels_above_ground"/>
      <int32_t name="levels_above_layer_1"/>
      <int32_t name="levels_above_layer_2"/>
      <int32_t name="levels_above_layer_3"/>
      <int32_t name="levels_above_layer_4"/>
      <int32_t name="levels_above_layer_5"/>
      <int32_t name="levels_at_bottom"/>
      <int32_t name="cave_min_size"/>
      <int32_t name="cave_max_size"/>
      <int32_t name="mountain_cave_min"/>
      <int32_t name="non_mountain_cave_min"/>
      <int32_t name="total_civ_number"/>
      <int32_t name="rain_ranges_1"/>
      <int32_t name="rain_ranges_0"/>
      <int32_t name="rain_ranges_2"/>
      <int32_t name="drainage_ranges_1"/>
      <int32_t name="drainage_ranges_0"/>
      <int32_t name="drainage_ranges_2"/>
      <int32_t name="savagery_ranges_1"/>
      <int32_t name="savagery_ranges_0"/>
      <int32_t name="savagery_ranges_2"/>
      <int32_t name="volcanism_ranges_1"/>
      <int32_t name="volcanism_ranges_0"/>
      <int32_t name="volcanism_ranges_2"/>
      <static-array count="4" name="ranges">
        <static-array type-name="int32_t" count="24"
            index-enum="worldgen_range_type"/>
      </static-array>
      <int32_t name="beast_end_year"/>
      <int32_t name="end_year"/>
      <int32_t name="beast_end_year_percent"/>
      <int32_t name="total_civ_population"/>
      <int32_t name="site_cap"/>
      <int32_t name="elevation_ranges_1"/>
      <int32_t name="elevation_ranges_0"/>
      <int32_t name="elevation_ranges_2"/>
      <int32_t name="mineral_scarcity"/>
      <int32_t name="megabeast_cap"/>
      <int32_t name="semimegabeast_cap"/>
      <int32_t name="titan_number"/>
      <static-array type-name="int32_t" name="titan_attack_trigger"
          count="3"/>
      <int32_t name="demon_number"/>
      <int32_t name="night_troll_number"/>
      <int32_t name="bogeyman_number"/>
      <int32_t name="vampire_number"/>
      <int32_t name="werebeast_number"/>
      <int32_t name="secret_number"/>
      <int32_t name="regional_interaction_number"/>
      <int32_t name="disturbance_interaction_number"/>
      <int32_t name="evil_cloud_number"/>
      <int32_t name="evil_rain_number"/>
      <int32_t>
        v0.40.01
      </int32_t>
      <int32_t name="good_sq_counts_0"/>
      <int32_t name="evil_sq_counts_0"/>
      <int32_t name="good_sq_counts_1"/>
      <int32_t name="evil_sq_counts_1"/>
      <int32_t name="good_sq_counts_2"/>
      <int32_t name="evil_sq_counts_2"/>
      <static-array type-name="int32_t" name="elevation_frequency"
          count="6"/>
      <static-array type-name="int32_t" name="rain_frequency"
          count="6"/>
      <static-array type-name="int32_t" name="drainage_frequency"
          count="6"/>
      <static-array type-name="int32_t" name="savagery_frequency"
          count="6"/>
      <static-array type-name="int32_t" name="temperature_frequency"
          count="6"/>
      <static-array type-name="int32_t" name="volcanism_frequency"
          count="6"/>
      <pointer name="ps"/>
      <int32_t name="reveal_all_history"/>
      <int32_t name="cull_historical_figures"/>
      <int32_t name="erosion_cycle_count"/>
      <int32_t name="periodically_erode_extremes"/>
      <int32_t name="orographic_precipitation"/>
      <int32_t name="playable_civilization_required"/>
      <int32_t name="all_caves_visible"/>
      <int32_t name="show_embark_tunnel"/>
      <int32_t name="pole"/>
      <bool/>
    </compound>
  </compound>
  <compound name="history" type-name="world_history"/>
  <stl-vector name="entity_populations"
      pointer-type="entity_population"/>
  <static-array name="unk_v40_6a" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_6b" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_6c" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_6d" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_6e" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <static-array name="unk_v40_6f" count="336">
    <stl-vector type-name="int32_t"/>
    v0.40.1
  </static-array>
  <stl-vector>
    v0.42.01
  </stl-vector>
  <stl-vector name="unk_v40_7">
    v0.40.1
  </stl-vector>
  <bool name="reindex_pathfinding">
    forces map_block.passable to be recomputed
  </bool>
  <int32_t name="frame_counter">
    increases by 1 every time . is pressed
  </int32_t>
  <stl-vector name="orphaned_flows" pointer-type="flow_info">
    flows that are not tied to a map_block
  </stl-vector>
  <compound name="pathfinder">
    <static-array name="boundary_heap" count="80000">
      A heap of current boundary tiles.
      <int32_t name="total_cost"/>
      <int32_t name="local_cost"/>
      <int16_t name="x"/>
      <int16_t name="y"/>
      <int32_t name="z"/>
    </static-array>
    <int32_t name="heap_count"/>
    <compound name="pos1" type-name="coord"/>
    <compound name="pos2" type-name="coord"/>
    <int32_t name="dist_x"/>
    <int32_t name="dist_y"/>
    <int32_t name="dist_z"/>
    <int32_t name="next_path_cost"/>
    <bool name="wipe_path_cost"/>
    <uint16_t name="next_path_tag"/>
    <bool name="wipe_path_tag"/>
    <int16_t name="next_walkable_id"/>
    <int16_t name="plant_update_step"/>
    <bool/>
  </compound>
  <int32_t name="save_version"/>
  <compound name="cur_savegame">
    <stl-string name="save_dir"/>
    <int32_t name="unk_v40_0s"/>
    <int32_t name="unk_v40_1s">
      v0.40.01
    </int32_t>
    <int32_t name="unk_v40_2s">
      v0.40.01
    </int32_t>
  </compound>
  <int32_t name="unk_v40_3s">
    v0.40.01
  </int32_t>
  <int32_t name="unk_v40_4s">
    v0.40.01
  </int32_t>
  <stl-vector name="unk_v40_5s">
    v0.40.01
  </stl-vector>
  <int32_t name="unk_v40_6s">
    v0.40.01
  </int32_t>
  <pointer name="unk_v40_7s">
    v0.40.01
  </pointer>
  <compound name="features">
    <stl-vector name="map_features" pointer-type="feature_init"/>
    <stl-vector type-name="int16_t" name="feature_x"/>
    <stl-vector type-name="int16_t" name="feature_y"/>
    <stl-vector type-name="int16_t" name="feature_local_idx">
      same as map_block.local_feature
    </stl-vector>
    <stl-vector type-name="int32_t" name="feature_global_idx"
        ref-target="world_underground_region"/>
    <stl-vector pointer-type="feature_init">
      from unk_9C
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.region.x
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.region.y
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.embark.x
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.embark.y
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.local_feature_idx
    </stl-vector>
    <stl-vector type-name="int32_t">
      unk_9C.global_feature_idx
    </stl-vector>
    <stl-vector type-name="int32_t">
      unk_9C.unk10
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.unk14
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.local.x
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.local.y
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.z_min
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.z_min; yes, seemingly duplicate
    </stl-vector>
    <stl-vector type-name="int16_t">
      unk_9C.z_max
    </stl-vector>
    <stl-bit-vector>
      v0.40.11
    </stl-bit-vector>
  </compound>
  <bool/>
  <bool/>
  <bool>
    v0.42.01
  </bool>
  <compound name="arena_spawn">
    <stl-vector name="race" type-name="int16_t"
        ref-target="creature_raw"/>
    <stl-vector name="caste" type-name="int16_t"
        ref-target="caste_raw" aux-value="$$._parent.race[$._key]"/>
    <int32_t name="type" refers-to="$$._parent.caste[$].ref-target"/>
    <stl-string name="unk_str1">
      v0.34.08
    </stl-string>
    <static-array name="item_types" count="107">
      <stl-vector>
        <pointer>
          <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"/>
          <bool/>
        </pointer>
      </stl-vector>
      true array
    </static-array>
    <stl-vector name="unk_vec1"/>
    <stl-vector name="unk_vec2"/>
    <stl-vector name="unk_vec3"/>
    <compound name="equipment">
      <stl-vector name="skills">
        <enum base-type="int16_t" type-name="job_skill"/>
      </stl-vector>
      <stl-vector name="skill_levels" type-name="int32_t"
          index-refers-to="$$._parent.skills[$]"/>
      <stl-vector name="item_types">
        <enum base-type="int16_t" type-name="item_type"/>
      </stl-vector>
      <stl-vector name="item_subtypes">
        <int16_t refers-to="(item-subtype-target
            $$._parent._parent.item_types[$$._key] $)"/>
      </stl-vector>
      <compound name="item_materials" type-name="material_vec_ref"/>
      <stl-vector name="item_counts" type-name="int32_t"/>
    </compound>
    <int32_t name="side"/>
    <int32_t name="interaction"
        refers-to="$$._parent.interactions[$]"/>
    <stl-vector name="interactions" type-name="pointer">
      v0.34.01
    </stl-vector>
    <stl-vector name="creature_cnt" type-name="int32_t"
        index-refers-to="(find-instance $creature_raw $)"/>
    <int32_t name="unk_int1"/>
  </compound>
  <compound name="arena_settings">
    <int32_t name="conflict_level"/>
    <bool name="morale_enable"/>
    <int16_t name="unk1"/>
    <uint16_t name="temperature"/>
    <int16_t name="time"/>
    <int32_t name="weather_column"/>
    <int32_t name="weather_row"/>
    <stl-vector name="tree_types" pointer-type="plant_raw"/>
    <int32_t name="tree_cursor"/>
    <int32_t name="tree_age"/>
    <stl-string name="tree_filter"/>
    <stl-string name="tree_age_str"/>
  </compound>
  <padding size="4"/>
  <compound name="unk_19325c">
    <stl-vector>
      <pointer>
        <int32_t/>
        <int32_t/>
        <int16_t/>
        <int32_t/>
        <int32_t/>
        <int32_t/>
      </pointer>
    </stl-vector>
    <stl-vector>
      <pointer>
        <int32_t/>
        <int32_t/>
      </pointer>
    </stl-vector>
    <stl-vector>
      <pointer>
        <int16_t/>
        <int32_t/>
        <int32_t/>
        <int32_t/>
      </pointer>
    </stl-vector>
    <int32_t/>
    <int32_t/>
    <int32_t/>
  </compound>
  <int32_t>
    0.40.01
  </int32_t>
</struct-type>