world-data

world-data.world_site_unk130

<struct-type type-name="world_site_unk130">
  <int32_t name="index"/>
  <static-array name="unk_4" count="4">
    <stl-vector>
      <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>
  </static-array>
</struct-type>

world-data.world_population_type

<enum-type type-name="world_population_type">
  <enum-item name="Animal"/>
  <enum-item name="Vermin"/>
  <enum-item name="Unk2"/>
  <enum-item name="VerminInnumerable"/>
  <enum-item name="ColonyInsect"/>
  <enum-item name="Tree"/>
  <enum-item name="Grass"/>
  <enum-item name="Bush"/>
</enum-type>

world-data.world_population_ref

<struct-type type-name="world_population_ref">
  <int16_t name="region_x"/>
  <int16_t name="region_y"/>
  <int16_t name="feature_idx" init-value="-1"/>
  <int32_t name="cave_id" ref-target="world_underground_region"/>
  <int32_t name="unk_28"/>
  <int32_t name="population_idx"/>
  <int16_t name="depth"/>
</struct-type>

world-data.local_population

<struct-type type-name="local_population">
  <enum base-type="int8_t" name="type"
      type-name="world_population_type"/>
  <compound is-union="true">
    <int16_t name="race" ref-target="creature_raw"/>
    <int16_t name="plant" ref-target="plant_raw"/>
  </compound>
  <int32_t name="quantity"/>
  <int32_t name="quantity2">
    v0.40.01
  </int32_t>
  <bitfield name="flags" base-type="uint8_t">
    <flag-bit name="discovered"/>
    <flag-bit name="extinct">
      guessed, based on 23a
    </flag-bit>
    <flag-bit name="already_removed">
      no longer in world.populations
    </flag-bit>
    <flag-bit name="unk3">
      prevents it from showing up, related to world.unk_59dc4
    </flag-bit>
  </bitfield>
  <compound name="population" type-name="world_population_ref"/>
  <int32_t name="wp_unk_10" init-value="-1"/>
  <int32_t name="wp_unk_18" init-value="-1"/>
  <int32_t name="wp_unk_1c" init-value="-1"/>
</struct-type>

world-data.world_population

<struct-type type-name="world_population">
  <enum base-type="int16_t" name="type"
      type-name="world_population_type"/>
  <compound is-union="true">
    <int16_t name="race" ref-target="creature_raw"/>
    <int16_t name="plant" ref-target="plant_raw"/>
  </compound>
  <int32_t name="count_min" init-value="10000001"/>
  <int32_t name="count_max" init-value="10000001"/>
  <int32_t name="unk_c" init-value="0">
    v0.40.01
  </int32_t>
  <int32_t name="owner" ref-target="historical_entity"/>
  <int32_t name="unk_10" init-value="-1"/>
  <int32_t name="unk_14" init-value="-1"/>
  <int32_t name="unk_18" init-value="-1">
    v0.34.01
  </int32_t>
  <int32_t name="unk_1c" init-value="-1">
    v0.34.01
  </int32_t>
</struct-type>

world-data.world_landmass

<struct-type type-name="world_landmass"
    instance-vector="$global.world.world_data.landmasses">
  <compound name="name" type-name="language_name"/>
  <int32_t name="index"/>
  <int32_t name="area"/>
  <int32_t name="min_x">
    v0.40.01
  </int32_t>
  <int32_t name="max_x">
    v0.40.01
  </int32_t>
  <int32_t name="min_y">
    v0.40.01
  </int32_t>
  <int32_t name="max_y">
    v0.40.01
  </int32_t>
  <stl-vector name="unk_74"/>
  <stl-vector name="unk_84"/>
</struct-type>

world-data.world_region_type

<enum-type type-name="world_region_type" base-type="int16_t">
  <enum-item name="Swamp"/>
  <enum-item name="Desert"/>
  <enum-item name="Jungle"/>
  <enum-item name="Mountains"/>
  <enum-item name="Ocean"/>
  <enum-item name="Lake"/>
  <enum-item name="Glacier"/>
  <enum-item name="Tundra"/>
  <enum-item name="Steppe"/>
  <enum-item name="Hills"/>
</enum-type>

world-data.world_region

