globals

globals.weather_type

<enum-type type-name="weather_type" base-type="int8_t">
  <enum-item name="None"/>
  <enum-item name="Rain"/>
  <enum-item name="Snow"/>
</enum-type>

globals.cursor

<global-object name="cursor">
  <int32_t name="x"/>
  <int32_t name="y"/>
  <int32_t name="z"/>
</global-object>

globals.selection_rect

<global-object name="selection_rect">
  <int32_t name="start_x"/>
  <int32_t name="start_y"/>
  <int32_t name="start_z"/>
  <int32_t name="end_x">
    only valid for an instant while its being completed
  </int32_t>
  <int32_t name="end_y"/>
  <int32_t name="end_z"/>
</global-object>

globals.game_mode

<enum-type type-name="game_mode">
  <enum-item name="DWARF"/>
  <enum-item name="ADVENTURE"/>
  <enum-item name="num"/>
  <enum-item name="NONE"/>
</enum-type>

globals.game_type

<enum-type type-name="game_type">
  <enum-item name="DWARF_MAIN"/>
  <enum-item name="ADVENTURE_MAIN"/>
  <enum-item name="VIEW_LEGENDS"/>
  <enum-item name="DWARF_RECLAIM"/>
  <enum-item name="DWARF_ARENA"/>
  <enum-item name="ADVENTURE_ARENA"/>
  <enum-item name="ADVENTURE_DUNGEON"/>
  <enum-item name="DWARF_TUTORIAL"/>
  <enum-item name="DWARF_UNRETIRE"/>
  <enum-item name="ADVENTURE_WORLD_DEBUG"/>
  <enum-item name="num"/>
  <enum-item name="NONE"/>
</enum-type>

globals.gamemode

<global-object name="gamemode">
  <enum base-type="int32_t" type-name="game_mode"/>
</global-object>

globals.gametype

<global-object name="gametype">
  <enum base-type="int32_t" type-name="game_type"/>
</global-object>

globals.ui_area_map_width

<global-object name="ui_area_map_width" type-name="int8_t"/>

globals.ui_menu_width

<global-object name="ui_menu_width" type-name="int8_t"/>

globals.created_item_type

<global-object name="created_item_type">
  <stl-vector>
    <enum base-type="int16_t" type-name="item_type"/>
  </stl-vector>
</global-object>

globals.created_item_subtype

<global-object name="created_item_subtype">
  <stl-vector>
    <int16_t refers-to="(item-subtype-target
        $global.created_item_type[$$._key] $)"/>
  </stl-vector>
</global-object>

globals.created_item_mattype

<global-object name="created_item_mattype">
  <stl-vector>
    <int16_t ref-target="material"
        aux-value="$global.created_item_matindex[$._key]"/>
  </stl-vector>
</global-object>

globals.created_item_matindex

<global-object name="created_item_matindex">
  <stl-vector type-name="int16_t"/>
</global-object>

globals.created_item_count

<global-object name="created_item_count">
  <stl-vector type-name="int32_t"/>
</global-object>

globals.map_renderer

<global-object name="map_renderer" type-name="map_renderer"/>

globals.d_init

<global-object name="d_init" type-name="d_init"/>

globals.flows

<global-object name="flows">
  <stl-vector pointer-type="flow_info"/>
</global-object>

globals.enabler

<global-object name="enabler" type-name="enabler"/>

globals.gps

<global-object name="gps" type-name="graphic"/>

globals.gview

<global-object name="gview" type-name="interfacest"/>

globals.init

<global-object name="init" type-name="init"/>

globals.texture

<global-object name="texture" type-name="texture_handler"/>

globals.timed_events

<global-object name="timed_events">
  <stl-vector pointer-type="timed_event"/>
</global-object>

globals.ui

<global-object name="ui" type-name="ui"/>

globals.ui_advmode

<global-object name="ui_advmode" type-name="ui_advmode"/>

globals.ui_build_selector

<global-object name="ui_build_selector"
    type-name="ui_build_selector"/>

globals.ui_building_assign_type

<global-object name="ui_building_assign_type">
  <stl-vector type-name="int8_t"/>
</global-object>

globals.ui_building_assign_is_marked

<global-object name="ui_building_assign_is_marked">
  <stl-vector type-name="bool"/>
</global-object>

globals.ui_building_assign_units

<global-object name="ui_building_assign_units">
  <stl-vector pointer-type="unit"/>
</global-object>

globals.ui_building_assign_items

