<data-definition> <bitfield-type type-name='building_flags'> <flag-bit name='exists' comment='actually built, not just ordered'/> <flag-bit/> <flag-bit name='room_collision' comment='major intersection with another room?'/> <flag-bit/> <flag-bit name='justice'/> </bitfield-type> <class-type type-name='building' original-name='buildingst' instance-vector='$global.world.buildings.all' key-field='id'> <int32_t name='x1' comment='left'/> <int32_t name='y1'/> <int32_t name='x2' comment='work location'/> <int32_t name='x3' comment='right'/> <int32_t name='y3'/> <int32_t name='y2'/> <int32_t name='z'/> <compound name='flags' type-name='building_flags'/> <int16_t name='materialType' ref-target='material' aux-value='$$.materialIndex'/> <int32_t name='materialIndex'/> <compound name='room'> <pointer name='extents' type-name='uint8_t'> <comment>0 - not room; 1 in stockpile; 2 wall; 3 inner; 4 distance boundary.</comment> </pointer> <int32_t name='x'/> <int32_t name='y'/> <int32_t name='width'/> <int32_t name='height'/> </compound> <int32_t name='age'/> <int16_t name='race' ref-target='creature_raw'/> <int32_t name='id'/> <stl-vector name='jobs'> <pointer type-name='job'/> </stl-vector> <stl-vector name='meetings'> <pointer type-name='meeting_ref'/> </stl-vector> <stl-vector name='unk6' type-name='pointer'/> <bool name='is_room'/> <stl-vector name='children' comment='other buildings within this room'> <pointer type-name='building'/> </stl-vector> <stl-vector name='parents' comment='rooms this building belongs to'> <pointer type-name='building'/> </stl-vector> <pointer type-name='unit' name='owner'/> <stl-vector name='unk7' type-name='pointer'/> <stl-string name='name'/> <stl-vector name='activities'> <pointer> <int32_t name='id' ref-target='activity_entry'/> <int32_t name='is_group'/> </pointer> </stl-vector> </class-type> -- stockpile -- <class-type type-name='building_stockpilest' inherits-from='building'> <compound type-name='stockpile_settings' name='settings'/> <int16_t name='max_barrels'/> <int16_t name='max_bins'/> <stl-vector name='container_type'> <enum base-type='int16_t' type-name='item_type'/> </stl-vector> <stl-vector name='container_item_id'> <int32_t ref-target='item'/> </stl-vector> <stl-vector name='container_x' type-name='int16_t'/> <stl-vector name='container_y' type-name='int16_t'/> <pointer name='give_to' type-name='building_stockpilest'/> <stl-vector name='take_from'> <pointer type-name='building_stockpilest'/> </stl-vector> <int32_t name='stockpile_number'/> </class-type> -- zone -- <class-type type-name='building_civzonest' inherits-from='building'> </class-type> -- actual -- <class-type type-name='building_actual' inherits-from='building' original-name='building_actualst'> <int16_t name='construction_stage' comment='0 not started, then 1 or 3 max depending on type'/> <stl-vector name='contained_items'> <pointer> <pointer name='item' type-name='item'/> <int16_t name='use_mode'/> </pointer> </stl-vector> <pointer name='design' type-name='building_design'/> </class-type> <struct-type type-name='building_design'> <int32_t name='architect' ref-target='historical_figure'/> <int32_t name='unk2' comment='-1'/> <int16_t name='unk3'/> <int32_t name='builder1' ref-target='historical_figure'/> <int32_t name='unk5' comment='-1'/> <int16_t name='unk6'/> <int16_t name='build_timer1' comment='+1 per 10 frames while building'/> <int32_t name='builder2' ref-target='historical_figure'/> <int16_t name='build_timer2'/> <int16_t name='unk8b'/> <int16_t name='unk9'/> <bitfield name='flags' base-type='uint32_t'> <flag-bit name='rough' comment='rough gabbro road'/> <flag-bit name='built'/> <flag-bit name='designed'/> </bitfield> <int32_t name='unk11'/> <int32_t name='unk12'/> <int32_t name='unk13'/> </struct-type> -- workshops -- <enum-type type-name='furnace_type'> <enum-item name="WoodFurnace"/> <enum-item name="Smelter"/> <enum-item name="GlassFurnace"/> <enum-item name="Kiln"/> <enum-item name="MagmaSmelter"/> <enum-item name="MagmaGlassFurnace"/> <enum-item name="MagmaKiln"/> <enum-item name="Custom"/> </enum-type> <class-type type-name='building_furnacest' inherits-from='building_actual'> <stl-vector name='melt_remainder' type-name='int32_t' index-refers-to='(material-by-id 0 $)'/> <int16_t name="unk_108"/> <enum base-type='int16_t' name="type" type-name='furnace_type'/> <stl-vector name="permitted_workers"> <int32_t ref-target='unit'/> </stl-vector> <int32_t name="min_level"/> <int32_t name="max_level"/> <int32_t name="custom_type" refers-to='$global.world.raws.buildings.furnaces[$]'/> </class-type> <enum-type type-name='workshop_type'> <enum-item name="Carpenters"/> <enum-item name="Farmers"/> <enum-item name="Masons"/> <enum-item name="Craftdwarfs"/> <enum-item name="Jewelers"/> <enum-item name="MetalsmithsForge"/> <enum-item name="MagmaForge"/> <enum-item name="Bowyers"/> <enum-item name="Mechanics"/> <enum-item name="Siege"/> <enum-item name="Butchers"/> <enum-item name="Leatherworks"/> <enum-item name="Tanners"/> <enum-item name="Clothiers"/> <enum-item name="Fishery"/> <enum-item name="Still"/> <enum-item name="Loom"/> <enum-item name="Quern"/> <enum-item name="Kennels"/> <enum-item name="Kitchen"/> <enum-item name="Ashery"/> <enum-item name="Dyers"/> <enum-item name="Millstone"/> <enum-item name="Custom"/> </enum-type> <class-type type-name='building_workshopst' inherits-from='building_actual'> <enum base-type='int16_t' name="type" type-name='workshop_type'/> <stl-vector name="permitted_workers"> <int32_t ref-target='unit'/> </stl-vector> <int32_t name="min_level"/> <int32_t name="max_level"/> <int32_t name="machine_id" ref-target='machine'/> <int32_t name="unk_118"/> <int32_t name="custom_type" refers-to='$global.world.raws.buildings.workshops[$]'/> </class-type> -- misc -- <class-type type-name='building_animaltrapst' inherits-from='building_actual'> </class-type> <class-type type-name='building_archerytargetst' inherits-from='building_actual'> </class-type> <class-type type-name='building_armorstandst' inherits-from='building_actual'> </class-type> <class-type type-name='building_bars_verticalst' inherits-from='building_actual'> </class-type> <class-type type-name='building_bars_floorst' inherits-from='building_actual'> </class-type> <class-type type-name='building_bedst' inherits-from='building_actual'> </class-type> <class-type type-name='building_boxst' inherits-from='building_actual'> </class-type> <class-type type-name='building_bridgest' inherits-from='building_actual'> </class-type> <class-type type-name='building_cabinetst' inherits-from='building_actual'> </class-type> <class-type type-name='building_cagest' inherits-from='building_actual'> </class-type> <class-type type-name='building_chainst' inherits-from='building_actual'> <pointer name='assigned' type-name='unit'/> <pointer name='chained' type-name='unit'/> <int16_t name='unk'/> </class-type> <class-type type-name='building_chairst' inherits-from='building_actual'> </class-type> <class-type type-name='building_coffinst' inherits-from='building_actual'> <bitfield name='burial_mode' base-type='uint16_t'> <flag-bit name='allow_burial'/> <flag-bit name='no_citizens'/> <flag-bit name='no_pets'/> </bitfield> </class-type> <class-type type-name='building_constructionst' inherits-from='building_actual'> </class-type> <class-type type-name='building_doorst' inherits-from='building_actual'> </class-type> <class-type type-name='building_farmplotst' inherits-from='building_actual'> </class-type> <class-type type-name='building_floodgatest' inherits-from='building_actual'> </class-type> <class-type type-name='building_grate_floorst' inherits-from='building_actual'> </class-type> <class-type type-name='building_grate_wallst' inherits-from='building_actual'> </class-type> <class-type type-name='building_hatchst' inherits-from='building_actual'> </class-type> <class-type type-name='building_hivest' inherits-from='building_actual'> </class-type> <class-type type-name='building_nestst' inherits-from='building_actual'> </class-type> <class-type type-name='building_nest_boxst' inherits-from='building_actual'> </class-type> <class-type type-name='building_roadst' inherits-from='building_actual'> </class-type> <class-type type-name='building_road_dirtst' inherits-from='building_roadst'> </class-type> <class-type type-name='building_road_pavedst' inherits-from='building_roadst'> </class-type> <class-type type-name='building_shopst' inherits-from='building_actual'> </class-type> <class-type type-name='building_siegeenginest' inherits-from='building_actual'> </class-type> <class-type type-name='building_slabst' inherits-from='building_actual'> </class-type> <class-type type-name='building_statuest' inherits-from='building_actual'> </class-type> <class-type type-name='building_supportst' inherits-from='building_actual'> </class-type> <class-type type-name='building_tablest' inherits-from='building_actual'> </class-type> <class-type type-name='building_traction_benchst' inherits-from='building_actual'> </class-type> <class-type type-name='building_tradedepotst' inherits-from='building_actual'> </class-type> <class-type type-name='building_trapst' inherits-from='building_actual'> </class-type> <class-type type-name='building_wagonst' inherits-from='building_actual'> </class-type> <class-type type-name='building_weaponst' inherits-from='building_actual'> </class-type> <class-type type-name='building_weaponrackst' inherits-from='building_actual'> <int16_t name='unk_c0'/> <stl-vector name='assignments'> <pointer> <int32_t name='squad_id' ref-target='squad'/> <compound name='mode' type-name='squad_use_flags'/> </pointer> </stl-vector> <int32_t name='unk_d0'/> </class-type> <class-type type-name='building_wellst' inherits-from='building_actual'> </class-type> <class-type type-name='building_windowst' inherits-from='building_actual'> </class-type> <class-type type-name='building_window_glassst' inherits-from='building_windowst'> </class-type> <class-type type-name='building_window_gemst' inherits-from='building_windowst'> </class-type> </data-definition> <!-- Local Variables: indent-tabs-mode: nil nxml-child-indent: 4 End: -->