<struct-type type-name="world_region"
    instance-vector="$global.world.world_data.regions">
  <compound name="name" type-name="language_name"/>
  <int32_t name="index"/>
  <enum base-type="int16_t" name="type"
      type-name="world_region_type"/>
  <compound name="region_coords" type-name="coord2d_path"/>
  <int32_t name="unk_94"/>
  <int32_t name="unk_98"/>
  <int32_t name="unk_9c"/>
  <int32_t name="unk_a0"/>
  <int32_t name="unk_a4"/>
  <stl-vector name="population" pointer-type="world_population"/>
  <static-array name="unk_118" count="51">
    <int32_t/>
  </static-array>
  <stl-vector name="unk_184">
    <int16_t refers-to="$$._global.unk_118[$]"/>
  </stl-vector>
  <stl-vector name="unk_194">
    <int16_t/>
  </stl-vector>
  <stl-vector name="unk_1a4">
    <int16_t/>
  </stl-vector>
  <stl-vector name="unk_1b4">
    <int16_t/>
  </stl-vector>
  <stl-vector name="unk_1c4">
    <int16_t/>
  </stl-vector>
  <stl-vector name="unk_1d4">
    <int16_t/>
  </stl-vector>
  <int16_t name="unk_1e4"/>
  <int16_t name="unk_1e6"/>
  <int16_t name="unk_1e8"/>
  <int16_t name="lake_surface"/>
  <stl-vector name="unk_1f0" type-name="int32_t"/>
  <padding name="unk_200" size="4"/>
  <int32_t name="mid_x"/>
  <int32_t name="mid_y"/>
  <int32_t name="min_x"/>
  <int32_t name="max_x"/>
  <int32_t name="min_y"/>
  <int32_t name="max_y"/>
</struct-type>

world-data.world_underground_region

<struct-type type-name="world_underground_region"
    instance-vector="$global.world.world_data.underground_regions">
  <enum base-type="int16_t" name="type">
    <enum-item name="Cavern"/>
    <enum-item name="MagmaSea"/>
    <enum-item name="Underworld"/>
  </enum>
  <compound name="name" type-name="language_name"/>
  <int32_t name="index"/>
  <int16_t name="layer_depth">
    0-2 caves, 3 magma sea, 4 hell
  </int16_t>
  <int16_t name="layer_depth_p1a">
    +1
  </int16_t>
  <int16_t name="layer_depth_p1b"/>
  <int16_t name="unk_7a"/>
  <int16_t name="unk_7c"/>
  <int16_t name="unk_7e"/>
  <int16_t name="unk_80"/>
  <int16_t name="unk_82"/>
  <int16_t name="passage_density"/>
  <compound name="region_coords" type-name="coord2d_path"/>
  <stl-vector name="region_min_z" type-name="int16_t"/>
  <stl-vector name="region_max_z" type-name="int16_t"/>
  <stl-vector name="unk_c8"/>
  <pointer name="feature_init" type-name="feature_init"/>
</struct-type>

world-data.world_river

<struct-type type-name="world_river">
  <compound name="name" type-name="language_name"/>
  <compound name="path" type-name="coord2d_path"/>
  <stl-vector name="unk_8c" type-name="int32_t"/>
  <stl-vector name="unk_9c" type-name="int16_t"/>
  <stl-vector name="elevation" type-name="int16_t"/>
  <compound name="end_pos" type-name="coord2d"/>
  <df-flagarray name="flags"/>
</struct-type>

world-data.geo_layer_type

<enum-type type-name="geo_layer_type" base-type="int16_t">
  <enum-attr name="flag" type-name="inorganic_flags"
      use-key-name="true"/>
  <enum-item name="SOIL"/>
  <enum-item name="SEDIMENTARY"/>
  <enum-item name="METAMORPHIC"/>
  <enum-item name="IGNEOUS_EXTRUSIVE"/>
  <enum-item name="IGNEOUS_INTRUSIVE"/>
  <enum-item name="SOIL_OCEAN"/>
  <enum-item name="SOIL_SAND"/>
  <enum-item name="SEDIMENTARY_OCEAN_SHALLOW"/>
  <enum-item name="SEDIMENTARY_OCEAN_DEEP"/>
</enum-type>

world-data.world_geo_layer