<global-object name="ui_building_assign_items">
  <stl-vector pointer-type="item"/>
</global-object>

globals.ui_look_list

<global-object name="ui_look_list" type-name="ui_look_list"/>

globals.ui_sidebar_menus

<global-object name="ui_sidebar_menus" type-name="ui_sidebar_menus"/>

globals.world

<global-object name="world" type-name="world"/>

globals.activity_next_id

<global-object name="activity_next_id" type-name="int32_t"/>

globals.agreement_next_id

<global-object name="agreement_next_id" type-name="int32_t"/>

globals.army_controller_next_id

<global-object name="army_controller_next_id" type-name="int32_t"/>

globals.army_next_id

<global-object name="army_next_id" type-name="int32_t"/>

globals.army_tracking_info_next_id

<global-object name="army_tracking_info_next_id" type-name="int32_t"/>

globals.art_image_chunk_next_id

<global-object name="art_image_chunk_next_id" type-name="int32_t"/>

globals.artifact_next_id

<global-object name="artifact_next_id" type-name="int32_t"/>

globals.building_next_id

<global-object name="building_next_id" type-name="int32_t"/>

globals.crime_next_id

<global-object name="crime_next_id" type-name="int32_t"/>

globals.cultural_identity_next_id

<global-object name="cultural_identity_next_id" type-name="int32_t"/>

globals.dance_form_next_id

<global-object name="dance_form_next_id" type-name="int32_t"/>

globals.entity_next_id

<global-object name="entity_next_id" type-name="int32_t"/>

globals.flow_guide_next_id

<global-object name="flow_guide_next_id" type-name="int32_t"/>

globals.formation_next_id

<global-object name="formation_next_id" type-name="int32_t"/>

globals.hist_event_collection_next_id

<global-object name="hist_event_collection_next_id"
    type-name="int32_t"/>

globals.hist_event_next_id

<global-object name="hist_event_next_id" type-name="int32_t"/>

globals.hist_figure_next_id

<global-object name="hist_figure_next_id" type-name="int32_t"/>

globals.identity_next_id

<global-object name="identity_next_id" type-name="int32_t"/>

globals.incident_next_id

<global-object name="incident_next_id" type-name="int32_t"/>

globals.interaction_instance_next_id

<global-object name="interaction_instance_next_id"
    type-name="int32_t"/>

globals.item_next_id

<global-object name="item_next_id" type-name="int32_t"/>

globals.job_next_id

<global-object name="job_next_id" type-name="int32_t"/>

globals.machine_next_id

<global-object name="machine_next_id" type-name="int32_t"/>

globals.musical_form_next_id

<global-object name="musical_form_next_id" type-name="int32_t"/>

globals.nemesis_next_id

<global-object name="nemesis_next_id" type-name="int32_t"/>

globals.occupation_next_id

<global-object name="occupation_next_id" type-name="int32_t"/>

globals.poetic_form_next_id

<global-object name="poetic_form_next_id" type-name="int32_t"/>

globals.proj_next_id

<global-object name="proj_next_id" type-name="int32_t"/>

globals.rhythm_next_id

<global-object name="rhythm_next_id" type-name="int32_t"/>

globals.scale_next_id

<global-object name="scale_next_id" type-name="int32_t"/>

globals.schedule_next_id

<global-object name="schedule_next_id" type-name="int32_t"/>

globals.squad_next_id

<global-object name="squad_next_id" type-name="int32_t"/>

globals.task_next_id

<global-object name="task_next_id" type-name="int32_t"/>

globals.unit_chunk_next_id

<global-object name="unit_chunk_next_id" type-name="int32_t"/>

globals.unit_next_id

<global-object name="unit_next_id" type-name="int32_t"/>

globals.vehicle_next_id

<global-object name="vehicle_next_id" type-name="int32_t"/>

globals.written_content_next_id

<global-object name="written_content_next_id" type-name="int32_t"/>

globals.announcements

<global-object name="announcements" type-name="announcements"/>

globals.cur_year

<global-object name="cur_year" type-name="int32_t"/>

globals.cur_year_tick

<global-object name="cur_year_tick" type-name="int32_t"/>

globals.cur_year_tick_advmode

<global-object name="cur_year_tick_advmode" type-name="int32_t"/>

globals.cur_season

<global-object name="cur_season" type-name="int8_t"/>

globals.cur_season_tick

<global-object name="cur_season_tick" type-name="int32_t"/>

globals.current_weather