<struct-type type-name="world_geo_layer">
  <enum base-type="int16_t" name="type" type-name="geo_layer_type"/>
  <int32_t name="mat_index" ref-target="inorganic_raw"/>
  <stl-vector name="vein_mat" type-name="int32_t"
      ref-target="inorganic_raw"/>
  <stl-vector name="vein_nested_in">
    -- Index of the other vein this one is nested in, or -1
    <int16_t refers-to="$$._global.vein_mat[$].ref-target"/>
  </stl-vector>
  <stl-vector name="vein_type">
    <enum base-type="int8_t" type-name="inclusion_type"/>
  </stl-vector>
  <stl-vector name="vein_unk_38" type-name="int8_t">
    density??
  </stl-vector>
  <int16_t name="top_height">
    negative
  </int16_t>
  <int16_t name="bottom_height"/>
</struct-type>

world-data.world_geo_biome

<struct-type type-name="world_geo_biome"
    instance-vector="$global.world.world_data.geo_biomes">
  <int16_t name="unk1"/>
  <int16_t name="index"/>
  <stl-vector name="layers" pointer-type="world_geo_layer"/>
</struct-type>

world-data.world_region_feature

<struct-type type-name="world_region_feature">
  <int16_t name="feature_idx"/>
  <int32_t name="layer" ref-target="world_underground_region"/>
  <int32_t name="region_tile_idx"/>
  <int16_t name="min_z"/>
  <int16_t name="max_z"/>
  <static-array count="6" type-name="coord2d" name="unk_c"/>
  <int32_t name="unk_28"/>
  <uint32_t name="seed">
    looks random
  </uint32_t>
  <df-flagarray name="unk_30"/>
  <static-array count="15" type-name="int16_t" name="unk_38"/>
  <int16_t name="top_layer_idx">
    topmost cave layer the feature reaches
  </int16_t>
</struct-type>

world-data.world_region_details

<struct-type type-name="world_region_details">
  <static-array count="17" name="biome">
    <static-array type-name="int8_t" count="17">
      lower 4 bits: biome 1..9; |=0x30 if fort
    </static-array>
  </static-array>
  <static-array count="17" name="elevation">
    <static-array type-name="int16_t" count="17"/>
  </static-array>
  <static-array count="16" name="seed">
    <static-array type-name="uint32_t" count="16"/>
    looks random
  </static-array>
  <compound name="edges">
    In order to determine how biomes cross embark tile edges, the
    rectangle framing an embark tile is split into 4 corners, and 4
    straight edge segments, using ranges measured in tiles: +-/----/+
    |       / /   *   | /       / +-/-/---+
    <static-array count="16" name="split_x">
      <static-array type-name="coord2d" count="17"/>
      splits for horizontal edges, x=min y=max
    </static-array>
    <static-array count="17" name="split_y">
      <static-array type-name="coord2d" count="16"/>
      splits for vertical edges, x=min y=max
    </static-array>
    <static-array name="biome_corner" count="16">
      <static-array type-name="int8_t" count="16"/>
      upleft=0,upright=1,downleft=2,downright=3??
    </static-array>
    <static-array name="biome_x" count="16">
      <static-array type-name="int8_t" count="16"/>
      up=0,down=1
    </static-array>
    <static-array name="biome_y" count="16">
      <static-array type-name="int8_t" count="16"/>
      left=0,right=1
    </static-array>
  </compound>
  <compound name="pos" type-name="coord2d"/>
  <int16_t name="unk12e8"/>
  <int16_t/>
  <int16_t/>
  <int16_t/>
  <int16_t/>
  <compound name="rivers_vertical">
    <static-array name="x_min" count="16">
      <static-array type-name="int16_t" count="17"/>
    </static-array>
    <static-array name="x_max" count="16">
      <static-array type-name="int16_t" count="17"/>
    </static-array>
    <static-array name="active" count="16">
      <static-array type-name="int8_t" count="17"/>
    </static-array>
    <static-array name="elevation" count="16">
      <static-array type-name="int16_t" count="17"/>
    </static-array>
  </compound>
  <compound name="rivers_horizontal">
    <static-array name="y_min" count="17">
      <static-array type-name="int16_t" count="16"/>
    </static-array>
    <static-array name="y_max" count="17">
      <static-array type-name="int16_t" count="16"/>
    </static-array>
    <static-array name="active" count="17">
      <static-array type-name="int8_t" count="16"/>
    </static-array>
    <static-array name="elevation" count="17">
      <static-array type-name="int16_t" count="16"/>
    </static-array>
  </compound>
  <static-array name="unk11" count="16">
    <static-array type-name="int8_t" count="16"/>
  </static-array>
  <static-array count="16" name="features">
    <static-array count="16">
      <stl-vector pointer-type="world_region_feature"/>
    </static-array>
  </static-array>
  <int16_t name="lava_stone" ref-target="inorganic_raw"/>
  <static-array count="1152" name="unk_12" type-name="int16_t">
    v0.40.01
  </static-array>
  <static-array count="16" name="elevation2">
    <static-array type-name="int16_t" count="16"/>
  </static-array>
  <static-array type-name="int32_t" count="256" name="undef13"/>
</struct-type>

world-data.region_map_entry_flags

<enum-type type-name="region_map_entry_flags">
  <enum-item name="has_river"/>
  <enum-item name="tile_variant"/>
  <enum-item/>
  <enum-item name="has_site"/>
  <enum-item/>
  <enum-item name="river_up"/>
  <enum-item name="river_down"/>
  <enum-item name="river_right"/>
  <enum-item name="river_left"/>
  <enum-item name="discovered"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="is_peak"/>
  <enum-item name="is_lake"/>
  <enum-item name="is_brook"/>
  <enum-item name="has_road"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
</enum-type>

world-data.front_type

<enum-type type-name="front_type" base-type="uint16_t">
  <enum-item name="front_none"/>
  <enum-item name="front_warm"/>
  <enum-item name="front_cold"/>
  <enum-item name="front_occluded"/>
</enum-type>

world-data.cumulus_type

<enum-type type-name="cumulus_type" base-type="uint16_t">
  <enum-item name="cumulus_none"/>
  <enum-item name="cumulus_medium"/>
  <enum-item name="cumulus_multi"/>
  <enum-item name="cumulus_nimbus"/>
</enum-type>

world-data.stratus_type

<enum-type type-name="stratus_type" base-type="uint16_t">
  <enum-item name="stratus_none"/>
  <enum-item name="stratus_alto"/>
  <enum-item name="stratus_proper"/>
  <enum-item name="stratus_nimbus"/>
</enum-type>

world-data.fog_type

<enum-type type-name="fog_type" base-type="uint16_t">
  <enum-item name="fog_none"/>
  <enum-item name="fog_mist"/>
  <enum-item name="fog_normal"/>
  <enum-item name="fog_thick"/>
</enum-type>

world-data.region_map_entry

<struct-type type-name="region_map_entry">
  <int32_t name="unk_0"/>
  <int32_t name="finder_rank" init-value="-1"/>
  <stl-vector name="sites" pointer-type="world_site"/>
  <df-flagarray name="flags" index-enum="region_map_entry_flags"/>
  <int16_t name="elevation">
    ~40 ocean -> ~100 plains -> ~200 mointains
  </int16_t>
  <int16_t name="rainfall"/>
  <int16_t name="vegetation"/>
  <int16_t name="temperature"/>
  <int16_t name="evilness"/>
  <int16_t name="drainage"/>
  <int16_t name="volcanism"/>
  <int16_t name="savagery"/>
  <int16_t name="unk_30">
    3
  </int16_t>
  <int16_t name="unk_32">
    0
  </int16_t>
  <int16_t name="unk_34">
    0
  </int16_t>
  <bitfield name="clouds" base-type="uint16_t">
    <flag-bit name="front" count="2" type-name="front_type"/>
    <flag-bit name="cumulus" count="2" type-name="cumulus_type"/>
    <flag-bit name="cirrus" count="1"/>
    <flag-bit name="stratus" count="2" type-name="stratus_type"/>
    <flag-bit name="fog" count="2" type-name="fog_type"/>
    <flag-bit name="countdown" count="4">
      A counter for stratus clouds that randomly decreases by 1 or 0
      each timer weather is checked there. it does various stratus/fog
       effects based on the humidity/breezes/etc.
    </flag-bit>
  </bitfield>
  <bitfield name="wind" base-type="uint16_t">
    <flag-bit name="north_1"/>
    <flag-bit name="south_1"/>
    <flag-bit name="east_1"/>
    <flag-bit name="west_1"/>
    <flag-bit name="north_2"/>
    <flag-bit name="south_2"/>
    <flag-bit name="east_2"/>
    <flag-bit name="west_2"/>
    blows toward direction in morning
  </bitfield>
  <int16_t name="unk_3a">
    0-5000, humidity?
  </int16_t>
  <int16_t name="salinity"/>
  <compound name="unk_3e" type-name="coord"/>
  <compound name="unk_44" type-name="coord"/>
  <compound name="unk_4a" type-name="coord"/>
  <int32_t name="region_id" ref-target="world_region"/>
  <int32_t name="landmass_id" ref-target="world_landmass"/>
  <int16_t name="geo_index" ref-target="world_geo_biome"/>