<global-object name="current_weather">
  <static-array count="5">
    <static-array count="5">
      <enum base-type="int8_t" type-name="weather_type"/>
    </static-array>
  </static-array>
</global-object>

globals.pause_state

<global-object name="pause_state" type-name="bool"/>

globals.process_dig

<global-object name="process_dig" type-name="bool">
  Requests dig designations to be processed next frame.
</global-object>

globals.process_jobs

<global-object name="process_jobs" type-name="bool">
  Requests building jobs to be processed next frame.
</global-object>

globals.ui_building_in_assign

<global-object name="ui_building_in_assign" type-name="bool"/>

globals.ui_building_in_resize

<global-object name="ui_building_in_resize" type-name="bool"/>

globals.ui_building_item_cursor

<global-object name="ui_building_item_cursor">
  <int32_t/>
</global-object>

globals.ui_look_cursor

<global-object name="ui_look_cursor">
  <int32_t refers-to="$global.ui_look_list.items[$]"/>
</global-object>

globals.ui_selected_unit

<global-object name="ui_selected_unit">
  <int32_t refers-to="$global.world.units.active[$]"/>
</global-object>

globals.ui_unit_view_mode

<global-object name="ui_unit_view_mode"
    type-name="ui_unit_view_mode"/>

globals.ui_workshop_in_add

<global-object name="ui_workshop_in_add" type-name="bool"/>

globals.ui_workshop_job_cursor

<global-object name="ui_workshop_job_cursor">
  <int32_t refers-to="$global.world.selected_building.jobs[$]"/>
</global-object>

globals.lever_target_type

<enum-type type-name="lever_target_type" base-type="int8_t">
  <enum-item name="None" value="-1"/>
  <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/>
  <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/>
  <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="VerticalBars"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="FloorBars"/>
  <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="SpearsSpikes"/>
  <enum-item name="TrackStop"/>
  <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="GearAssembly"/>
  <enum-item name="Bridge"/>
  <enum-item name="Chain"/>
  <enum-item name="Door"/>
  <enum-item/>
  <enum-item name="Floodgate"/>
  <enum-item name="FloorGrate"/>
  <enum-item name="Hatch"/>
  <enum-item/>
  <enum-item name="Cage"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="Support"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="WallGrate"/>
</enum-type>

globals.ui_lever_target_type

<global-object name="ui_lever_target_type">
  <enum base-type="int8_t" type-name="lever_target_type"/>
</global-object>

globals.window_x

<global-object name="window_x" type-name="int32_t"/>

globals.window_y

<global-object name="window_y" type-name="int32_t"/>

globals.window_z

<global-object name="window_z" type-name="int32_t"/>

globals.debug_nopause

<global-object name="debug_nopause" type-name="bool">
  Prevents the game from being paused
</global-object>

globals.debug_nomoods

<global-object name="debug_nomoods" type-name="bool">
  Same as ARTIFACTS:NO
</global-object>

globals.debug_combat

<global-object name="debug_combat" type-name="bool">
  Functionality unknown, combat-related
</global-object>

globals.debug_wildlife

<global-object name="debug_wildlife" type-name="bool">
  Functionality unknown, wildlife-related
</global-object>

globals.debug_nodrink

<global-object name="debug_nodrink" type-name="bool">
  Disables thirst on everything
</global-object>

globals.debug_noeat

<global-object name="debug_noeat" type-name="bool">
  Disables hunger on everything
</global-object>

globals.debug_nosleep

<global-object name="debug_nosleep" type-name="bool">
  Disables drowsiness on everything
</global-object>

globals.debug_showambush

<global-object name="debug_showambush" type-name="bool">
  Makes hidden ambushers visible on-screen and in the units list (but
  not to your citizens)
</global-object>

globals.debug_fastmining

<global-object name="debug_fastmining" type-name="bool">
  All dwarves mine as fast as a Legendary Miner
</global-object>

globals.debug_noberserk

<global-object name="debug_noberserk" type-name="bool">
  Insanity can only result in Crazed or Melancholy, never Berserk
</global-object>

globals.debug_turbospeed

<global-object name="debug_turbospeed" type-name="bool">
  All units move and work at maximum speed
</global-object>

globals.save_on_exit

<global-object name="save_on_exit" type-name="bool">
  Ending the game saves its state back to world.dat or world.sav
</global-object>

globals.standing_orders_gather_minerals

<global-object name="standing_orders_gather_minerals"
    type-name="uint8_t"/>

globals.standing_orders_gather_wood

<global-object name="standing_orders_gather_wood"
    type-name="uint8_t"/>