</struct-type>

world-data.entity_claim_mask

<struct-type type-name="entity_claim_mask">
  <pointer name="map" is-array="true">
    <pointer is-array="true">
      <stl-vector name="entities" type-name="int32_t"
          ref-target="historical_entity"/>
      <stl-vector name="region_masks">
        <pointer>
          <static-array count="16">
            <static-array count="16" type-name="uint8_t">
              1 bit per entity
            </static-array>
          </static-array>
        </pointer>
      </stl-vector>
    </pointer>
  </pointer>
  <int16_t name="width"/>
  <int16_t name="height"/>
</struct-type>

world-data.moving_party

<struct-type type-name="moving_party">
  <compound name="pos" type-name="coord2d">
    global block x/y
  </compound>
  <int16_t name="unk_4"/>
  <int32_t name="unk_c"/>
  <int32_t name="unk_10"/>
  <stl-vector name="members">
    <pointer>
      <int32_t name="nemesis_id" ref-target="nemesis_record"/>
      <int32_t name="hunger"/>
      <int32_t name="thirst"/>
      <int32_t name="sleepiness"/>
      <int32_t name="stored_fat"/>
      <int32_t name="unk_14"/>
      <int32_t name="unk_18" init-value="1">
        maybe type
      </int32_t>
      <int32_t name="unk_1c" init-value="-1000000"/>
      <int32_t name="unk_20" init-value="-1000000"/>
      <int32_t name="unk_24" init-value="-1000000"/>
    </pointer>
  </stl-vector>
  <int32_t name="entity_id" ref-target="historical_entity"/>
  <df-flagarray name="flags"/>
  <stl-vector name="unk_30"/>
  <stl-vector name="unk_40"/>
  <int16_t name="unk_70"/>
  <int16_t name="unk_72" init-value="-1"/>
  <int16_t name="unk_74" init-value="-1"/>
  <int32_t name="unk_7c" init-value="-1"/>
  <int32_t name="region_id" ref-target="world_region"/>
  <int32_t name="beast_id" init-value="-1">
    for FB
  </int32_t>
</struct-type>

world-data.world_object_data

<struct-type type-name="world_object_data"
    instance-vector="$global.world.world_data.object_data"
    key-field="id">
  <int32_t name="id"/>
  <stl-vector name="altered_items" type-name="int32_t">
    world_data_subid
  </stl-vector>
  <stl-vector name="offloaded_items">
    <pointer>
      <pointer name="item" type-name="item"/>
      <int32_t name="global_x">
        in tiles it seems
      </int32_t>
      <int32_t name="global_y"/>
      <int32_t name="global_z"/>
      <int32_t name="container" ref-target="item"/>
      <int32_t name="building" ref-target="building"/>
      <int32_t name="unk_18"/>
    </pointer>
  </stl-vector>
  <stl-vector name="unk_24"/>
  <stl-vector name="unk_34"/>
  <stl-vector name="unk_44"/>
  <stl-vector name="unk_54"/>
  <stl-vector name="unk_64"/>
  <stl-vector name="altered_buildings" type-name="int32_t">
    world_data_subid
  </stl-vector>
  <stl-vector name="offloaded_buildings">
    <pointer>
      <pointer name="building" type-name="building"/>
      <int32_t name="global_x">
        in tiles it seems
      </int32_t>
      <int32_t name="global_y"/>
      <int32_t name="global_z"/>
      <int32_t name="unk_10"/>
    </pointer>
  </stl-vector>
  <stl-vector name="unk_94">
    <pointer>
      <int32_t name="global_x">
        in tiles it seems
      </int32_t>
      <int32_t name="global_y"/>
      <int32_t name="global_z"/>
      <int32_t name="unk_c"/>
    </pointer>
  </stl-vector>
  <stl-vector name="creation_zone_alterations" type-name="pointer">
    v0.40.01; a vtable type
  </stl-vector>
  <int32_t name="unk_v40_1">
    v0.40.1
  </int32_t>
  <int32_t name="year"/>
  <int32_t name="year_tick"/>
  <stl-vector name="unk_c0"/>
  <stl-vector name="unk_d0"/>
  <stl-vector name="unk_e0"/>
  <stl-vector name="unk_f0"/>
  <stl-vector name="unk_100"/>
  <stl-vector name="unk_110"/>
  <stl-vector name="unk_v43_1"/>
  <stl-vector name="unk_v43_2"/>
  <stl-vector name="unk_v43_3"/>
  <stl-vector name="unk_v43_4"/>
</struct-type>

world-data.world_data

<struct-type type-name="world_data">
  <compound name="name" type-name="language_name">
    name of the world
  </compound>
  <static-array name="unk1" count="15" type-name="int8_t"/>
  <int32_t name="next_site_id"/>
  <int32_t name="next_site_unk136_id"/>
  <int32_t name="next_unk_140_id"/>
  <int32_t name="next_unk_150_id"/>
  <int32_t>
    v0.34.01
  </int32_t>
  <int32_t>
    v0.34.01
  </int32_t>
  <int32_t name="world_width"/>
  <int32_t name="world_height"/>
  <stl-vector name='travel' pointer-type='moving_party'/>
  <int32_t name="unk_78"/>
  <int32_t name="moon_phase"/>
  <enum name="flip_latitude" base-type="int16_t">
    <enum-item name="None" value="-1"/>
    <enum-item name="North"/>
    <enum-item name="South"/>
    <enum-item name="Both"/>
  </enum>
  <int16_t name="flip_longitude"/>
  <int16_t name="unk_84"/>
  <int16_t name="unk_86"/>
  <int16_t name="unk_88"/>
  <int16_t name="unk_8a"/>
  <int16_t>
    v0.34.01
  </int16_t>
  <int16_t>
    v0.34.01
  </int16_t>
  <compound name="unk_b4">
    <int32_t name="world_width2"/>
    <int32_t name="world_height2"/>
    <pointer type-name="uint32_t" is-array="true">
      align(width,4)*height
    </pointer>
    <pointer type-name="uint32_t" is-array="true">
      align(width,4)*height
    </pointer>
    <pointer type-name="uint32_t" is-array="true">
      width*height
    </pointer>
    <pointer type-name="uint8_t" is-array="true">
      align(width,4)*height
    </pointer>
  </compound>
  <stl-vector name="region_details"
      pointer-type="world_region_details"/>
  <int32_t name="adv_region_x"/>
  <int32_t name="adv_region_y"/>
  <int32_t name="adv_emb_x"/>
  <int32_t name="adv_emb_y"/>
  <int16_t name="unk_x1"/>
  <int16_t name="unk_y1"/>
  <int16_t name="unk_x2"/>
  <int16_t name="unk_y2"/>
  <compound name="constructions">
    <int16_t name="width"/>
    <int16_t name="height"/>
    <pointer name="map" is-array="true">
      <pointer is-array="true">
        <stl-vector pointer-type="world_construction_square"/>
      </pointer>
    </pointer>
    <stl-vector name="list" pointer-type="world_construction"/>
    <int32_t name="next_id"/>
  </compound>
  <compound name="entity_claims1" type-name="entity_claim_mask"/>
  <compound name="entity_claims2" type-name="entity_claim_mask"/>
  <stl-vector name="sites" pointer-type="world_site"/>
  <stl-vector name="site_unk130" pointer-type="world_site_unk130"/>
  <stl-vector name="resource_allotments"
      pointer-type="resource_allotment_data"/>
  <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="unk_170">
    <pointer>
      <int32_t name="index"/>
      <stl-vector name="unk_4">
        <pointer>
          <int32_t name="unk_0"/>
          <int32_t name="unk_4"/>
          <int32_t name="unk_8"/>
          <int32_t name="unk_c"/>
          <int32_t name="unk_10"/>
          <int32_t name="unk_14"/>
          <int32_t name="unk_18"/>
          <int32_t name="unk_1c">
            v0.40.01
          </int32_t>
        </pointer>
      </stl-vector>
      <stl-vector name="unk_14" type-name="int32_t"/>
      <int32_t name="unk_24"/>
      <int32_t name="unk_28"/>
      <int32_t name="unk_2c"/>
      <int32_t name="unk_30"/>
      <int32_t name="unk_34"/>
      <stl-vector name="unk_38" type-name="int32_t"/>
    </pointer>
    v0.34.01
  </stl-vector>
  <stl-vector name="freakish_weather">
    <pointer>
      <int32_t name="unk_0"/>
      <int32_t name="unk_4"/>
      <int16_t name="mat_type" ref-target="material"
          aux-value="$$.mat_index"/>
      <int32_t name="mat_index"/>
      <int32_t name="unk_10"/>
      <int32_t name="region_x"/>
      <int32_t name="region_y"/>
      <int32_t name="unk_1c" init-value="-30000"/>
      <int32_t name="unk_20" init-value="-30000"/>
      <int32_t name="unk_24" init-value="-30000"/>
      <int32_t name="unk_28"/>
      <int32_t name="unk_2c"/>
      <int32_t name="unk_30"/>
      <int32_t name="unk_34" init-value="-1"/>
    </pointer>
    v0.34.01
  </stl-vector>
  <stl-vector name="object_data" pointer-type="world_object_data">
    v0.34.01
  </stl-vector>
  <stl-vector name="landmasses" pointer-type="world_landmass"/>
  <stl-vector name="regions" pointer-type="world_region"/>
  <stl-vector name="underground_regions"
      pointer-type="world_underground_region"/>
  <stl-vector name="geo_biomes" pointer-type="world_geo_biome"/>
  <stl-vector name="mountain_peaks">
    <pointer>
      <compound name="name" type-name="language_name"/>
      <compound name="pos" type-name="coord2d"/>
      <df-flagarray name="flags"/>
      <int16_t name="height"/>
    </pointer>
  </stl-vector>
  <stl-vector name="rivers" pointer-type="world_river"/>
  <pointer name="region_map" is-array="true">
    <pointer is-array="true" type-name="region_map_entry"/>
  </pointer>
  <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>
  <int32_t>
    v0.40.01
  </int32_t>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <pointer>
    v0.40.01
  </pointer>
  <padding size="294920"/>
  <int8_t>
    v0.40.01
  </int8_t>
  <int8_t>
    v0.40.01
  </int8_t>
  <stl-vector name="active_site" pointer-type="world_site"/>
  <pointer name="feature_map" is-array="true">
    <pointer is-array="true">
      <int16_t name="x"/>
      <int16_t name="y"/>
      <pointer name="features">
        <static-array name="feature_init" count="16">
          <static-array count="16">
            <stl-vector pointer-type="feature_init"/>
          </static-array>
        </static-array>
        <static-array name="unk" count="16">
          <static-array count="16">
            <static-array count="30" type-name="int32_t">
              it might actually be [30][16][16] rather than
              [16][16][30]
            </static-array>
          </static-array>
        </static-array>
      </pointer>
      <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="old_sites" type-name="int32_t"
      ref-target="world_site"/>
  <stl-vector name="old_site_x" type-name="int32_t"/>
  <stl-vector name="old_site_y" type-name="int32_t"/>
  <compound name="land_rgns" type-name="coord2d_path"/>
  <int32_t name="unk_260"/>
  <int8_t name="unk_264"/>
  <int32_t name="unk_268"/>
  <int8_t name="unk_26c"/>
  <int32_t name="unk_270"/>
  <stl-vector name="unk_274">
    <pointer>
      <stl-vector name="unk_0" pointer-type="historical_figure"/>
      <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>
  <compound name="unk_482f8">
    <static-array type-name="int32_t" count="320000"/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    <int32_t/>
    v0.40.01
  </compound>
</struct-type>