globals.standing_orders_gather_food

<global-object name="standing_orders_gather_food"
    type-name="uint8_t"/>

globals.standing_orders_gather_bodies

<global-object name="standing_orders_gather_bodies"
    type-name="uint8_t"/>

globals.standing_orders_gather_animals

<global-object name="standing_orders_gather_animals"
    type-name="uint8_t"/>

globals.standing_orders_gather_furniture

<global-object name="standing_orders_gather_furniture"
    type-name="uint8_t"/>

globals.standing_orders_farmer_harvest

<global-object name="standing_orders_farmer_harvest"
    type-name="uint8_t"/>

globals.standing_orders_job_cancel_announce

<global-object name="standing_orders_job_cancel_announce"
    type-name="uint8_t"/>

globals.standing_orders_mix_food

<global-object name="standing_orders_mix_food" type-name="uint8_t"/>

globals.standing_orders_gather_refuse

<global-object name="standing_orders_gather_refuse"
    type-name="uint8_t"/>

globals.standing_orders_gather_refuse_outside

<global-object name="standing_orders_gather_refuse_outside"
    type-name="uint8_t"/>

globals.standing_orders_gather_vermin_remains

<global-object name="standing_orders_gather_vermin_remains"
    type-name="uint8_t"/>

globals.standing_orders_dump_corpses

<global-object name="standing_orders_dump_corpses"
    type-name="uint8_t"/>

globals.standing_orders_dump_skulls

<global-object name="standing_orders_dump_skulls"
    type-name="uint8_t"/>

globals.standing_orders_dump_skins

<global-object name="standing_orders_dump_skins" type-name="uint8_t"/>

globals.standing_orders_dump_bones

<global-object name="standing_orders_dump_bones" type-name="uint8_t"/>

globals.standing_orders_dump_hair

<global-object name="standing_orders_dump_hair" type-name="uint8_t"/>

globals.standing_orders_dump_shells

<global-object name="standing_orders_dump_shells"
    type-name="uint8_t"/>

globals.standing_orders_dump_other

<global-object name="standing_orders_dump_other" type-name="uint8_t"/>

globals.standing_orders_forbid_used_ammo

<global-object name="standing_orders_forbid_used_ammo"
    type-name="uint8_t"/>

globals.standing_orders_forbid_other_dead_items

<global-object name="standing_orders_forbid_other_dead_items"
    type-name="uint8_t"/>

globals.standing_orders_forbid_own_dead

<global-object name="standing_orders_forbid_own_dead"
    type-name="uint8_t"/>

globals.standing_orders_forbid_other_nohunt

<global-object name="standing_orders_forbid_other_nohunt"
    type-name="uint8_t"/>

globals.standing_orders_forbid_own_dead_items

<global-object name="standing_orders_forbid_own_dead_items"
    type-name="uint8_t"/>

globals.standing_orders_auto_loom

<global-object name="standing_orders_auto_loom" type-name="uint8_t"/>

globals.standing_orders_auto_collect_webs

<global-object name="standing_orders_auto_collect_webs"
    type-name="uint8_t"/>

globals.standing_orders_auto_slaughter

<global-object name="standing_orders_auto_slaughter"
    type-name="uint8_t"/>

globals.standing_orders_auto_butcher

<global-object name="standing_orders_auto_butcher"
    type-name="uint8_t"/>

globals.standing_orders_auto_tan

<global-object name="standing_orders_auto_tan" type-name="uint8_t"/>

globals.standing_orders_auto_fishery

<global-object name="standing_orders_auto_fishery"
    type-name="uint8_t"/>

globals.standing_orders_auto_kitchen

<global-object name="standing_orders_auto_kitchen"
    type-name="uint8_t"/>

globals.standing_orders_auto_kiln

<global-object name="standing_orders_auto_kiln" type-name="uint8_t"/>

globals.standing_orders_auto_smelter

<global-object name="standing_orders_auto_smelter"
    type-name="uint8_t"/>

globals.standing_orders_auto_other

<global-object name="standing_orders_auto_other" type-name="uint8_t"/>

globals.standing_orders_use_dyed_cloth

<global-object name="standing_orders_use_dyed_cloth"
    type-name="uint8_t"/>

globals.standing_orders_zoneonly_drink

<global-object name="standing_orders_zoneonly_drink"
    type-name="uint8_t"/>

globals.standing_orders_zoneonly_fish

<global-object name="standing_orders_zoneonly_fish"
    type-name="uint8_t"/>